Войти
ФлеймФорумПроЭкты

AngieEngine

Страницы: 1 2 3 4 5 6 Следующая »
#0
(Правка: 19 окт. 2020, 20:29) 10:30, 23 мая 2018

Разрабатывается преимущественно для 3D-Action игры в стиле Quake, но есть возможность для создания игр других жанров.

Немного истории
Начало было положено довольно давно, разработка последней версии движка
началась с нуля осенью 2018-го года. До этого были другие версии не очень удачные.

Забавный факт: одна из версий движка называлась Unity и была разработана в 2002 году. Это был клон Quake3 (только рендеринг уровней). Тогда я вдохновлялся кодом Кармака, уже были доступны исходники Quake1 и Doom2.

Название Angie Engine было выбрано по имени героини Angela "Angie" McAlister после просмотра сериала Under The Dome. Мне понравилось ее имя и оно созвучно со словом Engine, и я подумал, почему бы и нет?

Features

Техническая информация:
    C++
    Windows7+, Linux
    64 bit
    SSE2

Актор/компонентная архитектура игрового мира:
    Рефлексия
    Сборщик мусора
    Мир состоит из акторов, акторы из компонент, компоненты шарят ресурсы между друг другом

Различные типы геометрий:
    Статический меш
    Процедурный меш
    Скиннед меш со скелетной анимацией
    Сурфейс

Анимация:
    Процедурная (с использованием процедурного меша)
    Скелетная (с использованием скиннед меша, скелетной анимации и контроллеров анимаций)
    Компонентная (путем изменения трансформов компонент)

Динамическое и статическое освещение с тенями:
    Направленный свет
    Точечный
    Прожектор (спот)
    Диффузные светокарты (lightmaps)
    Диффузное повершинное освещение (аналог светокарт для вершин)
    Динамическое попиксельное освещение
    Каскадные карты теней (PSSM+PCF)

Система материалов:
    Граф материала с автоматической генерацией шейдеров
    Инстанцирование материалов
    Различные типы материалов:
        HUD
        Unlit
        Base Light
        PBR

Forward+ кластерный рендеринг на OpenGL4.5 core:
    Предусмотрена возможность сменять render backend без выхода из игры
    Depth pre-pass
    Рендер каркаса (wireframe) мешей
    Debug renderer (точки, линии, полигоны)
    Батчинг
    SRGB
    Поддержка Premultiplied Alpha
    Эффекты пост обработки (bloom, dynamic exposure, tonemapping, FXAA, и т.п.)

Продвинутая система куллинга:
    Отсечение по пирамиде видимости
    Отсечение с использованием порталов
    Потенциально видимый набор (PVS)
    BSP

Импорт ассетов и менеджмент ресурсов:
    Форматы 3D моделирования (GLTF, LWO)
    Изображения (PNG, PSD, PNM, PIC, JPG, BMP, TGA, HDR)
    Шрифты (TTF)

Аудио:
    Декодеры ogg, mp3, wav
    Поддержка стриминга
    2D и 3D
    Неограниченное количество источников звука

Быстрый рейкастинг сцены:
    Используются ускоряющие структуры такие, как BSP, BVH, Portals

Физика:
    Задействован движок BulletPhysics
    Различные шейпы коллизий:
        Сфера, параллелепипед, цилиндер, капсула, выпуклый многогранник, полигональный суп
    Рейкастинг физических тел, кастинг сферой, кастинг выпуклой фигурой
    Симмуляция физических тел
    Kinenatic тела
    Мягкие тела (экспериментально)
    Триггеры
    Декомпозиция на выпуклые тела

Система ввода:
    Устройства: мышь, клавиатура, джойстик
    Мэппинг осей
    Мэппинг действий

2D:
    Система виджетов для GUI
    Canvas (для низкоуровневого рендеринга двухмерных примитивов)
    Материалы
    Блендинг

AI:
    Тайловый навмеш для поиска пути

