Выбор игрового движка оказывает большое влияние на процесс разработки игры. Это история о том, как я выбирал движок для собственной мобильной игры.

Поскольку я разработчик мобильных игр, моими основными требованиями были:

  • быстрая и удобная разработка
  • маленький размер игры
  • возможность добавления сторонних библиотек (реклама, аналитика…)

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

Этими кандидатами были:

  • Единство
  • Создатель кокосовых орехов

Из перечисленных потребностей я понял, что Cocos Creator их удовлетворяет больше всего. У него совершенно новый редактор, сделанный с использованием Электрона, весь процесс разработки использует Javascript (с поддержкой Typescript), что на практике означает, что я могу легко запускать и отлаживать игру. в браузере. «Отлично, я хорошо знаком с разработкой на Javascript!» Я сказал себе.

Так я начал разрабатывать игру. И оказалось, разрабатывать его было действительно приятно! Редактор был прост и предлагал мне все, что мне было нужно. Cocos Creator дал мне возможность быстро запустить игру без перекомпиляции после того, как я изменил код. Благодаря Javascript я смог написать краткий и элегантный код. Благодаря простой файловой структуре и конфигурации в JSON я смог легко использовать Git без какой-либо специальной настройки в Cocos Creator. Через несколько дней я был очень доволен своим решением. Однако потихоньку начали появляться проблемы…

Первое, что меня начало беспокоить, это документация. Хотя сначала это было очень ясно, когда я начал решать некоторые конкретные проблемы, документация перестала давать мне достаточные ответы. Обычно, когда это происходит, я начинаю искать помощь на таких сайтах, как StackOverflow и т. д. Однако я быстро понял, что сообщество Cocos использует скорее свой собственный https://discuss.cocos2d-x.org/. Это не было проблемой, пока я не узнал, что многие темы обсуждаются на китайском языке. И давайте будем честными — вы не хотите тратить время на перевод китайских сообщений с помощью Google Translate, когда вы должны разрабатывать свою игру :-)

Еще одна возникшая проблема заключалась в сборке пакета Android с более новыми версиями Cocos Creator. Нередко обнаруживалось, что после обновления минорной версии процесс сборки просто переставал работать. Чтобы заставить его работать, мне иногда приходилось удалять папку сборки, иногда менять конфигурацию, иногда возвращаться к более старой версии.

Последней и самой большой проблемой, с которой я столкнулся, было добавление сторонних библиотек в мою игру. Хотя Cocos Creator с гордостью заявляет, что он поддерживает очень простую интеграцию всех основных сервисов, которые могут вам понадобиться (например, Google Admob, Firebase, Unity Ads…), я просто не смог заставить его работать. Весь процесс установки инструмента интеграции под названием SDKBOX (который также включал китайский язык) просто не мог завершиться, потому что он всегда зависал. В этот момент я потерял терпение и переключился на….Unity!

И я, наконец, нашел то, что искал. Хотя в Unity нет такого быстрого процесса разработки, как простой пользовательский интерфейс и небольшие финальные сборки, как в Cocos Creator, я смог преодолеть препятствия, которые Cocos Creator приготовил для меня.

У Unity отличная документация с множеством руководств и учебных пособий, а также большое сообщество, в котором вы можете положиться на то, что всегда найдется кто-то, кто решает ту же проблему, которую вы решаете прямо сейчас. И вы можете быть уверены, что любой сторонний сервис, который вы хотите использовать в своей игре, имеет опубликованную официальную библиотеку для использования в вашей игре Unity.

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