"Мы создали настоящие воксели!". Говорим о движке IndieGo Engine и играх на нём с Глебом Кононовым.
Проснувшись сегодня я явственно осознал, что у этого материала не будет какой-либо сложной подводки или чего-то подобного. Есть же в мире простые крутые вещи, описывая которые, ты скорее их обесцениваешь, нежели доносишь их суть.
Итак. Глеб Кононов, IndieGo Engine. Говорим о нём самом, движке, играх и будущем. Всем приятного чтения.
Глеб, как так-то? Как тебя вообще во всю эту историю занесло, да так, чтобы не только игры делать, а еще и разрабатывать авторский движок?
Я всегда увлекался видеоиграми и в определенный момент захотел стать частью индустрии. Мне показалось, что у меня сформировалась достаточно большая насмотренность и появилось желание найти ей применение.
Когда решили делать первую игру (Gobby Island), появился вопрос - какой движок использовать. В какой-то момент стало понятно, что доскональное изучение набора технологий для работы с игровыми проектами по сложности сопоставимо с написанием собственной технологии. Нам это стало интересно и было принято важное решение. Теперь мы делаем игры на своем игровом движке.
Твой игровой движок. Что это такое? В чем его польза для разработчика? Чем он уникален?
Это воксельный игровой движок, поддерживающий спрайтовую графику и составные воксельные объекты. На нём уже можно делать игру в любом жанре. Единственное ограничение - как раз спрайтовая графика. В нём крайне просто разобраться.
Основной наш референс - редактор карт WarCraft 3, с которым может справиться даже ребенок. Мы написали не просто мод на юнити с полигональными кубиками. Это настоящие воксели, что ведет к производительности и совместимости со всеми известными платформами. Вся инфраструктура прописана с нуля с использованием C++.
C++ несёт за собой хорошую оптимизацию, и именно с ним умеет работать мой коллега. И, нет, мы не боимся ограничения аудитории и не сталкивались с хейтом за выбор плюсов. У нас есть no code и low code элементы для всех остальных пользователей (и для меня).
Как дела обстоят сейчас?
Мы используем движок в работе над внутренними проектами нашей студии. Движок состоит из low-code редактора интерфейсов, редактора спрайтов, объектов, персонажей, коллайдеров, звука, карты мира и прочих элементов.
Есть то, чем мы особенно гордимся - оптимизация. Сейчас прорабатываем полноценную анимацию воксельных 3д моделей. Тесты показывают кратное преимущество перед полигональной графикой.
Создание своего движка - сам по себе сложный и интересный процесс. Как только нам нужна какая-либо механика, мы её реализуем внутри движка, без костылей и вытекающих из этого сложностей. Но довести проект до такой стадии - и есть сложность.
Под каждый запрос проект растёт и уже не может укладываться полностью в знаниях лишь одного человека.
Кто вместе с тобой участвует в разработке?
Ключевых разработчиков двое. Я, Глеб Кононов, отвечаю за опыт пользователя и необходимый перечень инструментов и возможностей, а также визуальное оформление и взаимодействие с внешним миром. Игорь Василенко - технический специалист - разрабатывает архитектуру движка и пишет код.
Игорь - сейчас живет в Португалии. Он работает в компании Synopsys, ведёт архитектуру. У меня же свой продакшн. Мы занимаемся съемками и монтажом коммерческих и не коммерческих проектов. Смежно затрагиваем игровое направление - делаем трейлеры для игр.Особенно горжусь короткометражным документальным фильмом "Новошино", в котором я выступил режиссёром. Мы выиграли приз зрительских симпатий в институте Кино и Телевидения, а также победили в нескольких международных кинофестивалях, в том числе "Флаэртиана".
Так же есть заинтересованные люди, которые слышали о нас или увидели на форумах/выставках. Они присоединяются к проекту и в свободное время помогают с тестами, оптимизацией и сборками под другие системы.
Мы всегда рады, если найдутся люди, готовые нам помочь с реализацией. В таких людях прежде всего важна заинтересованность, так как в движках далеко не сразу можно увидеть плоды своей работы.
Всё ли есть у проекта или чего-то или кого-то, возможно, не хватает? Людей, денег, может быть чего-то другого?
Проект большой и амбициозный. На данный момент мы можем говорить о конкуренции с бесплатными движками, поддерживаемыми сообществами - например, Godot или с премиум моделью распространения, вроде RPG Maker.
Проектам с движками всегда категорически не хватает денег, так как прибыль они начинают приносить спустя десятилетие, если продавать движок или подписку под него.
На данный момент каких-либо прочих решений по движкам на нашем рынке нет. Есть только слова и отсутствие даже изображений с рабочих экранов. Для здоровой конкуренции такие проекты необходимы. Например, визуально игры будут становиться всё более различимы.
Если говорить о нашей глобальной цели, то это вывести качество и производительность на новый уровень, позволить рендерить игровые и киношные сцены в разы быстрее. Внутри студии - проекты обладают собственным стилем и узнаваемостью, полный контроль над проектом. 3Д мы развиваем, чтобы можно делать графику на уровне Unreal Engine 5, но для этого также нужны время и силы.
Пока что говорить о планируемой дате выпуска рано. Всё зависит от уровня инвестиций и наших предпочтений. В планах сделать Open Source. Существует множество вариантов в зависимости от везения и наших успехов. Возможно, движок вовсе будет использоваться только для внутренних работ студии.
Gobby Island и Elven City Simulator. Что это? Как работа над игровыми проектами продвигается сейчас? Когда что ждать ?
Gobby Island - наш первый проект на движке, слэшер про гоблина, который защищает свой остров от вторжения людей. Нельзя делать такую технологию, не занимаясь одновременно разработкой игры на нём - иначе вы просто не сможете представить и собрать в единую картину итоги вашей работы. Сейчас проект заморожен, так как он получился очень амбициозным и требует финансирования. Мы к нему вернемся после выпуска Elven City Simulator.
Elven City Simulator - градострой с уклоном в историю - развивается прямо сейчас. Тогда была идея разработать проект в короткий срок и предоставить аудитории. А когда всего за месяц появились вертикальный срез и первые теплые отзывы, мы решили развивать проект дальше. Сейчас есть демоверсия, а в ранний доступ мы планируем выйти весной-летом 2024 года.
“Желаю хорошо встретить Новый Год. Чтобы следующий год был продуктивным, и читатель достиг своих целей. Хотелось бы завершить статью известной цитатой - играйте только в хорошее.” Глеб Кононов.
У нас есть группа ВК: https://vk.com/indiego_engine
И пишем посты на DTF: https://dtf.ru/u/422309-gleb-kononov
“Автор, в свою очередь, желает тебе, читатель, щепотку удачи и дополнительный свободный час на любимые игры.” Материал для вас подготовил:
Ваня Тимошин. Играйте с удовольствием, играйте в интересное.
Про саму воксельную графику так и не понял. В игре все объекты воксельные 3д-модели или только человечки воксельные, а окружение спрайтовое? И интересно было бы узнать, как делаются анимации у воксельных персонажей?
Привет! Весь мир состоит из вокселей, внутри них - пока что спрайты со своими данными.
Над анимациями больших воксельных моделей и рейтрейсингом пока что работаем)
Удачи в новом году.
А что взято за основу архитектуры движка? Компонентный подход как Unity? ECS?
Спросил программиста, он сказал, что по этому поводу надо отдельный пост писать, очень много текста будет, если в комментарии)
Элементы компонентного подхода точно есть
Наш программист)
Стек - Opengl, openal, bullet3, ImageMagick, glm, C++17, cmake, Nuklear
Комментарий удалён автором поста
Привет!
Из миллионов вокселей выйдет модель ничем не хуже высокополигональной, к этому идём :)
Проблема анимации с недавних пор стала решаема