Aterdux Entertainment: Собственный движок как способ экономной и...
-
Upload
devgamm-conference -
Category
Presentations & Public Speaking
-
view
392 -
download
1
description
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: [email protected]: /nikolay.armonikTwitter: @Morgerion
Благодарности
Рессе Шварцвальд за помощь в подготовке данных для диаграммВсем смельчакам, кто делает свой движок
Анонс
Переработанный для кроссплатформы движок Эйзенвальда будет доступен в OpenSource.