Релиз SkyXEngine X.9.3, новое в terrax, ускорение работы

Категория: Дневник разработки | Скилл: SkyXEngine , C++ | Дата: 02.07.2020
Новый выпуск, но начнем с обзора коммитов с момента последней записи, а потом кратко пройдемся по релизу X.9.3

Обзор коммитов

Проводили тест на двухядерном процессоре. Получили deadlock при вызове setWindowTitle. Поправили.

А тут подьехала реализация IXScene, здесь же bvh - объекты организуются в иерархию для возможности быстрого отсечения/рейтрейса, при этом добавлять можно разные типы объектов из разных систем, делать запрос по типу и особенностям (допустим, извлечь только прозрачные объекты, и т.п).

Поправили MitAL (вот и в дальнейшем еще 3 коммита 1 2 3), поправлены звуки шагов, расширен функционал игрового обьекта sound_player и модифицирован интерфейс звуковой системы, все это здесь.

Исправлена загрузка моделей с более чем одним лодом, и наконец-то загрузчик шейдеров получил фикс - теперь загрузка шейдеров безумно быстрая (наверное такого еще не было), а здесь вернулась сетка в редактор terrax. Опять багфикс и рефакторинг звука.

Затем последовала серия небольших правок (раз, два, три, и еще) и подъехало DPI awareness (почитать можно тут) а затем фикс :)

Здесь начинает подъезжать потокобезопасность после того как в common появились спинлок и очередь сообщений , а здесь и здесь она окончательно паркуется. Кроме того в этих коммитах добавлены слои xGame и xGUI, теперь есть музыка в главном меню и в игре, при этом звуки изолированы по контексту при помощи слоев (в этом коммите правка). На удивление теперь билд больше похож на игру :)

Редактору terrax тоже было уделено внимание, теперь там есть копипаста ... да, можно выделять копировать и вставлять, при чем даже из разных контекстов! Игру можно запускать прямо из редактора по F5 (Esc возврат).

Затем были разного рода фиксы (вот, вот, вот и вот), прикрутилии иконку к движковой консоли и добавили алиасы (они же подпрограммы) применение можно увидеть в config_editor.cfg:

alias run_level "Start level from editor"
	echo "Switching to game"
	terrax_detach_3d 1
	gmode ingame
	dev_show_triggers 0
	hud_draw 1
	exec ../config_game.cfg
	exec ../config_game_user.cfg
	bind escape end_level
	spawn
endalias

Между alias и endalias можно написать множество команд, после alias идет имя, которое становится новой командой.

Теперь рендер во время загрузки отключен для более быстрой загрузки.

И наконец во время последних тестов: исправлена синхронизация игровых объектов с редактором, фикс дрожания hud и финальный фикс копипасты полупрозрачной геометрии.

Релиз SkyXEngine X.9.3

Версия X.9.0 завершена, однако версия релиза X.9.3 так как было сделано 3 фикса во время тестирования. Сделано как обычно многое. Самое главное это:

  • общее ускорение работы движка
  • доработка света
  • звук
  • новые игровые объекты
  • доработка редактора terrax (еще незавершенная)
За этими пунктами кроется тонны кода, часы обсуждений и множество иных нюансов разработки.

С этим релизом билд больше стал похож на игру, а движок стал более производительным (теперь можно работать даже на ноутбуках 2010 года выше среднего уровня).

Несмотря на то, что свет считается доработанным, нам по прежнему не нравится тот факт что кирпичная стена в готовящемся билде выглядит "пластилиновой" даже с корректно настроенным материалом. Этот момент будем править в следующем релизе.

Целый день готовили видео демонстрации работы редактора и прогулки по готовящейся демке:

Задачи на следующую X.10.0 версию в процессе планирования.

Здесь можно скачать SkyXEngine X.9.3

Более подробно (но не полностью) о ходе разработки можно узнать из дневников разработки (вниз по списку - от раннего к позднему):
Я Виталий, ник в сети Byurrer.
Увлекаюсь программированием, веду интересные проекты, пишу здесь об интересующих меня вещах: о работе, проектах, увлечениях и проффесиональном развитии.
Мое резюме

Проекты
SkyXEngine, PHP-API, S4G
Категории
В разработке :)
Популярное
В разработке :)