Zero Capital Industries

Инженерно-производственный sandbox на Unity, в котором игрок начинает с небольшого гаражного производства и постепенно развивает его до автоматизированного промышленного предприятия. Оборудование можно размещать, соединять и обслуживать вручную, а реальные технологические принципы постепенно превращаются в игровые системы автоматизации.

Zero Capital Industries

Zero Capital Industries — разрабатываемый мной 3D production / engineering sandbox на Unity. Игрок начинает с небольшого производства в собственном гараже и постепенно превращает его в полноценное промышленное предприятие.

Основная идея проекта — не выдавать игроку автоматизацию как очередной абстрактный upgrade, а сделать её естественным ответом на рост производства. Пока объёмы небольшие, оборудование можно обслуживать вручную. По мере масштабирования появляются измерительные приборы, регуляторы, электрические подключения, КИПиА, шкафы управления и, в перспективе, PLC/HMI и автоматизированные производственные линии.

Игровой цикл

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

Развитие строится вокруг физического пространства производства: оборудование существует непосредственно в игровом мире, занимает место, имеет точки подключения, состояние, ограничения и собственную роль в технологическом процессе.

Инженерная симуляция

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

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

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

Модульное оборудование

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

Игрок может соединять оборудование гибкими шлангами или жёсткими соединениями, собирать охлаждающие контуры, продуктовые линии и технологические цепочки. Для размещения оборудования используется отдельный assembly/build workflow со snapping, проверкой пересечений и автоматическим выравниванием совместимых портов.

Состояние мира и сохранения

Один из ключевых технических аспектов проекта — сохранение не только позиции игрока, но и состояния созданного им производства.

Система persistence хранит runtime-оборудование, его уникальные идентификаторы, положение и ориентацию, внутреннее состояние процессов и связи между аппаратами. При загрузке мира оборудование восстанавливается из definitions/prefabs, после чего отдельно восстанавливается runtime-state и технологические подключения.

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

Архитектура

Архитектура проекта намеренно строится без лишнего framework-overengineering. Unity-компоненты используются там, где они естественны, конфигурация отделяется от runtime-state, а зависимости между системами остаются явными.

Я не использую глобальный EventBus, Service Locator или DI-container только ради архитектурной формальности. Новые абстракции появляются только тогда, когда для них существует реальная задача.

При этом системы, которым это необходимо, отделены от визуального представления. Например, технологическая симуляция работает через фиксированный simulation clock, поэтому скорость игрового времени можно изменять без изменения результата процесса.

Игровое время

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

Это позволяет ускорять многочасовые процессы, не привязывая результат к FPS или скорости Unity Update.

Интерфейс

Для игровых интерфейсов используется как классический Unity UI, так и UI Toolkit. В проекте существуют HUD, телефон, системные меню, интерфейсы хранилища и внутриигровая компьютерная система GarageOS.

Через игровые интерфейсы постепенно объединяются экономика, закупка оборудования, управление производством и будущие средства автоматизации.

3D и окружение

Помимо программирования я самостоятельно работаю над 3D-составляющей проекта: моделями оборудования, производственными объектами, окружением гаража, материалами и подготовкой ассетов для Unity.

Локация также является частью progression-системы. Стартовая среда намеренно представляет собой ограниченное гаражное производство, чтобы дальнейший переход к большим помещениям и промышленным объектам ощущался не только экономически, но и визуально.

Текущий этап

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

Ближайшая цель — превратить набор работающих систем в целостную техническую демо-версию с законченной стартовой гаражной локацией, понятным onboarding и полноценным циклом «купить оборудование → собрать установку → произвести продукт → продать → расширить производство».

Все проекты