用户在输入框里写下一句话:“生成一个雪山自行车竞速游戏。”这句话看起来很明确,但如果把它当成一份需求文档,几乎所有关键信息都是空白的:赛道多长?是下坡还是有爬坡?和几个对手比?摔车了怎么办?赢了算什么?AI如果假装这句话已经足够完整,直接吐出一个结果,用户得到的多半是一段白色背景里的弯曲路线和一辆自行车模型,离“游戏”还很远。

在乐鱼体育的生成流程里,这句话会依次经过十个环节:AI解析、运动类型、地图、车辆、路线、比赛规则、AI对手、计时、任务、完整游戏原型。下面逐一说明每一环产出什么、默认值是多少、用户可以在哪里改。文中的数字都是模拟示例和设计参考。

第一步:AI解析,先分清说了什么、没说什么

解析层从句子里提取出三条明确信息:环境是雪山,运动工具是自行车,比赛形式是竞速。同时列出一份“未说明清单”:赛道长度、地形以下坡为主还是混合、单人计时还是同场竞争、对手数量、难度、视角。这一步的产物是一张意图卡片,左边写“你说了的”,右边写“我们会先用默认值的”。用户如果此时补一句“要有爬坡,别太难”,卡片会立刻更新,后面各环节都按新信息生成。

第二步:运动类型,决定用哪一套逻辑

“雪山”加“自行车”加“竞速”,系统默认归类为雪地山地车越野竞速,以下坡为主,夹带少量短爬坡。这个归类很关键,因为它决定了后面用哪一套地图和规则逻辑:公路自行车重视直道速度和跟车,速降重视陡坡和落差,而雪地越野的核心变量是抓地、弯道和刹车距离。用户可以把类型改成“雪地速降”或“雪地公路计时赛”,后续赛道结构会整体换一套。

第三步:地图,先保证能骑,再谈好看

地图层生成一段雪山赛道,默认全长约3.5公里,总落差约300米,平均坡度约8.5%,局部陡坡不超过15%。赛道分成五个赛段:山顶出发平台、林间折返弯、开阔雪坡、结冰的溪上木桥、山脚终点村庄。每段写入不同的路面类型:压实雪抓地较好,松软新雪减速明显,冰面抓地最差。赛道最窄处默认3米,保证至少两车可以并行,最宽处留出超车区。

用户可以改总长度、落差、各赛段顺序,也可以关掉冰面路段。修改后系统会重新检查每个弯道在当前路面下是否骑得过去,这部分检查逻辑和体育地图自动检查里讲的方法一致。

第四步:车辆,参数要和雪地匹配

车辆默认选宽胎雪地车,也就是轮胎明显加宽、在松雪上不容易陷进去的车型。系统给出三个可理解的参数:极速、抓地、刹车距离,并用“雪地中等、冰面偏弱”这样的文字说明它在不同路面上的表现。另一个可选项是钉胎山地车,冰面抓地更好,但在松雪里更容易陷。用户可以换车、调整参数,或者允许玩家在出发前自己选车。

第五步:路线,把地形变成一条比赛线

地图只是地形,路线层要决定车手到底怎么骑。默认设置6个检查点,大致均匀分布在五个赛段里,其中第3和第4检查点之间提供一条捷径:直接从陡峭的松雪坡冲下去,比主路短约200米,但摔车风险明显更高。系统会用寻路算法确认从起点经过所有检查点到终点的路线是连通的,并按车辆参数估算每个弯道的最高通过速度,标出需要提前刹车的位置。用户可以拖动检查点、删掉捷径,或者再加一条。

第六步:比赛规则,补上用户没说的判定

规则层给出的默认值包括:6名车手同场出发,单轮决胜;车手之间开启碰撞;摔车后回到上一个检查点并罚时3秒;漏过检查点视为未完赛,或者可以改成罚时30秒。胜负按冲线顺序判定,冲线时间相同则按最后一个检查点的通过顺序。每一条默认规则都显示在规则卡上,用户可以直接改数字,也可以用一句话修改,比如“摔车不罚时”。

