Понедельник #2. Defold, Nonstop Knight, Zavtracast

Всем понедельника!

Целая неделя прошла с последнего поста, а это значит, что пришло время рассказать о происходящем с моим прототипом и не только. Поехали!

Блог про разработку New Zombotron

На этой недели открыл для себя блог Антона Карлова, где он в (почти) еженедельном формате рассказывает о том, как продвигается разработка новой части игры Зомботрон.

New Zombotron

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

Defold или c небес на землю

Вот уже больше недели я активно пилю свой проектик на Defold (о нем я писал в первом выпуске) и мне хочется поделится о накопившихся впечатлениях за это время.

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

Во-вторых, модульный подход, который используется в движе.

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

В-третьих, Lua.

Если работа самого движка в подробностях описана в мануалах на оф.сайте, то про Lua тут есть только совсем базовое описание, которого на деле оказалось недостаточно. В языке достаточно много тонкостей, не понимание которых приводит к тому, что игра начинает вести себя не так как ты этого от нее ожидаешь. В итоге я потратил кучу времени на решение проблем, которые возникли буквально из воздуха. Поэтому надеюсь, что за еще пару неделек я наступлю на все возможные грабли, после чего написание скриптов пойдет гораздо быстрее.Defold - HTML5 не работает

И в-четвертых, в Defold есть множество багов и не доработок, о которых разработчикам движка давно известно, но они не торопятся их чинить.

Например, простое ускорение спрайтовой анимации требует не изменения значения одного параметра, а написания своей системы анимации почти с нуля. Разработчикам об этом известно почти полгода. Я понимаю, что у них свои приоритеты в плане развития движка, но из-за подобных «детских болячек» приходится городить свои велосипеды (а движки как раз вроде от них и защищают) и это меня немного расстраивает.

Из последнего и более серьезного, буквально вчера я хотел сделать HTML5 билд, чтобы выложить его вместе с этим постом. Но получилось так, что во время запуска билда возникает какая-то ошибка (тот же проект отлично работает на винде и андройде). Что именно за ошибка узнать пока никак нельзя, т.к. HTML5 собирается только в релизном режиме, из-за чего ошибки никуда не логируются. Разработчики снова знают о подобных проблемах, но решения пока от них нет. В итоге надо будет потратить достаточно много время, чтобы перебрать проект по косточкам и решать очередную проблему из воздуха, вместо того, чтобы делать новые фичи и двигать проект дальше.

Так за первую неделю, я спустился с небес на землю и столкнулся с тем, что Defold не идеален даже для решения задач, на которые он нацелен. Во многом это «детские болячки», которые я надеюсь в скором времени будут поправлены.

Отдельное спасибо за помощь в решении различных проблем хочется сказать @AGulev. Он кстати ведет сообщество Defold в ВК, где есть множеством полезных ссылок по данному движку.

Прогресс и планы

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

Вторая неделя работы

МОЖНО СКАЧАТЬ И ПОИГРАТЬ (WINDOWS)

Пока прототип больше похоже на техно-демо нежели на игру, но построение core-loop-а я решил отложить немного на попозже. На этой же недели у меня будет не так много времени, как на предыдущей, поэтому план состоит всего из двух пунктов:

  • Разобраться с HTML5
  • Прикрутить герою скилы

Nonstop Knight

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

Игра зацепила буквально всем. Особенно мне понравился арт-дизайн (как самих локаций, так интерфейса и эффектов), он очень стильный и при этом лаконичный. В самом игровом процессе понравилось выпадение оружия со случайными характеристиками, в большинстве случаев выбор между двумя оружиями очевидный, но иногда надо чуть прикинуть математику, что интересно. Ставка в монетизации явно на рекламу, т.к. первый промотируемый реаловый пак в игре, мало чем смог меня зацепить, а вот за просмотр рекламы предлагают очень и очень вкусные плюшки.

В моей системе координат, Nonstop Knight берет на себя роль референсного idler-а, а Tap Titan немного отходит на второй план.

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

Интересное за неделю

