围绕一个至关重要的回合构建你的第一款载具战斗游戏。给玩家一辆配备固定前向武器的越野车,在拐角附近放置一台装甲爬行者,并在爬行者被摧毁前锁定撤离平台。如果驾驶员接近速度过快,刹车可能会导致越野车冲过射击车道。干净的接近方式能让车头对准目标,并留出撤离路线。
这个虚构的货运场使用小型网格,以便你在添加平滑驾驶机制之前检查每一步移动。驾驶员在整个遭遇战中只有一个任务:将底盘移动到其武器能够触及目标后方的位置,然后前往平台。

在载具上保留速度和航向
使用七乘六的网格。列从东向的 0 计至 6,行从南向的 0 计至 5。将越野车起始位置设为 (1, 4),朝向东,速度为零。在 (4, 2) 放置一台静止的爬行者,朝向北,并在 (6, 4) 设置撤离平台。爬行者的南面是其后方。在该面上标记格栅,以便玩家在驶入车道前识别出脆弱的一侧。
在每一步之后记录越野车的位置、航向和速度。驾驶指令首先改变速度或航向。然后,越野车沿解析后的航向移动相应的格数。在速度为一时,转向会改变下一格的方向。在速度为零时,同样的转向仅改变航向。这种差异让玩家可以选择移动接近或静止射击。
| 驾驶输入 | 移动前的效果 |
|---|---|
| 加速 | 速度加一,最高为二。 |
| 滑行 | 保持当前速度和航向。 |
| 刹车 | 速度减一,最低为零。 |
| 左转或右转 | 旋转 90 度并保持速度。仅当起始速度为零或一时才接受该指令。 |

在移动或开火前,拒绝速度为二时发出的转向请求,并保持步数计数器不变。显示拒绝输入的原因,以便玩家知道需要刹车。对于被接受的步骤,逐格解析移动。如果下一格位于场院之外或包含完好的履带车,则在最后一个有效格停止并将速度设为零。逐格检查可防止两格移动跳过目标。
对准车尾并驶出
每个被接受的驾驶指令可附带一个可选的开火输入。开火使用越野车的最终格位置和航向,并检查直线上的下一格和再下一格。从第四列向北发射的炮弹可以从 (4, 4) 或 (4, 3) 击中履带车的车尾。击中车头或侧面的炮弹会报告装甲状态,履带车保持完好。未击中目标的射线报告未命中。使用不同的反馈提示来区分这些结果,以便玩家判断是改变射击角度还是调整对齐位置。

| 步骤 | 驾驶与开火 | 预期状态 |
|---|---|---|
| 1 | 加速 | (2, 4),朝东,速度一。 |
| 2 | 滑行 | (3, 4),向东,速度一。 |
| 3 | 滑行 | (4, 4),向东,速度一。 |
| 4 | 左转并开火 | (4, 3),向北,速度一。击中后部解锁撤离点。 |
| 5 | 右转 | (5, 3),向东,速度一。 |
| 6 | 右转 | (5, 4),向南,速度一。 |
| 7 | 左转 | (6, 4),向东,速度一。吉普车撤离。 |
移除爬行者属于目标变更,因此在被击中后,吉普车应保持在玩家控制之下。在检查撤离条件之前,先解析开火指令。如果吉普车到达已锁定的撤离点,则运行保持激活状态,并显示剩余的条件。
为 AI 提供一个竞技场和步进控制
从场地、控制规则和撤离条件开始。SEELE 的 AI Game Maker 是将书面游戏循环转化为首个构建版本以进行验证的入口。在第一轮迭代中使用网格,以便判断失误是源于转向、移动还是后部击中规则。
在一个 7 乘 6 的网格上创建一个小型俯视浏览器车辆战斗游戏。
X 轴从 0 到 6 向东增加,Y 轴从 0 到 5 向南增加。
吉普车起始于 (1,4),朝东,速度为 0。在 (4,2) 放置一个静止的爬行者,
朝向北方,并在 (6,4) 放置一个撤离点。
每个调试步骤使用一个驾驶指令,外加可选的开火。
加速使速度增加 1,最高为 2。滑行保持速度不变。
刹车使速度减少 1,最低为 0。左转和右转在移动前
旋转 90 度,并保持速度不变。如果起始速度为 2,则拒绝转向,
且不改变位置、速度、朝向、步数或开火状态。
按解析后的速度逐格移动。边界和完好的爬行者会阻挡移动。
在速度为 0 时,停在最后一个有效格子上。
移动后,开火沿当前朝向追踪最多两格。
爬行者的南面是其后部。向北的后部击中会移除它
并解锁撤离点。正面或侧面击中报告装甲。未触及完好爬行者的射线
报告未命中。
然后检查吉普车是否位于已解锁的撤离点上以结束运行。
显示位置、速度、朝向、撤离点状态以及最后一次输入的结果。
将吉普车、爬行者、撤离点和步数重置为初始状态。
先运行七个步骤。然后使用隔离检查。在速度二时请求左转和开火,确认没有任何变化。从 (2, 2) 朝东、速度为零开始,滑行和开火应到达爬行者的侧面并报告装甲。接下来检查紧邻完好爬行者的被阻挡移动,并在移除爬行者之前到达已锁定的撤离点。从撤离状态重置,并确认爬行者已锁定的撤离点均恢复原状。
修改刹车并重新播放相同的接近过程
在新的运行中尝试更快的接近方式。加速两次,到达 (4, 4),朝东,速度二。然后刹车,接着左转并开火。保持场地、转向规则、射击范围和输入不变。比较如果刹车减少一点速度或两点速度时的预期结果。
| 刹车减量 | 刹车后的格子和速度 | 左转并开火 |
|---|---|---|
| 一 | (5, 4),速度一。 | 向北移动到 (5, 3)。射线沿第五列未命中。 |
| 二 | (4, 4),速度零。 | 原地转向北方。射线在距离二处到达后部。 |
这些是示例规则下的预期状态。七步的较慢路线在原始刹车设置下已经可行。在您的首个构建版本中,如果您希望驾驶员能够从这种更快的接近方式中恢复,请保留较强的刹车。如果您想测试规划接近过程这一决策,请保留较长的制动距离。在比较这两个构建版本时,请使用每次只修改一条游戏规则的指南。
从一个值得做的转向开始
使用一个角落、一个脆弱面和击中后的一个驾驶位置。使用 SEELE 的 AI Game Maker 开始您的车辆战斗原型,并利用步进追踪查看驾驶是否改变了您获得的射击机会。
常见问题
为什么在最高速度时拒绝转向?
这一限制让刹车在转向之前发挥作用。使当前速度可见,并显示转向被拒绝的原因。当玩家刹车至允许的速度时,他们应该能看到下一次转向将到达哪个格子。
第一辆车应使用固定武器还是自由瞄准?
如果您希望转向决定下一次射击的方向,请使用固定的前向武器。自由瞄准适用于不同的挑战,例如在逃跑时射击。如果稍后添加此功能,请检查刹车和朝向是否仍能创造选择。
我如何用平滑驾驶替换网格?
保留网格作为您期望行为的参考,然后在平滑版本中定义您的速度、刹车和转向规则。检查驾驶员是否仍可选择较慢的转弯或较快的接近方式(后者有冲过射击点的风险)。
我什么时候应该添加移动的对手?
当玩家能够区分未命中和装甲击中,并能解释为什么转向被拒绝时,添加一个对手。从一个可预测的移动模式开始。在赋予对手武器或更宽的路线之前,验证它如何改变后部接近方式。


