69

Первая мобильная игра. От начала до конца

Хочу рассказать о моем первом опыте создания мобильной игры. Сразу скажу, что делал я это, в общем-то, для саморазвития и моя работа не связана с играми. Занялся я этим просто потому, что всегда хотелось попробовать и мешало только то, что не было вообще никакого представления с чего начать. Сделав усилие над собой, я совершил практически невероятное, я погуглил как делать мобильные игры на Android (ну просто потому, что у меня Android). Среди прочего интернет мне сказал, что есть такая библиотека libgdx и очень даже удобно работать с ней из Android Studio.

С помощью libgdx можно делать игры и для ios и для html5 и для десктопной windows, но это меня особо не интересовало, поэтому ничего внятного сказать на эту тему не могу.

Так вот, взяв libgdx и Android Studio и посмотрев ряд уроков в интернете (ну и конечно почитав официальную документацию) я решил, что дальше изучать лучше на деле, то есть делать игрушку.


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


Для начала я взял шарики и поместил их на поле из 6-и угольников. Размер поля выбирался так, чтобы и не мелко было и вариантов для действий оставалось достаточно. Получилось поле 10x11 (на самом деле 9,5x11). Процесс игры сам по себе простой, тыкаешь пальцем в шарик, оттягиваешь в противоположном (к направлению желаемого движения) направлении и отпускаешь. Шарик перемещается туда, куда его отправили (с заданной скоростью, чем дальше оттянули, тем выше скорость) и либо останавливается естественным путем, либо утыкается в другие шарики. Собирая в соседних клетках по пять или более шариков они исчезают (если их больше 5 то появляется шарик с бонусом). Вот собственно основа игры.


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


Ресурсы для игры брались в интернете на сайтах где вокруг изображения были кнопки «Скачать бесплатно», «Бесплатно», «Экстра бесплатно», «Супер мега экстра бесплатно», конечно все переделывалось, что-то вообще рисовалось самостоятельно (то, что попроще). Первый вариант выглядел неказисто (хотя мне конечно нравилось). Изображений не сохранилось, но было примерно так:

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

Я бы сказал, что с редактором делать уровни намного проще, чем без, но без редактора я даже не стал пробовать (ну это правда, безумие какое-то).

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

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

Сделав побольше уровней (наверное, 120) я решил, что нужно и картинкой заняться. Изменения проходили в несколько этапов, при этом игра уже была загружена в Play Market.

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


Название игры тоже претерпело несколько изменений точнее первое слово в названии, ибо второе слово Balls так и осталось неизменным, шарики они и есть шарики.


Еще в игрушку были добавлены игровые сервисы Google и реклама от AdMob (того же гугла). Сделано это в большей степени в целях обучения, ибо никаких надежд на игру я не возлагал (как оказалось и правильно). Добавить рекламу оказалось на удивление просто и заняло минут 20 от силы. С сервисами я возился значительно дольше, но там была проблема в устаревших примерах, которыми я пользовался.


Вот как-то так выглядит история моей первой мобильной игры. Получилось длинно. А то в интернете полно историй успеха, пусть будет моя история не успеха. Зато это было весело.


Если вдруг кому интересно, ссылка на игру в Play Market

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

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

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"