Разработка на Godot, или Как я наступил на грабли

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Статья | ИИ, сервисы и приложения

Переход на новый движок с крутыми свистелками не всегда лучшее решение, даже для новых проектов. А особенно это касается кросс-платформенной разработки.

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

Нативную разработку под целевую платформу отмёл сразу, так не интересно и это старый подход и времени столько нет. Какой движок выбрать тогда? по итогу выбор встал между Unity, Godot, MonoGame.

Unity

Всё началось с Unity. Да, без дохода движок бесплатный, но проприетарная лицензия, что они там будут менять, не понятно. Но не предсказуемое прекрасное далёко становится предсказуемым, когда речь идёт о жадных корпорациях. А ещё скачивать очень много, долго и нудно. Несколько гигабайт, чтоб делать простенькие игры. Вы сурьёзно?! Да, они это очень-очень сурьёзно! Так что, Unity, мимо. Хоть это стандарт индустрии (пока ещё).

Да, они это очень очень сурьёзно!
Автор: andruhex, south park

MonoGame

MonoGame это фреймворк для написания игр на C#. MonoGame поддерживает кучу платформ. Но это не движок. а фреймворк. Изначально я начал разработку на нём. Но это не то, чего мне хотелось: наглядности и простоты. Через пару недель, после появление полурабочего прототипа на Monogame. Я решил попробовать Godot. И говорю сразу, мне понравилось! Разработка на Monogame заняла бы слишком много моего времени. У меня было ощущение, что изобретаю свой велосипед на костылях. Если вы понимаете о чём я:

Превозмогая трудности
Автор: Неизвестен Источник: pikabu.ru

Godot

И так, качаю Godot3. Какая-то сотня мегабайт, ни в какое сравнение с Unity. Система нод ощущается простой в сравнении со структурами Monogame. Логика работы схожа с Unity. Имеется встроенный редактор кода, 2d игра сделалась буквально за пару недель. Gdscript не строго типизированный, что тоже ускоряет прототипирование. Pet Labirint портировался за пару кликов на все доступные мне платформы. Windows, Linux, Android и HTML5.

С разработкой для iOS и Mac всё не просто, надо оплачивать лицензию каждый год, нужны свежие устройства. Портирование на HTML5 оказалась хорошей альтернативой, одним портом на все платформы. Это в дальнейшем и сыграло злую шутку.

Грабли

Сообщество Godot выпустило четвёртую версию. Внимательно почитав список улучшений, я был воодушевлён, теперь Godot казался серьёзным движком для работы с 3d графикой. Улучшен рендеринг, изменён способ работы с 3d редактором Blender, можно сказать, что Godot4 и Blender созданы друг для друга. Добавлена поддержка WebGL2.

Я решил: «Хватит разврата! Теперь использую новую стабильную версию!»

3d Демка
Автор: Wojtek Pe Источник: www.youtube.com

После реализации очередного проекта, я портировал его в HTML5. Но, оказалось порты Godot4 в HTMl5 не совместимы с устройствами Apple. И я сейчас нахожусь в замешательстве подождать пока обновятся Apple устройства и плотно заняться 3d либо откатиться к версии для Godot3.

Вывод

Всё получилось как в анекдоте:

Упал самолет на необитаемый остров. Спаслись только командир, штурман и стюардесса. Через неделю командир сказал: «Хватит разврата!» и они убили стюардессу. Еще через неделю командир сказал: «Хватит разврата!» и они закопали стюардессу. А еще через неделю командир сказал: «Хватит разврата!» и они откопали стюардессу обратно.

Старый анекдот

Лучшее — враг хорошего. Если в проекте не предусмотрено использование новых фич, новая версия тебе не нужна.

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
«У самурая нет цели, есть только путь»
Duobricks двойной тетрис на Android

8 комментариев

Добавить комментарий

1
А какой у вас опыт в IT, если разработка заняла 2 недели? Думаю, что это довольно короткий срок, интересно, с какой базой вы стартовали
И можно, пожалуйста, название этой старой игрушки
andruhex
А в айтишке уже наверное лет 10.
1
Там сейчас как раз это должны будут пофиксить вскоре. Хотя конечно хотелось бы, чтобы Apple всё-таки добавили поддержку этой технологии
GennDALF
Вывод поддерживаю.
По самим инструментам хочется больше подробностей – думаю, многие были бы весьма признательны за развёрнутый рассказ погулявшего по граблям человека.
andruhex
А что интересно, процесс создания проекта, как делать шейдеры в godot?
Этот пост скорее про конкретные грабли. Про которые не пишут красными буквами, чтоб узнать надо уйти в документацию. А зачем её читать, если там описан процесс экспорта в HTML5. А я его уже знал с третьей версии)
andruhex
Но видимо я продолжу цикл. Не очень очевидные вещи.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Выручает в непредсказуемых ситуациях: обзор аккумуляторной УШМ INSPIRITECH AG1400

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

Мотоцикл внутри колеса: как устроен советский интроцикл инженера Мельникова и почему он остался экзотикой

Идея посадить водителя внутрь огромного колеса кажется кинематографическим трюком, но в 1970 году советский инженер Эдуард Мельников воплотил ее в реальном прототипе. Его аппарат, названный...

«Мёртвая дорога» Салехард — Игарка: как строили трансполярную магистраль и почему бросили

Трансполярная магистраль — недостроенная железная дорога, которую возводили в 1947-1953 годах около 80-100 тысяч заключенных ГУЛАГа. Путь длиной 1300-1480 км должен был пройти от станции...

Флот без моря: почему Боливия единственная страна Южной Америки, лишённая выхода к океану

Боливия — одна из двух стран южноамериканского континента (наряду с Парагваем), не имеющих прямого выхода к морю. На карте это хорошо видно, ~120 км полоска суши отделяет страну от моря....

Большое кольцо в Осаке: зачем строили гигантское деревянное сооружение диаметром 700 метров и что с ним стало

На искусственном острове Юмешима в Осакском заливе во время подготовки к Всемирной выставке Expo 2025 появилось впечатляющее сооружение Большое кольцо. Гигантская деревянная конструкция с...