如何使用 AI 制作战术射击游戏

围绕两个位置、一名观察员和一个两拍开场,构建一个虚构的机器人标记遭遇战。

Seele Editorial Team更新于 2026年11月11日

要使用 AI 制作战术射击游戏,请从一个静止或移动会改变结果的情境开始。给玩家一个受庇护的位置、一个视野清晰的地方,以及一个能告诉他们何时移动的队友。使用一个简短的遭遇战来检查位置和信息的配合情况,然后再添加更多目标。

在虚构的 Relay Test Bay 中,玩家使用可穿戴游戏控制器来标记训练机器人。一个不透明的隔板阻挡了机器人对其中一个地板垫的视线。第二个地板垫让玩家拥有通往目标的清晰视线。一名友好的观察员可以从被遮挡的地板垫读取目标的护盾状态。

一个带衬垫的隔板将受庇护的位置与相邻的标记地板垫隔开
从隔板后方显示下一个位置,以便玩家决定何时更换地板垫。

为每个地板垫赋予明确的目的

使用第一人称视角和两个固定的地板垫。玩家选择“移动”来切换地板垫。在动作之间,模拟会等待。这使得玩家能够阅读观察员的信息并比较决策,而不依赖于反应速度。

位置玩家可以做什么目标可以做什么
掩护垫阅读观察员信息、等待或移动。不透明的隔板会阻挡标记脉冲。它无法穿过隔板进行标记。
视野垫看到目标、发送脉冲或移回掩护。在它的“扫描”拍中,它可以标记暴露的玩家。

当玩家在掩护垫时,观察员只读取当前拍的信息。读取是免费的。在“扫描”期间显示“护盾开启”,在两个开放拍中的任意一个期间显示“护盾关闭”。当动作推进拍数时清除提示,以便之前的读取不会看起来是当前的。

一个小型观察员机器人在带衬垫的隔板旁显示护盾符号
保持观察员的提示在掩护位置可见,以便玩家在离开地板垫之前可以读取当前状态。

在推进拍数之前解决动作

从第一拍的掩护垫开始。目标重复 Scan → Open A → Open B。在“移动”时,先切换地板垫。在“等待”时,保持当前地板垫。如果任一动作在“扫描”期间结束于视野垫,目标将标记玩家,回合结束。否则,推进拍数。

从掩护垫发出的脉冲会被隔板阻挡。显示阻挡提示并保持拍数不变。从视野垫发出的脉冲,如果在任一开放拍期间,将标记机器人并获胜。从视野垫在“扫描”期间发出的脉冲会被目标的护盾阻挡。随后的扫描将标记暴露的玩家并结束回合。将阻挡脉冲的反馈与最终结果分开,以便玩家能分辨发生了什么。

一个手腕控制器面对一个带有发光确认环的训练机器人
在机器人上显示标记响应,以便玩家能区分成功的脉冲和被隔板或护盾阻挡的脉冲。

追踪一次胜利和两种时机错误的移动方式

开放窗口足够长,可以进行两个动作。如果玩家在 Open A 时离开掩护垫,他们可以在 Open B 时发送脉冲。如果他们在 Open B 时离开,下一拍是 Scan。此时他们仍然可以移回掩护垫,因为扫描检查的是结果地板垫。

从重启开始的路径动作序列预期结果
过早移动在第 1 拍从掩护垫移动,Scan。目标在暴露的地板垫上标记玩家。
使用两个开放拍在第 1 拍等待,在第 2 拍移动,在第 3 拍脉冲。脉冲在窗口关闭前标记目标。
过晚移动在第 1 和 2 拍等待,在第 3 拍移动,在第 4 拍脉冲。护盾阻挡了脉冲。扫描标记了玩家。
过晚移动后撤退使用相同的过晚路径通过第 3 拍,然后在第 4 拍移回。当玩家返回掩护垫后,隔板阻挡了扫描。

这些是原型规则下的预期结果。如果撤退失败,请检查扫描是否在地板垫改变之前运行。如果过早移动存活,请检查游戏是否在解决扫描之前推进到了 Open A。

