← На главную

Kalcode переписал The Space Project на Rust и выложил под MIT

21.07.2026 18:29 · hackernews

The Space Project — это экономический симулятор в 3D-клиенте, где нет ни сценария, ни цели. Игрок просто наблюдает, как экономика живёт сама по себе. Каждый корабль — автономный агент со своим бюджетом, экипажем, топливом и GOAP-планировщиком. Он сам решает, что делать: найти самый прибыльный маршрут, взять контракт на доставку, встать на ремонт или дать экипажу отдых. Фабрики работают по рецептам, изнашиваются, ремонтируются, прокачиваются и разоряются. Фракции собирают налоги и выдают субсидии. Население ест, производит труд и уезжает, если всё плохо. Цены на рынках плавают динамически — нет фиксированных значений.

Проект начинали на Elixir/Phoenix, но переписали на Rust, потому что планировщик BEAM тормозил на игровых ПК с Windows. Движок sim_core — это чистый, синхронный Rust без IO. Клиент на Bevy встраивает его как библиотеку, так что симуляция и рендер используют общий ECS-мир без лишних прослоек. Сейчас в симуляции живут около 485 агентов (282 корабля, 93 фабрики, 27 популяций, 8 фракций, 60 небесных тел). Один тик занимает 10–20 мс, и архитектура рассчитана на 100 000+ объектов.

Автор, Kalcode (David Clausen), не делает вид, что это игра с роадмапом. Проект родился из идеи — сделать настоящую самосчитающуюся космическую экономику. Он писал код по ночам вместе с Claude. Исходники выложены под лицензией MIT, чтобы кто-то мог форкнуть, переименовать, переделать или выдрать экономический движок для своих нужд. Сборка одной командой — make run. Сохранялки пишутся в SQLite, так что мир можно восстановить с точностью до тика. Клиент на Bevy использует собственный ECS (hecs), рендерит процедурные планеты, туманности и звёзды через кастомные WGSL-шейдеры. В проекте пять крейтов, и в sim_core запрещены tokio, sqlx и axum — только чистая логика для тестирования.

Читать оригинал →