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

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

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

Новости

Публикации

Почему раскладка клавиатуры QWERTY стала стандартом

Если вы посмотрите на свою клавиатуру, то заметите странность: ряды клавиш смещены друг относительно друга по диагонали, а буквы расставлены в порядке, который не кажется логичным. Это не результат...

Физики нашли способ рассчитать момент рождения черной дыры без помощи суперкомпьютеров

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

Холестерин, диеты и статины: как менялось понимание сердечно-сосудистого риска

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

Обзор умной колонки Яндекс Станция Дуо Макс – как экран меняет работу с Алисой

Яндекс Станция Дуо Макс выглядит как устройство к которому сразу возникает простой вопрос: экран здесь действительно нужен или это просто способ сделать умную колонку дороже и заметнее? В этом...

✦ ИИ  «Cкуф»: как фамилия стала названием явления и что оно означает

«Скуф» — новый термин, описывающий мужчину, который сознательно не развивается. История, которая началась с фамилии и превратилась в мем, отражающий современный образ жизни.