[Из песочницы] История разработки мобильной игры «Полет на Буране»

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

Я всегда мечтал посетить музей космонавтики в Москве и познакомиться с историей освоения космического пространства непосредственно от первого лица. Посмотреть первые спутники и автоматические станции, скафандры Юрия Гагарина и Алексея Леонова, макеты мировых космодромов, отведать еду космонавтов в кафе «Под ракетой» и конечно же купить сувениров.

Однажды осенью мне удалось спланировать полет в город герой Москва. Столица встретила меня хорошей погодой.

image

Один из первых музеев который я посетил, это конечно же был музей космонавтики расположенный на ВДНХ.

svacrm1ekipbo3q3gboauc-n7um.jpeg

Взяв аудиогид я провел целый день восхищенно изучая экспозиции одного из крупнейших научно-исторических музеев мира

image

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

fvixm7thdjxdsjavci2utlzex4g.jpeg

Уезжая из, как пел Муслим Магомаев, «Лучшего города Земли», я воодушевился впечатлениями и был несказанно рад, что воплотил свои мечты в реальность.

По сей день меня вдохновляет тема космоса и я решил разработать небольшую игру для мобильного телефона на эту тему

За основу я решил взять советский орбитальный корабль-ракетоплан Буран, созданный в рамках программы «Энергия — Буран»:

31gmsjdos_tpz_7xc5y1yqsznno.jpeg

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

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

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

Высота так называемой «низкой опорной» орбиты, от которой «отталкивается» большинство космических кораблей, равна примерно 200 километрам над уровнем моря. Значит Буран должен преодолеть отметку в 200 км, чтобы одержать победу:

wdydxj9zpt1ftlerzrwsxiw6yz4.png

Имея в виду все эти показатели я создал симуляцию физики. Чем больше скорость тем больше пройденная дистанция. Если скорость по какой либо причине замедлится, значит и пройденный путь будет становиться меньше

ec9u5irpchudbhxzsqlkev4d-he.gif

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

Первым объектом стал непосредственно сам Буран. Весь объект я разделил на четыре части: три ускорителя и сам корабль:

smbvyirzwa4lkub-q0nhvuoy7-k.jpeg

Разделение я сделал с целью программирования отстыковки ускорителей на поинтах дистанции. Первых два ускорителя должны будут отстыковаться на 42 километре, последний на 150 км

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

jd6fq_o6oy2zseiq3plwfypor5c.png

Для начала, в качестве теста, я сделал первое разделение на 5 км, а следующее на двадцатом.

-af3tft8hafvwtmpuust1k2coyo.gif

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

Иначе говоря позиция Бурана по оси Y, в данном случае, не меняется, а вот позиция стартового комплекса смещается:

cp4ckieyordbcm4rjmjlpgftves.gif

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

lywokuy2poyo4fgsvqms5jvqlro.gif

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

ae7e67d6t_unsvzonf0vegjmrkw.png

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

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

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

g-eyftglu-ibggunzardm-_vade.gif

Завершающим этапом я навел порядок в приборной панели, добавил звуковые эффекты и финишный экран:

xz3l3t-brujxsymmtqomyijohzm.gif

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

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

4bwd2wcqwkwbmeiwmk3se2f-ulc.png

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

rbpiyizqkwgia42evhjcjdwqvog.jpeg

Заключительной работой над проектом являлось разработка иконок, описания и непосредственно сама публикация:

my9541gejd1blenwyvwc2gennts.png

Спустя 3 месяца после публикации приложения можно наблюдать следующую статистику:

wil2thxmn97dfwjk-c6xymn4za0.png

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

Что касается монетизации, то можно наблюдать следующую картину:

ajizosl_xzsfzogiqusth6ke1iu.png

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

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

Но мои навыки в разработке и запуске подобных проектов с полного нуля очень сильно выросли. И кто знает, какую статистику покажет это приложение в будущем? Возможно уже завтра Буран наберет нужную скорость чтобы по настоящему полететь. Жизнь покажет!

Всем спасибо!

© Habrahabr.ru