Хочу поделиться опытом и размышлениями, которые постигли меня в процессе разработки мобильной игры!

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

Кем управлять и куда делать движение раз она динамическая?
На этом этапе я начал думать. А какие есть варианты?
Движение справа налево или на оборот? Пропадал элемент активности в игре. Ведь в этом случае, игрок в любой момент мог остановиться на месте и не двигаться, всё, пропадала динамика.
Наверх или вниз? Логично, что в этом случае персонаж должен уметь прыгать. Прыгать куда и с чего? Я решил использовать элемент свободного падения, как основную концепцию игры.То есть вниз. Как можно динамически двигаться вниз?
Правильно, прыгая с платформ. Не переставая прыгать.
С этим разобрались, встал новый вопрос. А кто прыгает?
Прыгает мячик, поэтому я нарисовал круг.

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

Что делать? Увеличим сложность! А как?
Добавлением объектов отнимающих большее число прыжков! Нарисовал квадрат, повернул на 45 градусов, готово, получился шип. Создал два разных типа шипов и перекрасил их в разные цвета, в зависимости от уровня их урона. Забегая в перёд, добавлю, что наносимый ими урон, прямо зависит от количество доступных вам прыжков. Добавили сложности, но нужно добавить и противоположность. Поразмыслив, решением было добавить не просто создать объект добавляющий прыжки, а являющийся полноценным элементом игры. Платформа перекрывающая спуск в низ. Для разрушения её и предоставления себе дороги, необходимо попрыгать на ней, только после этого путь будет свободен и игроку будут начислены прыжки. Основная механика и логика игры почти готова. А что дальше?

Локации.
Делать уровни разной возрастающей сложности? Слишком трудоёмко для одного человека и даёт удар по основной концепции, по динамичности, помните? Не переставая прыгать! Выбор пал на случайную генерацию локаций, по определённым параметрам. Ну что же, не проблема. Написал генерацию и зациклил уровни с обеих сторон. А что бы жизнь игроку сахаром не казалась, количество шипов и их тип, стал почти прямо, пропорционально зависим от количество имеющихся прыжков, увеличивая сложность и сохраняя баланс. Так же было принято решение, об увеличении скорости, с которой игрок прыгает по локации, с течением времени, до определённых параметров, тем самым увеличивая сложность и делая процесс игры более интересным.

Чем разнообразить геймплей? Бонусы и сбор внутриигровой валюты!
Бонусы. А что нужно игроку? Защититься от шипов и увеличивать количество прыжков. Всё просто, так и поступим. Первый бонус это барьер, с ним всё максимально понятно. Защищает игрока, поглощая урон от шипов и прыжков, пропорционально уменьшая своё значение, которое изначально равняется ста единицам, рассеиваясь со временем. Второй же бонус ещё проще, добавляет прыжков игроку, мелочь, а приятно, неоднократно будет внезапно вас спасать.
Внутриигровая валюта.
Выбор дизайна, пал на одну из классик, звёздочки. Было принято решение о случайном размещении звёзд по локации, с ограничение высоты. Вроде нечего сложного, коснуться звёздочки и получить её себе в копилку. И тут нужно вспомнить, что по локации разбросаны шипы, на которые ты скорее всего и приземлишься, если не будешь осторожен или подведёт реакция. Процесс сразу становиться интересней.

Есть валюта! А на что её тратить?
Идея пришла, дать возможность игроку, потратить собранные им звёзды на покупку прямо в той же игре, в которой он их и собрал, на покупку барьера или прыжков. Но не забывая увеличивать на них цену после каждой покупки в одной игре. Далее, что бы разнообразить игровую экономику и не пугать игрока трёхзначными ценами в магазине модификаций. После проигрыша, звёзды конвертируются в монетки, по курсу: десять звёзд, равны одной монете. Как пример 157 звёзд, будут приведены в 15 монеток.

Внутриигровой магазин модификаций персонажа!
С дизайном персонажа разобрались ещё в самом начале, а как можно его приукрасить? Поменять цвет за внутриигровую валюту? Логично, так и поступил. Что дальше? А как насчёт шапок и очков? На этапе написания этого текста, я реализовал в игре некоторое количество модификаций покупаемых за внутриигровую валюту, к примеру такие как, три шляпы и глаза разного вида.

Больше размышлений о динамичности!
На этом этапе игра уже была достаточно динамичной и соответствовала критерием. Но всплыла неожиданная проблема. Игра выглядела стерильно! И как это исправить? Я стал думать, первое что пришло мне в голову, это то что каждая локация, запрограммирована быть случайной формы со случайным расположением рельефа. А почему бы мне тогда, не генерировать для каждой локации случайный цвет фона и платформ?
Работа с цветом. Я написал реализацию которая присваивала случайные цвета из определённого диапазона. И это сработало. Всё действительно начало выглядеть намного лучше. Но чего-то всё же не хватало. Решение как оживить локацию пришло довольно быстро. Теперь бонусы и звёзды, начали медленно переливаться между двумя цветами, с разной скоростью, начиная с разного временного интервала своего состояния. А при их сборе, они стали рассыпаться на множество уменьшающихся своих копий. Так же претерпел изменение и игровой персонаж. Для обозначения своей траектории, теперь он стал оставлять затухающий след, своего цвета, по ходу движения. И игра заиграла новыми красками, в прямом и в переносном смысле!

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

Завершение. Ещё немного о том, что реализовано в игре.
Дизайн меню игры выполнил в основном в двух цветах, синем и белом, у таких элементов как кнопки и окна сделал скруглённые края. В игре есть возможность сохранить свой прогресс в облако и восстановить его с другого устройства или после удаления и установки игры. Так же в игру я посчитал не лишним добавить достижения, которые игрок может получать по ходу игры, в основном за прохождения определённого количества локаций и сбора определённого большого количества звёзд, так же к примеру за изменения внешнего вида персонажа.

На этом всё! Спасибо, что были со мной!
Кто хочет опробовать игру, название игры Leap Step, игра доступна на телефоны с Android. Ссылка на скачивание игры в Google Play:

Ниже привожу пару пару скриншотов и видео, хоть и в плохом качестве, но с краткой нарезкой демонстрации игры!

​Основные скриншоты игры.<br /> Автор поста.<br />
​Основные скриншоты игры.
Автор поста.
Не большие моменты из игровой механики.
1212
17 комментариев

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

11
Ответить

Я писал о том как это было, захотелось поделиться, писатель правда из меня никудышный. Но я и не обещал, что это будет увлекательный, наполненный величайшим смыслом роман, просто история, обычный опыт. Ещё если можно, добавьте конкретики, что не так с моим опытом и размышлениями?

Ответить

Блэд, чувак. НЕ не всегда пишется раздельно. Вы это через пару лет на уроках русского будете проходить.

6
Ответить

Можно было и не повторять

Ответить

Нихуя себе, да тут походу все по взрослому, думал я, читая этот текст. Дизайн, локации, модификации... А потом я увидел скрины....

3
Ответить

Все это было сделано в игре Red Ball, если не ошибаюсь

2
Ответить

Блэд, чувак. НЕ не всегда пишется раздельно. Вы это через пару лет на уроках русского будете проходить.

1
Ответить