Factorio Dev Diary #417 - Space Age development
Привет,
Мы обычно показываем готовые вещи в пятничных фактах, но лично мне всегда нравилось заглянуть за кулисы и увидеть там (временный) беспорядок. Это побудило меня сделать небольшой обзор того, как с моей точки зрения ощущается общая разработка дополнения. Если вы похожи на меня, возможно, вы это оцените.
Наша история началась в феврале 2021 года с FFF-365, когда мы объявили о планах по созданию пакета расширения.
Первый год - 2021 - Создание скелета
Во-первых, мы сосредоточились на подборе персонала, и команда увеличилась вдвое почти до 30 человек, при этом заметно расширился отдел GFX с 2 до 8 человек.
Создание плана – вертикальный срез
Первым и очевидным шагом было множество долгих обсуждений плана всего расширения на высоком уровне. Поскольку мы хотели повторить стиль игры, мы очень часто использовали выражение «вертикальный срез». Вертикальный срез должен был стать самым простым способом прохождения расширения, чтобы мы могли начать улучшать его на основе отзывов. Ретроспективно это была очень хорошая идея.
Мы наняли Эренделя, и он был рад помочь с частью дизайна игры. Благодаря своему огромному опыту в моддинге и беспрецедентной производительности он всегда мог очень быстро предоставить полностью рабочий проект планеты и ее механики. Если это было возможно, он часто писал часть проекта механики с помощью скриптов Lua, чтобы иметь тестируемую версию до того, как она будет принята и должным образом интегрирована в движок на C++.
Черновики Эарендела всегда были чрезмерными, когда дело касалось сложности игрового процесса, поэтому мы обычно начинали с упрощения его до половины исходного размера, а затем снова наполовину... но гораздо проще отказаться от прототипа, оставив лучшие моменты, а не создавать что-то с нуля.
Планеты
Следующим делом были планеты, поскольку большинство других вещей так или иначе связаны с ними. Класс "Planet" был создан 2021-01-26, так что это было за несколько дней до анонса первого пакета расширения. Мы всегда знали, что хотим иметь расширение, основанное на посещении разных планет, поэтому поддержка независимых поверхностей уже много лет была в коде игры. Поскольку моды часто использовали несколько поверхностей, она уже была достаточно протестирована. Это избавило нас от многих проблем, но все еще оставалось много вещей, которые нужно было настроить, чтобы независимые поверхности и планеты работали достаточно хорошо в соответствии с нашими стандартами.
В это время мы приняли решение, что планеты будут основаны на прототипах и тесно связаны с прогрессом, а не исследованием псевдо-бесконечных случайно сгенерированных карт.
Итак, мы просто определились с основной темой каждой из планет и начали закладывать необходимую для этого основу, например, возможность указать определенные условия создания определенных рецептов, различные свойства планет, влияющие на такие вещи, как мощность солнечных батарей, и также поддержка пользовательского интерфейса, позволяющая комфортно переключаться между местами.
Космические платформы
Космические платформы были второй по важности частью конструкции, поскольку они соединяли планеты и были связаны с другими игровыми подсистемами.
Надземные рельсы ( FFF-378 )
Мы знали, что надземные рельсы просто должны быть частью расширения с самого начала.
Поскольку это была одна из самых больших проблем расширения, было бы неплохо начать его как можно скорее.
Спойлеры ( FFF-414 )
Мы не знали точных рецептов и контента, которые нам понадобятся на Gleba, но мы уже знали, что понадобятся испорченные продукты, поэтому поддержка была реализована в первый год.
Второй год – 2022 – Первый играбельный прототип
Спустя год (!), у нас появилось еще одно обновление FFF-367 , краткая версия звучит так: "Большие части игры играбельны, и мы приближаемся к состоянию, когда можно провести тестирование от начала до конца", с оговоркой "в самом минималистичном виде".
Первое прохождение
Эта ставка было верным, так как именно в это время я начал первую смелую попытку пройти все расширение от начала до конца.
Прохождение заняло 7 месяцев, и в начале этого пути не было возможности на самом деле играть от начала до конца. Но идея заключалась в том, чтобы пытаться продвигаться вперед, заполняя все пробелы между отдельными функциональными частями контента по мере продвижения в игре.
Когда я начал, часть с планетарной логистикой еще не работала, поэтому мне пришлось расширять фабрику и тестировать другие вещи (например, возвышенные рельсы и качество), прежде чем отправиться в космос.
Поскольку я построил более крупные объекты на Нависе и хотел больше тестировать возвышенные рельсы и систему поездов, я был более мотивирован улучшить её. В это время я разработал прерывания поездов, а Клонан создал группы поездов ( FFF-389 ).
Космическая логистика
Первая версия космической логистики была абсолютно ужасной в использовании, так как на космической платформе было несколько несвязанных зданий, называемых катапультами космической платформы.
Каждый эжектор представлял собой отдельное здание с самостоятельным инвентарем и полунезависимыми запросами.
Работать с этим было мучительно, подобно тому, как происходила доставка вещей в космос, что описано позже в FFF-381. Это было коряво, но, тем не менее, от этого уже можно было отталкиваться.
Смотри, теперь у двигателей есть «пламя»!
Продвижение по планетам
Вулканус была первой планетой для тестирования, так как у неё не было очень специфических технических требований по сравнению с другими планетами (Глеба с её сельским хозяйством и Фулгора с молниями ещё не были готовы).
Базовый Vulcanus с временной графикой приподнятых рельсов.
Глеба была второй. Что касается посадочных площадок, то можно увидеть одну из проблем оригинальной конструкции, где каждая посадочная площадка индивидуально принимала какой-то груз из космоса. Это имело 3 основные проблемы:
1) Было очень неприятно обрабатывать каждый запрос по отдельности.
2) Поскольку посадочные площадки еще не были поставщиками логистических услуг, мы, как правило, повсюду использовали повторяющуюся схему «посадочная площадка → пассивный сундук поставщика».
3) Поскольку посадочные площадки можно было построить где угодно, было слишком банально иметь возможность сбрасывать предметы из космоса куда угодно. Это одна из причин, почему теперь у нас есть только одна расширяемая посадочная площадка на планету.
Простая Глеба с ранними посадочными площадками и слишком большим количеством пригодных для сбора урожая видов растений.
Фулгора была третьей планетой, которую я посетил, с ее оригинальным дизайном, похожим на дизайн базовой игры, и именно с этого места я начал относиться к ней скептически...(подробнее позже).
Простая Fulgora с графикой временных приподнятых рельсов и ванильной добычей руды.
Короче говоря, 7 месяцев спустя, проведя в сохранении 370 часов (!), я наконец смог добраться до конечного экрана.
Вскоре после этого у нас была вечеринка в офисе по локальной сети, где мы попытались провести многопользовательское прохождение, чтобы получить больше отзывов и также протестировать многопользовательский режим. Мы играли с понедельника по пятницу, и мы едва добрались до последней планеты, совершенно измотанные в последний день, так и не сумев закончить игру до конца.
Первая итерация и вывод
Прохождение дополнения в первый раз было одновременно и хорошо, и плохо.
Хорошо, потому что теперь у нас была база, и с этого момента ситуация могла стать только лучше. Графика, звук и музыка будут обновлены. Пользовательский интерфейс новых систем будет улучшен, а игра в целом станет сбалансированной.
Плохо, потому что у меня были серьезные сомнения относительно концепции пакета расширения, в основном изложенной в FFF-399 .
Было огромное количество проблем, и хотя подавляющее большинство имело четкое решение, некоторые из них были другими:
- Это было слишком долго (370 часов — это слишком много, даже с учетом первоначальных трудностей).
- Это было слишком однообразно (и речь идет даже не о Фульгоре).
- Некоторые механики оказались слишком непроработанными/раздражающими для использования при масштабировании (логистика космической платформы, поезда и т. д.).
- Масштаб всех дел, которые нужно было сделать, был слишком велик, и зачастую это казалось слишком монотонным.
В заключение был сформулирован очень конкретный набор рекомендаций для остальной команды разработчиков:
- Прогресс игры должен быть быстрее. В основном за счет снижения стоимости вещей, сокращения ненужных этапов рецептов и повышения качества геймплея.
- Геймплей, ориентированный на конкретную планету, должен быть более отчетливым.
Именно тогда были внесены изменения в планеты. Вулканус был изменен так, чтобы получать основные ресурсы из лавы, чтобы избежать добычи меди, железа и камня, а количество растений, собираемых на Глебе, было уменьшено с 12(!) до 2. Мы также разрешили использование специфичных для планет производящих строений для экспорта в другие места, что значительно увеличило мотивацию к расширению, а также сделало прогресс быстрее и более вознаграждающим, так как эти машины очень мощные.
Третий год - 2023 - Усердие
Я снова прошел игру от начала до конца, это заняло 240 часов, что все еще слишком много. Но нужно учитывать, что я сильно увеличил размер фабрики, пытаясь получить почти все в легендарном качестве, с целью 1 миллиона науки в минуту (SPM).
Я еще не достиг 1 миллиона SPM, но, возможно, достигну этого до релиза :).
В целом игра получилась короче оригинальных 370 часов и, что самое главное, она оказалась более увлекательной.
Большая часть работы, вероятно, ушла на тысячи мелочей, но позвольте мне назвать несколько более существенных изменений.
Объяснение новых вещей
Мы поняли, что нам нужен лучший способ понять новые части игры, поэтому была создана Факториопедия ( FFF-397 ).
Поскольку механика стабилизировалась, мы начали добавлять в нее улучшения и всякие мелочи, улучшая одновременно с этим общие возможности.
Теперь мы можем показывать взаимодействия с графическим интерфейсом в симуляциях (мне кажется классным, что у нас на самом деле есть два полностью независимых активных состояния пользовательского интерфейса в игре: одно в симуляции и одно, управляемое игроком). Мы также создали гораздо более мощную систему триггеров пропуска и пересмотрели практически все триггеры подсказок, чтобы быть более точными.
Геймплей и интерфейс
Мы закончили первую итерацию врага Глебы (будет показано позже). Мы внесли дальнейшие улучшения в удаленный вид, поскольку он все больше стал используется в расширении.
Логистические группы были сделаны и должным образом интегрированы в переработанную версию космической логистики, поэтому обновление того, что необходимо в системе импорта планеты → платформы → экспорт планет, можно было выполнить одним действием пользователя.
Ловец астероидов
Завершение работы над ловцом астероидов ( FFF-385 ) было большим делом, главным образом потому, что мы очень осторожно относились к его принципу работы, поскольку его работа была чрезвычайно слабой с точки зрения производительности.
Увидеть это в игре стало одной из важнейших вех в восприятии платформы.
Графика
Внешний вид планет приобретал более официальную форму.
Космическая платформа больше не представляла собой просто серые квадраты ( FFF-381 ).
Были переработаны звуки многих новых эффектов, а также много старых вещей.
Большинство машин стали полностью анимированными окончательными версиями того, чем они должны были быть.
Это также время, когда мы возобновили еженедельный FFF, так как чувствовали, что у нас есть достаточно, чтобы делится этим еженедельно до релиза.
Это помогало нас мотивировать и закончить работу.
Год четвёртый – 2024 – Всё складывается
На четвёртом году разработки мы завершили вторую итерацию игрового дизайна.
Все больше и больше членов команды также продвигались вперед и завершали свои прохождения, которые становились все более и более гладкими.
После этого мы сделали еще больше сокращений, в результате чего второе прохождение LAN-группы, которое мы планировали неделю назад, было завершено на четвертый день, даже не слишком стараясь ускорить прохождение.
Это был явный признак того, что следование рекомендациям, которые мы разработали 2 года назад, принесло результаты. И игру можно было закончить не только быстрее, но и сам геймплей стал интересней.
Основная проблема заключалась в том, что в последний день мы не могли продолжать многопользовательскую игру со всеми подключенными, имея 60 ИБП, нам пришлось замедлить скорость игры до 85%, чтобы компьютеры всех могли успевать.
Текущее состояние
Изменения жидкости ( FFF-416 ) в сочетании с литейным цехом ( FFF-387 ) и тот факт, что поезда с расплавленным металлом имеют гораздо более высокую плотность предметов по сравнению с железными/медными пластинами, позволяют сделать сетап финальной игры сильно отличающимися от лейтгейма базовой игры.
Мне нравится, что литейная сама по себе очень сильна и может изменить подход к планировке, но она работает хорошо только до тех пор, пока у вас есть постоянный поток кальцита, поступающий с Вулкануса, поскольку это единственная планета, где вы можете добывать его.
Это пример того, как решение проблем типа «почему нет железа» может привести вас на другую планету. И я люблю это!
Благодаря использованию кальцита, высокой производительности горнодобывающей промышленности и литейным заводам становится очень эффективно превратить горнодобывающие аванпосты напрямую в экспортеров расплавленного металла.
Литейные и электромагнитные заводы — хорошие друзья в эндшпиле.
Обратите внимание, что каждый из выходов — это 8 ( FFF-393 ) зеленых стак-конвейеров, так что это эквивалентно 85,3 полностью загруженным синим конвейерам производства.
Это сила легендарного качества.
Есть еще одно здание, обычно совмещаемое с литейным и электромагнитным заводами, о котором будет рассказано позже.
Повышенные темпы производства могут свести с ума ваши проекты железнодорожных перекрёстков.
Малый размер стака угля и камня в сочетании с невозможностью их плавления делает их переработку в некотором роде особенной.
Поскольку вы не можете использовать громоздкие стандартные чертежи развязок на ранней стадии игры на Вулканусе, в сочетании со сложной местностью, выходят уникальные аванпосты.
Последняя картинка может дать вам представление о возможном масштабе игры в самом конце.
Эти стековые манипуляторы(которые раньше были пакетными манипуляторами) массово транспортируются на другую планету в качестве ингредиента для создания легендарных стековых манипуляторов( FFF-393 ).
Третья итерация
Третья итерация происходит прямо сейчас. Основное внимание уделяется огромному количеству отзывов, которые мы получили с последней LAN-вечеринки.
Она будет сосредоточена на 2 основных категориях:
- Ошибки, улучшения геймплея и балансировка.
- Оптимизации. В космическую эру завод становится все больше, и нам нужно применить программистскую магию, чтобы все работало гладко.
Поскольку дела стабилизируются и я начинаю быть вполне доволен состоянием игры, мы готовы назвать конкретную дату выхода Space Age...
О которой мы сообщим вам на следующей неделе :)