atrium
Обновление Atrium
- В игру интегрирован физический движок dmech в его актуальном состоянии
- Проект теперь использует графический движок DGL
- Готова модель гравитационного излучателя с эффектом электрического разряда
- Добавлен HUD, который отображается на дисплее внутри шлема. Забрало шлема можно открывать и закрывать (планируется сделать локации в вакууме, проходить которые можно только с закрытым забралом)
- Идет работа над первой игровой локацией.

Скачать:
atrium-demo-03122014-windows.zip
atrium-demo-03122014-linux.tar.gz
Итоги года
- Вышли подряд нескольно новых версий dlib (0.3 и 0.4). Появилась поддержка абстрактных потоков ввода/вывода, а также платформонезависимый интерфейс файловой системы и его реализации для Windows и POSIX. Пакет обработки изображений теперь поддерживает JPEG, TGA и BMP, распараллеливание, HDRI. В пакете линейной алгебры состоялся серьезный рефакторинг матриц, появилась поддержка инверсии через LU-разложение.
- Было выпущено 6 номеров электронно-познавательного журнала «FPS» (№№ 28, 29, 30, 31, 32, 33). Появился новый сайт проекта (http://fps-magazine.cf). Также «FPS» теперь доступен в качестве мобильного приложения для Android и iOS. Кстати, в феврале 2015 года журналу исполняется уже 7 лет!
- Вышла игра 2048х2 — клон 2048 для двух игроков.
- Улучшен физический движок dmech: реализован новый кэш контактов, добавлена поддержка составных тел, улучшена поддержка ограничений, добавлены статические тримеши, поддержка raycast и игровой кинематики.
- Графический движок Atrium теперь развивается как самостоятельный проект — DGL. Это объектно-ориентированная надстройка над OpenGL, SDL и Freetype с собственной системой событий, виртуальной файловой системой с поддержкой ZIP-архивов, своим форматом хранения сцен, поддержкой шейдеров, мультитекстурирования, скелетной анимации, выводом текста в UTF-8, а также встроенными средствами интернационализации.
- Разработан скриптовый язык GScript — минималистичный императивный язык с динамической типизацией, идейно близкий к D, JavaScript и Python. GScript можно будет использовать в качестве скриптовой системы в игровых движках.
- Вышла новая версия системы сборки проектов Cook 2.0.1 — с новой системой аргументов командной строки, обновленным парсером импортов, поддержкой внешних зависимостей (в том числе из Git-репозиториев), улучшенной системой конфигурации.
- Обновилась страница проекта Atrium.
Новый сайт Atrium
Итоги 2013 года
- Сециально для Atrium был разработан игровой физический движок dmech с поддержкой нескольких видов геометрических тел и сочленений. Он еще далек от совершенства, но уже пригоден для использования в простых задачах игровой динамики;
- Было выпущено 6 номеров электронно-познавательного журнала «FPS» (№№ 22, 23, 24, 25, 26, 27). Кстати, в феврале 2014 года журналу исполняется 6 лет!
- Состоялось серьезное обновление dlib: в частности, пакетов dlib.math и dlib.image. Библиотека обогатилась новой функциональностью, переехала на GitHub и обзавелась поддержкой DUB;
- Вышла Cook2, экспериментальная ветка программы сборки проектов Cook со значительными изменениями и улучшениями;
- Вышла альфа-версия Arrow — тетрисоподобной игры-головоломки с оригинальной механикой.
Огромное спасибо всем, кто так или иначе помогал мне в течение года:
- Андрею Пенечко (MrSmith33) — за багрепорты и багфиксы в dlib;
- Наталии Чумаковой (d_o_r_i_a_n_a) — за помощь по матчасти и тестирование всех программ на Windows 7, а также за сотрудничество по журналу;
- Александру Санникову (Suslik) — за советы и помощь по физике.
Редактор уровней для Atrium

- Blender «заточен» под моделирование, а не сборку сцен из готовых моделей. Нет встроенной системы ассетов, библиотеки материалов и т.д.;
- В существующих программах нет возможности создавать новые классы объектов с нестандартными свойствами и функциональностью, специализированные для конкретного игрового движка;
- Нет полноценного WYSIWYG, в то время как в собственном редакторе уровней используется графический движок от своей же игры, и картинка в редакторе совпадает с картинкой в игре;
- Собственный редактор можно распространять параллельно с игрой, на тех же лицензионных условиях, а сторонний инструмент — не всегда.
Для разработки редактора я, как обычно, использую D и OpenGL, а в качестве тулкита — GTK+ (через биндинг GtkD). Планируется выпустить версии для Linux и Windows.
Поддержка сочленений в физическом движке

Изменения доступны в репозитории Atrium на GitHub.
Сборка для Windows (2,63 МБ)
Кроме того, вслед за dlib, система сборки проектов Cook также переехала на GitHub. Репозиторий проекта доступен по адресу: http://github.com/gecko0307/cook.
Bump mapping в Atrium
В движке Atrium реализован шейдерный эффект рельефа с использованием карт нормалей (Normal mapping). Представленная демонстрация показывает эффект в действии для динамических боксов, которыми игрок может манипулировать. Планируется также поддержка Parallax mapping.
Сборка для Windows (2,68 МБ)
Сборка для Linux (3,1 МБ)
Шейдеры написаны на GLSL и требуют наличия расширения ARB_shading_language_100 (или OpenGL 2.0), но это не является критической необходимостью — игра будет работать и со старыми видеокартами без поддержки шейдеров.
Обновление Atrium
Состоялось обновление кодовой базы Atrium. Старый физический движок полностью заменен новым. Также была добавлена заготовка для первого уровня (пока без текстур, только карта Ambient Occlusion).
Кроме того, открылся сайт проекта:
http://gecko0307.github.io/atrium
Atrium с новой физикой

Добавлена новая функция гравитационного излучателя: если выстрелить им в статичный объект (например, в стену или в потолок), то игрок притянется к этому месту.
Кроме того, теперь игрок может стоять и прыгать на динамических объектах — это позволит в будущем ввести интересные элементы геймплея: например, если необходимо забраться на недосягаемую высоту, игрок сможет нагромоздить несколько объектов друг на друга и вскарабкаться по ним.
Сборка для Windows (1,82 МБ)