Если добавлять информацию в тот же файл, то смысла в этом нет, так как чтобы прочитать это количество, придется всё равно читать весь файл.
В теории можно добавлять информацию в отдельный файл, и следить, чтобы не было ошибок, если вдруг надо будет удалить уровень или переместить его в другой мир, так как меняется статистика мира. А также, если станет необходимо считать количества других объектов, нужно будет заново открыть и сохранить каждый уровень, чтобы всё посчитать. Быстрее и проще написать макро.
Спасибо! Ни GI, ни multiplayer в движке пока нет. Если пригодится для будущих игр, возможно, добавлю. На консоли возможность портировать есть, так как Haxe кроссплатформенный, но пока не пытался.
Если Вы говорите о culling, то в данной игре этого не происходит.
Уровень практически весь состоит из статичный объектов, которые при загрузке объединяются в одну модель для оптимизации, так что приходится отображать его полностью. В таком объекте не очень много полигонов, так что оптимизировать что-то дальше нет особого смысла. Если бы уровни были намного больше, то, наверное, был бы смысл в такой оптимизации, и я бы резал их на сектора, показывая только те, которые попадают в обзор камеры.
Код движка недоступен. Думаю, что движок слишком узкоспециализирован для общего потребления, а на создание полной документации и поддержку ушло бы много времени. Посчитал, что полезнее было писать такие статьи, в которых делюсь опытом самого процесса разработки.
Говорят, игра работает под Wine/Proton без проблем. Может быть в будущем сделаю нативные билды для Linux.
Если добавлять информацию в тот же файл, то смысла в этом нет, так как чтобы прочитать это количество, придется всё равно читать весь файл.
В теории можно добавлять информацию в отдельный файл, и следить, чтобы не было ошибок, если вдруг надо будет удалить уровень или переместить его в другой мир, так как меняется статистика мира. А также, если станет необходимо считать количества других объектов, нужно будет заново открыть и сохранить каждый уровень, чтобы всё посчитать. Быстрее и проще написать макро.
Примеры из статьи:
Условное включение участков кода, в зависимости от режима
Условное разделение ресурсов и кода для демо версий
Различные режимы оптимизации движка
Автоматическая сериализация файлов данных на основе структуры кода
Фиксирование номера билда и времени сборки
Перевод обработки данных из run-time в compile-time для оптимизации
Да, но пока не достаточно, чтобы заниматься этим на полную ставку.
Когда я создавал движок в 2016 году, мне пригодились вот эти ресурсы:
https://learnopengl.com/Getting-started/OpenGL
http://www.opengl-tutorial.org/
https://www.youtube.com/playlist?list=PLEETnX-uPtBXP_B2yupUKlflXBznWIlL5
https://www.youtube.com/playlist?list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP
OpenAL-Soft — под лицензией LGPL. Библиотека Lime, которую я использую, включает в себя OpenAL-Soft.
Спасибо! Ни GI, ни multiplayer в движке пока нет. Если пригодится для будущих игр, возможно, добавлю. На консоли возможность портировать есть, так как Haxe кроссплатформенный, но пока не пытался.
Спасибо, про FMOD слышал, но не использовал из-за лицензии.
Интерполяция происходит между предыдущим и текущим логическим кадром, поэтому инпут лаг в 16 мс неизбежен.
В моём движке применяется интерполяция, поэтому все движения остаются плавными. Возможно, стоит написать об этом отдельную статью.
Я думаю, это зависит от ситуации. Но на мой взгляд, гораздо удобнее, когда логика работает с определённой частотой.
Главное, чтобы логика была отделена от отображения.
Если Вы говорите о culling, то в данной игре этого не происходит.
Уровень практически весь состоит из статичный объектов, которые при загрузке объединяются в одну модель для оптимизации, так что приходится отображать его полностью. В таком объекте не очень много полигонов, так что оптимизировать что-то дальше нет особого смысла. Если бы уровни были намного больше, то, наверное, был бы смысл в такой оптимизации, и я бы резал их на сектора, показывая только те, которые попадают в обзор камеры.
Код движка недоступен. Думаю, что движок слишком узкоспециализирован для общего потребления, а на создание полной документации и поддержку ушло бы много времени. Посчитал, что полезнее было писать такие статьи, в которых делюсь опытом самого процесса разработки.
Говорят, игра работает под Wine/Proton без проблем. Может быть в будущем сделаю нативные билды для Linux.
На мобильные собирать пока не пробовал, но такая возможность в теории есть, так как Haxe/Lime кроссплатформенный.
OpenAL-Soft входит в состав Lime, который сам по себе open source и линкуется динамически.
Нет, музыка и все звуки — в формате ogg.
Спасибо, подумаю.