Как я на Марс ракету отправлял
История о том, как все начиналось
Эту историю не напечатают в журнале Forbes. О ней не сделают сюжет в вечернем выпуске новостей на BBC и не вспомнят даже через месяц. Однако она будет опубликована в DTF1. Как тебе такое, Илон Маск?
Логотип, который удивительно мало трансформироваля со временем
Теперь, когда вы попались на это искусное вступление, я расскажу серьезную историю. Историю о том, чему меня научил скромный трехлетний опыт в инди-разработке. А научил он одной, такой простой по сути, но такой сложной в понимании вещи: о своих играх нужно рассказывать не после того, как ты нажал в Стиме заветную кнопку «Выпустить игру», и первое удивление от нуля проданных копий схлынуло, а хотя бы за месяц до выпуска или вообще на этапе концепта. По правде говоря, этот болезненный опыт научил сотне других, не менее важных вещей, но о них я расскажу в другой раз. Присаживайтесь поудобнее и приготовьтесь слушать историю зарождения и развития игры на той стадии, когда еще можно изменить ее жанр, перенести в другое измерение или выбросить все и сделать очередной Матч 3.
Что-то заканчивается
Эта история началась в сентябре этого года. В десятый раз проверив, что на счету не прибавилось ни копейки от моей рано утонувшей в глубинах Стима игры и доев последние жареные подстилки из-под обуви, я стал размышлять, что делать дальше.
Варианта было три. Вернуться обратно на работу веб-разработчиком, двигать с утра до вечера кнопки на один пиксель и «фиксить верстку под IE», получая при этом бонусы IT, такие как нескончаемый денежный поток, уверенность в завтрашнем дне и квартиру-машину-дачу. На самом деле, других вариантов в общем-то не было. Но я не мог так просто сдаться и хотел попробовать еще раз. Сделать еще одну игру и потом завязать. И я не стал отказывать себе в таком желании.
Найдя под кроватью пачку запасных подстилок, я понял, что еще продержусь месяц или два. И сел размышлять, перечитывая советы из статей в интернете, которые хорошо бы смотрелись в одном из двух сборников «Тысяча и один полезный совет, который работает только для конкретного разработчика только в конкретный момент времени» и «Лучшие бесполезные советы, которые красиво звучат, но не несут в себе никакой конкретики». Здесь я сгустил краски, но советы полезны только в том случае, если воспринимать их как ингредиенты. Верно подобранные для конкретной ситуации, смешанные в правильных пропорциях и приправленные желанием работать над тем, что вас действительно волнует, они повысят шанс на успех на полпроцента.
Это исследование неуклонно подводило к формуле: «нужно сделать нетривиальный, уникальный, качественный проект небольшого размера на тему, которая небезразлична». Что это значит? Ровным счетом ничего, за исключением части про то, что если работать над тем, что вызывает отклик в душе, то всегда найдется разделяющая эти чувства аудитория, даже если она будет бесконечно маленькой.
Что-то начинается
Получив пищу для размышлений, я вышел на улицу и стал наматывать круги вокруг озера, задаваясь вопросом «Что меня действительно волнует?». Обычно я не могу думать, находясь в стационарном состоянии, но в этот раз прогулка тоже не помогала. На двенадцатом круге я случайно свернул не на ту улицу и провалился в кучу грязи, которую нанесло на дорожку моросящим неделю дождем. Бесконечная серость Санкт-Петербурга, этой улицы, кучи грязи и своего существования слились воедино и невольно породили желание свалить отсюда подальше, в другую страну, континент, да хоть на Марс. Стоп! Вот оно!
Мой источник вдохновения и моя жизнь
Меня всю жизнь интересовал космос и загадки, которые он в себе таит. В детстве, за неимением интернета, я прочитал все доступные на эту тему книги в местной библиотеке. А в наши дни я могу часами залипать на Википедии, изучая планеты, их свойства и параметры и фантазируя о том, каково это было бы, если бы я туда попал.
Игр на эту тему предостаточно, но наибольшее влияние на меня оказали три из них: Star Wars: Knights of the Old Republic, Mass Effect и Kerbal Space Program. Что объединяет эти игры? Наличие космического корабля, полеты в космосе и дух исследования. Как бы ни хотелось ринуться создавать очередного «убийцу Масс Эффекта», начинать нужно было с малого. И единственная маленькая игра на эту тему, которая в свое время меня поглотила на десяток часов — Into Space 2, которую я случайно обнаружил на просторах Armor Games одним зимним вечером и после очнулся в три часа ночи. Это происходило в те далекие времена, когда инди на Стиме гребли деньги лопатой, а в России 95% игр добывались на торрент-трекерах. В те времена Armor Games уже представлял из себя то, что Стим представляет из себя сейчас. Очень много шума, но мало того, что цепляет. За все время я нашел всего лишь две игры, включая Into Space, которые прошел до конца. И это могло быть хорошей отправной точкой.
Сказано — сделано. Я вернулся домой и начал писать прототип. Через неделю получилось рабочая версия, которая выглядела так:
Можно было летать и собирать бонусы, которые генерировались случайным образом вокруг ракеты. У ракеты был ряд характеристик, таких как масса, трение, количество топлива, сила двигателей, влияющих на управляемость и дальность полета. По достижении высоты в десять километров выводилось сообщение о победе. В целом, получилось залипательно. Осталось добавить систему прогрессии, несколько этапов полета с завершением игры на Марсе, отполировать графику и стать еще одной игрой в Стиме, которая никому не нужна. Но мне хотелось большего.
Никакой изюминки не приходило в голову, я и решил заняться основной проблемой текущей версии игры: высота абсолютно не чувствовалась. Я пытался подбирать разные цвета градиентов, менять скорость перехода от одного цвета к другому, но ничего не работало — это всё ощущалось пластиковым. И я стал искать информацию о цвете атмосферы на разной высоте над уровнем моря, вышел на сложные научные работы по моделированию рассеивания света и увидел красивые картинки, прилагающиеся к ним.
Девять моделей атмосферы без облаков — есть из чего выбрать
Это было то, что нужно. Оставалось понять, как сложные математические формулы превратить в код на C # и шейдеры так, чтобы это работало в Unity на скорости чуть большей, чем двадцать кадров в секунду. В итоге, мне удалось это сделать, но какой ценой? Три недели поисков примеров реализаций в интернете, чтения исходников и страданий с ограничениями движка. И, чтобы все заработало без использования костылей, мне пришлось начать использовать HDRP — новую, современную технологию рендеринга в Unity, которая, однако, находится в активной разработке и будет в экспериментальном состоянии с кучей багов еще год. Но результат стоил того.
Атмосфера на высоте 10 км над уровнем моря
Наличие атмосферы порождало две морали: мультяшный стиль с ней не сочетался и нужно было дополнительно генерировать поверхность планеты. И если с реалистичным стилем я не видел проблем, так как уже работал в нем и его люблю, то поверхность планеты для 2.5D игры ощущалась как излишество. Поэтому я решил отложить принятие решения по этому поводу и подумать о названии и о том, о чем я вообще хочу сделать игру.
Цепочка совпадений
В то время мне на глаза попалась статья об очередном успешном запуске Falcon 9. «А у нас с божьей милостью даже “Протоны” уже не могут в космос отправить» — подумал я. И тут в голове каким-то магическим способом стала складываться картинка. Почему бы не сделать игру о том, что находится так близко и от чего иногда так больно. О том, как это все происходит у нас и с чем могут быть связаны все эти проблемы. В их основе, как мне кажется, лежит бюрократия, коррупция и тяжелые экономические условия. Но как можно превратить это в геймплей?
Ответ пришел сам собой: через строительство. Допустим, вы строите космодром и первое, что вам нужно — это сотрудники. Сотрудники получают зарплату, а вот какой она будет, «белой» или «серой» решаете вы. «Серая» зарплата позволит сэкономить 43.5 процента налогов. но рано или поздно придет ФНС с проверкой и заставит платить штраф. Или можно отделаться взяткой, заплатив меньше, что в свою очередь приведет к другим последствиям, но позже. Или, например, пусть будет требование, что в каждом помещении космодрома должен быть огнетушитель. Огнетушители стоят денег, а вам они нужны для конструирования новой ракеты, которая позволит выполнить текущую миссию. Стоит ли сейчас покупать огнетушители или вложиться в новые технологии? А если придет с проверкой Пожарнадзор? Можно придумать столько таких цепочек выборов в экономике, сколько существует надзорных организаций в России (а их очень много, можете посмотреть на Википедии).
Как будет выглядеть строительство, если игра выполнена в 2.5D перспективе? Вид сбоку, разбиваем пространство на ячейки для помещений, с возможностью строительства как на поверхности, так и под землей. И да, здесь я вдохновлялся XCOM.
Попробуйте понять, где тут угольный генератор, склад, отдел кадров и сборочный цех
Строительство базы не должно быть бесцельным. Основная задача космодрома — запуск космических аппаратов. И тут мой предыдущий прототип может пригодиться. Что если конечной целью запусков будет достижение Марса? То есть, игровая последовательность будет выглядеть следующим образом: игровое время разбито на недели. Каждую неделю мы принимаем решения о развитии космодрома, строительстве, реагируем на события, производим компоненты ракеты, из которых можно собрать и запустить ее. На запуске мы получаем ракету под свое управление и пытаемся пролететь дальше, выше, быстрее. По завершению полета неделя завершается и цикл повторяется. Естественно, неделю можно завершить и без запуска, но один из ваших главных врагов — время. По истечении четырех недель вы должны выплатить зарплаты. Со временем к вам приходят проверяющие организации, у вас заканчиваются ресурсы, ломается оборудование. И вы со всем этим должны справиться.
Название сразу пришло само собой. После того, как вы все это преодолеете и в конце концов окажетесь на Марсе, так и захочется воскликнуть «Как тебе такое, Илон Маск?»2.
Неделя ушла на то, чтобы изучить структуру Российских стартовых площадок и повторить ее в упрощенном виде
Дальше последует рассказ, о том, как прототипировались описанные механики на протяжении трех месяцев, как я генерировал планету, с чем у меня возникали проблемы, какие решения я не могу принять до сих пор, и как питательно готовить подстилки из-под обуви. Но все это будет, возможно, в следующей статье.
А теперь я хочу обратиться к читателям. Что вы думаете по поводу описанной концепции? Стали бы вы такую игру покупать и проводить в ней время? Что вам кажется интересным, а что — бредом безумца?
Напоследок страница игры в Стиме, и, если вам будет интересно следить за развитием проекта, то это можно сделать в Телеграме и Дискорде.
Спасибо за внимание, с нетерпением жду ваших отзывов.