Другое:
    Система аллокации памяти
    Классическая консоль для ввода команд и переменных
    Несколько игроков
    Несколько вьюпортов с блендингом (до 16 вьюпортов в кадре)
    Несколько миров и уровней
    Пауза игры без дополнительного экстра-кода со стороны пользователя
    Документация в формате Doxygen
    Лицензия MIT

Используемые библиотеки:
    stb, cgltw, lwo2, fastlz, miniz, glew, sdl2, bullet, vhacd, recastnavigation, imgui
    Динамически загружаемые:
    openal
    libmpg123

Некоторые архитектурные решения:
    Минимум использования STL.
    Отсутствие исключений.
    Код в стиле Си с классами.
    Минимум использования сторонних библиотек.
   
Скриншоты

Angie Engine Doom 3 Map | AngieEngine
Angie Engine SSLR with Doom level | AngieEngine
Angie Engine SSLR with Quake level | AngieEngine

Проекты

Ремейк Blade of Darkness

+ Проект Blade of Darkness Remake

Некоторые демки с использованием движка

+ Мини игра Самолеты
+ Рендеринг уровня из Doom3
+ Реимплементация Quake1-3 с использованием Angie Engine
+ Frustum shaped voxelization / rasterization process (для clustered forward renderer)
+ Виртуальные текстуры
+ Из старенького
+ Редактор


На github: https://github.com/0xc0de/AngieEngine

Руководство по установке

#1
(Правка: 10:38) 10:36, 23 мая 2018

0xc0de
> Движок разрабатывается не как убийца Unity3d и UnrealEngine

дети такие дети

за редактор - респект

#2
10:42, 23 мая 2018
цвета UI редактора у меня спёрли, а я у zbrush спёр :)
#3
10:52, 23 мая 2018

И движок, и игра, и редактор, круть!
0 варзесов из 10 :)

#4
10:57, 23 мая 2018

Варзис соснул тунца )

#5
(Правка: 12:50) 12:47, 23 мая 2018

emptiness_rain
> 0 варзесов из 10 :)

nes
> Варзис соснул тунца )

ну вы сравнили 5 лет разработки и [89 из 365] дней варзеса, варзес вам всем покажет когда настанет какой нить [1823 из 365] какие надо движочки лепить
А автор крут, что сказать..

#6
(Правка: 13:04) 13:04, 23 мая 2018

sinoby
> ну вы сравнили 5 лет разработки и [89 из 365] дней варзеса
Сравни прогресс за те же 3 месяца, что и у war_zes. Тоже кастомный движок.
https://www.youtube.com/watch?v=IOZ6RE1lB3M
https://www.youtube.com/watch?v=fUdGIX326Mw

#7
13:22, 23 мая 2018

Хотел глянуть код, а его что-то как раз и нет...

#8
13:30, 23 мая 2018

0xc0de
твои BinSearch* отказались шустрее std::lower_bound/upper_bound ?

#9
13:31, 23 мая 2018

sinoby
> ну вы сравнили 5 лет разработки
Сравнивали не результат а подход.
Так то тут есть и чел который за месяц сделал 2 шутер и зарелизил его в стиме( было в проэктах )
Варзес обычно делает что угодно, но не игры.

#10
13:34, 23 мая 2018

emptiness_rain
И не движки. И вообще ничего не делает, а просто много думает, копипастит и удаляет.

#11
(Правка: 13:38) 13:38, 23 мая 2018

Получается варзес эталонный неосилятор всея геймдева?

#12
13:41, 23 мая 2018

mr.DIMAS
> Получается варзес эталонный неосилятор всея геймдева?
Не, так то он мальченка соображучий, но путает цели и средства.

#13
13:42, 23 мая 2018

mr.DIMAS
Наравне с монобогданом где-то, но от варзеса хоть тупых тредов нету.

#14
14:41, 23 мая 2018

Andrey
По поводу binsearch - скорость не сравнивал, просто я придерживаюсь концепции "как можно меньше stl".

Страницы: 1 2 3 4 5 6 Следующая »
ФлеймФорумПроЭкты