Пост

20 дней до релиза

Когда всё в огне, но это нормально

Добрый день.

Прошло довольно много времени с последнего полноценного обновления, поэтому сегодня нам будет что с вами обсудить.

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

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

Поверхность Земли до трейлера

Поверхность Земли в трейлере

Это было необходимо не только из эстетических соображений, но и потому, что иначе масштаб планеты и размеры ракет не чувствуются. Но производительность игры резко при этом упала с 60 кадров в секунду до 40. Это абсолютно неприемлемо, и мне пришлось переписать систему генерации планеты используя другой подход, ориентированный на данных. Это заняло пять дней и было совсем непросто, но чудесным образом система стала более простой, более расширяемой и производительной. Я достиг поставленной цели — 60 кадров в секунду на моем оборудовании (которому уже 5.5 лет) и заложил хорошую архитектуру для будущих систем травы, камней и рек. К тому же теперь игроку будет доступна настройка уровня детализации планеты.

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

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

Наступило 11 января, когда до релиза оставалось 40 дней. Стало очевидным, что я не успею завершить все три основные части игры (строительство космодрома, конструирование ракет и космические полеты) на одном и том же уровне качества и со сравнимым количеством контента. И я не мог заново перенести дату релиза, потому что тогда бы мне пришлось искать работу, чтобы оплачивать счета. Это означало, что над проектом я мог бы продолжать работать на выходных и по вечерам, что очень сложно, а также сильно увеличит время разработки. Таким образом у меня было два варианта действий:

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

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

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

Я вас услышал

Меня беспокоило только то, что теперь Rocket Science будет конкурировать в одном поле с таким гигантом как KSP (и другими космическими симуляторами), только у них было гораздо больше времени чтобы прийти к своему текущему состоянию. Еще очень сложно вырезать части игры, на разработку которых ты потратил столько своих сил. Но у меня не оставалось времени даже на беспокойства и сожаления — нужно было приводить в порядок то, что осталось. Дальше последует список всего того, что я успел сделать за следующие двадцать дней предшествующих этому обновлению.

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

Сортировка ступеней — одна из основных составляющих любой подготовки к полету

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

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

Игра: ты можешь построить любой космический корабль, который только можешь представить. Я:

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

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

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

Моя звукозаписывающая студия

Еще я исправил под сотню (буквально) багов и добавил десятки других мелких улучшений, но у вас будет шанс самостоятельно их обнаружить.

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

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

Надеюсь вам понравилось и увидимся за день до релиза в Раннем доступе.

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

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

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