画线修桥看起来很简单:玩家在断桥两侧画一条线,角色沿着线走到对面。但要让 AI 生成的玩法真正可测试,难点不在于“画出一座桥”,而在于这条笔画能否被稳定采样、是否连接合法锚点、能否生成连续碰撞、能否按照长度和重量计算承载,以及失败后能否撤销、退款和重开。
先给结论:提示词不能只写“画一座桥让角色通过”。第一版至少要固定 3 道断桥、120 点墨水、3 个载重等级和 6 分钟时限,并要求每条规则同时输出数值、触发条件、玩家反馈、失败处理和实现状态。
本文把玩法限制为一个最小闭环:选择起点→画线预览→连接终点→确认生成桥面→角色通行→验证承重→失败后撤销或重画→通过三道桥并结算。
开放画布、多人同步、无限关卡和复杂材料系统暂不加入。先把一局能运行、能复现、能重开的物理解谜做出来。

图注:手绘指令、角色与浮空平台适合表达“画出来再游玩”的设想,但静态图不能证明笔画可以输入、平台可以踩踏、桥面具备碰撞和承重,或关卡能够结算;“ZERO CODE”也不是玩法证据。
先把第一版限制成三道断桥
固定案例包含:
- 1 名角色;
- 3 道断桥;
- 每道断桥左右各 1 个合法锚点;
- 120 点初始墨水;
- 轻、中、重 3 个测试载重,分别为 35、45、55;
- 6 分钟总时限;
- 1 个终点。
三道桥的建议基线如下:
| bridge_01 | 10 米 | 35 | 学会连接锚点和确认桥面 |
| bridge_02 | 14 米 | 45 | 理解长度、坡度和转折惩罚 |
| bridge_03 | 18 米 | 55 | 验证载重警告、断裂和重画 |
这些数值只是第一版的测试基线,不是通用物理公式。关键是生成结果必须使用同一套规则,不能每次运行都临时改变。
每条规则都要回答五件事:具体数值是什么、何时触发、玩家能看到什么、失败后如何处理、当前属于“已实现/未实现/待验证”哪种状态。
第一条:固定笔画采样与120点墨水
为什么要写采样规则
玩家看到的是一条连续线,系统实际收到的却是一串离散坐标点。如果采样间距没有固定,拖动速度、触控设备和帧率都会影响结果:慢画时点过密,快画时点过少,轻点一下还可能生成大量零长度数据。
建议规则
- 每移动 0.25 米记录一个有效采样点;
- 笔画短于 2 米时判定无效;
- 单笔有效长度不能超过 24 米;
- 墨水消耗为 向上取整(有效长度 × 2);
- 预览阶段只显示预计消耗,不改变库存;
- 取消预览和无效笔画不扣墨水;
- 点击确认后只允许扣除一次。
快速点击、触控中断和连续按确认,都不能生成重复桥面或重复扣款。建议记录:
stroke_id
sample_count
valid_length
ink_before
ink_cost_preview
ink_after
stroke_result
如果笔画被拒绝,ink_after 必须与 ink_before 相同。只有画笔轨迹、没有输入与墨水日志时,只能说明“画面看起来可以画”,不能证明采样和资源扣除已经正确。
第二条:桥梁只能连接合法锚点
常见问题
玩家从断桥边缘开始画,却把终点落在云层、树枝或装饰平台上,系统仍然生成了一座看似完整的桥。角色走过去后才发现没有碰撞或无法到达终点。
建议规则
每道断桥使用一对唯一锚点,例如 bridge_01_left 和 bridge_01_right。确认时同时检查:
- 起点属于当前断桥的合法起始锚点;
- 终点是同一道断桥另一侧的合法锚点;
- 连接方向与锚点朝向夹角不超过 45°;
- 目标锚点没有被其他有效桥占用;
- 云层、树木、角色和装饰物不能成为锚点;
- 预览离开合法范围后立即变红,并显示拒绝原因。
每个锚点至少记录:
anchor_id
bridge_id
position
forward_direction
occupied
occupied_by_stroke_id
放置失败不能扣墨水,也不能留下临时碰撞体。锚点已占用时再次确认,应保留原桥并拒绝新提交。
第三条:确认后同时生成桥面和连续碰撞
常见问题
画面中已经出现桥,角色却从桥面穿过去;或者桥的视觉曲线很平滑,实际碰撞却在采样点之间形成台阶。
画线转桥至少包含两个必须同步的结果:可见桥面和物理碰撞。对于这类固定短关卡,不必强行加入完整 NavMesh;角色只要能在连续碰撞表面上稳定移动,并能到达终点区域即可。若项目确实依赖导航系统,再单独验证导航更新。
建议规则
- 桥面有效宽度固定为 1.5 米;
- 最大坡度为 25°;
- 最小转弯半径为 1 米;
- 笔画自相交时拒绝生成;
- 相邻碰撞段之间不能存在可导致角色掉落的缝隙或凸边;
- 视觉桥面与碰撞体在同一次确认成功事件中启用;
- 任一检查失败都删除临时对象并保持墨水不变。
生成成功后至少记录 bridge_mesh_ready 和 collision_ready。只有两项都为 true,角色才可以上桥。
测试时让角色低速走完整座桥,并记录脚底接触、角色位置和首次异常点。行走动画可以在空中播放,不能作为桥面碰撞存在的证据。
第四条:用固定公式计算承重
为什么需要具体数值
“桥越长越不结实”只是概念,不足以让系统稳定执行。第一版不需要模拟真实工程结构,但必须提供一套可复现、可解释的计算规则。
可以使用以下测试公式:
有效承重 = 100 – 有效长度 × 2 – 急转次数 × 8
其中,“急转”是相邻线段方向变化超过 35° 的转折。有效承重最低为 0,不允许出现负数。
玩家界面至少显示角色当前载重、桥梁有效承重和安全余量:
- 当前载重不超过有效承重的 90%:正常通行;
- 当前载重超过 90%,但没有超过上限:黄色警告;
- 当前载重超过有效承重:红色超载警告;
- 连续超载 2 秒:桥梁断裂。
这套公式只是玩法基线,正式项目可以调整系数。但同一版本中必须保持一致,日志也要记录 bridge_length、sharp_turn_count、bridge_load_limit、player_load 和 safety_margin。
桥梁晃动和音效可以作为反馈,却不能替代真实状态变化。即使没有播放断裂特效,只要碰撞仍然存在,系统就不能声称桥已经断开。
第五条:通行与断桥必须形成恢复闭环
通行怎么判定
角色碰到桥头,不等于已经通过。建议把通行状态拆成:
approaching → on_bridge → crossed
↘ fallen
只有角色离开起点区域、脚底持续接触有效桥面,并最终进入对应终点区域,当前断桥才能标记为通过。
断桥后怎么处理
桥梁断裂时需要在同一次状态切换中:
复位不能自动把这道桥标为成功。玩家需要撤销断桥并重新绘制,或按照设计消耗一次失败机会。
视觉上已经断裂、碰撞仍然可走,或角色复位后系统仍在计算旧桥的通行事件,都说明恢复闭环没有完成。
第六条:撤销、重画与墨水退款只执行一次
先区分三种操作
- 取消预览: 尚未生成桥,不扣墨水;
- 撤销有效桥: 删除最后一座已生成但尚未通过的桥;
- 清理断桥: 角色复位完成后删除断桥,再允许重画。
建议退款规则
- 角色尚未上桥:撤销最后一座有效桥,退回本次消耗的 100%;
- 角色已在桥上:禁止直接撤销,先安全复位;
- 桥梁已经断裂:清理后退回本次消耗的 50%,向下取整;
- 同一个 stroke_id 最多退款一次;
- 已经通过并锁定的桥不能撤销。
退款日志至少记录:
stroke_id
undo_reason
ink_before_refund
refund_amount
ink_after_refund
refund_applied
重画前,要确认旧桥的视觉对象、碰撞、超载计时器和事件监听器全部清除。如果新桥生成后旧桥仍能触发承重或通行事件,说明撤销流程不完整。
第七条:暂停、胜负和重开由同一局内状态管理
暂停
暂停时冻结:
- 角色移动和物理推进;
- 桥梁的 2 秒超载倒计时;
- 6 分钟关卡倒计时;
- 正在进行的通行判定。
恢复后从原值继续,不能把暂停期间本该发生的断裂一次性补算出来。
胜负
三道桥必须按顺序通过,且角色进入出口区域后才算胜利。以下情况判定失败:
- 6 分钟倒计时归零;
- 墨水不足,且无法形成当前关卡的合法桥;
- 角色坠落达到预设上限。
胜利或失败只允许结算一次,并生成包含 run_id、墨水、三座桥状态、剩余时间和 final_result 的快照。
重开
完整重开必须恢复:
- 120 点墨水;
- 三组锚点的未占用状态;
- 角色出生位置和初始载重;
- 三座桥的视觉、碰撞与历史记录;
- 所有超载与通行计时器;
- 6 分钟倒计时;
- 胜负弹窗、失败次数和临时事件。
暂停保留当前状态,撤销只处理最后一座合法桥,重开则创建新的 run_id。三者不能共用一套含糊的“重置”逻辑。
可直接复制的提示词骨架
下面这段可以作为第一版生成提示词。重点不是让 AI 自由补充内容,而是让每条规则都返回可检查的状态。
请生成一个单人画线修桥物理解谜原型,不加入开放画布、多人同步、无限关卡、战斗或复杂材料系统。
固定数据:
– 1名角色;
– 3道断桥,间距分别为10米、14米、18米;
– 每道断桥左右各1个合法锚点;
– 初始墨水120点;
– 轻、中、重载重分别为35、45、55;
– 总时限360秒;
– 三道桥按顺序通过,并进入出口才胜利。
请严格实现并报告以下七条规则:
1. 笔画每0.25米采样一次;短于2米无效,单笔最长24米。墨水消耗为向上取整(有效长度×2)。预览只显示预计消耗,取消和无效操作不扣墨水,确认后只扣一次。
2. 起点和终点必须是当前断桥的一对合法anchor_id;连接方向与锚点朝向夹角不超过45°。云层、树木、角色和装饰物不能作为锚点;已占用锚点不得覆盖。
3. 有效笔画生成1.5米宽的连续桥面和碰撞体。最大坡度25°,最小转弯半径1米,禁止自相交。生成失败时删除临时对象且不扣墨水;视觉桥面与碰撞均就绪后才允许通行。
4. 有效承重=100-有效长度×2-急转次数×8;急转指方向变化超过35°。载重超过上限90%显示黄色警告,超过上限显示红色警告,持续超载2秒后断裂。
5. 角色离开起点、脚底接触有效桥面并进入对应终点区域后,才判定该桥通过。断桥后关闭碰撞、停止通行判定、将角色复位到最近安全点,并显示失败原因。
6. 未通行的有效桥可撤销并退回100%墨水;角色已在桥上时禁止直接撤销;断桥在角色复位后可清理并退回50%墨水。同一stroke_id最多退款一次,已通过的桥不可撤销。
7. 暂停冻结角色、超载计时、通行判定和360秒倒计时。三道桥依次通过并进入出口才胜利;超时、墨水耗尽且无法形成合法桥,或坠落达到上限时失败。重开恢复墨水、锚点、角色、桥梁、计时器和结算状态。
请为每条规则输出:具体数值、触发条件、玩家可见反馈、失败处理,以及“已实现/未实现/待验证”标签。
运行日志至少包含:run_id、stroke_id、anchor_id、sample_count、valid_length、ink_before、ink_after、bridge_load_limit、player_load、player_state、remaining_time和final_result。
不要用画笔动画、静态桥面、角色行走动画或界面文字证明碰撞和承重已经成立。没有实际运行证据的部分必须标记为“待验证”。
生成工具可以帮助搭建平台、锚点和桥面外观,但提示词本身不是验收报告。进入 Unity、Unreal 或其他目标环境后,仍然要复测碰撞、承重、角色控制、退款和状态清理。
用三轮测试验收规则
第一轮:合法短桥
使用短、直、坡度合理的笔画依次完成三道桥。检查采样、墨水扣除、锚点连接、桥面碰撞、通行和结算是否连续对应。
第二轮:主动制造错误
分别绘制超长桥、急转桥、错误锚点、非锚点终点和超载桥。确认系统在正确阶段拒绝、警告、断裂或复位,失败操作不能错误扣除墨水。
第三轮:打断生命周期
在笔画预览、确认生成、角色上桥和超载倒计时期间分别暂停、撤销和重开。检查是否存在旧碰撞残留、重复退款、计时器继续运行,或桥断后仍能通行。
每一项测试都记录预期结果、实际结果、证据位置和状态标签。没有日志、构建验证或可重复操作支持的结论,统一标记为“待验证”。
最后的七项检查卡
- 笔画采样和 120 点墨水是否稳定;
- 起点与终点是否只能使用合法锚点;
- 视觉桥面和连续碰撞是否同时生成;
- 长度、转折和角色载重是否按固定公式计算;
- 断桥后是否关闭碰撞并安全复位角色;
- 撤销是否只处理最后一座桥,并且最多退款一次;
- 暂停、胜负与完整重开是否管理了正确状态。
画线修桥最容易漏掉的,不是“能不能画”,而是画完以后,这条线如何进入一个可检查、可失败、可恢复的游戏状态。生成工具适合快速建立关卡外观和初始结构,却不能自动证明物理碰撞、承重计算、撤销退款和正式构建中的状态清理已经正确。
你写画线玩法提示词时,更容易漏掉锚点校验、超载断裂,还是撤销后的墨水退款?




