– А Defold точно убийца Unity?
Обычно, к этому сводятся все разговоры и вопросы о движке Defold. Но прочитав форум (где часто пишут разработчики движка), становится ясно, что такой цели нет. Да и во всех анонсах говорится не о желании “откусить кусок” у Unity, а о попытке занять свободную нишу. А некоторые сравнения с Unity делаются лишь для удобства из-за его популярности.
– Так это просто match-3 движок?
Нет. Движок не стоит на месте. На нем разрабатывается множество игр в самых разных жанрах, а разработчики стараются расширять возможности движка не привязываясь к жанру.
– Так стоит ли мне взять Defold вместо Unity?
Я не знаю. Никто не может принять решение за вас. Все зависит от вашего проекта и ваших целей. Поэтому я стараюсь рассказывать о плюсах и минусах движка, чтобы вы могли все взвесить и решить.
В одном из разговоров родилась следующая мысль: “довольный пользователь Unity перешедший на Defold – это, скорее всего, недовольный пользователь Defold”. И речь не о том, что Defold хуже, а лишь о том, что у вас не будет достаточно мотивации чтобы учить новое. Поэтому просто подумайте, все ли вас устраивает в вашем текущем инструменте? Если да, то смело закрывайте страницу. А мы рассмотрим плюсы и минусы.
Производительность.
Задача движка работать бысро на максимальном количестве устройств, кроме этого, еще и работа в web. Этим обусловлены многие решения ( о некоторых решениях в архитектуре движка можно прочитать тут).
Одним из таких решений является свой runtime в spine. Это создает следующие ограничения:
- нет возможности анимировать вертексы (анимация мешей) без привязки к костям. Обратите внимание: анимация мешей есть и поддерживается! Просто к каждому вертексу необходимо привязать кость и анимировать ее, а не просто двигать вершины в spine, переключаясь с кадра на кадр. Аниматор, с которым я работал, признается, что это правильный подход, хотя и не всегда удобный. Уже общался об этом с разработчиками и они думают о решении.
- на данный момент поддерживаются фичи spine до версии 3.0. Поддержка всех фич spine последней версии имеет высокий приоритет и будет реализована.
Кроссплатформенность.
И это не пустое слово. Если вы написали сохранение в файл, то не важно собирается ли html5, ios или linux билд, все просто сохраняется и загружается. Это справедливо и для всех интегрированных библиотек:
- Facebook интегрируется один раз и работает на iOS, Android, HTML5 (ссылка на мануал);
- In-app purchases – интегрируются один раз и работают на iOS, Android, HTML5 (Facebook canvas) и Amazon (ссылка на мануал)
- Push Notification интегрируются один раз и работают на iOS, Android (ссылка на мануал).
У всех библиотек общий API не зависимо от платформы, поэтому один раз написаный код просто работает везде.
Маленькая команда
Defold разрабатывает маленькая команда. Это и плюс и минус одновременно. С одной стороны это позволяет удерживать вектор развития движка в нужном направлении, с другой – ограничивает невозможностью успевать за огромным количеством запросов от сообщества. На прошлой неделе разработчики движка поднимали этот вопрос на форуме, очень советую к прочтению. Приоритеты задач такие:
- самый высокий приоритет имеют баги и новые фичи, для которых нет обходных путей, и которые являются блокерами для команд, разрабатывающих игры;
- баги и фичи, у которых есть обходные пути, считаются как “nice to have” и имеют более низкий приоритет;
- так же есть отдельный список небольших задач, которые делаются по мере того, как появляется свободное время между основными задачами.
Тем не менее разработчики движка стараются дать максимум инструментов пользователю.
Размер билда
Есть вот такая тема на форуме, которую я переодически обновляю. И да, я понимаю, что такие сравнения могу быть некорректными из-за того, что у Defold нет многого из того, что есть в Unity. Но как я выше и писал – это делается только для удобства и большей наглядности. Ведь если возможностей Defold вам хватает, то сразу будет виден объем ненужных вещей, которые попадают в билд.
Выводы
Движок Defold имеет свои плюсы и минусы. И очень важно с ними разобраться, прежде чем стартовать новый проект.
На данный момент Defold отлично подходит для 2D игр. 3D инструменты имеют высокий приоритет и находятся в roadmap, но в текущей версии поддерживаются плохо.
По платформам это в первую очередь мобильные и браузерные/социальные игры, а так же win/mac/linux игры.
Коротко о всех возможностях можно прочесть тут:
Чат русского комьюнити:
Канал с новостями: