Files
Genarrative/docs/technical/BIG_FISH_DIRECTION_TOUCH_CONTROL_2026-04-24.md
kdletters 2792df03a6
Some checks failed
CI / verify (push) Has been cancelled
Move big fish runtime to frontend
2026-04-27 21:12:43 +08:00

2.4 KiB
Raw Blame History

大鱼吃小鱼方向触控操作优化说明

背景

当前大鱼运行时使用左下固定虚拟摇杆,玩家必须点到摇杆区域才能移动。移动端实际体验应改为屏幕任意位置触控:按住屏幕时不再用“触点相对按下原点”的距离判断方向,而是按固定采样间隔比较“上一次触点位置”和“当前触点位置”的位移方向,角色按恒定速度朝采样方向行动。

交互规则

  1. 玩家在玩法舞台内按下时,记录当前触点坐标为采样起点。
  2. 按下瞬间提交 { x: 0, y: 0 },保证一开始玩家不动。
  3. 按住期间每 0.1 秒采样一次当前触点坐标,并用“当前触点 - 上一次采样触点”的位移计算方向。
  4. 输入只表达方向,不表达速度;超过采样死区后归一化为单位方向向量,未超过死区则沿用上一段有效方向。
  5. 每次采样完成后,把当前触点写为下一次采样的“上一次位置”。
  6. 松开或取消触控后,清空采样状态并提交 { x: 0, y: 0 }
  7. 前端继续定时提交当前方向,即使没有玩家输入也提交零向量,让后端或本地直达局持续推进世界 tick。

本地直达局边界

  • 大鱼吃小鱼的最终游玩部分统一放在前端本地 runtime不再调用后端 start/input/get run 接口。
  • 后端只保留 Agent 创作、草稿编译、资产生成、发布和作品列表;不负责移动、碰撞、刷鱼、合成、屏外清理或胜负模拟。
  • /big-fish 的本地直达局和平台内测试玩法必须共用前端本地 runtime并在玩家未操作时继续移动野生对象。
  • 玩家速度保持恒定,只由方向决定移动方向。
  • 野生对象使用确定性游动规则,避免直达入口看起来像静态截图。

验收口径

  1. 在舞台任意位置按下时玩家不立即移动。
  2. 按住并拖动后,玩家方向来自最近 0.1 秒位移,而不是来自按下原点。
  3. 松开后玩家停止。
  4. 不操作时野生对象仍会持续游动。

资产生成补充口径

  • 大鱼实体主图、idle_floatmove_swim 动作图都按 RPG 角色资产口径处理:单体完整入镜、中心构图、轮廓清晰、透明背景、无 UI/文字/水印。
  • 场地背景只生成环境不生成规则说明、UI 或巨大主体遮挡;画面元素要少,中央活动区域要大,边缘只保留少量出生区提示。