Comments 17
Потыкал веб-версию в FF 151. Не увидел ни одной кнопки манипуляции историей сцены. Ctrl-Z не завёлся, а отдельных кнопок для отмены действий не обнаружено. Большой минус для подобных редакторов: потянул за тень собаки и случайно передвинул пивот с центра в сторону и потом попытался повращать - откатить изменение не вышло. Ещё в какой-то момент весь интерфейс перестал отвечать на мышиные действия после того как как-то хитро ткнул в название скрипта и оно перешло в режим переименования файла. Ошибок в консоли при этом не случилось.
спасибо за фидбек ) да, редактор под веб еще сырой, но довольно быстро дорабатывается. Пока что это скорее демо, чем реальный инструмент. Но я хочу доработать его до полноценного инструмента, который можно будет отдавать дизайнеру.
Видимо хоткеи неправильно срабатывают. А так на отмену/повтор действий есть пункты в меню Edit, сверху
Ctrl-Z не завёлся
Просто движок приучает писать код без ошибок с первого раза. Нет права на ошибку, как в суровой сибирской тайге
Коммент в поддержку автора.
Работа проделана огромная.
Пользоваться, конечно же, имеет смысл когда вокруг движка сложится нормальное русскоязычное комьюнити, и если вообще он взлетит хотя бы на одну сотую от Godot.
спасибо! Согласен, я бы тоже хотел чтобы вокруг проекта развилось коммьюнити )) Но как оно разовьется, если никто не будет пользоваться?
На мой взгляд мой проект может предложить что-то лучшее, чем любой другой движок для мобильных игр, как минимум саппорт с моей стороны :)
Одиннадцать лет пилить свой велосипед, чтобы осознать тяжесть конкуренции с гигантами уровня Юнити. Мое увожение
Поддерживаю автора.
Лишь бы не выгорел и пореже оглядывался на промышленных гигантов, вроде Unity, продвигая именно свои фичи. Мне понравилась идея тесной интеграции с ИИ при разработке - это может послужить хорошим стартом для уникального продукта. Остальное - дело привычки)
свои типы умных указателей и строк -- это именно то, чего нам всем так не хватает )
в геймдеве любят такое!
Посмотрел пару примеров игр, заметил что в хедерах с рефлексией мета описания в среднем занимают около половины содержания класса, притом внутри себя почти полностью дублируют информацию, которую можно вытащить из информации об исходном коде (вплоть до defaultValue)
Вопрос, рассматривались ли альтернативные пути рефлексии, например на базе плагина к компилятору как у какого-нибудь https://github.com/chocolacula/easy_reflection_cpp, или с учётом нового стандарта, на базе рефлексии c++26?
(Еще накину на поглядеть свою избушку на курьих ножках https://github.com/simplepersonru/rgen)
Поддержка JS хорошо, но очень много разработчиков мобильных игр именно на Unity используют C#
Если есть возможность поддержать другие языки для скриптинга, то это станет отличной фичей для движка, чтобы привлечь ещё больше внимания.
Поддерживаю автора :)
Пару лет слежу за движком, работа проделана огромная. На реальных проектах попробовать не удавалось (в силу своих велосипедов), но как-нибудь надо затестить.
Желаю удачи!
Два вопроса по внутренностям, если не сложно.
Про собственную рефлексию. Как она реализована — макросы, кодогенерация на этапе сборки, парсинг через clang? Меня интересует не столько сам механизм, сколько цена сопровождения: рефлексия в C++ обычно упирается в то, что при каждом изменении структуры её надо где-то продублировать, и рано или поздно это расходится. У вас на ней держатся и сериализация, и редактор, то есть расхождение будет стоить дорого. Как вы от этого страхуетесь?
Про веб. Меньше 3 МБ на hello world — это про нативную сборку. А что получается в вебе: какой тулчейн, какой реальный размер бандла и сколько занимает первый старт? Для 2D это обычно решающая цифра, и её почти никогда не публикуют.
И отдельно снимаю шляпу за 2000 тестов в движке. Это редкость, и мне правда любопытно, что именно ими покрыто: математика и утилиты или доходит до рендера и физики?
Про рефлексию писал тут - https://habr.com/ru/articles/277329/ (хоспаде, 10 лет назад). По сути там не так много изменилось, базово подход такой же. Перед компиляцией, как шаг сборки, запускается отдельная утилита, которая парсит исходники и в них же добавляет код мета-информации. Из него в рантайме уже инициализируются типы. Таким образом при компиляции всегда в коде актуальная информация о рефлексии
Размеры под веб - зависит от ресурсов. Сам движок около 2мб в wasm, ресурсы можно жать внутренними средствами - поддерживается пара типов сжатия текстур, в будущем буду добавлять еще. Можно вот тут посмотреть билды - https://games.zenkovich.space/, но в части демок ресурсы крайне не оптимизированы. Более показательна последняя - sahur. Там правда 3D, но ресурсы всего 0.7мб. Плюс движок 2мб, итого 2.7мб весь билд
2000 тестов в наши дни - легко. ИИ очень хорошо и быстро покрывает, и далее с ними работает гораздо лучше, чем без них. Тк сам себя проверяет ими
o2 game engine