Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478

3D Шахматы

03.08.2025, 22:08. Показов 9175. Ответов 154
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал за несколько дней шахматную оболочку для движка Stockfish 17.1. Кому не лень, предлагаю тестировать, задавать вопросы или просто прикалываться

Ссылка на игру: https://royalxxx.itch.io/chess-3d

Размер архива: 47 МБ (размер игры: 199 МБ)



Почему создал?
Не нашел ни одной нормальной трехмерной игры, которая работала бы с движком.
Есть 3д шахматы с очень красивой графикой, но с корявыми движками и без движковых настроек. Например, как Chess Titans из винды, Chess Ultra или программы ChessBase - там вообще на трехмерной доске не играбельно.
И наоборот, есть хорошие 2д оболочки для работы с uci движками, но без красивого 3д вида.
К тому же, давно не публиковал игру в https://royalxxx.itch.io/, хочу добавить туда эту игру.

Как установить:

Разархивировать исполняемый файл в любое место, желательно в отдельную папку, поскольку после первого запуска в папке, где будет лежать данный файл, создадутся два других файла:
engine_path.cfg - в этом файле можно указать путь к шахматному движку. Но не обязательно это делать, если движок Stockfish 17.1 будет лежать рядом с игрой. Но если на компе уже есть данный движок (допустим, вы используете для другой шахматной оболочки), то можно будет указать в этом файле путь к вашему движку и не понадобится дублировать движок.
settings.cfg - это файл настроек. Не для редактирования, поэтому я его зашифровал. Если удалить данный файл, то игра вернется к дефолтным настройкам.

Таким образом, нужно разархивировать игру в отдельную папку, бросить в эту папку движок Stockfish 17.1, скачанный из официального сайта, и запустить игру.

Почему Stockfish 17.1?
Это сильнейший движок в мире.

Почему я не распространяю движок в комплекте с игрой?
Stockfish 17.1 доступен бесплатно на официальном сайте https://stockfishchess.org/download/. Причем, там доступны разные версии под разные инструкции процессора. Чтобы не распространять вместе с игрой все движки (64-bit, POPCNT, AVX2, BMI2, AVX-512, VNNI-256, VNNI-512) - а каждый весит до 80 МБ, я решил, что лучше будет, если каждый сам скачает то, что подходит его устройству. Например, я использую BMI2-версию, поскольку она быстрее версий 64-bit, POPCNT и AVX2, а вот AVX-512 и другие мой проц не поддерживает. Версия 64-bit самая медленная, но поддерживается всеми 64-битными процами, POPCNT тоже будет поддерживаться многими, даже устройствами 15-летней давности. AVX2 это версия, для современных процессоров и дефолтная для скачивания на сайте стокфиша. Если ваш процессор поддерживает BMI2, как у меня, то ставьте эту версию, она быстрее AVX2. Ну а если у вас поддерживает и AVX-512, то ставьте последнюю.

Stockfish 17.1
Игра работает только с Stockfish 17.1. С другими движками или с другими версиями Stockfish (например, 16) игра не будет работать.

Вкладка игры:
- можно играть с движком или с другим человеком. Если включен переключатель движка, после хода игрока, движок сделает ход.
- кнопка Engine Move (или клавиша G) заставляет движку сделать ход, независимо от состояния переключателя движка
- кнопка Hint (клавиша H) выводит подсказку
- Flip View (клавиша F) поворачивает доску
- Reset View (клавиша R) восстанавливает положение камеры. Кстати, камера поворачивается нажатой правой кнопкой мыши.
- New Game (клавиша N)
- Copy FEN копирует в буфер обмена FEN текущей позиции

