地图集合阶段:先把多个项目放到一张图上
体育开放世界最早的形态,是把原本分散的项目放到同一张地图上。Ubisoft在2016年推出的《Steep》把雪山做成了一个可以自由探索的开放世界;2021年的《Riders Republic》更进一步,把骑行、滑雪等多种运动放进同一张大地图,玩家可以在不同项目之间切换。
这一阶段解决的是“空间”问题:玩家不再从菜单进入一条条独立赛道,而是在一个连续的世界里自由移动,自己发现坡道和路线。它的局限也比较清楚:地图是连续了,但地图上的人和事基本是固定的。赛事大多由设计师预先放置,NPC的主要作用是作为赛道上的对手或背景人群,比赛结束后世界不会因此改变。
自主NPC阶段:角色开始有自己的判断
近两年,行业里讨论最多的变化来自NPC。NVIDIA ACE推出了“自主游戏角色”的方向,首批案例包括PUBG里的PUBG Ally和inZOI里的Smart Zoi。GDC 2026期间,相关展示强调这些技术已经进入实际游戏集成,而不再只是演示。它们的共同点是让角色具备感知环境、做出计划并行动的能力,而不只是执行固定脚本。
对体育游戏来说,这个方向很有启发,但不能直接照搬。一个队友型NPC能理解指令、配合行动已经很有价值;而一个NPC运动员还需要可靠的运动能力模型:他在这道浪上能不能起乘,在这段冰面上会不会失控,在这个扶手上能完成什么动作。他还需要一段持续的职业历史,包括训练、比赛结果、排名、伤病和宿敌。我们在NPC运动员这篇文章里讨论过这些要素。体育NPC的“自主”,首先体现在他自己决定练什么、参加哪场比赛,以及记住输给过谁。
赛事系统阶段:让比赛自己发生
当NPC有了自己的日程和目标,下一步自然是让赛事也动起来。如果比赛仍然全部写死,再聪明的NPC也只能按时间表出场。我们观察到的方向是,赛事开始由世界状态驱动生成:根据地点设施、时间、天气、玩家水平和附近的NPC,决定今天哪里办什么比赛。
这里的关键词是约束,而不是随机。暴雪天不会生成户外篮球赛,没有破浪点的海岸不会办冲浪赛,夜里没有照明的山路不会安排速降。在im体育的设计里,一场动态赛事从读取世界状态开始,经过设施筛选、规则拼装、NPC邀请,最后把结果写回排名和人物记忆。具体流程可以看动态体育赛事一文。
以一个设计示例来说:周五晚上港口城市天气晴好,河堤球场灯光正常,附近有五个篮球NPC处于空闲状态,其中一位上个月输给过玩家。系统据此生成一场三对三街头赛,并把这位NPC放进报名名单。比赛结束后,胜负进入双方记忆,俱乐部名气随之变化,一周后可能引出一场俱乐部对抗赛。赛事因此不再是一次性的任务,而是后续事件的起点。
还没解决的问题
从地图集合走到自主NPC和动态赛事,方向已经比较清楚,但有几个问题仍然没有成熟答案:
- 算力与成本:让大量NPC持续训练、比赛、旅行,如果全部逐帧模拟,开销会很快失控。常见思路是玩家视野外用粗粒度的统计模拟推进,但粗模拟和精细模拟之间的结果如何对齐,仍需要大量调试。
- 一致性:NPC的记忆、排名和赛事结果分布在多个系统里,任何一处不同步都会让玩家看到矛盾,比如一个已经受伤的NPC出现在报名名单上。
- 可读性:动态生成的比赛需要让玩家理解“为什么是今天、为什么在这里”。如果解释不清,玩家会把合理的变化当成漏洞。
- 公平性:NPC变强必须来自更好的路线、判断和更少失误,而不是隐藏加速或读取玩家输入。一旦玩家怀疑AI在作弊,再好的生成系统也会失去信任。
工具链方面,引擎侧的程序化内容生成正在变得更实用,Unreal Engine 5.7的PCG框架已进入production-ready状态。但通用的程序化工具只负责“生成地形和建筑”,并不理解一段山路适不适合速降、一个广场能不能办街头赛。把运动规则和设施合理性接进生成流程,仍然需要体育游戏团队自己完成。
这些问题决定了体育开放世界下一阶段的节奏。im体育AI研究组的判断是:地图的规模已经不再是主要瓶颈,真正拉开差距的,是NPC能否像运动员一样生活,赛事能否像真实体育圈那样有原因地发生。我们会继续在im体育官网的动态栏目里记录这方面的尝试和踩过的坑。