你说需求
右下角命令栏 🎤 语音或文字 描述玩法:「做一个三关卡的太空战机」。头部项目胶囊可随时切换、新建项目。
AI 的影响力被收敛为一份协议数据,而不是一堆代码 —— 于是每次改动都可校验、可评判、可回退。
右下角命令栏 🎤 语音或文字 描述玩法:「做一个三关卡的太空战机」。头部项目胶囊可随时切换、新建项目。
AI 只推送声明式 JSON:GameDef / GameOp。服务端 TypeBox 校验,失败自动回喂模型自纠。
页面内固定引擎 GameRuntime(Phaser 4) 驱动点击 / 键盘 / 定时,玩法交互不经 LLM —— 零延迟。
为什么这样设计? 改动的单位是一份被校验的 JSON 数据(不是代码), 所以每次改动都能被静态判定、被机器评判(冒烟 / 目标 bot 通关 / 视觉守门)、零成本回退对比 —— 这是它与 Godot / Unity 这类引擎的结构性差异。
从生成、游玩到协作与迭代,每个环节都被协议化。
全屏画布 + 悬浮仪表,命令栏支持语音识别与文字输入,回车即发送,随口改需求。
AI 只在生成与自然语言指令时参与;游玩中的点击 / 键盘 / 定时全部由前端引擎本地执行。
游戏 / 对话 / 轨迹按项目隔离,可随时切换、新建;内置「太空战机」三关卡等模板起点。
多个浏览器各编各的项目互不干扰(请求显式携带项目作用域),同一项目多人实时同看。
每次生成完成自动落库历史版本,可查看当时运行截图,不满意一键回退。
无头冒烟测试、目标 bot 通关、视觉守门 —— 生成质量由机器说了算,不靠肉眼。
服务端只做「校验 → 应用 → 落盘 → 中继」,全部复杂度收敛在一份协议里。
没有代码工具、没有文件工具。全部影响力 = 一份 JSON 协议(场景 / 实体 / 玩法规则)。
变更以 game_update(GameOp 数组)表达,只携带变化字段;id 稳定,引擎复用已物化对象。
「校验 → 应用 → 落盘 → 中继」四步,玩法执行在前端固定引擎,服务端无游戏逻辑。
同一份 applyGameOps 同时跑在服务端(权威状态)与前端(渲染状态),两端永不漂移。
它不是引擎替代品,而是一个表达面明确的工作台 —— 诚实地说清楚能做什么、不做什么。
前端 Next.js + Phaser 4;服务端 Node + Express;协议校验 TypeBox;存储 SQLite 内容寻址。