Вкладка Engine:
Тут настраивается сам движок. Внимание: если вы что-то поменяли, для применения настроек нужно обязательно нажать на кнопку Set Options.
На этой вкладке можно настроить:
Threads - количество потоков процессора . Вы не можете выставить больше, чем количество процессоров на вашем устройстве. Даже на одном потоке движок очень силен. Если прям хочется получить максимальные Nps, то выставляйте максимум. С другой стороны, если все процессоры будут работать на вычислениях, то возможно не хватит ресурсов для игры.
Depth Limit - максимальная глубина ходов (а скорее полуходов) для движка. По умолчанию, выставлен максимум 145.
Skill Level - сила движка, по умолчанию 20 - максимум, т.е. будет играть на полную силу.
Вместо настройки силы движка посредством Skill Level, можно использовать более понятную опцию - лимитирование по рейтингу Эло от 1320 до 3190. Стокфиш этот рейтинг потом переводит в нужный Skill Level.
Hash - размер хештаблицы. Дефолтно 16 МБ. Сделал так, чтобы не можно было выставить больше, чем доступный размер ОЗУ без учета файла подкачки. Сколько не жалко, столько и дайте движку памяти. Это усилит движок. А вообще, можно посмотреть на то, как быстро заполняется хеш и если вы видите, что хеш на пределе, то можно увеличить размер.
Time - время на ход для движка в секундах. Чем больше вы дадите, тем глубже движок сможет анализировать.
Обратите внимание, что для подсказок можно выбрать свои собственные Depth и Time. Например, вы можете дать на подсказки больше времени, чтобы подсказка была сильнее, чем ваш соперник-движок))

Depth vs Time
Если движку дать очень много времени, но выставить глубину, то это даст гарантию, что все ходы движка будут иметь одинаковую гарантированную глубину.
Если движку дать очень большую глубину, но выставить время, то это гарантирует, что движок сделает ход за заданное время, но глубина будет колебаться - например, в эншпиле будет больше, чем в дебюте.
Не рекомендую давать движку одновременно и много времени и разрешать искать до очень большой глубины, поскольку вы рискуете ждать очень долго.

Интерфейс:
Цвет фона, панелей полностью настраиваются. Также можно настроить материалы доски, фигур и прочего (выделения клетки, доступных ходов, подсказки, шаха, мата...).

Графика:
Window Mode - режим экрана
Scale - соотношение от нативного разрешения. При 1.0 - будет нативное разрешение. 0,5 - будет половина от нативного, и т.д. Влияет на качество и производительность.
Antialiasing - сглаживание. Дефолтно на 2х. Можно увеличить, но имейте в виду, что может повлиять на fps.
VSync - вертикальная синхронизация.
Я добавил возможность лимитирования fps, поскольку заметил, что для данной игры необязательно играть на 120 или 240 fps. Это игра не про графику, зачем насиловать GPU.
С помощью данной фичи можно лимитировать fps и снизить нагрузку на GPU. Например, я выставляю 60. Кстати, заметьте, что VSync тоже лимитирует fps на уровне частоты монитора.
Для удобства и правильной настройки, я также добавил отображение fps в реальном времени.

Вывод движка:
После каждого обдумывания движка (ход или подсказка), выводится:
-Оценка позиции в пешках или в количестве полуходов до мата. Положительные - в пользу Белых, отрицательные - Черных.
-Глубина хода
-Скорость движка в узлах в сек - Nodes per second (NPS) - удобно для настройки потоков или тестирования производительности устройства
-Процент заполнения хеш-таблицы. Если видите, что таблица быстро заполняется, то можно увеличить размер хеша.
-Реальное время обдумывания движка.

Сохранения:
Игра сохраняет все настройки. Также, будет сохранена текущая игра, но только если был сделан выход из игры не во время работы движка.

