Aterdux Entertainment: Собственный движок как способ экономной и...

Post on 16-Jun-2015

392 views 1 download

description

От примитивных «Японских Кроссвордов» в 1998 до хардкорных «Легенд Эйзенвальда» в 2014. Как был выбран путь использования собственных движков, сколько их было создано, через какие стадии и сложности разработки пришлось пройти, какие выгоды были получены и каким именно решениям они обязаны. Максимальная скорость ближе к процессору, гибкость к внезапным изменениям, кроссплатформа, собственные скрипты и утилиты для контента — когда всё свое, родное, работает только на благо разработки.

Transcript of Aterdux Entertainment: Собственный движок как способ экономной и...

Собственный движок как способэкономной и эффективной

разработки

Об авторе

Николай Армоникоснователь и технический директор

Aterdux Entertainment

Первый движок написал на ассемблере под VESA для DOSПервая игра с использованием авторского движка – Japan Riddles, 1998, shareware, Win95/DirectXРаботаю исключительно в индустрии видеоигр с 2000 годаДвижок для Эйзенвальда – 9-й по счёту, написанный с нуля

Разница между написанием движковв древности и сейчас

Объемы обрабатываемого контента в играх существенно возросли, в отличие от принципов организации архитектуры игр.

1998

2004

2014

Что такое «Legends of Eisenwald»?

Инди-проектБольшой замыселМаленькая команда, мало (или вообще нет) денегТворческий подход к разработке (частые изменения плана)

Сделать всё с минимумом человеко-часовМинимальные требования к оборудованиюПолучить высоко управляемую визуализациюДостичь специфических технических требованийНе зависеть от чужого закрытого оплачиваемого кодаИметь гибкость для постоянного развития/апгрэйда

Зачем проекту свой движок?

Зачем изобретать велосипед?

Самый популярный вопрос-аргумент в пользу отказа от разработки собственного движка.

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

Подробности создания движкадля «Legends of Eisenwald»

Движок был написан одним человекомПриблизительно год разработкиОбъем кода ~20 тысяч строк (в Эйзенвальде всего ~100 тысяч)Собственные вспомогательные утилиты (конвертирование текстур, моделей, редактор арен, редактор скриптов GUI)Освоенный функционал: (3D-рендеринг во всех вариациях, подключение любых собственных шейдеров, упрощенный уровень для 2D, мультимеши, скелетные анимации с блендингом через двойные кватернионы, автоматическая оптимизация рендер-конвейеров в сцене, GUI на собственных интерпретируемых скриптах, и многое многое другое)Отсутствие собственной архитектуры! (framework-style)

Доля кода движка в коде проекта

Доли различного кода в проекте

Рост кода движка

List 1List 2List 3List 4

engine

Рост кода проекта(не учитывая движок)

game

Сравнение роста объемов кода во времени

game

engine

Свой движок: принципы эффективности

Игра стоит свеч.

Эффективность своего движка зависит от навязываемых им ограничений.

Создавать фреймворк, а не движокНе закладывать жесткую архитектуру

Использовать автономные решения из open source.

Контакты

Skype: nikolay.armonikE-mail: nikolay.armonik@gmail.comFacebook: /nikolay.armonikTwitter: @Morgerion

Благодарности

Рессе Шварцвальд за помощь в подготовке данных для диаграммВсем смельчакам, кто делает свой движок

Анонс

Переработанный для кроссплатформы движок Эйзенвальда будет доступен в OpenSource.