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

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

description

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

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

Page 1: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

разработки

Page 2: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

Об авторе

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

Aterdux Entertainment

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

Page 3: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

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

1998

2004

2014

Page 4: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

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

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

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

Page 5: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

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

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

Page 6: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

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

Page 7: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

Page 8: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

Page 9: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

List 1List 2List 3List 4

engine

Page 10: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

game

Page 11: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

game

engine

Page 12: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

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

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

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

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

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

Page 13: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

Контакты

Skype: nikolay.armonikE-mail: [email protected]: /nikolay.armonikTwitter: @Morgerion

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

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

Page 14: Aterdux Entertainment: Собственный движок как способ экономной и эффективной разработки

Анонс

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