如何使用 AI 制作弹幕射击游戏

规划一款俯视角射击游戏,包含两排弹道、可见的碰撞核心以及穿过每个间隙的路径。

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

从一排来袭射击和一个玩家可达的间隙开始你的弹幕射击游戏。在固定的俯视视角中,玩家应能找到自己的飞船,看到哪些通道即将被填满,并在该行到达前移动到开口处。使用第二波不同间隙的齐射,以查看相同的警告是否仍能提供一条通路。

下方的虚构机库提供了五个通道、一个敌对发射器和两次反击机会。你可以在纸上计算出安全路线,然后将这些位置与 AI 协助你构建的原型进行对比。相同的设置提供了一种调查看似错误命中的方法。

在俯瞰的机库中,一名侦察兵面对明亮的弹道流,两侧留有开阔空间
将飞船、来袭射击和空旷地板保持在同一画面中,以便玩家判断移动方向。

将飞船船体与其判定框分离

绘制一个紧凑的机库,包含五个平行通道,在调试视图中编号为 1 到 5。飞船从底部附近的水平防御线上的通道 1 开始。它可以选择停留,或每个 tick 向左或向右移动一个通道。将发射器放置在通道上方,让每一排弹道朝防御线行进。使用细轮廓线警告某通道即将被填满,然后使用实心形状表示活动射击。玩家应能判断攻击是即将发生还是已经到达飞船。

为飞船设置一个小的圆形碰撞核心,并显示在船体中心。机翼可以伸出其外部。这允许玩家使用一致的标记来判断接触,即使他们切换到具有不同轮廓的飞船。

对于此模型,将通道中心间距设为一单位。使用 0.18 单位的核心半径和 0.32 的弹道半径。当两个圆的中心距离最多为 0.50 单位时,它们会接触或重叠。在防御线上对齐中心以测试边界。水平分离距离为 0.45 时应记录为命中,而分离距离为 0.55 时应通过。保持可见弹道接近其碰撞大小,以便测试与玩家所见相符。

侦察兵明亮的中心标记位于一排即将到达的琥珀色弹道正下方
侦察兵与一发射击对齐。为避免接触,在该行到达防御线之前将中心标记移开。

穿过两个间隙并反击两次

重置后,时钟从 tick 0 开始。在第一个版本中,发射器在 tick 1 发出警告,第一排弹道在 tick 3 结束时到达。该行在通道 1、2、3 和 5 中有射击。飞船可以使用三次移动到达通道 4。在 tick 4,该行消失,飞船可以发射一发反击射击。

第二次警告从 tick 5 开始。其弹道行在 tick 7 结束时到达防御线,并留出通道 2 为空。从通道 4,飞船需要两次移动到达通道 2,并可以在那里等待最后一个 tick。在 tick 8 再次开火以清空房间。击中核心的弹道将结束尝试。

Tick输入移动后的通道预期结果
0等待1基线开始时没有警告
1右2第一次警告可见
2右3飞船在撞击前穿过未来的危险通道
3右4第一排弹道到达防御线并避开核心
4开火4对发射器的第一次确认命中
5左3第二次警告可见
6左2飞船到达第二个间隙
7等待2第二排弹道到达防御线并避开核心
8开火2第二次确认命中清空房间

在检查弹道行到达之前应用移动,然后处理任何反击射击。这种顺序允许 tick 3 上的移动生效。如果你先检查碰撞,表格中的确切输入会在弹道行到达的那一刻将飞船留在通道 3。

让 AI 构建房间和步进控制

SEELE 的太空射击游戏创建器提供了描述飞船、来袭火力和躲避空间的起点。给它一次遭遇和一种逐步通过的方法,以便你在调整节奏之前验证底层规则。将第一次构建视为需要与工作表一起检查的内容。

构建一个固定的俯视浏览器射击游戏房间。使用间距为一单位的五个通道,底部防御线上的一个玩家飞船,以及上方的一个敌方发射器。重置时从 tick 0、通道 1 和零命中开始。