Что не реализовано:
1. Не реализовал все ничейные ситуации. В ничейных ситуациях сейчас игра прерывается только при пате. У меня возникли некоторые сомнения касательно необходимости реализовать другие ситуации:
- Недостаточность материала - возможно, в будущем даже добавлю авто определение недостаточного материала...
- Троекратное повторение одной и той же позиции - это правило актуально, когда играешь с человеком.
- Обе стороны сделали 50 последних ходов без взятия и без хода пешкой - это правило работает, только когда игрок заявил, иначе игра продолжается до 75 ходов. Это правило тоже актуально, когда играешь с человеком.
- Игроки согласились на ничью - тоже не вижу смысла в реализации фичи, когда движок просит ничью...
- Один из игроков просрочил время или сделал второй невозможный ход - в моей игре таймеров нет, поскольку это только актуально, когда играешь с человеком.
Вообще, думаю вместо реализации всей этой ахинее, актуальной только на турнирах с людьми, сделать так, что когда оценка нулевая на определенной большой глубине, то просто выводится инфа, что стоит прекратить бессмысленную игру.
2. Не реализовано создание игры из кастомной позиции. Могу быстро реализовать настройку позиции по FEN, но вот реализация настройки позиции путем выставления вручную фигур требует некоторого времени. Возможно, добавлю в будущем.
3. Подключение дебютных книг. Не собираюсь реализовать, поскольку не вижу смысла.
4. Подключение EGBT Syzygy для движка. Реализуется легко, но движок и без них очень быстро анализирует в эндшпиле.
5. Поддержка Chess 960. Возможно, добавлю в будущем.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.08.2025, 22:08
Ответы с готовыми решениями:

Шахматная программа
Проводится набор участников для совместной работы над шахматной программой. Направление вызвало...

Готические Шахматы и Шахматы Януса
Программы - компьютерные противники, реализующие сабж? - где скачать? (можно лицензионные и платные...

разработка программы "Шахматы"
помогите пожалуйста с разработкой шахматной программы, ну или кто знает ссылки на такие разработки,...

154
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
15.08.2025, 19:50
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Royal_X Посмотреть сообщение
Объемные цифры тоже через код.
Я сейчас вспомнил, что у Three.js тоже есть объёмный текст: https://threejs.org/examples/w... _text.html Оказывается самому сделать объёмные цифры в Blender не так-то просто. Я всё равно попробую сделать их вручную для тренировки. Может два варианта сделаю - через код и в Blender, а потом через FPS посмотрю, что лучше. Может движок генерирует слишком много полигонов для цифр - надо проверять.

Добавлено через 2 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
WebGL 2 работает? https://webglreport.com/?v=2
Да, конечно: ✓ This browser supports WebGL 2

Цитата Сообщение от Royal_X Посмотреть сообщение
в интернете всегда можно на ты)
Хорошо, как скажешь Может так даже проще.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
15.08.2025, 19:50  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Оказывается самому сделать объёмные цифры в Blender не так-то просто.
нет, там все просто. могу помочь, если что
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
15.08.2025, 19:51
Цитата Сообщение от Royal_X Посмотреть сообщение
нет, там все просто. могу помочь, если что
Хорошо, но я ещё сам помучаюсь. Это полезно.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
15.08.2025, 20:00  [ТС]
8Observer8,

Shift+A, выбираешь Text
потом переходишь в режим редактирования Edit mode (клавиша Tab)
меняешь текст, просто печатая на клаве, там будет виден курсор
возвращаешься в объектным режим (нажимаешь еще раз на клавишу Tab)
конвертируешь меш в текст (Object/Convert/Mesh). Имей в виду, что изменить текст, шрифт и прочие свойства текста возможно до конвертирования в меш. Потом уже не сможешь.

Далее уже можно пойти разными путями:
1. Добавить модификатор Solidify, потом выбрать Thickness
2. В режиме редактирования экструдировать меш (поскольку это уже меш, а не текст, то в режиме редактирования текст менять уже нельзя, а вместо этого будут доступны инструменты для редактирования меша).
1
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
15.08.2025, 20:36
Мне ещё ChatGPT подсказал использовать модификатор Decimate (переводится - уничтожить), потому что слишком много полигонов получается:



