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

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

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

Новости

Публикации

Советский усилитель «Электрон-104-стерео»: от «плюса» к «минусу»

В свое время мне пришлось работать техником в местном Районном Доме культуры и одновременно руководить ВИА. Об «Электрон-104-стерео» знаю не понаслышке. О нем у меня сложилось двоякое мнение: как...

Одежда больших размеров для женщин: почему вещи сидят хуже, чем на маленьких размерах, и при чём тут то, как лекало «растягивают» от базового

Одежда больших размеров для женщин сидит хуже из-за градации лекала от базового размера. Разбираю механику и что проверять.

«Урал‑авто‑2»: радиоприемник из СССР «двойного» назначения

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

✦ ИИ  Удивительные биологические часы: почему петухи кричат именно по утрам?

Бывает, стоишь летом на балконе, за окном темно, а солнце только готовится выползти на небосвод. За окном спокойствие и тишина, и лишь звонкий крик слышится со стороны частных домов. До...

Ждать Redmi K100 или покупать Redmi K90 сейчас: разбор перед презентацией в конце октября

В Китае на последней неделе октября представят Redmi K100, младшую модель серии, а Redmi K90 тем временем продаётся в российской рознице примерно от 44 тысяч рублей за версию 12/256 ГБ. Я собрал...