今天在GDC大会上,一场关于开放世界设计的演讲引起了广泛关注。它直指一个困扰无数开发者的核心难题:在给予玩家高度自由的同时,如何确保他们能获得一段精心编排、体验流畅的旅程?Sucker Punch工作室(《对马岛之魂》制作组)的首席玩法程序员兼设计师塞缪尔・霍利,分享了他们在新作《羊蹄山之魂》中采用的解决方案——一套名为“事件卡组”的系统。
这套系统旨在像一位优秀的地下城主一样,在幕后引导玩家的冒险。游戏取得了商业与口碑的双丰收,这在一定程度上验证了其设计理论的含金量。更重要的是,这次分享充满了实践细节与设计哲学,对任何正在或计划制作开放世界游戏的开发者而言,都极具参考价值。
开放世界的经典矛盾:自由与引导
《羊蹄山之魂》讲述主角笃回到故乡虾夷岛,向“羊蹄六人帮”复仇的故事。游戏世界从开局就几乎完全开放,充满了并行的选择、隐藏的角落与非线性的叙事。开发者的初衷,是希望玩家能自由漫步,按自己的节奏和方向探索。

但绝对的“玩家自由”与“精心编排的叙事旅程”天然存在冲突。漫无目的的探索可能导致玩家迷路、被海量内容压垮,甚至与主角的情感故事彻底脱节。更棘手的是,游戏将所有成长内容(如新武器、生命值提升)都分散绑定在特定的世界地点中。

这带来了一个两难境地:奖励探索行为,却也让玩家极易错过关键内容。没找到新武器的玩家会觉得战斗重复枯燥;没推进主线的玩家则会与故事脱节。而前作《对马岛之魂》采用的线性区域解锁和密集视觉引导(如指引金鸟),在更庞大、更非线性的新作中已不再适用,反而容易让地图变成一张令人望而生畏的“巨型待办清单”。

核心理念:引入“地下城主”——事件卡组
面对这个矛盾,团队从桌面角色扮演游戏《龙与地下城》中汲取了灵感。一位优秀的DM(地下城主)能兼顾玩家的绝对自由与一段易于上手、精心编排的旅程。受此启发,团队为《羊蹄山之魂》设计了一位专属的“地下城主”,即 “事件卡组” 系统。
你可以将它理解为一套隐藏在游戏表层之下的卡牌。当玩家在开放世界中探索、与各种内容交互时,游戏会从牌组中抽牌,以此决定接下来要发生的事:生成什么样的动态遭遇、NPC该说什么、悬赏板刷新什么内容、敌人是否可审问以及交代什么情报。

每一张卡牌代表一类游戏体验:
- 主线剧情卡:关于复仇核心任务的内容。
- 支线故事卡:关于边境普通人生活的故事。
- 机制体验卡:如武器解锁、生命值提升。
- 其他类型卡:包括经济互动、情感联结玩法,甚至是为了营造“孤寂感”的情绪目标卡。
设计师的工作,是为所有重要的体验设计一套“理想的流转节奏”。事件卡组就是一个按此节奏排列的线性序列,像一个剧本:先经历A,再体验B,接着是C。虽然玩家不一定严格按此执行,但如果他们这样做了,将会获得开发者预期的优质体验。
系统运作:发牌员、抽卡与事件交付
卡组本身是抽象的,它需要通过与玩家的交互来“发牌”。游戏世界中遍布着被称为 “发牌员” 的交互点。
- 谁是发牌员? 酒馆里的浪人、悬赏公告板、跪地求饶的敌人、玩家的露营地,都可以是发牌员。
- 如何工作? 当玩家与发牌员交互时,它会暗中从事件卡组抽一张牌,并根据抽到的卡牌类型,决定自己的行为。
- 什么是事件? 发牌员具体的言行(如一段对话、一张悬赏令)就是一个 “事件” 。事件可以是引导型的(将玩家引向附近的具体内容),也可以是自包含的完整内容。

黄金秘诀一:你需要大量且多样化的发牌员。 玩家的游玩风格千差万别。只有通过多样化的发牌员(对话、战斗、露营、查看布告等),才能确保事件卡组能触达所有玩家,避免系统因玩家不接触特定交互而停滞。
一个简化示例:四张卡牌的旅程
假设一个简化卡组顺序为:武器解锁 → 生命提升 → 主线剧情 → 孤寂。
- 玩家接近悬赏板(发牌员),它抽到“武器解锁卡”,刷新一张关于“炸弹工匠”的悬赏令。
- 玩家与镇里浪人(发牌员)对话,他抽到“生命提升卡”,告诉玩家附近温泉的位置。
- 玩家击败一群敌人,最后一人求饶。审问系统(发牌员)抽到“主线剧情卡”,敌人交代匪帮头目“鬼”的位置。
- 卡组只剩“孤寂卡”。此后一段时间内,任何发牌员都不会交付新事件,世界变得空旷,营造孤独氛围。直到玩家长时间未与人交互,孤寂卡被移除,卡组重置,循环开始。

黄金秘诀二:必须为“休整”预留卡位。 “孤寂卡”代表放空、休整的体验。如果卡组不停运转,持续轰炸玩家新内容,会让他们不堪重负。有计划地留白,对于塑造游戏氛围和调节节奏至关重要。

动态调整:对玩家做出反应
卡组顺序并非一成不变。它会根据玩家的实时状态动态调整,这正体现了其“地下城主”般的适应性。
- 紧急卡牌:如果玩家的生命值落后于当前进度预期,“生命提升卡”会变成紧急卡牌,跳到牌组最前面,确保玩家下一个交互就能获得该信息。
- 跳过卡牌:如果抽到“生命提升卡”时,玩家已经知道一处温泉位置,系统可能会选择跳过这张卡。
黄金秘诀三:告知信息是有成本的。 告诉玩家一件事,会剥夺其自主发现的乐趣,并增加其心理清单负担。每件事通常只有一次有效的告知机会。因此,必须权衡成本与收益,只在玩家最可能在意的时候传递信息,避免信息过载导致玩家无视。