После применения модификатора Decimate с Ration = 0.5 в режиме Collapse:



Стало лучше:



Я решил ещё разочек попробовать Ration = 0.5:



После модификатора Solidify, по-моему, выглядит вполне нормально:

0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
15.08.2025, 20:48  [ТС]
8Observer8, создай новую тему, чтобы не офтопить в этой. И я потом туда зайду. Только выдели мое имя, чтобы мне пришло уведомление.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
15.08.2025, 21:35
Я понимаю. Я уже тут с 2013-ого. Не собирался в чужой теме расписывать свой прогресс. Как будет играбельная версия, как у тебя, то либо создам тему в этом же разделе, либо в записи блога. Давно хочу перевести 2D демки из NoobTuts Unity в 3D на Three.js и WebGL. Там их 18 штук. За одно есть повод попрактиковаться в Blender. Может в блоге комменты открою. В блоге мне больше нравится, там можно править первое основное сообщение сколько угодно. Можно, кстати, запросить курирование определённой указанной темы у администратора (может и у модератора тоже можно запросить) и править как основное сообщение темы так и все остальные свои сообщения в теме сколько угодно. А то неудобно беспокоить модератора, когда что-то хочется исправить в основном сообщении темы.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
15.08.2025, 21:48  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
В блоге мне больше нравится
а мне блоги не нравятся. Я пообещал админу, что не буду пользоваться блогами, пока они не разрешат обычным пользователям "жестко" удалять записи в блоге. На сегодняшний день доступно только "мягкое" удаление. Это меня не устраивает.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
15.08.2025, 22:25
Цитата Сообщение от Royal_X Посмотреть сообщение
На сегодняшний день доступно только "мягкое" удаление.
Можно перед удалением (можно и после) написать вместо названия xxx и содержание заменить на xxx, сохранить и удалить. Может в базе старые версии правок сохраняются, но мне всё равно. Висят удалённые сообщения с серым цветом и вижу их только я. Мне кажется наоборот, если было бы жёсткое удаление, то спустя время можно пожалеть, что удалил. Может там что-то полезное было для меня и оно мне вдруг понадобилось, а может я захочу переделать и выпустить заново.

Добавлено через 4 минуты
По-моему, черновиков может быть только 5 - не больше, а удалённых сообщений сколько угодно, где можно хранить информацию. Только по ошибке на форуме эти удалённые сообщения могут быть опубликованы. У меня такое было. Я удалил кучу записей в блоге, которые, надо будет найти время, и опять удалить, потому что они по какой-то ошибке или сбое на форуме все опубликовались.

Добавлено через 6 минут
Это сбой с восстановлением удалённых записей в блоге случился может пол года назад сразу после появления тегов на записях блога. Возможно администратор расставлял теги вручную и по ошибке восставил удалённые записи блога. Но это моё предположение.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
16.08.2025, 11:40  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
У меня в Chrome выводится Progress Bar. Он доходит до конца, а потом серый экран.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
В FireFox тоже серый экран после загрузки Progress Bar.
у меня так происходит, когда пробую играть со смартфона на андроиде. Но на ПК норм, как в Chrome, так и на Firefox. Полагаю, что игра использует фичи WebGL, которые не поддерживаются всеми устройствами.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
16.08.2025, 12:52
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня так происходит, когда пробую играть со смартфона на андроиде
А у меня наоборот - со смартфона работает:



У меня Redmi 10, Android 13, 4/64 GB, 2021 года выпуска. Только управление не работает, но очевидно, что ты не реализовывал управление для смартфона, потому что ты не мог тестировать управление, раз у тебя не запускается.

Может ещё кто затестит на компьютере и смартфоне с указанием ОС и браузера: https://royalxxx.itch.io/cube-web

А в браузере Edge на ноутбуке у меня вообще странное сообщение выдаётся сразу после нажатия кнопки "Play":



