Полное название проекта:
WoHEngine
Статус: 
Допущен к очному туру
Год: 
2007
Автор
Фамилия, имя, отчество:
Кудашов Николай Евгеньевич
Место учёбы (работы):
ИМ СФУ
Проект
Номинация: 
Программирование
Сроки работы над проектом: 
2007
Описание: 

Движок для игр жанров Strategy/RPG/MMORPG

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

Среда разработки:
Visual C++ 8.0 с использованием DirectX9 SDK August 2007.

Функционал движка:
1) Чтение игрового контента с zip архивов.
2) Построение ландшафта любой величины.
3) Мульти текстурирование ландшафта.
4) Отсечение невидимых объектов и частей ландшафта по пирамиде видимости (Frustrum culling).
5) Небо с плывущими облаками, солнцем, бликами от солнца. Возможность создания неба с любыми эффектами.
6) Погодные эффекты, созданные с помощью системы частиц (снег, дождь).
7) Система частиц (возможность создания любых эффектов с помощью PointSprites и BillBoards)
8) Гибкий класс камеры (3 режима: свободное управление, ходьба по ландшафту, камера управляемая персонажем)
9) Управление персонажем (Возможность создавать любые действия персонажа: ходьба/бег по ландшафту, различные анимации персонажа)
10) Возможность загружать модели (анимационные, простые модели) и размещать их в 3д пространстве.
11) Интерфейс пользователя (позволяет управлять любыми объектами движка, любыми классами, любыми настройками, возможность создания большого количества окон с различными элементами (EditBox, Label, Picture, ScrollLine, Button), возможность перетаскивать окна по экрану, переключение между окнами)
12) Класс для загрузки текстур в движок
13) Класс для загрузки шейдеров в движок
14) Поддержка шейдеров версий 2.0 и 3.0
15) Чтение и запись конфигурации движка в файл
16) DirectInput (Обработка нажатых кнопок клавиатуры, мышки. Отслеживание перемещения курсора по экрану)
17) Туман (Изменение цвета тумана, установка начала и конца распространения тумана)
18) Поддержка звука (Возможность добавлять звуковые файлы в движок, как длинные так и короткие. Поддержка формата OGG и 3д звука)
19) Водные поверхности (Возможность создания любые эффекты на поверхности воды (волны, отражение мира))
20) Встроенный таймер (позволяет контролировать события движка)
21) Работа с XML файлами
22) Самостоятельно разработанный алгоритм чтения эффектов, создающихся с помощью системы частиц, с XML файлов(движение, размер, цвет частиц задаются формулами, которые обрабатывает движок и вычисляет их конечное значение. Возможно пошаговое описание поведения частиц в зависимости от времени, например, в интервале от 0% до 50% всего времени частица движится в одном направлении, а от 50% до 100% всего времени в другом)
23) Сопровождение звуковыми эффектами событий проходящих в движке(шум дождя, ветра, всплесков воды)