Дневник капитана #57: Что в предстоящем обновлении 4.3
37.6k
Всем привет, на связи капитан Марек. Прошло уже немало времени с нашей последней записи, но мы не бездействовали (в отличие от некоторых ваших поездов, как вы увидите позже). Мы были заняты разработкой новых возможностей и улучшений, о которых расскажу вам в сегодняшней записи. И я рад сообщить, что всё это станет доступно через несколько недель в предстоящем обновлении 4.3! Это обновление довольно насыщенное, так что захватите себе что-нибудь выпить, ведь мне есть о чём вам рассказать.
Полная поддержка смешанных материалов
Наконец-то здесь: полная поддержка смешанных материалов по всей игре. Это означает, что смешанные рудные материалы можно хранить в хранилищах, транспортировать на конвейерных лентах и загружать в поезда! Это может оказать довольно большое влияние на то, как вы проектируете свои шахты или операции по терраформированию. Например, вы сможете создать централизованный объект для сортировки руды. Или же рудные материалы можно транспортировать и выгружать в другом месте без сортировки, что сделает терраформирование быстрее и проще.
Поддержка смешанных материалов может показаться очевидной уже сейчас, но позвольте мне напомнить вам, как мы до этого дошли.

Некоторые из вас, возможно, помнят, что до появления смешанных материалов самосвалы и экскаваторы могли перевозить только один тип материала за раз. Это работало вполне неплохо, но делало добычу крайне неэффективной, когда на площадке присутствовало сразу несколько материалов. Если самосвал был загружен рудой лишь наполовину, а экскаватор подгружал камень, самосвалу приходилось уезжать почти пустым. Особенно плохо это проявлялось с самосвалами третьего уровня, которые часто можно было увидеть разъезжающими по площадке с жалкой горкой материала в своих гигантских кузовах, что приводило к крайне низкой загрузке.
Скриншот отчёта об ошибке из 2022 года, где грузовики едут частично загруженными, а игрок от этого явно не в восторге. Кто ещё помнит старый интерфейс?
Чтобы справиться с частично загруженными самосвалами, мы внедрили поддержку смешанных материалов для экскаваторов и самосвалов. Это решило проблему использования техники на карьере, но появились новые сложности. Самосвалам приходилось выгружать каждый материал отдельно в соответствующие хранилища или на соответствующее оборудование, часто проезжая по всему заводу с частично загруженным кузовом и доставляя каждый материал по отдельности, в то время как экскаваторы простаивали в карьере.
Итак, третьей доработкой стал обогатительная фабрика, куда грузовики могли разгружать весь свой груз сразу. Это решило проблему доставки, но теперь у каждой шахты должна была быть своя обогатительная фабрика, а весь её продукт приходилось вывозить отдельно. Следовательно, каждой шахте требовались отдельные склады: для породы, для пустой породы, для руды и так далее. Более того, чтобы загружать материалы эстафетным конвейером, их сначала нужно было сортировать, даже если в них не содержалось ни капли полезного компонента. Так что да, вам приходилось разделять породу и пустую породу лишь для того, чтобы выгрузить всё это в океан.
До появления систем обработки смешанных материалов каждая шахта требовала сортировочной установки как минимум для удаления лишней земли и породы.
Интеграция разнородных материалов в существующие системы и сохранение обратной совместимости была по-настоящему сложной задачей, особенно когда требовалось обеспечить высокую производительность, поскольку система уже была глубоко оптимизирована для работы с отдельными продуктами.
Это сложно, потому что каждой сущности приходится отслеживать состав смеси. Это означает, что каждому хранилищу, каждому вагону и каждой куче на конвейерной ленте теперь нужны дополнительные данные, что увеличивает сложность кода и занимаемую память, а также требует дополнительных циклов процессора для работы. Хорошая новость в том, что мы оптимизировали другие части игры, поэтому общее влияние на производительность должно быть минимальным.
На современных установках сортировки руды теперь есть конвейерные входные порты, поэтому смешанные материалы можно доставлять по лентам, а не только автомобилями. Кроме того, материалы, которые установка не предназначена для сортировки, теперь можно отправлять на выходной порт без сортировки. А шахтные башни можно назначать на хранилища смешанных материалов, поэтому вам не нужна установка сортировки у каждой шахты.
Мы действительно рады, что нам удалось всё сделать до обновления 5.
Станция сортировки руды, которую подают автомобили и поезда, сортирует только бокситы, а остальное выгружает без сортировки.
Отслеживание вторсырья
Благодаря поддержке смешанных материалов нам удалось также улучшить отслеживание вторсырья. Мы потратили дополнительные усилия на проектирование системы смешанных материалов таким образом, чтобы она была универсальной и могла объединять не только руды, но и любые другие материалы (моддеры, возможно, найдут это полезным). Так что же изменилось?
До сих пор вторичное сырье учитывалось в глобальном масштабе. Когда производился продукт, пригодный для переработки, например в исследовательской лаборатории или в ремонтном депо, его доля фиксировалась в глобальном реестре (независимо от того, откуда он поступил). Затем, когда растение сортировки отходов разделял вторсырье, полученный лом создавался на основе этого глобального реестра.
Эта глобальная система управления имела некоторые странные побочные эффекты. Например, при переработке отходов производства техобслуживания I, которое использует только железо и должно возвращать лишь железный лом, возвращались также медный и стеклянный лом — просто потому, что где-то ещё на заводе научная лаборатория потребляла медные и стеклянные продукты.
Ещё один довольно забавный побочный эффект: игроки, добавлявшие вторсырьё через читы, надеясь на бесплатные отходы, ничего не получили, поскольку глобальный реестр не содержал записей о том, из чего эти отходы были сделаны. Об этом нам не раз сообщали как об ошибке. Так что мораль этой истории такова: не используйте читы (по крайней мере, не до выхода обновления 4.3).
В обновлении 4.3 все вторичное сырье отслеживает, из чего оно было произведено, наравне с рудными материалами, поэтому ведет себя так, как все ожидают. Это также означает, что теперь возможны местные заводы по сортировке отходов, которые перерабатывают лишь некоторые виды вторсырья.
Одна деталь, которая может вас заинтересовать: 1 перерабатываемый продукт даёт 2 продукта во вторичное сырьё. В существующих сохранениях перерабатываемые продукты будут конвертироваться автоматически, а продукты на конвейерах, в транспортных средствах или в сортировочных установках будут перемещаться в хранилища для упрощения работы с нашей стороны. Мы также исправили расчёты, игнорирующие коэффициент переработки, поэтому от них следует ожидать меньше перерабатываемых продуктов, чем раньше.
Локальный завод по переработке принимает на вторичную переработку только отходы от производства №1 и выдаёт только лом железа и меди.
Наложения
По мере роста заводов обнаруживать проблемы и предотвращать простои, а то и вовсе избегать «спирали смерти», становится всё труднее и труднее. Почти в каждом обновлении мы добавляем новые инструменты для помощи в этом, и в обновлении 4.3 мы представляем накладки!
Оверлей отображает информацию об объектах непосредственно в игровом интерфейсе, делая всё серым и выделяя цветом только интересующие объекты. Чтобы начать работу, мы добавили 8 новых оверлеев:
- Производительность
- Загрязнение
- Приоритет
- ЭлектроэнергияВычисления
- Рабочие
- Обслуживание
- Поток продукта
Передовой нефтеперерабатывающий завод с наложением показателей продуктивности. Зелёный означает, что машина работает на 100% загруженности, красный — что она простаивает.
Система наложений является расширяемой, поэтому модификации могут использовать её для визуализации любой информации об сущностях, которую они пожелают. Думаю, многим из вас будет очень удобно наконец увидеть такие вещи, как радиационное загрязнение, которое ранее было «невидимым» (в силу природы самого излучения).
Наложение загрязнения показывает загрязнение воздуха, загрязнение свалок и радиационное загрязнение (не показано).
Забытые радиоактивные отходы в судостроительном доке найти куда проще благодаря наложению зоны загрязнения. Как только они туда попали?
Мы также добавили наложение максимальной скорости железнодорожного пути, чтобы помочь вам проектировать эффективные железнодорожные пути. Оно отображается в виде цветной линии поверх путей. Следует знать: крутые участки с уклоном 25% теперь имеют ограничение скорости 80 км/ч, аналогично поворотам со средним радиусом R22. Более пологие уклоны 12% по-прежнему не имеют ограничения скорости.
Отображение скорости поезда: красный цвет обозначает ограничение 40 км/ч, жёлтый — 80 км/ч, а участки путей, выделенные зелёным, имеют неограниченную максимальную скорость.
Вагоны и станции с радиационной защитой
Говоря о поездах и радиации, многие из вас говорили нам, что управление радиоактивными материалами может быть сложным, и что не существует жизнеспособного варианта транспортировки на большие расстояния. Некоторое время назад у нас была ошибка, из-за которой радиоактивные продукты можно было загружать в поезда, что очень быстро приводило к очень высокому уровню радиационного загрязнения из-за большой вместимости поездов.
Поначалу мы собирались просто добавить рецепт упаковки и раз упаковки радиоактивных материалов, чтобы упакованные варианты можно было обрабатывать как обычные нерадиоактивные штучные продукты. Однако, следуя нашему привычному стилю MaFi Игры, мы решили пойти сложным путём и вместо этого создали совершенно новый класс вагонов и станций. Наш 3D-художник работал над ними более двух месяцев, но мы считаем, что результат того стоил. И на случай, если вы интересовались: вагоны и станции с радиационной защитой войдут в базовую версию игры.
Новые железнодорожные станции и вагоны с радиационной защитой могут хранить и перевозить любой радиоактивный груз без какого-либо радиационного загрязнения. Их вместимость меньше — 240 единиц, а загрузка полного вагона занимает примерно в два раза больше времени. Просто следите за тем, чтобы радиоактивная продукция не накапливалась на ваших конвейерах.
В рамках этих изменений мы также улучшили систему учёта радиации в игре. Теперь невозможно «протекают» радиацию из-за неверного учёта произведённых и израсходованных радиоактивных продуктов. Игра способна обнаруживать подобные проблемы и самостоятельно их устранять, независимо от того, вызваны ли они ошибками в нашем коде или в модах.
Продукты деления — побочный продукт работы реакторов на быстрых нейтронах с быстрым размножением, загружаемые в вагон, который доставит их на безопасное долгосрочное хранение.
Статистика активности для поездов
Пока наложения помогают вам диагностировать проблемы в вашем заводе, мы также добавили статистику активности и поездок, чтобы помочь вам диагностировать проблемы с поездами. Помимо статистики по каждому поезду, в менеджере линий доступна и статистика по каждой линии.
График активности показывает ежемесячную и годовую разбивку по тому, что поезд выполняет в 4 категориях: , , и . Это может помочь вам оценить общую загрузку поезда или линии. Например, когда поезда никогда не простаивают, возможно, вам нужно добавить больше поездов. Или, если поезда тратят слишком много времени на заправку, возможно, пора пересмотреть расположение ваших заправочных станций.
Статистика производительности железнодорожной линии показывает, что данная линия работает примерно в 50% времени, а остальное время поезда простаивают.
И мы на этом не остановились. Теперь поезда также собирают вторую статистику об их транспортной эффективности. Она отображает 5 состояний: , , , и . Чтение этой статистики может быть немного неоднозначным. Здоровая железнодорожная сеть проводит большую часть времени в режиме разгона/торможения или движения на полной скорости и как можно меньше времени в режиме ограничения скорости на пути или блокировки другими поездами.
Новая статистика поездок показывает, сколько времени поезд тратит на полезную работу по сравнению со временем, потраченным на простои или ограничение скорости из-за ограничений скорости на железнодорожном полотне.
Эта функция была частично вдохновлена , который вместе с оптимизировал большую железнодорожную сеть, но иногда не имел под рукой хороших инструментов диагностики. Если вам интересно узнать об их находках, посмотрите , где приведена ссылка на видео и есть подробный раздел TL;DW с результатами исследований ringgeest11. Мы надеемся, что новая статистика и наложение максимальной скорости упростят оптимизацию железнодорожных сетей.
Улучшенные визуальные средства передачи продукта
Если у вас приглядливый глаз, вы могли заметить, что товары в начале и конце конвейеров появляются и исчезают довольно резко. Это наблюдается в игре с самого её начала. Происходит это потому, что конвейеры заканчиваются прямо у края плитки, где начинается станок, поэтому каждый товар появляется или исчезает, пока ещё видна его половина.
Это нас беспокоило уже давно, и обновление 4.3 наконец-то ставит этому конец. Транспортные системы теперь моделируют перемещение продуктов на половину клетки внутрь машин, поэтому переход происходит вне поля зрения. Благодаря этому соединители больше не моделируют задержку внутри себя, что делает их примерно на 25% быстрее в моделировании.
Веб-API-сервер
У меня была эта идея уже несколько лет, и теперь она наконец готова: Captain of Industry теперь может работать как веб-сервер! Возможно, вы задаетесь вопросом, не сошёл ли я с ума (что я ни подтвердить, ни опровергнуть не могу), но послушайте меня.
Теперь можно запустить веб-сервер с помощью консольной команды . После этого любой глобальный объект в игре может зарегистрировать обработчик для любого маршрута (URL) и отвечать на запросы. Настройка предельно проста: достаточно определить метод и вернуть ответ, которым может быть HTML, JSON или бинарные данные.
[WebRoute("/hello")]
private string hello(string name = "world") {
return $"Hello {name}!";
}
Также возможно полное управление игрой посредством отправки команд. Например, в нашем демонстрационном дашборде показано, как можно управлять скоростью игры и как получить скриншот.
Демонстрационная панель управления, позволяющая регулировать скорость игры прямо из браузера.
Так для чего же это полезно? Изначально мы портировали часть наших инструментов разработки на этот новый API, что упростило внутренние процессы. Но самое интересное применение — это моддинг. Мы предполагаем, что моддеры смогут использовать браузер во втором окне игры для отображения дополнительной информации, такой как панели мониторинга, оповещения, заметки и т. д.
Когда наш разработчик Мэтт увидел эту функцию, он быстро создал прототип мини-карты в стиле Google Maps, где можно увеличивать и уменьшать масштаб и наблюдать за игрой в реальном времени, включая перемещение транспортных средств. Он даже дошёл до того, что сделал их выбираемыми и показал их расположение. Это был всего лишь внутренний прототип для проверки функциональности.
Демо-версия интерактивной мини-карты, работающей в браузере и взаимодействующей с игрой в реальном времени, от разработчика Мэтта.
Официально поддерживаемые API в настоящее время ограничены нашим демонстрационным дашбордом и получением скриншотов, но мы будем внимательно следить за тем, как используется эта функция, и расширим её в будущих обновлениях.
Примечание: веб-сервер работает локально на вашем компьютере и недоступен из публичного интернета.
Перевод для списков изменений и модификаций
У нас есть новости и для тех, кто не говорит на английском языке. Начиная с обновления 4.3, все списки изменений будут переводиться на все 20 поддерживаемых языков и отображаться на языке, выбранном в игре.
Журналы обновлений переведены с помощью машинного перевода, и это было осознанное решение. Они, как правило, длинные и технические, а их переводы требуют оперативности и быстро устаревают. Мы не сочли целесообразным тратить время и усилия людей на их ручной перевод, однако наличие хотя бы машинного перевода по-прежнему полезно для тех, кто не говорит на английском языке. Во внутриигровом журнале обновлений есть возможность показать английский оригинал на случай, что-то потеряется при переводе.
Остальная часть игры остаётся в основном переведена людьми через наш . Спасибо всем за ваши постоянные вклады и исправления!
Новое окно журнала изменений с хронологической шкалой слева, отображающей переведённый журнал изменений.
Теперь моды могут предоставлять переводы собственных строк тем же способом, каким переводится основная игра. Достаточно поместить переведённые файлы в внутри папки мода. Чтобы получить шаблон перевода, выполните консольную команду в игре.
Мы также наблюдаем большое количество модов от авторов, которые не говорят на английском языке, поэтому теперь моды в Hub могут предоставлять переведённые описания через интерфейс Hub, которые будут отображаться как в игре, так и онлайн. Мы также рассматриваем полуавтоматическую систему, которая поможет авторам модов с переводами, но подробнее об этом расскажем позже (если вы автор мода и вам это интересно, вы всегда можете выйти на связь).
Новый процесс первоначальной настройки и параметры языка
Если вы читаете это и ещё не купили игру, у нас есть для вас хорошие новости — то, что сможете прочувствовать только вы! Мы добавили новый процесс первого запуска, чтобы всё проходило ещё плавнее.
Когда игра запускается впервые, вместо прямого попадания в главное меню теперь будет отображаться экран выбора языка. Здесь вы можете выбрать язык одним щелчком мыши без перезапуска игры. Если язык вашего Steam или операционной системы совпадает с одним из поддерживаемых языков, он отображается вверху списка, а все остальные языки перечислены ниже.
Экран выбора языка при первом запуске. Как видите, теперь игра также локализована под британский английский! Наконец-то алюминий и сера написаны правильно.
Далее, если ваш ПК имеет более одного экрана, вы увидите выбор экрана и режима окна, где сможете быстро выбрать экран для игры. Прошли те времена, когда игра запускалась на втором мониторе, и вам приходилось поворачивать голову набок, чтобы найти настройку для её исправления.
Выбор экрана и диалог режима окна во время первоначальной настройки.
Помимо процесса знакомства с игрой, теперь язык можно выбрать из выпадающего списка в главном меню, и изменения применяются мгновенно без перезапуска игры. Это должно положить конец раздражению от поиска настройки языка в меню, которое вы не можете прочитать.
Новое управление звуком
Этот пост получается длинным, поэтому кратко: мы полностью переписали систему управления и воспроизведения звуков в игре. На крупных заводах работают тысячи звуковых излучателей, а стандартная система Unity просто не справлялась.
Основное ограничение — это количество звуков, которые могут воспроизводиться одновременно. Если рядом находится, например, 20 сборщиков, они занимают все звуковые слоты, и вы не услышите ничего другого. Это прекрасно, если вы большой поклонник звука сборщиков, но не очень приятно для остальных. Мы внедрили систему кластеризации, которая объединяет похожие звуки, чтобы вы могли слышать большее разнообразие. Также появилась новая настройка качества звука, регулирующая количество звуков, которые могут воспроизводиться одновременно.
Мы также добавили новые фоновые звуки, поэтому впервые в истории вы можете услышать океан или лес! Эта система довольно сложна: нам нужно динамически определять, что находится на экране, чтобы решить, какой фоновой звук воспроизвести, ведь, в отличие от других игр, в Captain of Industry то, что когда-то было горой, может превратиться в океан и наоборот.
Обвалы местности теперь тоже имеют собственные звуки. Они отличаются для мягких и твёрдых пород и становятся громче в зависимости от того, сколько грунта обрушилось, так что, подрывая гору, вы услышите, насколько плохой идеей это было.
Мы всё ещё настраиваем новую звуковую систему и планируем со временем добавлять всё больше и лучше звуки.
Режим отладки для нового звукового движка. Из примерно 620 источников звука воспроизводится лишь 34.
Определённость моделирования
Мы потратили немало времени на то, чтобы убедиться в детерминированности игры. Даже до выхода обновления 4.3 патчи v0.8.7b, c и d исправили множество проблем, из-за которых игра вела себя немного по-разному между запусками или даже в зависимости от производителя процессора. Благодаря пользователю OPOSTOL из Discord, который сообщил о многих из этих проблем с детерминированностью.
Эта работа имеет три основные мотивации. Во-первых, чтобы сделать ошибки воспроизводимыми и более простыми для исправления. Исправление проблем, которые мы не можем воспроизвести, или которые возникают лишь иногда, намного сложнее, и мы даже не можем быть уверены, что они исправлены правильно. Имея стабильное воспроизведение, мы можем не только исправить и проверить ошибку, но и написать тест, чтобы она никогда не вернулась. Детерминизм помогает даже с ошибками, которые не являются нашими: если один и тот же сейв-склад разворачивается по-разному дважды на том же компьютере, то виновником, скорее всего, является оборудование, например процессор Intel 13-го поколения, который иногда решает, что 2 + 2 = 5 ().
Вторая причина — это реплеи. Реплей представляет собой список команд игрока, который позволяет идеально воспроизвести всю историю сохранения. Мы как раз работаем над такой системой.
Третья, и, вероятно, самая захватывающая причина в том, что полностью детерминированная игра делает возможным мультиплеер, так что все эти усилия приближают нас к этой цели. Сама возможность даже думать о мультиплеере восходит к нашим первоначальным решениям по дизайну игры, принятым более 7 лет назад. На протяжении всех этих лет мы строили игру так, чтобы мультиплеер оставался возможным в один прекрасный день. На самом деле мы настолько близки к этому, что уже существуют моды, реализующие базовые функции мультиплеера поверх наших внутренних систем.
Заключение
Вот и все основные новости об предстоящих обновлениях. Будет еще больше мелких изменений, но ознакомиться с ними вы сможете в журнале изменений после выхода обновления, которое состоится через несколько недель. Если вы хотите попробовать все раньше, следите за экспериментальной веткой. Благодарим за ваш интерес и будем рады услышать ваше мнение на нашем форуме!
Кстати, чтобы не пропустить ни один релиз или публикацию в блоге, вы можете подписаться на нашу рассылку по адресу .
P.S. Мы набираем команду!
Сейчас мы ищем и, возможно, . Если вы считаете, что вы или кто-то из ваших знакомых отлично подойдёт на эту позицию, дайте нам знать!
### 🎯 Captain of Industry Patch Assessment & Геймплей Verdict
This official developer update zeroes in on network tick rate, quality-of-life (QoL) refinements, and client stability. These optimizations mitigate frametime micro-stutters during heavy combat scenarios, resulting in significantly smoother input responsiveness.
Have thoughts, questions, or benchmarks on this topic? Join the discussion on our forums.
Join Discussion ➔

Присоединяйтесь к обсуждению