每个 tick 允许停留、向左或向右,最多移动一个相邻通道。
显示未来危险通道的细轮廓线和活动射击的实心形状。
在 tick 1 开始时对通道 1、2、3 和 5 发出警告。第一排弹道
在 tick 3 结束时到达防御线。在 tick 5 开始时对通道 1、3、4 和 5 发出警告。第二排弹道在 tick 7 到达。

在到达碰撞之前应用移动。使用玩家核心半径
为 0.18 单位,弹道半径为 0.32 单位。距离
0.50 或更少计为接触。与核心接触将结束运行。
显示独立于飞船机翼的可见核心标记。

在 tick 4 接受一次新的开火按键,在 tick 8 接受一次。每次接受的
射击增加一次命中。长按按键不计为新按键,且
窗口外的射击不增加命中。两次命中清空房间。

添加一个用于每次一个 tick 的调试步进控制,以及一种
在 0.45 和 0.55 单位偏移处检查碰撞的方法。在调试视图中显示 tick、通道、
提示状态和确认命中。重启清除
状态并恢复飞船、发射器、时钟和开火窗口。

在运行完整追踪之前,确认飞船无法在一个 tick 内从通道 1 跳到通道 3。然后从通道 1 运行第一波齐射,并在 tick 1 故意等待。经过两次向右移动后,飞船应位于通道 3 并受到一次命中。单独检查近距离接触偏移。这两项检查有助于你将时序问题与碰撞问题区分开来。

对于输入处理,在 tick 3 按下开火键并保持到 tick 4。命中计数应保持为零。在 tick 4 用新的按键重复以检查是否计为一次。在命中或获胜后,重启并确保时钟显示 tick 0 且两波齐射再次可用。关于分步检查 AI 游戏的指南 可以帮助你将有问题的检查转化为有针对性的修改请求。

给第一次警告多一个 tick

在基线中,玩家在看到警告后刚好有足够的时间到达第一个间隙。为了允许一个 tick 的犹豫,将该警告移至 tick 0 的开始。Tick 0 在两种布局中都存在。保持弹道发射和到达时间、占用通道、移动速度、第二次警告和反击窗口固定。

在黑暗的机库中,细轮廓线通道标记了侦察兵旁边的即将到来的攻击
让轮廓线在射击出现之前显示。未标记的地板为玩家提供了移动躲避的方式。
第一个提示看到后等待一个 tick到达前的向右移动次数Tick 3 时的通道
Tick 1 开始在 tick 1 等待Tick 2 和 33,命中
Tick 0 开始在 tick 0 等待Tick 1、2 和 34,安全

工作表为较早的警告提供了一个额外的 tick 移动时间。在你自己的构建中,检查首次玩家是否看到轮廓线并在决定方向之前识别出空通道。如果玩家注意到警告但选择了标记的通道,请在再次延长之前调整提示传达的内容。

保持第一个模式足够小以便诊断

在添加更快的射击或另一个发射器之前,构建两波齐射。观察玩家到达时的通道,检查命中是否与核心标记一致,并在更改规则时使用记录的输入序列。使用 SEELE 的太空射击游戏创建器开始你的弹幕原型,并将你的第一个房间与两波齐射追踪进行对比。

常见问题

击中机翼的射击应计为命中吗?

在此原型中,使用标记的中心作为碰撞核心。如果射击擦过机翼外部但未击中该核心,则可以穿过。保持标记可见,并使用近距离接触检查来捕捉动画与伤害规则之间的不匹配。

如果射击动画与游戏时钟不一致怎么办?

使用游戏时钟决定何时检查碰撞,然后将动画同步到该事件。逐步通过到达过程,并将弹道行位置与记录的 tick 进行比较。如果发生伤害时弹道行看起来仍然遥远,则需要修正其时序或显示。

如何在不依赖颜色的情况下标记安全通道?

让间隙没有警告轮廓线,并给占用通道一个明显的虚线形状。使活动射击具有可见边缘的实心形状。以灰度及其正常播放大小检查场景,以查看间隙和弹道行是否仍可识别。

何时应添加对角线或移动模式?

首先验证玩家能否读取弹道行、移动到间隙并识别命中发生的原因。然后在一次短暂的遭遇中引入一个新的运动规则。保留旧的弹道行,以便你可以判断是新方向还是基本控制导致了问题。

SEELE AI

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

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

开始创作