文章摘要
《太空计划》是一个用Rust和Bevy构建的自主运行太空经济模拟器。数百艘自主飞船在动态太阳系经济中交易、采矿、运输、执行合同,甚至耗尽燃料或破产。市场自主定价,派系征税补贴,人口迁移,废弃空间站腐烂。所有运行在单一原生二进制文件中,无运行时依赖。
文章总结
好的,这是根据您的要求,对原文进行中文重述和精简后的版本:
🚀 太空计划:一个自运行的太空经济模拟器
这是一个用 Rust 和 Bevy 引擎构建的、完全自驱动的太空经济模拟器。在模拟的太阳系经济中,成百上千艘自主飞船进行着贸易、采矿、货运、承接合同等行为,它们会耗尽燃料,甚至偶尔破产。市场自行定价,派系征税和补贴,人口会因不满而迁徙,废弃的空间站则会逐渐衰败。整个模拟器是一个独立的原生程序,无需任何运行时依赖。
这是什么?
这是一个由智能体驱动的经济模拟,运行在一个原生3D客户端中。没有预设的剧情线,也没有玩家的目标——你更像一个观察者(或拥有上帝模式的管理员),观察经济系统自行运转。
每艘飞船都是一个独立的智能体,拥有自己的信用点、船员、燃料、货舱,以及一个决定下一步行动的规划器:是追逐最高利润的贸易路线,接受送货合同,寻找船厂进行改装,还是在船员士气崩溃前停靠休息。设施会运行生产配方,会损耗和自修复,会升级,也会在破产后被废弃。派系会征税和发放补贴。人口会消耗食物、提供劳动力,并在满意度跌至谷底时打包离开。所有商品的价格都由一个覆盖模型决定,并带有短缺紧急乘数,没有固定价格。
该项目最初是用 Elixir/Phoenix 构建的原型,后因调度问题用 Rust 重写。其核心引擎是纯同步、无IO的 Rust 代码;Bevy 客户端将其作为库直接嵌入,因此模拟和渲染器共享同一个 ECS 世界,无需任何数据编组。
当前规模:约 485 个活跃智能体,在 125 毫秒的预算内,单次模拟耗时约 10-20 毫秒。架构设计目标是支持超过 10 万个智能体。
关于未来方向
这个项目本身不会独立发展成一个“游戏”,这恰恰是它的特点。它始于一个有趣的想法:从头构建一个真正自我模拟的太空经济。它通过深夜编程发展到了远超预期的规模。作者将其以 MIT 许可证开源,因为核心代码质量很好,希望有人能利用它做些事情,而不是让它躺在私有仓库里。你可以自由地复刻、修改、重命名,甚至在上面构建一个游戏,或者将经济引擎提取出来用于其他地方。欢迎提交 PR 和 issue,但作者无法保证处理频率。
模拟内容
- 飞船AI:使用规划器评估各种目标(贸易、送货、加油、改装、休息、探索),并构建行为树来执行最经济的计划。飞船可以在飞行中重新规划。
- 经济:每个空间站都有基于订单簿的市场,为13种商品定价。飞船通过贸易在市场中移动真实供给。
- 合同:包含六种类型,有完整的生命周期、声望门槛、自动续约和随时间递增的报酬。
- 设施:运行生产配方,会损耗和自修复,可升级,从本地市场补货,并会在长期亏损后被废弃。
- 派系:对成员设施征税,为长期短缺的商品发放补贴合同,资助建设新设施,并维护彼此间的关系。
- 人口:消耗食物和燃料,提供劳动力,在压力下发布食物和乘客合同,并在满意度崩溃时迁移到其他星系。
- 船员:模拟饥饿、疲劳和士气,有派生任务、技能成长、工资和士气崩溃保护机制。
- 建造:长期短缺会催生建筑工地,收集齐货物后就会变成真正的设施。
- 持久化:所有数据保存到 SQLite 数据库,模拟可以从精确的刻恢复。
- 空间细节层次:远处的飞船更新频率较低,以节省性能。
快速开始
你需要一个 Rust 工具链(稳定版)。然后运行 make run 即可启动。程序会进入主菜单,你可以开始一个新宇宙或加载存档。存档文件以 .db 格式保存在程序所在目录。
其他入口点包括调试窗口客户端、发布版本、无头模式(用于CI/测试)和验证脚本。
操作控制
- 左键拖拽:旋转视角
- 右键拖拽/WASD:平移
- 滚轮:缩放
- 左键点击:选择飞船或设施
- 右键点击:打开上下文菜单
- 空格:暂停/继续
- Esc:关闭面板/取消选择/打开暂停菜单
- P:暂停菜单
- F12:截图
- 顶部栏:切换面板,设置速度,生成飞船/设施
所有面板都实时读取 ECS 世界,相当于一个带有完整组件访问权限的实时调试器。
架构
项目包含五个 crate:
sim_core:纯模拟逻辑,无异步、无IO、无框架,易于测试。sim_db:SQLite 持久化。sim_server:HTTP/WebSocket 处理库,用于无头模式。sim_protocol:WebSocket 数据类型。client_bevy:主程序,嵌入sim_core作为 Bevy 资源。
三条核心规则:sim_core 不导入任何异步库;hecs 是模拟刻中的唯一数据源;跨实体效果通过命令缓冲区实现,确保确定性。
构建与打包
Makefile 封装了 cargo、rustup、代码签名和打包命令,支持 macOS、Windows 和 Linux 的构建与打包。
技术栈
Rust (2021版)、Bevy 0.18、hecs、egui、bevy_hanabi、sqlx + SQLite、axum + tokio。
贡献
欢迎贡献,请参阅 CONTRIBUTING.md。提交 PR 前,请运行 make verify 进行构建、测试和代码检查。
许可证
MIT © 2026 Kalcode (David Clausen)。你可以随意使用。
评论总结
以下是对评论内容的总结,涵盖主要观点、论据及不同立场,并保留关键引用:
1. LLM赋能开发:机遇与挑战
- 正面观点:LLM降低了开发门槛,使原本因时间不足而搁置的项目得以实现。
- 引用:"It’s fun to see projects like this that seem largely unlocked by LLM assistance" (sulam)
- 引用:"I’ve built at least 5 things that I had thought would be fun... Now I do" (sulam)
- 负面观点:LLM生成代码缺乏学习价值,类似“AI艺术”难以借鉴。
- 引用:"I wanted to study your code but there’s little point in studying LLM code" (greenleafone7)
2. 技术栈与架构讨论
- Rust + Bevy + ECS:多位开发者认为该组合与LLM配合良好,ECS架构便于AI理解系统逻辑。
- 引用:"The strictness of rust seems to really help them get the code right" (lantry)
- 引用:"ECS architecture seems to make it easy for them to reason about how things work" (lantry)
- 替代方案:有用户询问是否考虑Godot引擎,暗示对Bevy的质疑。
- 引用:"Would love to hear more about your Claude workflow and experience with Bevy, did you consider Godot?" (digilypse)
3. 游戏机制与设计灵感
- 模拟与观察:项目被比作“太空水族箱”,强调观赏性而非交互性。
- 引用:"It’s like an aquarium, only in space. You sit and watch" (nine_k)
- 信息流设计:有用户建议将信息作为可交易商品,增加模拟深度。
- 引用:"I made in-sim information a commodity that agents could choose to sell to each other" (awhitty)
- 同类项目参考:评论提及SpaceTraders、Escape Velocity等经典太空贸易游戏。
- 引用:"Reminds me of SpaceTraders" (thomascountz)
4. 扩展功能建议
- 在线直播与新闻生成:建议开放模拟供观众观看,并由AI生成事件简报。
- 引用:"Have the simulation accessible from a website... have an agent generate some sort of newspaper" (hersko)
5. 开发者共鸣与行业观察
- 太空题材吸引力:多位开发者表示曾构思类似项目,反映该题材的普遍吸引力。
- 引用:"Are we all having this idea?" (dangoodmanUT)
- LLM应用前景:认为当前仍处于LLM辅助开发的早期阶段。
- 引用:"I am fully convinced we are still in the early days of what we’ll be doing with them" (sulam)
总结:评论整体对项目持积极态度,认可LLM在降低开发门槛、加速原型构建方面的价值,但部分用户对AI生成代码的可学习性存疑。技术栈(Rust/Bevy/ECS)获得较多肯定,同时社区提出信息流设计、在线直播等扩展建议。太空模拟题材引发开发者广泛共鸣,被视为LLM应用的有趣试验场。