Перевод Google Translate:

Похоже, что на веб-странице по адресу https://html.itch.zone/html/12525331/index.html возникли неполадки, или она была окончательно перемещена на новый веб-адрес.
В консоль Edge (Ctrl+Shift+J) никакие ошибки не выводятся:



Я думал, что я попал на момент, когда ты перезаливаешь приложение на itch, но я пробовал несколько раз перезагружать страницу - то в Edge, то в Chrome.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
16.08.2025, 13:13
Цитата Сообщение от 8Observer8 Посмотреть сообщение
но очевидно, что ты не реализовывал управление для смартфона, потому что ты не мог тестировать управление, раз у тебя не запускается.
С другой стороны можно собирать в APK для отладки управления на Android.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
16.08.2025, 13:17  [ТС]
8Observer8, я и не собирался выпустить для андроид.
В июне вышла Godot 3.6.1. Т.е. разработчики поддерживают не только актуальную 4-ю версию, но и выпускают обновления для 3-й версии. Учитывая, что кубик был сделан на 3-й версии, могу попробовать экспортировать на Godot 3.6.1, поскольку текущая игра была экспортирована на Godot 3.6.
С другой стороны, в списке изменений https://godotengine.github.io/... 6.1-stable я не вижу ничего, связанного с веб.
Я действительно не понимаю, почему у тебя игра не работает в браузере? Я пробовал на двух компах, всё работает.
Наверное, тут уже нужно сделать миграцию на 4-ю версию, но мне лень, учитывая, что API поменялся)
На 4-й версии я делал новые проекты, например, вот эти шахматы или сапер.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
16.08.2025, 14:27
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня так происходит, когда пробую играть со смартфона на андроиде
Какая у тебя модель смартфона?

Цитата Сообщение от Royal_X Посмотреть сообщение
Я действительно не понимаю, почему у тебя игра не работает в браузере?
Если я не ошибаюсь, то я вспомнил, что где-то давно читал, что Godot активирует абсолютно все расширения WebGL (по крайней мере, старые версии Godot, наверное, так делали) и видимо какие-то могут ломаться на некоторых устройствах. То есть, то что ты писал выше:

Цитата Сообщение от Royal_X Посмотреть сообщение
Полагаю, что игра использует фичи WebGL, которые не поддерживаются всеми устройствами.
Я предполагаю, что раз ты использовал старую версию Godot для кубика, то там был баг с расширениями WebGL, которые все активировались. Потом этот баг поправили, поэтому на более новой версии Godot у меня работает Сапёр на ноутбуке.

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Может ещё кто затестит на компьютере и смартфоне с указанием ОС и браузера: https://royalxxx.itch.io/cube-web
Я запустил стационарку с OpenSuse Tumbleweed (версия от января 2025). Там кубик работает без проблем в Chrome и FireFox. Кстати, ещё одно преимущество веб, что люди на Linux могут поиграть с кубиком, так как на данный момент есть только Desktop-сборка кубика для Windows.

Записал видео, как запускаю кубик и что происходит на ноутбуке Asus K53SV на Windows 10 (19045.5965) в Chrome 138.0.7204.184
Вложения
Тип файла: mp4 cubik.mp4 (184.8 Кб, 0 просмотров)
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
16.08.2025, 14:40
Можно попробовать создать Issue в репозитории Godot: https://github.com/godotengine/godot/issues. Либо можно сначала задавать вопрос на официальном форуме: https://forum.godotengine.org/ Если нужна будет какая-то дополнительная информация или эксперименты, то я сделаю всё что смогу.

