Сен
22

Дискотека

icon_100x100Всем привет!

Наконец-то я ДОДЕЛАЛ и выпустил игру для Андроида. У меня уже лежат 3 незаконченных игры, и сделать и закончить хотя бы одну игру  - уже достижение для меня.

Игра называется «Дискотека». Это простенькая красочная аркада, в которой нужно прыгать по платформам и суметь пройти как можно большее расстояние. Управление в-одно-касание (однопальцевое).

Игру сделал за месяц с небольшим. Работал по 2-3 часа в день во время отпуска (всё-таки с двумя детьми особо не поработаешь, только в тихий час 🙂

1

Технические детали

Вот некоторые технические детали:

  • Игра написана на Haxe + OpenFL, движок HaxeFlixel
  • Среда разработки — FlashDevelop
  • Графику рисовал во Flash IDE и сохранял в PNG покадрово
  • Атласы паковал TexturePacker'ом. Хотя сначала использовал ShoeBox, но с ним на телефоне не срабатывала опция extrude и поэтому между платформами (блоками) мелькала чёрная полоска
  • Звуки генерировал в sfxr, а также в ModPlugTracker, а также брал из других источников
  • Музыка от Кевина МакЛеода (Kevin McLeod)

Саму игру отлаживал, конечно же, на Flash, благо Haxe это с легкостью позволяет сделать. Ну а в мобильной версии игры для Андроид встроил следующие библиотеки:

  • Аналитика — Google Analytics (пришлось написать свою библиотеку drderico-ga)
  • Реклама — от Appodeal (баннер внизу, межстраничная реклама, видеореклама за вознаграждение). Жалко, что реклама легко отключается программой AdAway
  • Игровые сервисы Гугла — таблица рекордов и достижения (библиотека openfl-gpg)

4

Трудности

Какие трудности возникли в процессе разработки:

  • Долго не мог понять, почему на телефоне видны артефакты — чёрные полоски вокруг спрайтов (особенно когда два спрайта стоят вплотную). Оказалось, виноват то ли ShoeBox, то ли парсер его формата. В общем, переход на TexturePacker решил проблему;
  • Долго боролся с компиляцией под Андроид, когда подключил Google Play Services. В папке res всё время создавался каталог crunch и компиляция прерывалась. Дело оказалось в открытой Eclipse IDE, в которой был добавлен проект Google Play Services и которая постоянно его компилировала и создавала эту папку crunch. Решение — удалить вручную папку crunch, и либо закрыть Eclipse, либо закрыть проект Google Play Services в ней;
  • Не работали Google Play Services. Долго искал проблему в подключенный библиотеках. А дело оказалось на стороне Гугла. Он, почему-то, при добавлении приложений, не сохранил в консоли их цифровые подписи SHA Пришлось вручную их добавлять;
  • Игра не видна в эмуляторах — вместо спрайтов чёрные прямоугольники. Поэтому невозможно сделать было скриншоты для разных разрешений экрана. Решение — попросил на форуме о помощи и мне помогли. Спасибо!
  • Очень трудно было найти подходящую музыку в игру, причём бесплатную. На платную пока денег нет;
  • Сохранение настроек в облако Гугла. Причём с сохранением настроек локально проблем не возникло. А дело в том, что я формирую настройки в виде XML дерева, а потом шифрую их операцией XOR. Так вот, при сохранении в Гугл, этот Гугл некоторые символы не воспринимал и просто обрезал строку. Решил я использовать Base64 кодирование, но и это не помогло. В итоге сейчас все настройки сохраняю в Гугл в незашифрованном виде (привет, читеры!)

В общем, разработкой я удовлетворён. Получилось достаточно быстро для моего графика работы.

Внутриигровые покупки

Я их встраивал (библиотека extension-iap) , но мне не удалось их запустить. И решил я их убрать — теперь в игре нельзя отключить рекламу за деньги. А только найдя в игре Золотое Яйцо. Тогда реклама отключится на 24 часа 🙂

А звёздочки, как внутриигровую валюту, можно бесплатно получить, посмотрев видеорекламу.

На звёзды можно купить внешний вид персонажа.

5

Планы на будущее

  • Добавить ещё врагов и интересных фишек в игру;
  • Если игра наберёт популярность, то может куплю себе аккаунт в AppStore и выложу игру туда;
  • Сделать свою рекламную сеть, т.е. рекламировать свои игры внутри своих игр (как это делает Ketchapp);
  • Придумать и выпустить ещё игры 🙂

Если поиграете и оцените игру, буду признателен!

А если ещё и расскажете друзьям, то буду просто счастлив!

icon-google-play

P.S. Интервью с Костей Бороненковым я послушал спустя где-то 2 недели после старта своей разработки. От него я узнал, что такие игры, как моя, называются skill-based играми и таких игр уже ооооочень много. Также я подсмотрел в играх Ketchapp, какие там кнопочки реализованы (особо обратил внимание на Rate, Share, No ads).

P.P.S. Буду рад ответить на любые вопросы!




Прокомментировать



ЗАДАЙ СВОЙ ВОПРОС