Создание фанового клона Dota 2 в жанре MOBA

От модов в Warcraft III до собственного проекта на Godot: Путь разработчика

Мой интерес к созданию игр зародился еще в юности, в эпоху легендарной Dota на движке Warcraft III. Тогда я часами просиживал в стандартном редакторе карт, пытаясь с помощью макросов и триггеров вдохнуть жизнь в собственных персонажей с уникальными способностями. Это было захватывающее время, хотя инструменты того периода накладывали жесткие ограничения: о свободном создании и внедрении детализированных 3D-моделей можно было только мечтать.

С выходом Dota 2 планка качества резко выросла — герои стали невероятно проработанными, а визуальные эффекты и карта обрели глубину. Это вдохновило меня на попытки освоить Unity и Unreal Engine. Однако нехватка времени и отсутствие навыков в 3D-моделировании заставили на время оставить геймдев и сосредоточиться на более прагматичных коммерческих задачах: разработке веб-сервисов и мобильных приложений.

Новая надежда: Почему Godot?

Появление движка Godot вдохнуло новую жизнь в мои амбиции. Его главное преимущество — настоящая кроссплатформенность: проекты легко экспортируются на PC, Mac, iOS, Android и Web. Но что по-настоящему подкупило меня как разработчика, так это возможность управлять сценами и объектами целиком через код. Манипуляции в 3D-редакторе через UI не всегда удобны, а лаконичный скриптовый язык (напоминающий Python) позволяет быстро описывать игровую логику и связывать компоненты.

Создание фанового клона Dota 2 в жанре MOBA
Процесс описания сцены через код

Для работы с кодом я использую привычную связку из VSCode с соответствующими плагинами для Godot, что делает процесс разработки максимально комфортным.

Преодоление «ассетного голода» с помощью AI

Главным камнем преткновения для меня всегда был контент. Создание 3D-моделей с нуля — это отдельная профессия, требующая сотен часов практики в Blender. Готовые решения с площадок вроде Sketchfab или Fab часто не подходят: либо не хватает нужных анимаций, либо визуальный стиль не соответствует задумке. Моих текущих навыков в Blender хватает лишь на базовую правку мешей или создание простейшего риггинга.

Здесь на помощь пришли современные нейросети. Например, я решил воссоздать персонажа, вдохновленного образом Pudge из Dota 2, чья механика «хука» всегда казалась мне эталонной. Сначала я сгенерировал концепт-арты в ChatGPT.

Концепт персонажа, созданный AI
Первичный концепт будущего героя
Генерация персонажа с разных ракурсов
Проработка вида с разных сторон для точности моделирования

Имея на руках скетчи, я обратился к сервису Meshy — мощному AI-генератору 3D-моделей. Он позволяет превратить изображения в полноценный меш. Хотя текстуры иногда требуют ручной доработки, сервис обладает «киллер-фичей» — обширной библиотекой готовых анимаций, которые идеально ложатся на сгенерированного персонажа.

Интерфейс Meshy
Работа в редакторе 3D-персонажей

Для дополнительных анимаций я использую Mixamo от Adobe — незаменимый бесплатный инструмент для оживления статичных моделей.

Финальные штрихи и интеграция

Поскольку генератор не всегда справляется с отдельными предметами, оружие (тесак мясника) я создал отдельной моделью и привязал к кости правой руки персонажа в Blender. Теперь оно движется синхронно с анимацией атаки.

Анимация героя с оружием
Результат: персонаж с интегрированным оружием в движении

На данный момент проект находится в стадии активной разработки. Реализован классический «хук» и базовые способности, хотя баги еще встречаются. В ближайших планах — расширение ростера героев, настройка игрового баланса, добавление крипов и разработка серверной части для мультиплеера на языке Rust.

Если вам интересно изучить техническую сторону проекта, исходный код доступен в моем репозитории. Разобраться в нюансах реализации сегодня легко с помощью любого AI-ассистента.

Исходный код на GitHub: HeroesBattleArena

Связь со мной в Telegram: @notecto

Благодарю за внимание к моему проекту!

 

Источник

Читайте также