Эпизод 3 – новая надежда на успех игры под Android

в 21:11, , рубрики: android, game development, Hexagon, hexoquan, unity3d, разработка игр

Привет, читатели! В данной статье я хочу рассказать о своей игре Hexoquan, выпущенной под Android. Я затрону выбор идеи, реализацию, возникшие сложности и способы их решения.

Эпизод 3 – новая надежда на успех игры под Android - 1

Это моя третья игра под Android, дошедшая до релиза. Игр, на самом деле, было больше, но не все доходили до релиза или же не были предназначены для него.

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

Эпизод 3 – новая надежда на успех игры под Android - 2

Не надо копировать

Вопрос выбора идеи игры: тут каждый решает сам. Кто-то пытается попасть в волну и сделать очередной модный клон (сколько разных Flappy появилось во время пика знаменитой игры). Мне же хочется делать что-то новое (или почти новое). Потому во время поиска идеи я пытался придумать то, чего еще почти нет. При этом я хотел использовать популярный и полюбившийся мне стиль hex – игровое поле, состоящее из шестиугольников. В интернете полно хороших статей, описывающих принципы работы с подобным полем. Ну а сами шестиугольники дают свободу и пространство в генерации идей.

Идея Hexoquan основана на Ô ăn quan – традиционной вьетнамской детской настольной игре, которая улучшает навык счета. Чтобы набирать в ней очки, необходимо раскладывать более крупные числа (2-9) на мелкие составляющие, создавая группы одинаковых чисел.

Собственно, название Hexoquan и было придумано, как игра слов от hex (нет, не hexadecimal, а hexagon) и quan. На мой взгляд, получилось интересно и ново.

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

Думаю, нет смысла подробно описывать весь геймплей с разными примерами: если кого-то заинтересуют скрины (а ведь игры поначалу оценивают именно по одежке), то можно установить и поиграть. Вкратце, как сказал ранее, смысл состоит в простом раскладывании чисел от большего к меньшему. Перед игроком находится поле с фишками, 3 из которых заполнены сразу (случайным образом). Фишки с цифрами можно перемещать – одно перемещение на соседнюю ячейку уменьшает значение фишки на 1, а эта потерянная единица остается в предыдущей позиции. Возможен и обратный ход вплоть до полной его отмены. Таким образом, поле заполняется новыми цифрами. Как только ход завершен, идет подсчет очков – для этого собираются группы фишек с одинаковыми цифрами и удаляются с поля, давая игроку очки, равные своим значениям. После этого на поле попадают 1-3 новых значения (в зависимости от заполненности поля). А если пустых ячеек не осталось, игра заканчивается. Все это сопровождается анимациями и звуковыми эффектами, оживляющими геймплей.

GIF с геймплеем

Небольшой ролик с процессом игры в несколько ходов

Эпизод 3 – новая надежда на успех игры под Android - 3

Juice it or lose it

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

Графическое оформление

При разработке игры довольно быстро возникла идея делать разные темы. Здесь учитываются и вкусовые предпочтения игроков, и тематика праздников (не успел выпустить к Новому году и Рождеству, потому пока нет рождественской темы). Но нужно помнить и о физической возможности играть, выбрав какую-то тему – а вот это была одна из основных проблем!

Встречаешь на просторах интернета красивую картинку (к сожалению, описываемая картинка утеряна) с темным фоном, светлыми буквами на нем – очень красивое и интересное сочетание. Берешь из нее цвет для фона, цвет для ячеек, проверяешь в графическом редакторе, как это выглядит, немного корректируешь и думаешь – красотаааааа! Затем переносишь все это в игру, начинаешь играть на телефоне и через 30 секунд понимаешь, что глазки твои не согласны с твоим цветовым вкусом. Таким образом, было минимум 4-5 итераций при создании каждой темы (на данный момент их три). Но именно так родилась первая, главная и моя любимая синяя тема:

Финальный вариант синей темы

Эпизод 3 – новая надежда на успех игры под Android - 4
Эпизод 3 – новая надежда на успех игры под Android - 5

Для компоновки спрайтов в атласы снова применял TexturePacker и очень его советую и рекомендую. Очень удобен, очень прост в настройках. Единственный недостаток – при каждом запуске предлагает купить версию про, но не вижу никакого смысла ни в про, ни во взламывании – бесплатных возможностей хватает вполне.

Звуки и музыка

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