第七步:AI对手,不能是五个一样的人

默认生成5名电脑车手,而不是5个复制品。示例配置是:一名稳健型,从不走捷径但极少摔车;一名激进型,每次都走捷径,摔车概率高;一名下坡快、爬坡慢的速降型;一名节奏均匀的全能型;一名新手型,给玩家一个比较容易超越的目标。整体难度默认中等,设计目标是玩家熟悉赛道后有机会进入前三。用户可以调整整体难度,也可以单独调某一名对手的风格。

第八步:计时,让每一段都有反馈

计时层默认提供总时间、每个检查点的分段时间、与个人最佳成绩的差值,以及一个关门时间。以默认赛道为例,按车辆极速和弯道限速估算,一名熟练车手大约需要5分半到6分钟,关门时间默认设为10分钟,超时即判未完赛。系统会检查关门时间一定大于理论最快用时,防止出现根本不可能完赛的设置。用户可以关闭关门时间,或者打开“幽灵车”回放自己的最佳一圈。

第九步:任务,让同一条赛道值得再骑一次

任务层默认给出三个挑战:完赛进入前三名;3分40秒内通过第4检查点;全程摔车不超过1次。每个任务都要经过可行性检查,比如第二个任务要求的分段时间必须比理论最快分段慢一些,否则就是一个假任务。用户可以删掉任务、改数字,或者自己写一个新的,比如“走捷径并且不摔车”。

第十步:完整游戏原型,拼起来并先跑一遍

最后,系统把以上内容装配成一个可以试玩的原型:出发前的选车界面、倒计时、比赛中的速度和分段显示、摔车和复位、冲线后的成绩页和任务结算。装配完成后,电脑车手会先自动跑几轮,检查有没有卡在某个弯道、有没有检查点无法触发、比赛是不是总能在关门时间内结束。检查通过后,用户拿到的是一个第一版,而不是最终版。

什么时候先问,什么时候先猜

十个环节里并不是每一处空白都适合用默认值直接填上。乐鱼体育的做法是按“猜错的代价”来区分:猜错了改起来很便宜的,比如赛道长度、对手数量、任务内容,就直接给默认值并标注出来;猜错了会让整个方向跑偏的,就在第一步的意图卡片里先问一句。比如同样一句“雪山自行车竞速”,如果用户历史项目里做的都是双人对战小游戏,系统会问“是和电脑对手比,还是和朋友分屏对战?”,因为这会改变规则、视角和对手生成三个环节,事后再改就要重来一遍。

另一个需要先问的情况是输入里出现互相拉扯的信息。比如用户写“生成一个雪山自行车竞速游戏,要非常刺激,适合小学生”,“非常刺激”倾向于陡坡、冰面和高速弯,“适合小学生”则倾向于宽赛道、低速和少摔车。系统不会自作主张选其中一个,而是给出两种折中方向让用户挑:保留速度感但加宽赛道、关闭冰面;或者保留冰面等障碍但降低整体速度。

环节 主要产物默认值(示例) 用户可以改
地图雪山赛道与五个赛段约3.5公里,落差约300米 长度、落差、赛段、路面
车辆 车型与三项参数宽胎雪地车 车型、参数、是否允许选车
路线 检查点与捷径6个检查点,1条捷径 位置、数量、捷径开关
规则 同场人数与判罚 6人,摔车罚时3秒人数、罚时、漏点处理
AI对手 5名不同风格车手中等难度 整体难度、单人风格
计时分段与关门时间 关门10分钟 关门时间、幽灵车
任务 三个挑战 前三、分段、少摔车 删除、修改、新增

这张表也说明了一件事:在乐鱼体育看来,一句话生成真正的价值不在于“一步到位”,而在于把十个原本需要逐项填写的决定先给出一个合理的起点,并把每个起点都摊开。用户接下来可能说“把冰桥去掉”“对手太快了”“加一段夜间赛段”,每次修改都会保存为一个新版本,改坏了随时可以退回上一版。这些修改请求怎样被翻译成规则和参数,可以接着读无代码如何翻译游戏逻辑