Не знаю, как сейчас после раскола (появления Redot Engine), но раньше поддержка была очень активная. Я в конце 2023 года экспериментировал со сборкой из Godot 4.2.1 в APK под Redmi 4X (Android 7.1.1). Обнаружился баг c crash, который потом исправили в 4.2.2. Я создавал Issue: The default Godot 4.2.1 application crashes in compatible mode on the Redmi 4X with OpenGL ES 3.2. Как оказалось на момент конца 2023 на Godot 4.2.1 падали приложения на многих смартфонах, которым было больше, чем 3 года, то есть с конца 2020: Godot 4.2.1 Compatibility Rendering (GLES3) don't works at all on a 3 Years Old Andoid Device
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
16.08.2025, 15:09  [ТС]
Цитата Сообщение от 8Observer8 Посмотреть сообщение
появления Redot Engine
это мусор
Цитата Сообщение от 8Observer8 Посмотреть сообщение
после раскола
Один придурок форканул движок и долгое время вообще ничего не делал. Потом он нашел удачный момент, после одного скандального твита, чтобы притянуть к себе некоторых разрабов и начать наконец что-то делать. Пока что они взяли старый код, поменяли иконки, свистелки...
Но важно понимать, что Redot не имеет столько разработчиков, что Godot, не имеет финансирования и спонсоров, и очень зависит от Godot. Имхо, это дохлый продукт без будущего.
Любой Васька может форкануть движок на назвать Vasya Engine, поскольку лицензия позволяет все это делать.

Добавлено через 4 минуты
8Observer8, разработка для веб и андроид очень проблемна. И эти проблемы существует не только на годот, но и на Unity и на других движках. Просто многие разрабы делают игру для десктопа и потом в один клик экспортируют для андроид или для веб. Да, так можно делать, но это неправильно. Там очень много нюансов, поэтому я никогда не хотел заниматься мобильными или веб-играми. С 2D еще более-менее норм, но вот с 3D вечно проблемы. И на Unity тоже.

Моя единственная игра для андроид: https://royalxxx.itch.io/block-puzzle
Но я тут специально писал под андроид. Под десктоп не выпускал.

Еще я писал приложения для андроид, но на чистом Android API.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
16.08.2025, 16:35
Цитата Сообщение от Royal_X Посмотреть сообщение
после одного скандального твита
Как будто бы вся суть скандала, что один из главных менеджеров Godot активно топил (топила, тапили, тапило) за ЛГБТ (запрещено в РФ), а кто-то посмел что-то против написать и начался спор. Начались массовые блокировки контрибьюторов GitHub. Даже каким-то спонсорам прилетело. Вроде пострадали даже многие из тех, кто вообще не высказывался или высказывался нейтрально. Один из главных создателей Godot поддержал своего менеджера, что всё было правильно. Многие из тех кто был заблокирован обиделись и стали контрибьюторами Redot.

Цитата Сообщение от Royal_X Посмотреть сообщение
Но важно понимать, что Redot не имеет столько разработчиков, что Godot
Сейчас у Redot уже 2954 контрибьютора. Это почти cтолько же, как у Godot, у которого 3003 контрибьютора. Но это всё равно ощутимый ущерб Godot, потому что прогремел скандал сильно - много было опубликовано роликов и статей. Наверное, немало ушло контрибьюторов, пользователей движка, спонсоров и т.д.

Цитата Сообщение от Royal_X Посмотреть сообщение
Да, так можно делать, но это неправильно.
Я давно пришёл к выводу, что для небольших веб-приложений надо брать сразу движок/фреймворк/библиотеку/API, которые изначально заточены под веб, типа: Three.js, Babylon.js, PlayCanvas, Phaser, Pixi.js, чистый WebGL и т.д. Веб-приложение можно собрать в APK с помощью Cordova и в EXE с помощью WebKit. Всё остальное для веб - это потеря времени - например, Unity по 3 минуты собирает после изменений в коде приложения. Зависит, конечно, от мощности ПК и от приложения - можно ли его делать в виде веб или лучше EXE. Если это большие и тяжёлые приложения с требовательной графикой и большим количеством ресурсов, то, конечно, надо создавать Desktop-приложения и брать Godot, Unity, Unreal Engine и т.д.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
16.08.2025, 16:51  [ТС]
8Observer8, количество контрибьютеров ни о чем. У Редот там одни школьники. У годот тоже нубов много, но всё-таки есть и толковые.
Редот в первую очередь реализует то, чего хочет комьюнити - так сказать, хаотичные хотелки.
Годот же реализовывает то, чего просят спонсоры - реальные разрабы коммерческих игр, а не школота. Так что, у редот нет будущего.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
17.08.2025, 12:40  [ТС]
8Observer8, ну вот, проблемы с экспортом для веб на Unity у некого чела Ошибка при сборке WebGL

