Лого vc.ru

История Rocket Romeo: Как я создал свою первую игру для Android за 45 дней

История Rocket Romeo: Как я создал свою первую игру для Android за 45 дней

Независимый разработчик Афсар Ахмад, создавший игру Rocket Romeo, поделился на ресурсе Kukuruku своей историей разработки мобильной игры для Android. Он несколько раз переделывал проект почти с нуля, менял арт-стиль и даже механику управления. Лишь после нескольких итераций, плейтестов и переосмыслений он смог запустить своё приложение в Google Play.

ЦП публикует перевод материала.

Поделиться

27 февраля 2015 года я выпустил свою первую игру для Android — Rocket Romeo. Как только я рассказал об этом друзьям, популярность игры начала расти. Проект, на мой взгляд, уже оценён по достоинству. Кроме того, я выяснил, что многие люди одобрили мою креативность. 

Тогда я задумался, что вообще такое креативность. На самом деле последние 45 дней я только и делал, что пытался создать игру, которая понравится широкой аудитории.

Процесс создания игры итеративен и основан на экспериментах. Чтобы вы поняли, как выглядит цикл разработки в моем представлении, я расскажу вам историю создания Rocket Romeo.

Вот как игра выглядит сегодня

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

В этой статье я не буду обсуждать то, по какой причине было принято решение создавать игру для платформы Android. Поэтому свой рассказ я начну с того периода времени, когда принял решение разработать игровое приложение. Фаза формирования идеи началась где-то около 12 января 2015 года.

Первая идея

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

Как только была сформулирована базовая механика, я сосредоточился на создании графики. И сначала я занялся основным экраном игры.

Вы видите пчелу, которая следует по тропинке из сот, а палочки с ульями и есть те препятствия, которые пчеле надо преодолеть.

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

Но перед тем, как начать во второй раз, я подумал, почему бы не создать небольшой MVP, который позволит мне понять суть игры. Поэтому вместо того, чтобы работать над картинкой, я быстро переключился на Android Studio и на скорую руку создал прототип страницы, который выглядел так:

Маленький квадратик играл роль пчелы, а красные препятствия играли роль палок с ульями. Я провозился с MVP около часа и понял, что механика игры была плохой, а сама игра следовательно становилась неинтересной.

Я отказался от этой идеи и взялся за другую.

Идём к следующей идее

Мне очень понравился геймплей игры Road Fighter, и я подумал: «Почему бы не создать многопользовательскую версию игры, в которой гонки организуются регулярно через определенные промежутки времени? Игроки со всего мира смогли бы соревноваться. Гонки будут длиться две минуты и победит тот, кто пройдет быстрее всех».

Эта идея казалась интересной и сложной и с точки зрения разработки. На этот раз MVP был уже не важен, потому что я хотел в точности повторить опыт своей игры в Road Fighter. Я начал создавать графику.

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

Следующая итерация

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

Раньше я был фанатом студии Ketchapp. Все их игры простые, инновационные и весёлые. Я хотел создать что-то простое и захватывающее, что такой инди-разработчик, как я, легко смог бы создать.

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

В два счёта я подскочил к своему ноутбуку, на котором установлена Android Studio, и быстренько набросал MVP. Всё было прямоугольным.

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

Как только разработчик доделывает базовую механику, наступает очередь создания иллюзии. Мне нужна была история, которая смогла бы объяснить, почему предмет падает. К тому же она должна была создать у пользователя впечатление, что герой выполняет какую-то миссию.

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

«Помогите Ромео из страны Chicken-land вызволить любовь всей его жизни — Джульетту — из лап Тёмного Дракона. Тёмный Дракон держит Джульетту в плену внутри вулкана. За спиной Ромео есть ракета, которая поможет ему спуститься вглубь вулкана, пройти через разнообразные лабиринты и добраться до Джульетты. Стань супергероем и помоги Ромео найти Джульетту».

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

В этот раз я был на гребне волны. Всё стало понятно, и мне оставалось лишь создать красивую основную сцену. Поработав с Adobe Illustrator два-три дня, я создал несколько сцен. Следующие картинки показывают стадии создания фона и героя по мере отработки:

Начальные версии Ромео и фона сцены

То, что у меня получилось, дало мне надежду, и я решил, что смогу ещё лучше. Я стал просматривать портал Dribbble, чтобы найти ещё больше прототипов. Следующие два дня я сидел на порталах Behance и Dribbble, пытаясь понять, каким должен быть идеальный дизайн, чтобы создать впечатляющий игровой опыт.

