Defold. Впечатления и часто задаваемые вопросы.

Где-то полтора месяца назад я впервые запустил Defold и переодически посматривал на его возможности в свободное время.

tVjr_gKa_Cs

И вот уже как 2 недели я делаю новый проект на Defold «full time». Решил поделиться впечатлениями и написать маленький FAQ по основным вопросам, которые возникают то тут, то там в скайп конференциях и прочих чатах.

Defold мне понравился сразу. Если описать движок одним словом — БЫСТРЫЙ. Он быстрый во всем. Я поставил движок, запустил демо проект и был поражен скоростью сборки. Попробовал собрать проект под все платформы и все собиралось очень и очень быстро. Запуск самой игры происходит моментально. Простые прототипы запускаются за секунду. Нажимаешь на иконку и тут уже играешь,  даже не увидев заставку. Я специально держу на телефоне Clanky Airplane (маленький «hello world» проект Алексея Феськова на  defold), что бы иногда запускать его и радоваться тому, как же это быстро происходит.

Cпециально достал из тумбочки старенький Huawei U8825d , проверил прототип на нем и не почувствовал разницы. Ощущение те же, что и на современном телефоне.

И билды под телефоны вышли ну очень маленькие (про размер билда).

Еще порадовало, что в движке есть hot reload.  Я видел много презентаций и роликов о том, как это круто. Но так и не видел, чтобы это работало хорошо и просто. В defold с этим проблем нет как в локальном билде, так и на телефоне.

Для тех, кто не знает, что такое hot reload, поясняю… Пишешь игру, запускаешь, доходишь до некого места и понимаешь, что хочешь что-то изменить. Не закрывая игру, меняешь параметр в специальном методе on_reload. Нажимаешь сочитание клавиш и продолжаешь играть дальше с обновленным параметром, не перезапуская игру. Все происходит на лету.

В процессе изучения я наткнулся на множество приятных мелочей, от которых только восторг:

Перечислять их можно очень долго.

В общем, взвесив все «за» и «против», мы решили стартовать наш проект именно на Defold.

F.A.Q по Defold.

На чем пишутся скрипты в Defold?

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

Под какие платформы можно собирать игру на Defold?

  • ios;
  • android;
  • windows (но не WSA);
  • linux;
  • osx;
  • HTML5 (пока только WebGL, но Canvas в разработке).

Сколько стоит Defold? 

Defold полностью бесплатный.

Как создать проект? Что за админка на сайте? Берет ли King деньги за это?

В текущей версии эдитора нельзя создать проект локально и локально его открыть. Для создания проекта необходимо перейти на сайт и создать проект там, предварительно создав учетную запись. Все это совершенно бесплатно. Для тех, кто переживает, что ваши исходники лежат у King — на форуме есть инструкции, как перенести проект к себе в git. Лично я не вижу в этом необходимости (вы же не боитесь использовать unity cloud build??? =))) ).

Defold собирает билды у себя на сервере?

Нет. Все билды собираются локально. По принципу это напоминает AIR, когда при упаковывании берутся готовые либы движка и vm и к ним добавляются подготовленные пользовательские ресурсы.

Можно ли расширять редактор?

Нет. Но уже разрабатывается новая версия (так называемый editor 2.0) и, судя по информации с форума, там можно будет писать свои дополнения к редактору на clojure, создавать проект локально и многое другое.

Есть ли в движке инапы и какие есть возможности по подключению сторонних SDK и плагинов?

Уже сейчас в движке есть поддержка инапов на ios и android. Так же есть интеграция facebook и пуши (подробнее про фичи движка). Еще вы можете встроить любой сервис, который использует http запросы (часто сторонние sdk это просто обертки над запросами). Возможности встраивать сторонние нативные SDK пока нет. Следовательно нельзя использовать рекламу или встроить sdk от стим. Но сейчас эта система (плагинов для runtime) в разработке и по слухам она выйдет уже в сентябре.

А что если King решит закрыть движок?

А что если Unity изменит цены на лицензию? =)) Или разработчики cocos2d решат закрыть движок? Это все просто сотрясание воздуха. King большая и серьезная компания, которая сделала многое, чтобы постепенно открыть движок для общественности (доступ по ключам был уже больше полугода назад). Это дает сильный толчок к развитию технологии. Появляется множество примеров, готовых решений, форум просто бурлит всяким хорошим и приятным =)

А как дела обстоят с саппортом и комьюнити?

Все вопросы команд, работающих в King с движком Defold, задаются и решаются на том же форуме, где и вопросы комьюнити. Там же обитают разработчики движка, которые стараются отвечать на вопросы вместе с активистами форума. И на вопросы действительно отвечают! Мне помогали и не раз.

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

Если вам не достает какой-либо фичи, то обязательно поищите, наверняка кто-то спрашивал. И если найдете, то отпишитесь, что данная фича вам тоже нужна и поставьте лайк. Ведь если нет спроса, то не будет и предложения.

Какие ресурсы есть по Defold?

http://www.defold.com/learn/ — в первую очередь, это документация и туториалы.

https://forum.defold.com — форум, где собственно и кипит вся жизнь.

Big List of Defold Pro Tips! — эту тему на форуме  хочется выделить отдельно (уж очень она полезная).

https://vk.com/defoldengine — группа вконтакте, которую я стараюсь активно (но не надоедая) пополнять новостями.

http://defold.ru — форум на русском языке, для тех, у кого с английским плохо. Там не очень людно, но я регулярно проверяю и стараюсь отвечать на вопросы.

Хотелось бы знать, какие темы по Defold вас интересуют и я буду стараться разобрать их у себя в блоге.

UPD 

Несколько ссылок с примерами:

https://github.com/britzl/publicexamples

https://github.com/unindented/defold-astar

https://github.com/unindented/defold-pong

https://github.com/chaosddp/defoldExamples

 

  • Eric Quagmire

    Осталось развить русскоязычное комьюнити)

    • Так РУ форум есть. Нужно делать игры что бы было о чем в этом ру комьюнити говорить =)

  • StrangeAndr

    До прочтения не знал про hot reload, надо будет попробовать. Спасибо за статью!

  • Arsen Ganbei

    А что там насчет всяких графических эффектов, системы частиц? Есть ли встроенные решения типа glow, режимов блендинга? Или нужно использовать собственные шейдеры?

  • Pingback: Defold. Некоторые сложности и их решения. — Alexey Gulev()