|
Just Do It!
|
||||||||
Совместное создание игры08.01.2025, 12:45. Показов 51556. Ответов 942
Метки нет (Все метки)
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать. собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба, для теста сойдут спрайты - а потом можно и анимированные модели на усмотрение геймдиза)) и больше ничаво.
0
|
||||||||
| 08.01.2025, 12:45 | |
|
Ответы с готовыми решениями:
942
Для чего создан язык С++? создан массив Теория игр, массивы |
|
Just Do It!
|
||
| 27.02.2025, 02:26 [ТС] | ||
|
я тут составил, ментальным образом, список задач на эту тему, его мя на весь энтот код хватит, задачи энти не обязательно жестко связанны с энтим пазлом, а имеют унифицированные цели...
0
|
||
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|
| 27.02.2025, 02:36 | |
|
XLAT, а мне нужно
- добавить кнопку для сохранения результата в виде изображения (реализуется за 5 мин) - улучшить временную сложность алгоритма (самая главная задача, пока размышляю и нет решения) - вычисления перевести на отдельный поток (реализуется быстро) - сделать прогресс бар (это тоже реализуется быстро, но для этого нужно реализовать многопоточность, чтобы гуй не замораживался при вычислении) - заняться самыми мелкими оптимизациями и чисткой кода (последний этап) *** Моя самая главная проблема: я работаю над проектом где-то по 10 мин в день (а иногда 0 минут), поскольку в реальной жизни много проблем и дел...
0
|
|
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|
| 27.02.2025, 16:16 | |
|
Image Assemble Tool (находится во вложении в архиве)
Представляю мою программу Что умеет программа: - удобный выбор папки с кусками - удобный выбор пропорций изображения из списка, причем, дефолтно выбрано среднее значение - отображение полезной информации в окне лога (название выбранной папки, количество загруженных кусков, разрешение куска, время старта сборки, время окончания сборки, потраченное время, разрешение полученного изображения) - отображения понятным языком всех ошибок - защита от дурака: кнопки выбора папки и старта неактивны во время процесса сборки - показ прогресса сборки в процентах - сохранение полученного изображения в PNG, JPG, BMP - реализована многопоточность, а это означает, что пользовательский интерфейс полностью активен и не фризится во время процесса сборки *** Прога без проблем собирает куски из Совместное создание игры Она также собирает 384 куска из поста Совместное создание игры, но с незначительными артефактами, учитывая, что разрешение куска 32 х 32 небольшое, что не позволяет алгоритму принимать однозначные решение. Будет время и желание, можно улучшить алгоритм сборки. Найдете баги - пишите) Для создания кусков в целях тестирования моей проги, можете использовать бесплатные сервисы в инете, например, https://imagy.app/split-image/
3
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
||||||
| 27.02.2025, 17:47 | ||||||
|
А я немного доработал рисование фрактала Жулиа ("случайно" задаются шаг и цвет, можно менять размеры окна и сохранять картинку в bmp с помощью ПКМ):
Некоторые картинки:
2
|
||||||
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|
| 27.02.2025, 20:42 | |
|
gunslinger, алгоритм раскраски реально хорош, это ты писал или взял? Я в теме Кто-нибудь знает, как рендерят такие красивые фракталы? (множество Мандельброта) обсуждал с Mysterious Light, мы, короче, пришли к выводу, что большая часть красоты полученного фрактала зависит от правильного выбора палитры. Вот, посмотри, что я получил в Mathematica на дефолтной палитре, и посмотри, что получил Mysterious Light в Кто-нибудь знает, как рендерят такие красивые фракталы? (множество Мандельброта).
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 27.02.2025, 21:15 | |
|
Royal_X, указанную тобой тему я видел.
Код для фрактала изначально взял чужой (как-то говорил об этом) Совместное создание игры (он у меня давно на компе был) и немного подправил (выбор исходных цветов в интервале через рандом). Возможно, вот оригинал (точно уже не помню, но скорей всего он): Вращение фрактала Жюлиа. Кстати, программа не подвисает и не глючит? У меня иногда да, если вне среды запустить. Хочу еще в поток отрисовку поместить (если нормально получится сделать, в чем не уверен - формошлепство реально сушит [оставшиеся] мозги).
0
|
|
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
||
| 27.02.2025, 21:21 | ||
|
Только, тебе нужно будет расчет делать в отдельном потоке, а отрисовку в главном, потому что, полагаю, что нельзя менять форму с другого потока. Еще, не нужно выводить на окно постепенно, это неэффективно. Рисуй весь фрактал в буфере в памяти, а потом выводи на окно готовое изображение.
1
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 27.02.2025, 22:27 | |
|
Royal_X, я раньше в потоке только расчеты делал, но не рисование. AntiFreeze (компонент) не в счет, там "автоматика". Включил - и либо работает, либо нет.
Причем нужно тогда еще запретить изменение размеров формы, на которых много чего завязано. Насчет вывода картинки сразу, а не постепенно - нужно тогда прогрессбар прикрутить или наподобие. Мне кажется, что постепенный вывод как-то смотрится что ли лучше, но хз. Короче, надо посмотреть, что получится, а что нет. И нужно ли это.
0
|
|
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|||
| 27.02.2025, 22:47 | |||
|
я же тоже ради этого в своей программе Совместное создание игры реализовал многопоточность. Юзеры очень часто кликают по интерфейсу во время ожидания и эти зависания могут их разочаровывать. Добавлено через 2 минуты Добавлено через 4 минуты gunslinger, я не знаю, как у тебя на VCL, но вот в Qt всякие обновления сцен, прогресс бара и прочие вещи, можно осуществлять только с главного потока. Например, обновить значение прогресс бара напрямую из второстепенного потока нельзя. Как же я сделал? Все просто: передаю по сигналу новое значение прогресс бара, а сам он обновляется в главном потоке. В итоге, пользовательский интерфейс работает без зависаний, независимо от потока, в котором выполняются вычисления.
1
|
|||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|||||||||||||
| 28.02.2025, 00:16 | |||||||||||||
|
Нужно его как-то менять (хз как), или выигрыша в скорости не будет особо. Поэтому оставил постепенный вывод. Добавил один поток. Нужно было просто попиксельную отрисовку "синхронизировать". Вроде работает. Unit1.cpp:
Unit2.cpp:
1
|
|||||||||||||
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|
| 28.02.2025, 00:24 | |
|
gunslinger, сейчас норм, не зависает
Теперь осталось реализовать ввод координат, чтобы пользователь мог исследовать в любой части фрактала
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
||
| 28.02.2025, 00:43 | ||
|
Насчет координат - это можно сделать (если нужно). Изначально я делал "случайную" генерацию, но почти всегда происходило попадание в "пустоту". Шаг (step) не хочу менять - пусть продолжает выпадать в некотором диапазоне, как и цвета (так "веселее").
0
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 02:21 | |
|
Решил все-таки шаг добавить - так удобней будет область ограничивать.
Код мало поменялся, поэтому его не выкладываю (да и кому он нужен , главное - результат).Картинки:
1
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 02:52 | |
|
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 13:39 | |
|
Есть совет по оптимизации построения фрактала (даже два, но второй слишком сложный для меня - я даже с первым не справился).
Но я либо не понял, как это применить, либо руки кривые. Результат пока отсутствует. Еще хороший сайт с информацией по соответствующей тематике. Можно самостоятельно попробовать сделать свою реализацию. Кроме того, это всего лишь небольшая часть "айсберга": кроме "стандартных" фракталов вида z2 + c есть еще куча других (много их) формул, с которыми можно экспериментировать. Ну и несколько картинок:
0
|
|
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
|||
| 28.02.2025, 14:00 | |||
|
gunslinger, мое мнение в этом вопросе такое, что виновник медленной генерации это не само вычисление, а механизм прорисовки. Постепенная прорисовка непосредственно на окне это очень медленно. К тому же, попробуй, например, изменить размеры окна или перетащи окно за пределы экрана и верни его обратно, ты увидишь, что картинка исчезнет, поскольку окно не обновляется.
Т.е. ты не там ищешь решение. На языке С++ совсем не проблема создать изображение из такого количества точек. Даже питон бы справился. Ты же вычисляешь цвет пикселей, которых на окне width * height штук, не так ли? Даже для самых больших окон это не так уж много пикселей. Но вот постепенное добавление этих точек на окно и обновление окна, это уже проблема. Конечно, есть версия, что ты вычисляешь больше точек, чем нужно для окна. Тогда да, нужно исправить это. Но сперва, я бы попробовал вывести изображение целиком и посмотреть, исчезла ли проблема. По идее, фрактал должен генерироваться мгновенно. Т.е. нажал на кнопку, получил картинку. Фрактал должен выводиться моментально.
1
|
|||
|
Just Do It!
|
||
| 28.02.2025, 18:32 [ТС] | ||
|
далее пошёл на трубу смотреть подкасты. вот один тут c кибердедом прямо в мою тему зашёл. в чем суть: 1. я решил добавить класс с резаком картинок, чтобы иметь тестовый материал. 2. резак, как резак, но сразу возникло несколько вопросов, один из них, как его отображать на экран. 3. речь не про юзверьский дизайн - речь про кодерский. 4. у мя уже был класс для отображения загруженного таска. 5. делать же для резак отдельный отобразитель это, ясень, не кошерно. 6. поэтому опять и снова возник вопрос об универсальных интефейсах. 7. но мы же хотим быстро за 10 минут, правда? 8. так вот тут как раз рассказывал про три языка программирования, которые создавались под проект Буран. 9. и они, вот же, ёшкинкот, были не совместимы между собой просто никак. ... цифры кончились ... короче, пришлось унифицировать уже имеющийся отобразитель код резака тут c тестом поигрался чуток: теперь думаю, куда двигать дальше - а распутье большое - тасклист == 100500 тасков)
1
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 18:43 | |
|
Royal_X, да пробовал я через битмап, не помогает (про это уже говорил).
Суть алгоритма еще в том, что может быть несколько итераций на каждую точку (такой принцип "фрактальной рекурсии"). Я выше ссылку на другую подобную программу кидал, там выводится картинка целиком, окно небольшое, но все равно далеко не мгновенно вывод происходит. Так что дело ясное, что дело темное. Тут, видимо, нужно делать с нуля и вникая во все детали. И не факт, что это поможет. Пока так. Будет если желание - займусь (может быть). P.S.: либо попробуй сам сделать (если интересно).
0
|
|
|
Нарушитель
6693 / 3088 / 1064
Регистрация: 01.06.2021
Сообщений: 11,928
|
||
| 28.02.2025, 19:07 | ||
|
А потом переименовывал куски рандомно в Total Commander. Потом вообще, начал резать в Wolfram Mathematica))) которая уже давно не система компьютерной алгебры общего назначения, а научный универсальный инструмент, который умеет делать всё что угодно. Смешно, что ни Photoshop, ни Gimp не располагают быстрым методом для обрезки, только с танцами с бубном. А вот Wolfram Mathematica вычисляет, как правильно резать, режет одной командой, а потом достаточно просто экспортирует изображения под рандомными именами.
0
|
||
| 28.02.2025, 19:24 | |
|
Не по теме: Royal_X, у меня те твои программы, что "заточены" под Win 10+, не работают на 7-ке. Так что "хнык-хнык" (смайлик).
0
|
|
| 28.02.2025, 19:24 | |
|
Решение матричных игр. Есть у кого такая программа написанная уже... Запуск приложений(старых игр) в оконном режиме Алгоритм календаря игр (например в футболе)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|