深度拆解:发牌员如何选择具体事件?
当一个发牌员抽到“主线剧情卡”后,它如何确定具体交付哪段关于反派头目的线索?这依赖于一个名为 “事件总表” 的庞大配置文件。
总表定义了游戏中的所有事件,以及交付它们所需的全部细节(如对话文件、触发条件)。系统会根据抽到的卡牌类型,在总表中筛选可用事件,并通常按总表中的线性顺序选择第一个符合条件的。
以“审问”发牌员为例:
- 战斗尾声,系统抽卡(如主线剧情卡)。
- 在事件总表中筛选“主线剧情”类事件。
- 选择列表靠前的有效事件(例如“狐线索1号”)。
- 因为事件包含“审问交付”内容,故触发审问环节,播放指定对话。

再以“露营地”发牌员为例,它展示了系统的灵活性:
玩家露营时,营地抽卡(如武器解锁卡)。它会在事件总表中寻找对应事件,并过滤掉不符合当前情境(如区域不符)的交付方式。最终,它可能生成一个访客角色(如松前藩士兵),来到篝火边告诉玩家附近“苦无工匠”的信息。
黄金秘诀四:你需要可靠、可重复、不依赖特定地点的发牌员。 玩家可能永远不去某家酒馆,但几乎总会露营。露营地这种高频、位置无关的交互点,是确保事件卡组在玩家远离内容中心时仍能持续运转的关键。
叙事沉浸与成本控制:第五条黄金秘诀
为了让同一线索(如“狐的位置”)能由不同角色(浪人、武士、敌人)自然传达,且不破坏沉浸感,团队为重要事件编写了多套对话,并匹配不同的配音演员。
黄金秘诀五:叙事语境与一致的语音表现至关重要。 如果为了节省成本,让所有角色说同一套台词,或让主角问出已知道答案的问题,系统会显得非常机械和虚假,令玩家出戏。维护叙事完整性和角色一致性,是让系统性对话被玩家接受的基础。

然而,成本是现实的挑战。台词总量 = 事件数量 × 每个事件的对话版本数 × 每段对话台词行数 × 配音演员数量。团队采取了一种混合策略:
- 高成本方案(少量核心事件):用于主线关键线索。例如,每个事件准备2段对话(每段5句),由6位配音演员录制,以适配不同角色。成本高,但灵活性和叙事融入度最佳。
- 低成本方案(大量一般事件):用于大多数事件。每个事件1段对话,1-2个配音演员。通过技巧掩盖局限性,例如让露营地访客、环境NPC等发牌员“按需生成”对应角色。
通过将大部分内容分配给低成本方案,并严格控制高成本方案的数量,团队在预算内实现了内容体量与叙事深度的平衡。
优势与缺陷:事件卡组系统全貌
主要优势
- 解放设计,保障体验:让开发者敢于设计更非线性的开放世界,同时确保玩家不易迷路或与主线脱节。
- 设计师编写“输出”:设计师可以直接规划理想的玩家体验节奏(输出),而非盲目调整黑盒系统的输入参数。
- 赋予玩家真实选择权:当玩家相信内容会主动找上门时,他们会更跟随好奇心探索。系统通过跳过已告知的同类内容,确保玩家面对的总是有意义的不同选项(如温泉 vs 神话故事),而非简单的重复。
- 缓解开放世界疲劳:卡组自带的节奏能自然地在不同体验类型(战斗、剧情、探索、休整)间轮换,避免玩家因连续进行同类活动而感到腻烦。
- 增强世界真实感与联结感:模糊了主线、支线与环境叙事的边界,让路边的敌人或旅人都能成为世界故事的讲述者,使主角的旅程更具沉浸感。

现存缺陷
- 不擅长高演出剧情:适合交付规则化的碎片信息,难以承载大型、高情绪张力的剧情演出。
- 开发成本与协调难度高:需要大量发牌员、多团队(设计、叙事、音频、动画)紧密协作。
- 引导而非强制:擅长告诉玩家信息,但无法保证玩家一定会采取行动。在《羊蹄山之魂》中,线索与玩家执行的相关性约为70-75%。
- 易过度依赖对话:对话成本高,且如果播放过于频繁,玩家可能厌倦或跳过。未来应开发更多不依赖对话(如悬赏令、字条)的发牌员。

总结:五条黄金设计秘诀
- 发牌员多样性:需要大量且多样化的发牌员以覆盖不同玩家风格。
- 规划休整时间:“停机时间”本身也是一种体验,必须在卡组中为其明确留出位置(如孤寂卡)。
- 权衡告知成本:告知玩家信息需付出代价(剥夺探索感、增加清单压力),只在收益最大时进行。
- 确保发牌员可靠性:需要不依赖特定地点、可重复触发的发牌员(如露营)来保持卡组运转。
- 坚守叙事一致性:叙事语境和一致的语音表演,是让系统性对话显得自然、可信、不令人生厌的基石。

事件卡组系统为开放世界设计提供了一个强有力的工具,它巧妙地在“玩家自由”与“开发者引导”之间找到了平衡点。虽然存在挑战,但其设计思想对追求更高层次沉浸感和玩家自主权的游戏项目,具有深刻的借鉴意义。或许在未来的游戏中,我们能看到这一理念被进一步发展和优化。
对游戏系统设计、开放世界架构等话题有更多兴趣?欢迎在 云栈社区 与其他开发者继续深入探讨。