И наконец я почувствовал, что всё делаю правильно, в результате у меня появились вот такие текстуры для фона. Качество мне понравилось.

Фон был сложный и создавал впечатление, что вы и правда находитесь в пещере. Лично мне всё понравилось, и я решил двигаться дальше.

Следующие 10 дней я работал над кодом, менял текстурный атлас, подгонял его под нужды различных сцен и читал книгу Марио Зехнера «Разработка игр для Android». Книга, кстати, просто потрясающая. Я пользовался структурой, о которой говорилось в этой книге. Тогда я совсем мало знал о таких игровых движках как Unity3D, AndEngine и Libgdx.

Через 10 дней у меня была работающая версия игры на Android Gingerbread 2.3.2. Однако игра всё ещё не казалась мне интересной, так как передвижение героя казалось искусственным и игровой опыт не был примечательным. К этому моменту логика передвижения героя была незатейливой и согласовывалась с моей теорией передвижения ракеты.

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

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

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

Я снова начал экспериментировать с фоном. Вот некоторые версии отладки фона, которые я предпринимал, но всё впустую. Всё это время я пытался придерживаться теории, что Ромео падал в пещеру.

Я не был готов отказаться от истории, она казалась очень убедительной. Но позднее я всё-таки от неё отказался, и решил обратить внимание на новую стилистику — небо и облака. Такой фон был проще и ровнее.

История затормозилась. Я понятия не имел, почему герой падает, но я продолжал создавать игру, веря, что со временем осознаю, чем именно занимался герой игры.

Финальная отладка фона и героя уже на небесном фоне

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

Чтобы немного облегчить игрокам жизнь, я ввел систему сбора яиц. Когда игрок собирает 50 яиц, он зарабатывает новую жизнь.

Помимо отладки фона, я проводил много экспериментов с героем и эффектами. Я также запланировал телепортационные трубы, которые совершенно рандомно отправляли игрока вперёд или назад в пространстве. Топливо для подзарядки изначально было создано по-другому.

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

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

В целом у меня ушло 45 дней на то, чтобы выпустить приложение после устранения ошибок, тестирования и разных эксериментов. Все это время я экспериментировал, тестировал и отлаживал приложение. Я формировал теории, начинал работать с предположениями и пытался навести во всём этом порядок.

Результатом всех бессонных ночей стала финальная версия Rocket Romeo, которая довольно быстро набирает популярность. Вы можете найти это приложение здесь.

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

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

Статьи по теме
История создания мобильной игры «Эволюция: Битва за Утопию» от Mail.Ru Group25 марта 2015, 14:17
История создания Temple Run: миллиард загрузок — не предел04 июня 2014, 23:55
Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

Пthвоначальный арт с пещерой мне нравится гораздо больше :)

0

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

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

В статье не сказали какой выхлоп и как моннетизировалось

Я тут на дня тоже свой первый апп на Андроид зарелизил. Намучался капец.. особенно с хардваром, которое на большинстве фонов работает довольно странно. Нашел пару тройку очень странных поведений АПИ и один баг в методе отрисовки. Вообщем было ддовольно познавательно + врод бы даже чтото полезное для музыкантов вышло(Писал на самом деле под свои пожелания для записи песен)
Вот че вышло: play.google.com/store/apps/details?id=com.essenly.android.vocalrecorder

Планирую позже еще Автотюн добавить и загрузку внешних треков.

0

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Андрей Малолин

Так начинающему или совсем без опыта работы?

Почему в Санкт-Петербурге сложно найти дизайнера интерфейсов
0
Константин Фанки

Что за Codewise? Кто нибудь слышал про них до этого рейтинга?

Avito оказалась единственным российским представителем в рейтинге Deloitte Technology Fast 500
0
Den Neustroev

Складывается впечатление, что вы из Avito.

Avito оказалась единственным российским представителем в рейтинге Deloitte Technology Fast 500
1
Gregory Golovanov

У нимакс вполне себе московский ценник

Почему в Санкт-Петербурге сложно найти дизайнера интерфейсов
0
GaLL

Подскажите где и как лучше искать стажировку начинающему веб дизайнеру (без опыта работы) в Казани? Готов ухватиться за любую возможность.

Почему в Санкт-Петербурге сложно найти дизайнера интерфейсов
0
Показать еще