Overworld

示例:Starter

最小可玩示例——所有包的端到端组合演示

最小可玩示例,验证并演示 @overworld-engine/* 全家桶的端到端组合方式。无需任何美术资产 (玩家与 NPC 均为几何体回退)。

pnpm install && pnpm build   # 仓库根目录
pnpm --filter starter dev

玩法(约 2 分钟)

  1. WASD/方向键移动(或拖左下角虚拟摇杆,触摸/鼠标均可),Shift 跑 —— 推进任务 「初来乍到」的行走目标,10 米解锁成就。右上角小地图实时显示 NPC(黄点)与 水晶(蓝点),灯光随昼夜循环缓慢变化。
  2. 走近向导艾拉,按 E 对话;接受委托后开启任务「收集能量水晶」。
  3. 走近 3 颗漂浮水晶自动拾取入背包,任务完成自动发金币奖励并解锁成就。
  4. 回去找艾拉 —— 此时对话里出现条件门控的新选项「水晶都找齐了!」。
  5. 对话打开时移动被输入优先级层屏蔽,Esc 关闭对话。
  6. 绿色村民沿巡逻路线走动(@overworld-engine/ai A* 寻路,把向导当障碍物绕行),小地图绿点实时跟踪。
  7. 右上角 EN/中文 按钮实时切换语言 —— 内容数据存 i18n key,渲染层翻译(见 docs/guides/i18n.md)。
  8. dev 启动时 @overworld-engine/devtools 自动校验全部内容数据(控制台可见报告),写错节点跳转/漏注册效果会直接报错。
  9. 村民有日程:白天巡逻、黄昏/夜晚回家、清晨在家附近游荡(昼夜相位事件驱动);走近他会发现他绕着你走(动态避障把玩家当移动障碍物)。
  10. 右下角「编辑器 OFF」按钮打开场景编辑器:放置/拖拽实体、编辑属性、撤销/重做(Ctrl+Z / Ctrl+Shift+Z)、复制(Ctrl+D)、导出场景 JSON。
  11. 多开几个标签页:各标签页的玩家以半透明幽灵胶囊互相可见、实时同步移动,右上角 👥 显示在线数(BroadcastChannel 传输;换 WebSocket transport 即为真联机)。

代码结构(读这几个文件就够了)

文件演示内容
src/game/content.ts纯内容数据:NPC/对话树/任务/物品/成就,行为全部是声明式引用
src/game/engines.ts装配点:创建注册表与引擎、注册效果/条件、事件总线接线
src/game/gold.ts游戏专属系统如何通过效果注册表被内容引用
src/World.tsxSceneShell + Player(键盘+摇杆双输入)+ 昼夜灯光 + 小地图标记 + 逐帧拾取
src/ui/*无头引擎的 UI 渲染:任务追踪、对话框、Toast、背包、小地图、虚拟摇杆

开发模式下 window.__game 暴露了引擎句柄与 advance()(后台标签页 RAF 暂停时手动驱动帧), 供调试与自动化测试使用。

本页目录