将遭遇战及其状态变化提供给 AI

SEELE 支持从书面想法开始游戏项目。在构建请求中提供两个位置、循环、可用动作以及它们解决顺序。在检查时机时,使用简单的地板垫和可见的指示器。

创建一个名为 Relay Test Bay 的原创第一人称浏览器原型。
使用虚构的机器人测试竞技场、手腕标记控制器、不透明隔板
以及两个名为 Cover Pad 和 View Pad 的固定位置。从 Cover 开始。
隔板在 Cover 处阻挡目标和玩家互相标记。
在 View 处,玩家对非人类训练机器人有清晰的视线。
从第 1 拍开始。重复 Scan、Open A 和 Open B。
提供垫子之间的 Move、Wait、Pulse、Read Spotter 和 Restart。
Read Spotter 在 Cover 处工作,显示当前护盾状态且不消耗
拍数。Scan 读取 Shield up。两个开放拍均读取 Shield open。
在 Move 或 Wait 时,在检查 Scan 之前解决结果地板垫。
如果玩家在 Scan 期间位于 View,显示标记失败。
从 Cover 发出的脉冲显示 divider blocked 并保持拍数不变。
从 View 在开放拍发出的脉冲标记机器人并获胜。
从 View 在 Scan 期间发出的脉冲显示 shield blocked,然后暴露的
玩家被标记并失败。保持这两个反馈事件不同。
仅在幸存的已接受动作后推进,并在推进时清除过期的观察员
读取。一次解决一个动作。
Restart 恢复 Cover、第 1 拍、未读取的观察员和无结果状态。
使用简单的原创资产,不使用现实世界武器。

首先检查 Move 是否切换地板垫,以及隔板是否阻挡两个方向的标记。然后添加时钟并测试表格中的四条路径。如果输出不同,报告拍数、起始地板垫、动作和结果地板垫。从简报到可玩的测试指南 展示了如何使用观察到的差异来缩小修订请求的范围。

尝试一个显示剩余窗口的观察员提示

在第一个版本中,“Shield open”意味着任一开放拍。假设玩家需要知道是否还有时间移动和标记。将观察员的文本改为在 Open A 时显示“Two open beats left”,在 Open B 时显示“One open beat left”。在两条消息中都计算当前拍数。保持遭遇战规则不变。

比较在 Cover 处每个开放拍的读取。询问哪个读取为两个动作都留出了时间。然后重新运行相同的过晚移动和撤退检查。更清晰的提示应该改变玩家在移动前能判断的内容,同时保持每个动作的后果相同。

常见问题

为什么在第一个构建中使用两个固定的地板垫?

两个地板垫使可见性规则易于检查。一个是受保护的,但会阻挡玩家的脉冲,而另一个允许双方互动。一旦你能在隔板两侧复现行为,之后可以添加自由移动。

阅读队友的提示应该消耗拍数吗?

如果你想测试信息是否有助于玩家规划,请保持读取免费。花时间询问会引入第二个决策。在这个版本中,消息适用于当前拍数,并在时钟推进时清除。

为什么给阻挡的脉冲和标记不同的反馈?

它们告诉玩家不同的规则。阻挡的脉冲解释了为什么目标没有注册动作。标记解释了为什么回合结束。将它们分开使得能够诊断从 Cover 失败的脉冲和在 View 处的致命错误。

我如何保持早期遭遇战测试的可重复性?

固定起始地板垫和时钟,使用一个目标,并在每次更改后重放相同的输入。在每次动作后检查预期结果,而不仅仅是观察最终屏幕。然后,当你准备好扩展测试时,故意尝试不同的起始拍数。

从一个关于何时移动的决策开始

选择一个玩家可以坚守的位置,以及另一个提供有用视野的位置。在添加更多移动或目标之前,写下提示和动作的确切顺序。将遭遇战作为起始简报带到 SEELE AI FPS 游戏生成器,然后检查当玩家过早、准时或过晚移动时会发生什么。

SEELE AI

将这份指南变成可玩的作品。

先明确创作需求,再在 Seele AI 工作区中迭代。

开始创作