Возвращение Бурана

kpaj3cxm_rsccvbkgulkvarrxqs.jpeg

Каждую осень в различных частях земного шара с 4 по 10 октября отмечается всемирная неделя космоса. Так совпало, что именно в канун праздника было опубликовано мое первое тематическое игровое Android приложение. В рамках ежегодного космического недельного торжества я хотел бы рассказать историю о первом опыте выпуска Android игры «Возвращение Бурана».
Вот уже пару лет на досуге я занимаюсь выпуском игр и приложений под мобильную операционную систему KaiOS. В этом году мне также удалось выпустить несколько проектов

image

Хоть я и продолжаю вносить вклад в развитие экосистемы KaiOS мне все же хотелось попробовать выпустить приложение для другой платформы. Таким образом эта амбиция оказалось в моем списке желаний который я готовлю ежегодно в канун Нового Года.

В одной из своих статей в комментариях я упомянул о планах портирования игры на Android про советский орбитальный корабль-ракетоплан Буран

ugpbyaxvtgq2i993xjg8ln3lvlm.jpeg

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


А начал я с довольно объективной ремарки о том, что мой корабль вовсе не «Буран», а американский космический челнок «Спейс шаттл». Нужно было исправить эту неувязку.

Навыки рисования у меня мягко скажем оставляют желать лучшего, но в детстве я любил срисовывать и раскрашивать. При помощи открытого векторного редактора «Inkscape Project» я обрисовал основные части ступеней и самого орбитального самолета.

image-loader.svg

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

Изучив фотографии, карты и различные видеозаписи пришло понимание, что ни одна стартовая площадка не обойдется без опорной системы, мачты освещения и фермы обслуживания. Да, ещё нужен забор :)

image-loader.svg

Настал самый приятный для меня момент — это покраска объектов и формирование сцены. Итоговым результатом я остался доволен

image-loader.svg

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

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

image-loader.svg

К сожалению на момент написания этого материала команда Google Fonts еще не одобрила добавление шрифта в общую библиотеку, но если кому пригодиться шрифт, можно свободно им воспользоваться

Затем все что оставалось сделать это создать сами ЖК экраны и наложить на них готовый шрифт

image-loader.svg

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

Однажды смотря научно-популярный канал «National Geographic» я наткнулся на документальный фильм рассказывающий о том как создают звуковые эффекты в киноиндустрии. Выглядело это довольно забавно и я решил попробовать.

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

sxmp9cb78dm6q0icdd42vds82dw.jpeg

При помощи функции выпуска пара на моем утюге я сделал ускорение ракетоплана

g9ppctybqe2qqdafqrtmpaqt_mc.jpeg

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

Местами игра требовала голосовое сопровождение. Озвучкой я решил заняться самостоятельно проведя голос через аудио-редактор «Audacity». В сумме все сэмплы заняли 23 секунды часть из которых не вошли в финальный релиз приложения.

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

В свободное время я люблю смотреть канал «DevDuck» на YouTube, где обратил внимание на Godot и недолго думая решил его опробовать.

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

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

image-loader.svg

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

image-loader.svg

На боковой панеле пилот теперь может наблюдать текущую позицию между стартовой площадкой и ближайшей орбитой

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

Спустя 14 дней после отправки моего первого релиза »1.0.0_Korolev» на рассмотрение оно было опубликовано. Загрузив его на мое устройство я заметил некоторую странность в генерации облаков, они появляются с середины экрана.

image-loader.svg

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

А сейчас хочу поздравить всех Habr пользователей с World Space Week и пожелать всего доброго!

Доступно в Google Play

© Habrahabr.ru