LumioGames:我要做一套百人在线的开源体素游戏框架
做了十年游戏引擎,今年一个人出来创业。8 月底我把手上的活全停了,扭回老本行,做一套游戏引擎框架。
GitHub 开源组织 LumioGames 已经建好。
主页的定位我挂得很大:「每天 10B Token,开源一套百人在线的游戏引擎」。没那么多虚的,目标只有一条,我要在这个框架下的一个房间里,装下 100 个真人。
首页顶上还有一句更准的定位。Lumio 不是引擎,它是一套 AI Native 的通用体素 Gameplay 框架,渲染和物理交给你手里的引擎,玩法、服务器和 Agent 的规矩放在这里。
现在它的版本号是我自己起的 0.0.1,跑得出来的只有一句 Hello World。
为什么不直接用现成引擎
Unity(游戏引擎)和 Unreal Engine 都成熟,一把抓过来能省掉无数麻烦。组织主页的「为什么做」那一节我写了三条,都是这十年真撞上的坑。
商业引擎的专用服务器太重。 每家引擎各带一套 Dedicated Server,历史包袱压着,调试、编译、测试对 Agent 都不友好。
逻辑绑死在引擎上。 想 Debug 一段规则,得先把一个庞大的引擎起起来。多开几个实例做服务器机器人压测,难度还要再翻一倍。这件事对人只是慢,对 Agent 是根本上不了手。
三拨人三套工作流。 技术、美术、策划各维护各的知识库和工具,中间没有统一规划,策划的活最容易被切碎。
还有第四条没写进主页,是我自己付的学费。AI 写得快,但没人盯边界。需求喂得准,几分钟就能吐出一大片代码。我在 BestCodex 和 Workflow 这两个项目上都吃过这个亏,代码涨得比我读得快,没过多久就变成一坨没人敢碰的东西。后来我写 Workflow 那套工作流,就是为了把需求、任务和验收标准都留底,让我知道 AI 到底改了哪儿、跑没跑通测试。
这套东西到底想干什么
主页上把它写成了一个等式,Idea 加 Lumio 加 Agent 加游戏引擎,等于一个完整的商业化游戏。
拆到能落地的层面,这其实就是一条完整的 AI Native 游戏研发管线。技术、策划、美术这三个职能,一个人带着 Agent 就能跑完。
技术那一列是主干。客户端加服务器加游戏的完整开源方案、画面与逻辑分离、不绑定引擎迁得走、Rust 加 C# 的 DS 服务器扛 100 人同房、ECS 加 GAS 的设计架构、体素世界支持 UGC 和 AGC。策划那一列是给 Agent 用的配置工作流,网页即工具。QA 那一列是 AI 自动化测试框架。
美术那一列现在挂着一把锁,还没开工。锁着的原因很简单,我一个人手不够,先做能自己验的那部分。
「开源才是最大的 UGC,一个人就是一个团队」是主页上的原话。我信这句,但它现在还是一句待验证的话,不是已经跑出来的结论。
这套框架怎么切的
明确不做的四层
要能插到任何一个游戏引擎上,就得先把手缩回来。
资源管理层、资源转换器、渲染层、物理层,这四层我明确不碰,交给商业引擎或者 Godot 这类开源引擎。框架自己只管规则,也就是 ECS 加 GAS 的玩法架构、复制与预测回滚、体素世界的读写和流式加载。体素这一层是核心,UGC 和 AGC 都从这里长出来。
规则和画面劈开
拿一颗炸弹举例。服务器只要知道谁在哪一格放了炸弹、几秒后炸、炸到了谁,它的活就完了。那团火怎么画、有没有屏幕震动、粒子分几层,是客户端的事。
换 Unity 也行,换 Godot 也行,自己手搓一个渲染器也行,服务器这头的规则碰都不用碰。劈得这么开,AI 才好在没画面的环境里先把逻辑跑通。
LumioGame 现在跑通的第一个完整流程就是放一个方块,去查权限、扣资源、改地形,同一条命令重复发不会扣两次。这事听着小,但它等于把权限、资源、地形和防重复扣除(幂等)这四件事串在了一条链上。
四层依赖,箭头只往下指
上层调下层,下层压根不知道上层是谁。
| 层 | 仓库 | 语言 | 管什么 |
|---|---|---|---|
| LV.4 产品 | LumioGame | C# | 玩法语义、配置、内容、发布清单 |
| LV.3 Host | LumioServer | Rust + C# | 专用服务器进程、网络、Session、CoreCLR Hosting |
| LV.3 Host | LumioClient | C# | 连接、Replica、预测回滚、引擎适配、Headless Bot |
| LV.2 SDK | LumioGameEngine | Rust + C# | SDK 组装、Native 聚合、ABI 生成、共享 Loader |
| LV.2 Runtime | LumioGameRuntime | C# | ECS、Tick、Replication、GAS、持久化、热重载 |
| LV.1 Native | LumioVoxelEngine | Rust | VoxelWorld、Chunk、Mutation、Streaming、Snapshot |
| LV.1 Native | LumioNativeCore | Rust | 通用内核、Handle、Error、内存和 Job |
| 配置表 | LumioConfig | Python | 配表源文件、Schema、编译器和导出工具 |
服务器和客户端都只认 LumioGameEngine 打出来的那个 SDK 接口。每次打包算一遍哈希,启动时再对一遍,对不上就不算跑起来。
玩法和热更选 C#,我在 Unity 里攒的热更经验能直接搬过来;服务器基础设施和体素内核用 Rust,做 BestCodex 的时候尝过甜头,内存和延迟都比我预期的好。
100 个机器人,本机压了一遍
2026 年 9 月 1 日,录视频之前我先在自己机器上压了一遍。100 个测试机器人加 1 个浏览器端客户端,全进同一个房间往外发消息,我这边开着浏览器看 delta 刷屏。
| 口径 | 数字 |
|---|---|
| 活跃会话 | 101(100 机器人 + 1 浏览器) |
| delta 转发 | 约 9900 到 9977 条/秒 |
| queue_full 拒绝 | 0 |
| 服务器内存 | 56.9 到 59.2 MB |
| CPU 峰值 | 8.4%,16 核里吃掉 1.35 核 |
口径先定好,这只是我自己机器上的回环测试,不是线上承载量,不是 100 个真人,也不是完整玩法压测。真人有网络抖动、有丢包、有各种奇怪的操作,机器人一样都没有。
它能证明的只有一件事,框架站得住,可以往上加东西了。这是 LumioGames 的第一声 Hello World。
开源,Agent 和引擎随便挑
组织下目前公开了 12 个仓库。引擎主体走 Apache 2.0 协议,另外两个跑工作流的独立工具走 MIT 协议,可以直接拿去用。
- LumioAgentSpec
管的是 AI 编码 Agent 的规矩。项目的规则、知识和进度都落在仓库的.spec/目录里,Claude Code、Codex、Cursor 随便换,换了不用重新教一遍。里面有一条我很在意的硬规矩,写代码的 Agent 绝不能审自己的代码。这活算不算做完,全由 lint 和测试说了算。 - workflow-plugin
这是挂在另一头的工具。它负责让 Agent 顺手把需求单、bug 查重和线上复测也一并做了,省得人再去两头盯。
核心规则全在这些开源代码里,至于画面接哪个引擎,随便挑。
打到哪一关
我把进度当关卡记,主页上那张表现在长这样,
1-1 就是上面那 101 个会话。1-2 是连接、同步、同房跑通之后,剩下的模块一块一块加。1-3 是第一个完整的 Hello World 游戏,暂定叫《疯狂炸弹人》,先做网页联机版。
这段路刚起步,我一个人推不动。现在缺三类人。会用 AI 干活的工程师,把 Claude Code、Codex、Cursor 这类工具调教得动的人,还有愿意把这件事讲给更多人听的运营。组织主页上有 QQ 群和三个按话题分的飞书群,挑一个仓库的 Issue 动手或者直接提 PR 都行。
目标还是那个数字,一个房间 100 个人。
\n





💬 评论 0
Lumio暂无评论 — 选中段落或在下方留下第一条想法