Dagon 0.18

Выпустил новую версию Dagon. В загрузчике OBJ наконец-то появилась поддержка групп – если в файле присутствуют группы, они будут доступны через свойство OBJAsset.groupMesh, так что вы можете использовать их в качестве отдельных мешей вместо единого OBJAsset.mesh. Также загрузчик теперь не падает на моделях с N-гонами, а выводит предупреждение, что они не поддерживаются.

Добавлен новый экстра-шейдер dagon.extra.starfieldsky – ночное небо со звездами. Он представляет собой улучшенную версию шейдера звездного неба из демки с планетой. Основное нововведение – поддержка мерцания звезд.

Слегка переделан NewtonCharacterComponent: появился новый параметр радиуса. Логика теперь следующая: контроллер персонажа, как и прежде, представлен двумя Newton-сферами, но их радиус теперь задается пользователем, а не вычисляется автоматически. Сферы располагаются сверху и снизу от барицентра на расстояниях, которые вычисляются исходя из радиуса и роста персонажа.

В dagon:iqm появились новые свойства для анимированных моделей: Actor.looping (зацикленность), Actor.state.finished (индикатор завершения текущей анимации). Исправлен баг с фейсгруппами при загрузке некоторых IQM.

Пример игры от третьего лица

Добавил в папку примеров Dagon демонстрацию управления от третьего лица. Персонаж работает на Newton-контроллере, поэтому будет реагировать со всеми телами, которые вы создадите через Newton. Можно вращать камеру вокруг персонажа, двигаться (WASD) и прыгать (пробел). Пример также показывает, как загружать модели формата IQM и воспроизводить анимацию.

Скачать

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

Интервью в “Вечерней Казани”

После упоминания на брюссельской конференции Dagon привлек внимание казанских журналистов: в “Вечерней Казани” сегодня вышло небольшое интервью, где я вкратце рассказал о проекте и о том, где и как он используется. По интересному совпадению, статью опубликовали в мой день рождения – получился своего рода подарок)

https://www.evening-kazan.ru/obshhestvo/articles/graficheskim-dvizhkom-kazanskogo-hudozhnika-polzuyutsya-geym-razrabotchiki-vsego-mira

Dagon на FOSDEM 2024

Классная новость: на прошедшей в феврале в Брюсселе FOSDEM ’24, европейской конференции по свободному программному обеспечению, американский профессор компьютерных наук Майк Шах (Mike Shah) представил доклад по языку D. В числе прочего, доклад включает информацию по Dagon. Отмечается, что это “существенный проект, который представляет интерес для графических разработчиков”. Также упоминаются Dash, Hipreme Engine, BindBC и некоторые коммерческие игры, созданные с использованием D.

Ссылка на презентацию

Доклад представляет собой общее ознакомление с языком, обзор основных его особенностей и преимуществ в плане разработки СПО, а также некоторых библиотек и примечательных проектов, написанных на D.

Майк Шах – ученый в области компьютерной графики и визуализации, Ph.D. компьютерных наук, преподаватель Колледжа компьютерных наук Хури Северо-Восточного университета (Массачусетс).

Dagon 0.17 и другие обновления

Выпустил новую версию движка Dagon. Релиз включает поддержку экранов с высокой частотой обновления, поддержку Wayland под Linux, новые методы класса Application для управления окном приложения и методы класса Game для управления сценами. Шейдер HUD-объектов теперь поддерживает прозрачность материала. Исправлен баг с неправильным удалением из памяти сцен GLTF, также исправлен прыжок в контроллере персонажей Newton. Движок и расширения теперь используют самые свежие версии всех BindBC-биндингов.

bindbc-soloud обновлен до версии 0.2 – биндинг теперь поддерживает SoLoud 20200207.

Обновлена демка механики игры Electronvolt: добавил главное меню, опции, паузу и множество других мелких улучшений.