“你不需要控制每一个士兵,你只需要告诉军队这场战争该怎么打。”
原创自然语言指挥即时战略网页游戏。玩家通过语音或文字描述战略意图,军官系统负责解析、拆解、执行和汇报;进攻时机、兵力分配、撤退与发展方向仍由玩家决定。
- 从主菜单进入“灰谷演习”或“断桥围城”。
- 查看原创战术地图、双方基地、河流、桥梁、森林、高地与道路。
- 在文字命令框输入“侦察兵去北方看看”。
- 命令经统一转写规范化、结构化解析、命令总线与固定步长模拟执行。
- 查看侦察兵真实移动、路径指示、解析结果、执行状态与军官抵达汇报。
- 工人持续采集食物、木材和铁矿;命令可以重新分配工人。
- 在地图点击放置“这里”标记,再用命令建造十类差异建筑。
- 生产队列、人口上限、资源扣费和取消退款使用统一事务。
- 可训练八种单位、研究八项科技,并创建、拆分、合并、补员和命名兵团。
- 可设置资源储备、经济优先级和兵团长期规则。
- A* 寻路、阵型、地形成本、战争迷雾、最后已知情报、兵种克制和敌方 AI 均参与实时模拟。
- 复杂命令可以形成包含并行任务、等待条件、撤退条件、暂停、修改与取消的作战计划。
- 三名军官会主动汇报抵达、交战、损失、资源瓶颈、目标进度与紧急情况,并对重复低优先级消息限流。
- 支持教程、四类动态事件、胜负结算、战斗统计、手动/自动存档、继续游戏和损坏存档安全回退。
- 浏览器支持时可点击麦克风或按住空格 Push-to-talk;不支持或拒绝权限时文字输入始终可用。
- Vite 7
- React 19 + TypeScript
- 原生 Canvas 渲染
- Vitest
- Playwright
npm install
npm run dev访问 http://127.0.0.1:5173。
生产预览:
npm run build
npm run previewnpm test
npm run typecheck
npm run lint
npm run build
npm run test:e2e侦察兵去北方看看
让三个工人去采木头
在这里建一座兵营
训练十个剑盾兵
把所有剑盾兵组成第一步兵团
研究步兵护甲
保持五百食物储备
第一步兵团不得追击
汇报当前生产瓶颈
暂停游戏
游戏速度调到四倍
第一步兵团正面推进
弓箭手跟在步兵后面
长枪兵保护弓箭手
资源超过八百食物后再训练重骑兵
损失超过三成就退回第二道防线
取消刚才的进攻
骑兵不用撤退,继续打三十秒
保存游戏
地图建筑命令需要先点击中央地图放置战术标记。
复杂协同命令也进入同一解析和执行管线,例如:
第一步兵团正面佯攻,四个轻骑兵从右侧森林绕后,等正面开战后攻击农民,看到十个以上长枪兵就向北撤退,不要原路返回
高风险、目标不清或会覆盖关键任务的命令可能进入澄清/确认状态;可继续回答、确认、拒绝、修改或取消,而不是由系统擅自决定。
- WASD 或方向键移动镜头,拖拽地图平移,滚轮缩放。
H或Home定位己方总部,B跳转最近战斗位置。- 点击兵团可把它设为后续命令上下文并跟随观察;点击地图放置“这里”战术标记。
- 顶部按钮提供暂停、1×、2×、4×、保存、设置和返回菜单。
- 统帅模式不提供框选后右键移动、鼠标直接攻击或逐个单位微操。
兵团拥有稳定 ID、名称、兵种构成、任务、损失和长期规则。命令管线支持创建、命名、拆分、合并、补员、解散、保护、跟随、撤退及规则增删。兵团成员伤亡后,原兵团引用仍保持有效;名称或数量存在歧义时会要求补充。
条件命令会把资源阈值、交战信号、敌军兵种/数量、伤亡比例、持续时间和回退方向保存为结构化字段。复杂计划在作战计划面板中展示子任务、启动条件和状态,紧急命令可中断较低优先级任务,原任务会保留为暂停、取消或失败记录。
- 灰谷演习:教学型战役。建立三线经济,建成兵营与马厩,形成步骑兵力,侦察东岸,完成正面牵制与森林绕后并摧毁敌方指挥所。
- 断桥围城:压力型战役。资源更紧、桥梁容量更低,敌军持续发动波次进攻;需要守住指挥所与指挥官卫队,切断攻城补给并击破敌方总部。指挥所、卫队、经济崩溃或期限规则会触发明确失败。
“保存”按钮和“保存游戏”命令写入同一个版本化本地存档;每 60 秒模拟时间还会更新自动存档。主菜单可继续或删除存档。存档包含随机种子、世界、单位、建筑、经济、科技、兵团、作战计划、敌方 AI、事件、迷雾、教程和统计状态;校验失败或版本不兼容时安全返回菜单,不覆盖其他有效存档。
设置保存在浏览器本地,包含分项音量、静音、识别语言、Push-to-talk 按键、军官语音、字幕、确认强度、UI 缩放、色弱覆盖、镜头速度、屏幕震动和性能模式。
模拟采用 100ms 固定 tick,渲染帧率与模拟速度分离。暂停停止移动、采集、生产、科技、战斗、事件计时和敌方 AI;1×、2×、4×只改变固定 tick 的累计速度。两个情景都有默认种子,存档会保留种子;开发调试入口可以用同一 tick 快进并导出完整快照。
桌面 Chromium 是当前首要目标。Web Speech Recognition 与文字输入进入相同 submitTranscript 管线;麦克风按钮显示权限、监听、识别、成功、无语音、拒绝、超时和错误状态。自动测试使用转写注入,不依赖真实录音。当前自动化环境没有真实音频采集设备,尚未完成真人口述验证;不支持 Web Speech API 或拒绝权限时,文字命令仍可完成游戏。
开发模式在 window.__COMMAND_FRONTLINE__ 暴露:
injectTranscript(text):注入文字转写并走完整命令管线。fastForward(seconds):用 100ms 固定 tick 快速推进模拟。snapshot():导出世界与双方领域状态调试快照。
src/app React HUD、菜单、情景、设置与结算接线
src/commands 规范化、解析、上下文、澄清、总线与执行器
src/config 单位、建筑、科技、教程、事件与情景配置
src/sim 固定步长世界模拟、阵营运行时与存档恢复
src/systems 经济、生产、战斗、迷雾、AI、事件、存档等纯系统
src/render Canvas 战场与小地图渲染
tests Vitest 单元、集成和确定性通关测试
e2e Playwright 浏览器冒烟流程
- 当前环境未完成真实麦克风口述验证;语音后的统一链路由转写注入和文字输入验证。
- Playwright 当前配置覆盖 Chromium 1440×900 与 844×390 横屏;其他浏览器以及 1366×768、1920×1080 尚无同等自动化证据。
- 默认版本完全离线解析中文命令,不依赖在线 LLM;尚未提供可用的外部 LLM 适配器。
当前地图、界面、名称、配色和 Canvas 几何图形均为本项目原创程序化内容,不包含商业游戏素材。