В качестве фоновой музыки была выбрана довольно спокойная, но не унылая мелодия. Как показалось мне и добровольцам-тестировщикам, музыка игре подходит. Хорошо! Со звуками было сложнее, как и с картинками для тем. Сам звук нравится, но в игре звучит ужасно, нелепо, неподходяще под стиль игры. На помощь (помимо нового поиска) пришло снижение громкости, чтобы на фоне приятной мелодии звуковые эффекты были слышны, но не сильно выделялись и не раздражали. Но почему-то снижение звука в звуковом редакторе эффекта не давало – в нем становилось тише, а при импорте в игру все равно слишком громко. На помощь пришла возможность используемого мной Unity – у проигрываемого звука громкость можно менять или в настройках, или в коде (я предпочел второй вариант).

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

Прочие эффекты

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

Обучение игрока

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

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

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

Нам нужны оценки

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

Основные идеи:

  • Просьба оценить игру должна быть!
  • Просьба не должна раздражать пользователя и надоедать ему

Как сказал выше, игре нужны оценки, но оценки должны быть положительные! Если же просьба будет надоедать игроку, то оценки будут, но совсем не такие, какие мы хотим. Потому были приняты и реализованы следующие моменты:

  • Наша личная просьба оценить игру появляется автоматически лишь 1 раз и вежливо говорит что-то вроде «Похоже, игра вам нравится, а нам важно ваше мнение. Не хотите ли оценить ее?». Такое сообщение появляется лишь после того, как с момента установки игры прошло 2 дня, а пользователь сыграл уже 5 игр. Эти цифры обдумывались. Изначально было 5 дней, но я подумала, что если человек не удалил игру сразу или через день, значит, хоть немного она его зацепила. 5 игр – тоже показатель проявления интереса, ведь не 1-2 и последующее удаление, а целых 5!
  • Сообщение имеет всего 2 кнопки – Да и Нет. Если пользователь выбирает Нет, больше автоматическое сообщение не появляется, дабы уважать выбор пользователя. Но ведь мы все еще надеемся получить хорошую оценку, потому в уголке экрана главного меню появляется кнопка Оценить, при нажатии на которую снова появляется просьба оценить приложение. Пользователь это понимает и далее сам решает, нажимать ему эту кнопку или игнорировать. Если же он выбирает Да, то мы переводим его в маркет на нашу игру.
  • Невозможно отследить реальный факт появления оценки от игрока, потому верим ему на слово (а что нам остается делать) и после согласия на оценку скрываем и кнопку Оценить. Все, верим в лояльность игрока и больше не отвлекаем его намеками на оценку игры.

Напоминаем о себе

Если вдруг игрок не заходил в игру какое-то время, но она все еще установлена, значит, полагаем, он еще хочет поиграть (ну ладно, надеемся на это). Надо лишь немного напомнить ему о том, что он недавно установил.

Для реализации нотификаций какое-то время назад был написан собственный плагин. Помнится, и он доставил какие-то проблемы, т.к. это был первый и единственный опыт написания нативных плагинов, а затем их подключение и вызов через C# в Unity. Но дело сделано, плагин готов и работает.

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

Снова не хотим раздражать игрока, поэтому в настройках есть кнопка-колокольчик, позволяющая включить или отключить нотификации.

А вдруг доход!

Хобби есть хобби, но и доход будет приятным.

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

Какое-то время было сомнение, какую рекламу добавить – полноэкранные картинки или видео. Известно, что видео дает больший доход, но и ждать его завершения долго (если запретить закрывать до конца просмотра), а раздражать игроков мы не хотим. Поэтому были выбраны полноэкранные картинки, которые лишь изредка появляются в некоторых местах игры. Если же игрок хочет это отключить (да и своего рода donate), то может совершить соответствующую покупку в игровом магазине. В качестве модуля рекламы снова использую Chartboost — удобная консоль управления, прост в подключении и использовании.

Для реализации IAP снова был выбран плагин Unity. У меня уже есть положительный опыт работы с ним с моей предыдущей игры Catch the square. Плагин довольно легко и быстро настраивается по официальным инструкциям Unity, поэтому здесь не будем уделять ему много внимания.

Планы по продвижению

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

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

Планы по развитию

Кардинально механика игры меняться не будет.

В планах есть выпуск новых версий, которые могут еще более «оживить» геймплей. Также есть идеи по новым темам. Это поможет поддерживать интерес имеющихся игроков и привлекать новых.

На текущий момент все мои игры только на русском и английском языках. Есть желание наконец-то добавить еще несколько популярных языков: немецкий, французский, испанский.

Финальный вариант тем индиго и монохром

Тема индиго возникла так же, как и синяя — на основе случайно встреченной картинки в интернете

Эпизод 3 – новая надежда на успех игры под Android - 6

Монохромная тема создана в дань памяти старых-добрых игр (Тетрис и т.п.)

Эпизод 3 – новая надежда на успех игры под Android - 7

На этом все. Играйте, наслаждайтесь, ставьте новые рекорды, делитесь мнением в комментариях. Спасибо за внимание!

Автор: Maklaud

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js