Разработка на 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 Демка
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
Но видимо я продолжу цикл. Не очень очевидные вещи.

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

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

Новости

Публикации

Почему барсук делит свою нору с лисицей, даже когда у обоих есть детёныши

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

От The Beatles до Майкла Джексона: как киномагнитофон Nagra создавал историю музыки

Nagra знают в основном по кино и репортажам. Швейцарские портативные катушечные магнитофоны разработал польский инженер Стефан Кудельский, а само название по-польски означает «запишет». С конца...

Optonica SA-2121H: ресивер, где проще заменить транзисторы, чем один конденсатор

В 1975 году японская Sharp выделила звуковое направление в отдельное подразделение Optonica. Задумывали его как конкурента признанным производителям hi-fi аппаратуры, и линейка получилась широкая:...

Аккумуляторы из вторсырья превзошли новые заводские батареи: как модернизация катода и графита увеличила их ресурс в два раза

Литий-ионные аккумуляторы окружают нас повсюду: они питают смартфоны, ноутбуки, электроинструменты, системы хранения энергии и электромобили. У всех этих батарей есть общая проблема — со...

7300 лет назад супервулкан засыпал Японию пеплом. Почему одни племена вымерли, а другие пережили демографический скачок

Около 7300 лет назад в Восточно-Китайском море, всего в тридцати километрах к югу от японского острова Кюсю, проснулся подводный вулкан Кикай. Это извержение получило в науке двойное имя...