Ребята из Brainy Studio, с которыми я познакомился еще на российском финале Imagine Cup 2013, наконец выпустили свою игру TurnOn на Xbox One и Steam. Я уже поддержал ребят и купил их игру в стиме, правда так еще и не поиграл.

Еще на этой недели мне на глаза попались сразу два интересных материала про видеоигровой рынок.

Первый материал — это спец. выпуска Zavtracast-а. Он содержит в себя часовое интервью с @ZhugeEX, который очень интересно рассказывает про азиатский рынок видеоигр. Два интересных факта из интервью, которые, по моему мнению, хорошо отражают текущие тренды на рынке:

  • Китайская Tencent (владелец Riot, Nexon) в деньгах больше чем американский Activision Blizzard (создатели World of Warcraft, Call of Duty, Candy Crash Saga)
  • Доля мобильных игр в доходе компании Square Enix превысила долю их же консольных игры

Второй материал — отчет о мобильном рынке от Unity за первый квартал 2016 г. В нем также прослеживается усиление влияния азиатского рынка, правда в этот раз, нет ни слова о деньгах.

Всем хорошей рабочей недели! 

  • Да. Defold, конечно, не идеален. И не серебряная пуля.
    Вот думаю, что нужно написать пост в блог, про неидеальность и проблемы с которыми я сталкиваюсь. А то вдруг кто-то неправильно меня понял.

    • Alexandr Sosnovskiy

      Обязательно напиши) Ибо как пишет автор, Придюк говорит, что багов нет и куча QA тому содействуют, с другой стороны — элементарные штуки отваливаются/не работают. Что-то здесь не так…

      • Баги есть везде. Я не помню, что бы Олег говорил, что багов нет. Я только помню его слова, по поводу того, что они стремятся к тому, что бы обновление было в радость и не вызывало страхов, что сейчас все отвалиться.Быть может я не прав, скажи где читать.
        Нужно быть реалистом. Взвешивать плюсы и минусы. Вот и все. Но я на самом деле не сталкивался со страшными багами, которые бы все ломали, а учитывая, что в на главной написано beta — все мелкие неурядицы вполне понятны.

        • Alexandr Sosnovskiy

          да, точно, пардон. Речь шла о выходе обновлений, которые не ломают существующий код.

          • Да. Такое было. помню. Я всего 3 раза обновлял движок. За эти 3 раза с уверенностью могу сказать, что ничего не отвалилось.
            Я не думаю, что кто-то может пообещать движок или игру без багов. Даже если у тебя 10 000 qa.
            Есть баги. Есть недоработки. Единственный баг, который не получилось обойти, это баг со сборкой html5 проекта , о котором Андрей пишет тут в посте. (причем именно его проекта. пытаемся вычислить что именно не работает, что бы понять в чем же баг и сделать репорт)
            Но я думаю, что и его можно обойти без проблем. А как разберемся — сообщим и его пофиксят.

          • StrangeAndr

            Да, нерешаемых проблем еще не было и это очень радует.

  • Victor Nedilko

    Спасибо за пост. Информативно и интересно. Я и сам смотрел на этот движек, но все таки решил в сторону юнити.

  • Alexandr Sosnovskiy

    Андрей, а смотрел в сторону онлайн кликера/айдлера? Тоже смотрю в сторону этого жанра и понимаю, что существенных нововведений уже нет.

    • StrangeAndr

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

      • Alexandr Sosnovskiy

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

        • StrangeAndr

          Я на самом деле изначально думал в эту сторону, чтобы на одном экране с тобой кто-то фармил мобов еще + помогал убивать боссов.

          Думаю как доделаю основные core-механики, попробую запрототипировать что-то в этом ключе.

  • Ivan Dvoryanov

    Интересно было почитать, спасибо, Андрей! Понравилось, что ты прикрепил пару ссылок на интересные материалы, которые успел посмотреть за неделю, это хороший тон) Обращу внимание на TurnOn)

    • StrangeAndr

      Спасибо за фидбек! Про TurnOn кстати сегодня еще вышла статья на хабре, очень советую: https://habrahabr.ru/post/302848/

  • Pingback: Понедельник #3. E3, Defold, DevGAMM — Strange Andr // Авторский блог о разработке игр()

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