如何使用 AI 制作类似《SnowRunner》的游戏

规划一条双路线运输任务,并检查燃料边界如何影响货物结果。

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

围绕一个具有明确成本的路线选择,构建一款原创越野运输游戏。在虚构的 Alder Pass,一辆卡车必须将一箱货物从仓库运往山间驿站。碎石路有三段短路段。沼泽捷径有两段昂贵路段。

让卡车以五个燃料单位启动,并在添加地形效果前追踪每条路线。玩家可以沿道路完成运输,而捷径会导致卡车在半路停滞,货物仍留在车上。

将完成一次运输作为目标

一辆虚构的实用型卡车,载着货物行驶在穿越山地景观的两条路线附近
Alder Pass 是一个原创的路线规划概念。下表定义了虚构路段的成本。

Focus Entertainment 将 SnowRunner 描述为一种涉及重型货物和复杂地形的越野体验。一个小型原创项目可以采用规划运输这一宽泛概念,然后定义自己的地图、载具和规则。

卡车从 Depot 出发,携带一个密封货箱和五个燃料单位。Hill Station 是目的地。每条路线都是固定顺序的有向边序列。本例中的数值是抽象的游戏成本,并非真实车辆的燃料估算。

定义路线和移动规则

路线按顺序排列的边成本完成时的总成本
碎石路1, 1, 24 燃料
沼泽捷径3, 36 燃料
一辆载有货物的原创实用型卡车停在泥泞的路线上
当进度停止时,保持板条箱和卡车当前位置可见。

在进入一条边之前,将其成本与当前燃料量进行比较。如果燃料量至少等于成本,则一次性扣除全部成本并前进到下一个节点。如果燃料量小于成本,则停留在当前节点,并显示所需燃料量和剩余燃料量。切勿扣除无法负担的边的一部分成本,也切勿让燃料量变为负数。

当卡车带着板条箱到达山站时,记录一次交付并锁定移动。如果路线提前停止,请让板条箱留在卡车上。为每个移动操作分配一个 ID,并忽略具有相同 ID 的重复事件,以确保一条边不会被计费两次。

比较两条基准路线

在每次尝试前重置到仓库。以下序列记录了开始时以及实际进入每条边后的燃料量。

路线燃料追踪结果
碎石路5 → 4 → 3 → 1带着板条箱到达并记录一次交付。
沼泽捷径5 → 2在中间节点停止。下一条边需要 3,因此板条箱仍留在车上。
一个虚构山站接收平台上的板条箱
在车站显示已交付的板条箱。使用路线日志获取确切的燃料值。

该捷径的边数较少,但在此测试场景中需要消耗更多燃料。一个实用的界面应在出发前显示每条边的成本,并保留行程日志,展示所选路线、当前节点、剩余燃料及货物状态。

更改初始燃料并重放

重置后仅将初始燃料从 5 更改为 6。此时捷径将沿 6 → 3 → 0 行进并成功交付货箱。由于规则允许燃料量等于边成本,因此最后一条边是可行的。

直接检查边界情况。如果卡车在成本为 3 的边之前恰好以 3 燃料停下,说明比较逻辑可能使用了严格的“大于”测试。如果首次基线捷径尝试导致燃料变为负数,请检查是否在扣除前测试了可负担性。

向 AI 提供完整的交付测试场景

请求单步边控制功能和可读性良好的日志。此提示词为构建者提供了足够的细节,以复现两条路线及边界情况。

构建一款名为 Alder Pass 的原创浏览器越野交付游戏。
从 Depot 出发,初始燃料为 5,卡车上有一个密封货箱,交付次数为零。
目的地是 Hill Station。允许玩家在出发前选择一条固定路线。
Gravel Road 有三条有向边,按顺序消耗 1、1 和 2 燃料。
Marsh Shortcut 有两条有向边,按顺序消耗 3 和 3 燃料。
在进入一条边之前,要求燃料量至少等于其成本。
进入时,一次性扣除全部成本并移动到下一个节点。
如果某条边不可负担,则停留在当前节点,保留货箱,并显示所需燃料和剩余燃料。
携带货箱到达目的地时,记录一次交付并锁定移动。
使用唯一的移动操作 ID。忽略已处理的 ID,且不重复扣除燃料。
基线 Road 轨迹:5, 4, 3, 1;一次交付。
基线 Shortcut 轨迹:5, 2;在中间节点停止,货箱在车上,零次交付。
仅将初始燃料更改为 6 时,Shortcut 轨迹为 6, 3, 0 并完成交付。
重置恢复至 Depot,5 燃料,一个货箱,零次交付及操作 ID。
显示路线成本、所选路线、节点、货物、燃料以及按时间顺序排列的日志。
使用原创的 Alder Pass 美术风格和支持键盘操作的控件。

从重置状态重新运行所有三个案例。此外,发送两次相同的移动 ID,并确认第二次事件不会改变节点和燃料。有关将测试夹具适配到其他场景,请参阅首次构建指南。

在 SEELE AI Game Maker 中构建 Alder Pass,并在添加地形动画或额外货物之前检查路线日志。

常见问题

我的第一款送货游戏应该有多少条路线?

从两条通往同一目的地的路线和一件货物开始。为每条路线提供明确的成本列表,以便玩家在出发前进行比较。小地图使得检查被困状态和成功交付变得容易。

游戏应如何处理无法负担的路段?

在移动之前,将当前燃料与完整路段成本进行比较。如果卡车无法支付,让它留在当前节点并携带货物,同时显示所需金额和剩余金额。在此测试夹具中,燃料永远不应变为负数。

燃料完全相等时是否允许移动?

是的,根据所述的 Alder Pass 规则。燃料为 3 的卡车可以进入成本为 3 的边,并以零燃料到达。请明确测试该边界,因为使用严格的“大于”比较会错误地阻止在最终边上的有效交付。

我如何测试移动是否被应用了两次?

为每个移动事件分配一个唯一 ID,并记住哪些 ID 已被处理。提交同一事件两次,并确认第二次提交既不会改变燃料也不会改变位置。重置应清除记住的 ID 以及初始状态的其他部分。

SEELE AI

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

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

开始创作