Пост

Дневник разработки: январь

Путешествие начинается

Всем привет.

Сегодня я хочу рассказать о принятых решениях и фичах игры “Rocket Science”, которые выделяют ее на фоне конкурентов и о том, что мне еще необходимо сделать, чтобы успешно дожить до Раннего доступа. Я хочу отметить, что всё, что я вам дальше расскажу — это текущее видение игры, и оно может и скорее всего изменится в будущем, как это уже происходило раньше много раз. Теперь вы предупреждены, и я могу начать свою историю.

Марс Первая версия Марса

Игра состоит из трех больших частей: развитие космодрома, конструирование ракет и их запуск в открытый космос. Основной фокус будет на строительстве и управлении космодромом, тогда как остальные части будут расширять и придавать смысла этому процессу. Если сравнить с Kerbal Space Program, то там игра вертится вокруг конструирования ракет, а остальные игровые механики (наука, улучшение зданий космопорта и даже полеты) служат для дополнения и поддержки вашего конструкторского полета фантазии. И у меня была трудная задача “переизобрести” постройку ракет и полеты таким образом, чтобы они ощущались свежими, интересными и в то же время не сильно отвлекали от основной темы игры. И, я думаю, на данный момент я решил часть проблемы, связанной с полетами.

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

  • T -00:00:02 установить дроссель двигателя на 0,5
  • T -00:00:00 взлет
  • T +00:00:30 начать гравитационный маневр на восток
  • T +00:01:54 отстыковать спасательную вышку

И в текущей реализации:

Пример реализации Пример того, как может выглядеть реализация

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

Часть со строительством ракеты гораздо сложнее, и я пока не решил, какой она будет. Я не хочу, чтобы эта система была такой же сложной, как в других играх. Но мне нравится идея комбинирования деталей ракеты с разными параметрами и ценами. Это добавляет глубину и хорошую систему прогресса в игру. Нет ничего сложного в системе деталей, по сути, она уже разработана и добавлена в игру, но если мы станем говорить о соединениях между ними, я очень быстро начну сходить с ума. В том же KSP вы можете соединить любую часть ракеты с практически любой другой. Эта возможность порождает бесконечное множество возможных конфигураций ракет, из которых 98% не будут работать. И провал запуска там приносит сравнимое удовольствие с успехом и является неотъемлемой частью игры. Но я не уверен, что аналогичные провалы на запуски будут приносить аналогичное удовольствие, когда у вас нет прямого контроля над ракетой и нет возможности отменить полет, после того как план полета был составлен и ракета начала его выполнять. Конечно, неожиданные аварии добавят вариативности и веса вашим решениям, но их частота должна быть значительно ниже, чтобы хоть как-то продвигаться по игре. Также из-за упрощенной физической симуляции значительно сложнее проверить, сможет ли собранная ракета в принципе взлететь.

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

Модель стартового стола Самый первый вариант модели стартового стола

Другие системы, такие как генерация планет, базовое строительство космодрома, орбитальные механики своего рода готовы и добавлены в игру. Когда я завершу разработку системы строительства ракеты, я наконец-то смогу собрать все воедино и построить базовую игровую последовательность. И настанет время контента. Было бы здорово выпустить игру в Раннем доступе со всеми описанными системами. Если я буду не успевать сделать всё, то возможно я отложу строительство космодрома на одно из первых обновлений после релиза в Раннем доступе, так как управлять полетом интересно уже даже на данном этапе развития игры, а вот строительство космодрома требует большого объема работы, полировки и баланса, чтобы быть играбельным.

В следующий раз я расскажу о генерации планет и о мире игры Rocket Science. До скорой встречи.

Авторский пост защищен лицензией CC BY 4.0 .

© unbeGames. Некоторые права защищены.

Популярные теги