Причем, проблема довольно распространенная.

Я это к тому, что всякие ошибки бывают на абсолютно всех игровых движках. Причем, очень часто эти ошибки проявляются только на конкретных браузерах или на конкретных устройствах...

И не думаю, что переход из игровых движков на более низкоуровневые библиотеки, можно назвать решением. Ведь, это тоже не гарантирует отсутствие проблем на абсолютно всех устройствах.

Так что, никогда не любил разработку для веб. Это настолько проблемно, особенно, для 3D игр, что Unreal Engine давно забросил веб экспорт.
***
Да, и только чикатилы будут в 2025 году играть в браузере. В чем в этом смысл? Типа извращаться на низкой производительности?
Ну какие-то мелкие 2D игры еще можно играть в браузере, типа chrome://dino/ и похожих. Но точно не 3D.

Добавлено через 13 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
Наверное, тут уже нужно сделать миграцию на 4-ю версию
насчет моего кубика, а именно того, что он не запускается у тебя в браузере, то все-таки сделаю миграцию на 4-ю версию. И не только ради твоей проблемы, а просто там есть некоторые вещи, которые нужно добавить. Например, игра запускается в уже собранном виде. И только после того, как пользователь нажмет на пробел, кубик смешается. Я просто публиковал игру, не до конца ее завершив. Можно будет это исправить.
0
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,053
Записей в блоге: 242
17.08.2025, 13:16
Цитата Сообщение от Royal_X Посмотреть сообщение
Я это к тому, что всякие ошибки бывают на абсолютно всех игровых движках.
Да, проблемы есть на разных движка и фреймворках при экспорте в WebAssembly. На Unity тоже могут быть проблемы при запуске веб приложений на разных устройствах Android. Например, на Qt я столкнулся с двумя критическими проблемами. Одна проблема поставила крест на создании контроллера от первого лица в браузере: https://bugreports.qt.io/browse/QTBUG-126513 Вторая проблема поставила крест на одновременном отображении графики на OpenGL и стандартного GUI на веб странице: https://bugreports.qt.io/browse/QTBUG-120651 Разработчики Qt написали, что это не наши проблемы и закрыли их. В мире C++ и OpenGL эту проблему я решил отказом от Qt в пользу SDL3 c GUI на браузерных HTML и CSS. Получилось сделать контроллер от первого лица на SDL3 и Bullet Physics: демка в браузере. Поэтому для веб лучше брать Three.js, Babylon.js, PlayCanvas, и т.д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2025, 13:16

Крик души (шахматы)
Я возмущен Играл с компьютером в шахматы (Опера Виджет) меня поразило какой долбоклюй их кодировал...

Задача про шахматы
Cсылка на изображение с условием: ВОТ ССЫЛКА вот не получается сделать. ну само собой что задача...

Шахматы. восемь фигур одного цвета
Задан вопрос по шахматам, можно ли расставить на доске восемь фигур одного цвета, чтобы они держали...

Шахматы.
Поле шахматной доски определяется парой чисел, каждое из которых не превосходит 8: 1е число - номер...

Шахматы: может ли белая фигура пойти на поле ef, не попав при этом под удар черной фигуры?
Поле шахматной доски определяется парой чисел, каждое из которых не превосходит 8: 1е число - номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru