Дизайн уровней Match 3

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

Пока есть баги, буду их сейчас править. Но с утра сел и сразу накатал дизайн уровней, посмотрел, как у других match 3 сделаны и примерно так и сочинил. У меня 20 уровней, я решил идти от меньших размеров к большим. Теоретически, в матч3 это означает облегчение, так как чем больше размер уровня — тем выше вероятность комбинаций. Но у меня на некоторых уровнях добавляются новые фишки, поэтому кривая сложности должна получиться и возрастающей, и не прямой. То есть должны быть участки легкие и сложные на все протяжении. Тестирование покажет.

Дизайн уровней match 3 игры

Рисовал так — сделал в Fireworks группу 8 на 8 серых прямоугольников. Скопировал эту группу 20 раз, по числу уровней.  Затем просто менял им цвет, используя попеременно то пипетку, то инструмент выделения. Такой прием можно использовать во всех векторных редакторах, где можно быстро переключаться между инструментами и снимать цвет пипеткой. По ощущениям — как будто рисовал. Но у меня хоткеи Fireworks давно в пальцах сидят, я давно в этом редакторе работаю.

У меня старая версия, 2003 года, мне хватает ее возможностей, она запускается быстро и не требовательная к ресурсам. Если бы не Fireworks, то, пожалуй, сделал бы в Иллюстраторе или Inkscape.

Главная цель — получить образ. Теперь я их закодирую как массивы единиц и нулей, вставлю в игру.

PS: частично для вдохновения использовал эту статью  — http://cargocollective.com/lucienchen923/Match-3-Game-Breakdown

Опубликовал игру на Itch.io

Опубликовал свой Happy Winter Match 3 на портале itch.io. Думаю, когда наберусь опыта — буду метать и на Newgrounds, и на Kong. Пусть порталы не казуальные, но ссылка на Гугл плей лишней не будет.

update: опубликовал игру также в ВК. Это очень просто, но была лишь проблема, что у меня не было свободного сайта с HTTPS, переезд большого сайта на SSL — ЖОПА. Зарегил сайт, поставил туда сертификат от LetsEncrypt бесплатный на три месяца — заработало, в ВК игра появилась.

update2: игра доступна по ссылке, но в свой каталог ВК отказался добавлять, написал мне, что без социальных функций он не добавляет игры туда. Значит, надо будет добавить минимальный соц.функционал — хоть таблицу рейтингов и рекомендации какие-нибудь. Мне самому интересно.

Что мне нравится в мобильных играх — сейчас, даже если никаких ссылок и траффика не даешь, Google все равно насыпает какие-то инсталлы. Пусть единицами в день, не десятками, но это все равно лучше, чем с вебсайтами — на которых тупо ноль.

Хотя, вероятно, это сильно зависит еще от текста в описании игры на Google Play. У меня есть пачка приложений, на них количество инсталлов не меняется неделями.

Недавно сбрасывали ссылку на мега-историю, как человек заказал клон Флэппи Берд у программиста и художника. Потратил баксов — больше, чем Эльспер за месяц зарабытывает — а выхлоп около нуля. «Игра на рынке уже 7 месяцев. За всё время игру скачали 3000 раз» — цитата.

ouchybird-570x321»

Я вот думаю, что помимо качества графики и самой идеи, в том Флэппи Берде тупо надо было текста накидать — там описание содержит около нуля интересных ключевиков и фич.

Happy Winter Match 3 — первая моя игра в match3

На прошлой неделе, 17 декабря 2017 года, выложил в Google Play свою первую игру, клон Bejeweled, классический match3. Назвал ее для русскоязычных «Дед Мороз и три в ряд», а для остальных языков — смотри заголовок и скриншоты.

Стартовый скрин

Стартовый скрин

Фичи

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

happy winter match3 screens_RU_gameplay_02

Есть всплывающие попапы — настройки, выбор языка, таблица рекордов, стартовый скрин — которые реализованы как группы в Phaser. Реализованы они не без греха — хотя я заблочил реакцию на другие кнопки при всплывающем окне, кнопки эти все равно нажимаются. Как эффективно включать «заморозку» экрана под попапом — еще не дотумкал. Game.paused в Phaser замораживает все подряд, включая кнопки в самом попапе, что хреново.

Зато есть локализация на турецкий и голландский (google translate, хотя его нейронные артефакты меня пугают — мне все теперь кажется, что иногда он несет полную чушь)

Локализация за турецкий

Но кстати за турецкий я более-менее спокоен — еще когда с flash-играми возился, базовые турецкие идиомы в играх запомнил (само слова «игра» — oyun, к примеру).  Турки до недавнего времени, пока Флеш цвел, очень много пиратили брендов — по мультикам и фильмам со всякими феями Винкс штамповали кучи очень простых, но качественных в плане графики одевалок и раскрасок, что вполне меня удовлетворяло, точнее, девочек, которые шли ко мне на сайт.

О ключах и сайтах

Вспомнил смешное — как Данила Маул назвал ключевик «игры для девочек» фейковым, накрученным биржами. Я тогда со смеха чуть со стула не упал (шутка, сидел крепко, просто усмехнулся) — этот ключевик был реальным и нес тонны траффика, весьма неплохого в плане баннеров. Хоть там и давали цент-два за клик, зато девки ходили по сайтам как в реальной жизни по магазинам — долго, вдумчиво, изучая кучи игр.  Топовые сайты с этим траффиком (не мои) имели по 12 просмотров на человека, у меня было до 6-7 доходило, в 2011 я как сыр в масле катался (и ничего не делал) — эээх! как же меня сейчас это все разбередило ))  Короче, потерял я позиции по этим ключам. Но он до сих пор жив, а турецкий запомнил.

Хотя пиратить бренды я сейчас точно не советую — появились компании-охотники, которые абузят хостера, если ты вешаешь на сайт игры по брендам. К примеру, за «Губку Боба» и «Дору-путешественницу» мне прилетали абузы как веб-мастеру от такого bounty hunter-а. Я потом прогуглил — он сам прав не имеет, но его нанимают, потому что у него есть софт, которые автоматизированно сканирует кучу сайтов в поисковой выдаче и кидает предъявы соответствующим владельцам и хостерам сразу.

В Google Play же я изначально не советую ничего такого не пиратить — так как корпорация добра абузит жестко и сразу. Читал историю про чувака, который примерно в 2011-2013 наштамповал кучи простых игрушек для Андроида по Винксам и прочим брендам, жил как пармезан или даже дорблюе в плесени, а потом ему пришло уведомление от Google, что он выиграл главный в жизни разработчика приз — почетный бан с голубой ленточкой. Роботы, как и роботы в Ютубе, теперь стоят на страже.

Об алгоритмах

Основой для моей игры послужил туториальчик, о котором я уже писал. Там комбинации считаются по прямым линиям, у меня по группам. Я потратил примерно две недели на написание и отладку рабочего движка match3.  Еще две недели обвешивал его экранами и готовил к публикации.

Графоний

Графику я беру на сток-биржах. Это минус, так как самые лучшие наборы для match3 покупают десятками. Но в свою защиту что хочу сказать:

  1. 8 баксов за набор сексуальных фишек — это восемь баксов!
  2. Перед публикацией я смотрю обычно, не выдает ли по запросу на первой странице игру с похожими фишками. Пока не было. Делать ничего не буду, просто наблюдаю
  3. В дизайне игры стараюсь не повторять точно то же, что нарисовал дизайнер (в kit-ах, то есть наборах графики, часто рисуют все экраны в полном дизайне). Кстати, это разумно еще и по той причине, что дизайнеры иногда не совсем понимают, как это будет смотреться в игре. К примеру, одна художница сделал набор с фиолетовыми и желтыми фишками на клетчатом поле. А поле — в желтую и фиолетовую крапинку. Она в своем дизайне, в презентации положила фишки так, чтобы они выглядели контрастно, но в реальности-то они часто сливаются с полем (желтые с желтым и тд).
  4. Когда деньги будут и траффик — буду покупать эксклюзивы. Хотя в match3, возможно, это и бессмысленно — посмотрите скрины по match3 в Google Play — хотя видно, что фишки разные, но они все очень похожи.

Короче, с этим надо будет еще бороться.

Монетизация

Поскольку игра одноэкранная и без целей — в мобильной версии поставил баннер под игровым полем, внизу экрана, через Appodeal. Пока ничего.

Траффик и ретеншен

Итоги первых четырех дней — 10 установок, пять удалений. По сути, статистики еще нет. Монетизации, соответственно тоже.

Публикация веб-версии

Подал заявку на публикацию как веб-игры в GameDistribution.com — написали на почту, что уже одобрили, но в каталоге пока не вижу. Там своя система рекламы, об эффективности которой как разработчик пока ничего сказать не могу. Но она внедряется в HTML5-игру достаточно легко.

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

Кроме GameDistribution, надо выложить еще на пару сайтов — один из них знакомых, другой свой, третий itch.io (если пустят такую казуальщину). Все это, в основном, без монетизации, просто для баннера и ссылок на мобильную версию.  Этим сейчас и займусь.

Что дальше

Сейчас пилю на базе этого же движка match3 следующую итерацию. Фишки и графоний уже прикупил и частично прикрутил, думаю, как продвинуть логику, чтобы сделать ее более интересной, чем одноэкранка. От попапов решил отказаться, будут делать разные экраны на разных state Phaser (минус в том, что при переходе на игровой экран на слабых телефонах становится заметна легкая пауза при генерации уровня — в Happy Winter Match 3 она происходит только один раз за игру, тут каждый раз при переходе).

Хочу сделать много уровней и даже цели. Но если не сумею придумать удобоваримое и сбалансированное — сделаю снова одноэкранку. Но хочется развивать дальше, чтобы люди сидели, как в идлах Эльспера. И монетизация была бы лучше, и ретеншен.

2017-12-22_123347

В любом случае цель — выкатить игру до Нового года или в первых днях 2018 года. Кодовое название — что-то в духе Fruit Candy Shugar Crush Fruitmania Blast (это не является, похоже, пока брендированными сочетаниями — в гуглплее выдается куча игр с названием Fruitmania, к примеру, хотя бы в качестве составного).

PS: шоколадные фишки нарисовал сам. А иконки стандартные, «материальный дизайн» — это даже не пиратство, а стандарт.

Шоколадные кнопки

 

Делал простой match3 — аналог игры Bejeweled

Последние недели — практически большую часть времени с предыдущего поста про мой алхимический кликер — я пилил игру в жанре match3 по туториалу Феронато — Complete Bejeweled prototype made with jQuery. Кстати, Феронато — абсолютно бомбовый (в значении классный) чувак, который пишет тонны простых статей и туториалов для нубов.

Статья про то, как сделать на JQuery. Я делал на Phaser (и то, и то JavaScript — примечания для потомков). Отсюда первые затруднения — перенос кода. Но это не главное, а главное то, что у меня другие алгоритмы. Эмануэль (не знаю, как точно его зовут) сделал клон Bejeweled, в котором есть комбинации только по вертикальным и горизонтальным линиям. Я хотел сделать групповые.

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

Сделал прототип на квадратах в виде компонента и выложил его как рабочее демо сюда. Выглядит вот так:
2017-12-09_165703Сейчас навожу полиш, дизайн другой. Прицепил фишки на тему Нового года — купил их на бирже ассетов GraphicRiver. Нашел музыку и эффекты на OpenGameArt.org, вставил.
Сейчас полирую баги и делаю минимальную обвязку — таблицу рекордов, настройки.