AI 战场编辑器:用一份数据包,重现历史经典战役!

大家好,今天分享一个非常有特色且极具潜力的开源项目 —— yazelin/battlefield-editor。这不是普通的游戏引擎,而是一个数据驱动的单文件 3D 战场景演出引擎,专注于用 AI 协助创作者快速重现历史战役(如赤壁之战、官渡之战等)。
项目核心理念:引擎只管“怎么演”,数据决定“演什么”
这是这个项目最聪明的地方:
每一场战役都是一份独立的 package,引擎只负责加载和演出。换一份 package,就换一场完全不同的战役,完全不用修改引擎代码。

-
零构建(zero-build):单文件 HTML + Three.js(r160,通过 CDN importmap),直接在浏览器运行。 -
高度数据化:阵营、地形、单位、结构、场景时间轴(多幕 + 运镜)、特效、音频(配乐、旁白、字幕、音效)全部写在 JSON 中。 -
参数化地形:用 Catmull 曲线定义河道、丘陵、区块、色带,生成平滑高度场。 -
声明式特效:如 volley(箭雨)、flood(水攻,可指定区域、决堤口,让水从缺口推进)、ignite(燃烧)等,由引擎 dispatcher 统一执行。
目前仓库内置多个经典三国/历史战役示例包:
-
赤壁之战(水战,9 幕) -
官渡之战(陆战) -
垓下之战(四面楚歌、霸王别姬) -
淝水之战(风声鹤唳) -
水淹七军、水淹下邳(精彩的水攻演示)

在线直接体验(GitHub Pages):
-
https://yazelin.github.io/battlefield-editor -
点击任意战役即可观看带旁白、音乐、特效的 3D 重现。
项目架构亮点
-
schema/:严格的 JSON Schema 定义数据契约。 -
tools/:丰富的开发工具,包括数据验证器、残留扫描、渲染检查、音频检查、自动生成新 package 等。 -
docs/authoring/:详细的 AI 编辑 SOP(标准作业流程),让 AI 能一步步生成战役数据。 -
skills/author-battlefield/:专门给 AI 使用的可执行编写指南。 -
编辑模式:本地启动 editor-server 后,可在浏览器内直接拖拽单位、修改地形、调整路径、即时预览洪水、替换 glTF 模型等,大幅提升迭代效率。
所有修改后的数据仍需通过多道机器验证关卡,确保结构合法和加载稳定,最后由人工验收画面、时序与史实细节。这种“AI 写初稿 + 机器把关 + 人工审核”的流程非常高效。
如何开始?
-
Clone 仓库。 -
用 python3 -m http.server 8080启动本地服务器。 -
访问 http://localhost:8080/查看战役列表,或直接加载特定 package。 -
新建战役:运行 node tools/new-package.mjs <slug> "战役名称"快速生成骨架,然后按照 SOP 填充数据。
详细教程与编辑指南都在仓库的 README 和 docs 目录中。
总结
battlefield-editor 展现了“数据驱动 + AI 协作 + 极简引擎”的强大组合。它把复杂的 3D 历史战役重现,降低到了“主要写 JSON + AI 辅助”的门槛,同时保留了高品质的视听体验。无论是个人兴趣、教学用途还是内容创作,都非常值得尝试。
快去 GitHub 点个 Star,支持作者继续开发吧!https://github.com/yazelin/battlefield-editor
如果你已经试玩过,欢迎分享你的体验~ 你最想重现哪一场战役呢?(淝水之战的“风声鹤唳”还是赤壁的火烧连环船?)
夜雨聆风