上海卡贝信息技术有限公司

 

 

 

 

 

在RPG游戏平衡中运用风险分析(二)

从设计到零售阶段的模型使用

在每个发展阶段,模型的好处都会发生变化。在设计或预 alpha 阶段,模型的使用实现了两个目标:

  1. 它使战斗、技能或制作系统的更改变得容易,它使运行模拟以将更改与以前的设计进行比较变得容易,并定量地显示这些更改的效果。
  2. @Risk 生成的图形输出在会议期间提供了极好的焦点。当不同的团队成员在开发关键系统(例如玩家职业和 NPC 怪物)时,保持相同的参考点很重要。共享当前系统设计的图形表示的能力是无价的。

在开发的 alpha 和 beta 阶段,模型产生的理论结果可以与实际玩家数据进行比较。诸如玩家的主要统计数据、按级别分配的技能点和随机生成的战利品分布等变量分布可以被细化,以便模型的输入因素是合适的。此外,在此开发阶段,模型中关于玩家倾向的假设将被验证或无效。通过将模型与游戏中的实际结果进行比较,可以改进模型并使其更加准确。

在测试零售候选人时,模型生成的结果可以与游戏中的日志进行比较。最大的好处是关于一直存在的玩家抱怨过强的类。通过将游戏日志与模拟模型结果进行比较,设计人员可以明确说明角色类是否按预期运行。当游戏中的结果与模拟结果不同时,模型可以帮助发现代码中的错误。

谁设计模型?

团队有两种合理的方式来分配建模游戏交互的任务。第一种选择是让游戏开发团队中的各种系统设计师创建自己的模型。第二种选择是让一名团队成员负责为整个游戏开发综合模型。在后一种情况下,模型将基于各种系统设计人员提供的信息。这两种选择各有利弊:

创建自己的模型对系统设计师的好处/缺点:
+ 建模者对所建模的系统有全面的了解
+ 能够随意更改和调整输入以观察结果
+ 更好地理解输入变量如何改变曲线
- 设计师可能不太熟悉 Excel 和概率分布
- 并行和相互关联的系统可能不包含在同一模型
中 - 需要设计主管来审查来自众多来源的输出

分配一个人为所有系统建模的好处/缺点:
+ 它生成一个包含所有游戏系统的内聚模型
+ 系统设计人员能够同时查看所有系统的输出
+ 影响整个游戏的变化的能力进行分析来自一个地方
+ 设计师只需与一个人交谈即可审查并行系统设计
- 建模师和设计师之间需要进行全面和开放的沟通
- 建模师最终可能会收到比系统设计师所能接受的更多的输入
- 只有一个人亲密了解游戏系统是如何建模的

由首席设计师决定团队的结构。由于两种设置都有其积极和消极的方面,设计负责人应选择最适合团队领导风格和企业文化的设置。

计算机模型的局限性

不幸的是,使用电子表格模型和@Risk 插件并不能保证游戏的平衡。玩家交互模型只是一种可以预测真实游戏结果的方法。由设计人员分析仿真结果并确定它们是否可以接受。如前所述,模拟的结果仅与生成它的模型一样好。电子表格模型的两个主要缺点是:

  1. 建模者对玩家倾向和游戏模式的熟悉程度
  2. 在模型中包含不正确的输入和假设

在第一个缺点的情况下,设计模型的人必须非常熟悉所设计的系统,以及玩家利用角色技能和能力的方式。模型试图预测给定场景的结果。如果一个玩家或一组玩家以与开发人员最初预期完全不同的方式接近这种情况,则该模型将无效。

Mythic 的Dark Age of Camelot就是一个很好的例子。传统的玩家与环境 (PvE) 练级组由坦克、法师和治疗者组成。(“练级组”是一个术语,适用于任何数量的玩家,他们以杀死怪物为目标积极玩耍以获得经验,从而提高他们的角色等级。)传统组的进步率可以很容易地建模和确定如果有人期望玩家在 PvE 战斗中使用与此类似的组。然而,魔法师职业的受欢迎程度以及他们的宠物牵引技术显着改变了升级动态。

(在卡米洛特的黑暗时代,Hibernia领域内的魔法师职业是宠物职业。玩家角色能够召唤一个可以由玩家松散控制的NPC宠物。附魔师拥有一条名为“Damage Shield (Focus)”的法术线。“专注护盾”可以在魔法师的宠物身上施放和维持,前提是魔法师不会移动、受到伤害或尝试施放任何其他法术。当集中护盾对附魔师的宠物有效时,任何伤害宠物的 PC 或 NPC 都会受到集中护盾的伤害。此外,焦点护盾会在对 NPC 怪物造成伤害时产生大量的“农业”。“Agro”是用来描述NPC怪物对不同玩家的相对攻击性的术语。一般来说,当对 NPC 造成伤害以及对 PC 施放治疗法术时,农业值就会产生并增加。游戏的 AI 通常会迫使 NPC 攻击具有最大农业价值的玩家角色。在魔法师和他们的“宠物拉”和焦点护盾的情况下,魔法师的 NPC 宠物不断保持农业。)

与传统的由几个可以吸收伤害并产生农业的近战角色组成的群体不同(从而保持 NPC 怪物对近战角色的关注),典型的群体组成发生了变化,包括更多的法师。鉴于法师在 PvE 战斗中造成了大部分伤害,因此怪物的死亡速度明显快于预期,玩家等级提升的速度也有所提高。原始模型不太可能包含这样的模拟。因此,任何基于“传统”团队模型设计的遭遇战都无效,因为附魔师的练级方法完全不同。

当玩家倾向发生这样的变化时,应该修改模型以适应新的游戏模式。通过这种方式,可以对游戏系统进行调整,以确保保持最初的设计目标。

在输入不正确的情况下,这可能在几种情况下发生。将变量插入模型时,建模者会尝试为普通玩家生成结果。如果建模者的“平均”概念不准确,则模型生成的结果将无效。因此,获取 alpha 和 beta 阶段的真实玩家角色数据并将该数据与模型的输入分布进行比较非常重要。如果真实数据与模型的输入不同,则应修改这些输入并重新运行模拟以检查预期结果的任何变化。

实用模型设计

在开发 RPG 系统时,模型应该与游戏系统本身一样复杂。不管系统的复杂性如何,开发和平衡游戏系统的基本原理都是一样的。为了演示可以在游戏中使用风险分析原则的方法,我设计了一个示例。这是一个极其简单的战斗系统,将被建模然后平衡。将回顾两个示例场景,第一个场景作为模型的基本案例。

该系统的基本情况是单手剑/盾牌混战与双手持剑混战。目标是对系统进行建模并确定如何调整系统,以便在发生这种决斗时,任何一个角色都有相同的获胜机会。第二个场景让两种近战类型(来自场景一)中的每一个都对抗同级别的 NPC 怪物。目标是平衡两个玩家角色与怪物的关系,而不改变他们的设计模板。总体目标是设计角色,使他们有 75% 的机会赢得与 NPC 怪物的战斗。

由于本文的空间限制,示例战斗系统异常简单。然而,使用影响“命中”掷骰、阵地攻击、变速武器和致命一击的多种因素的更复杂的系统将不再难以平衡。

设计参数

在这个基本系统中,使用了以下常数、变量和方程。

常数:

  • 人物等级
  • 角色技能
  • 护甲系数
  • 基础武器伤害
  • 基础武器差异

变量:

  • 主要数据(力量、体质、敏捷、敏捷)

方程

  • 二级统计(生命值)
  • 伤害吸收
  • 闪避/格挡/招架/命中百分比
  • 平均武器伤害
  • 平均武器差异

人物等级在模型中任意定义为50。分配给两个角色的技能仅限于他们的主要武器类型和主要防御机制。护甲系数设置为 200。最初,单手近战的武器伤害和方差分别设置为 24.3 和 1.5。对于双手近战武器,伤害和方差分别设置为 31.3 和 1.5。

在基本字符模板中,唯一定义的变量是主要字符统计信息。采用了一个系统,其中四个主要统计数据中的每一个都具有 90 分的基值。玩家可以在四个统计数据之间分配额外的 60 分,最多 25 分分配给任何一个统计数据。为了模拟玩家的选择,使用了截断的卡方函数。平均值设置为每项技能 15 分,中位数为 14.86,众数为 14.04。分布在每个统计量的低端被截断 1 个点,在每个统计量的高端被截断 25 个点。为了确保在四个主要统计数据中准确分配了 60 个点,仅对三个数据进行了分配。Quickness 被保留为一个简单的求和函数,将总统计点支出均衡为 60。

模拟中使用的方程式主要与角色的主要统计数据和技能有关。生命值是基于角色等级和体质的函数。伤害吸收与护甲系数(一个常数)加上角色的可变体质量直接相关。

“命中”滚动计算如下。闪避与角色的速度直接相关,因此平均存在 10.5% 的闪避几率。格挡几率与80%的护盾技能相关,而招架几率设置为基础技能等级的60%。闪避、格挡和招架的几率加在一起,然后从 1.0 中减去,以确定每个角色受到伤害的百分比几率。

最后两个方程处理武器伤害和伤害变化。开发了一个主要的统计修改器,它会影响武器伤害和变化。修改器基于力量和灵巧的均方根。反过来,实际的武器伤害是主要统计修正值、武器的基础伤害以及角色的武器技能的函数。武器差异仅与基础差异和主要统计修正有关。

在对战斗轮进行建模时,使用了 0-1 之间的均匀分布。这提供了确定命中是否成功所需的信息。还使用均匀分布来确定每轮造成的伤害。该分布介于从平均武器伤害中减去的武器平均方差和添加到平均武器伤害中的武器平均方差之间。IF 语句用于跟踪每轮中的命中/未命中率,从而确定是否受到了伤害。最后,每轮跟踪每个角色的生命值。

由于武器伤害和方差是平衡这个模型时唯一调整的因素,它们的初始值是通过将武器伤害乘以闪避几率和吸收系数,然后除以角色的生命值来确定的。战斗决议所需的平均战斗轮数为 30。


图 3:不一致的结果观察 2000 次迭代。点击图片可放大。

分析结果

最初,对模型进行了 2,000 次迭代,但将样本限制在一个如此小的范围内,这在模拟结果中显示出不可接受的差异。在低迭代试验中观察到的变化如图 3 所示。为了使用 Monte Carlo 采样产生更一致和自然的结果,需要 5,000-10,000 次迭代。因此,所有进一步的模拟都运行了 10,000 次迭代。


图 4a:单手近战与双手近战的预期结果。点击图片可放大。


图 4b:单手近战与双手近战预期结果(特写)。点击图片可放大。.

通过增加每次模拟执行的迭代次数,概率曲线的变化消失了,模拟结果返回了一致的值。单手与双手近战试验的结果如图 4a 和图 4b 所示。这两个数字中显示的信息代表了任何一个近战在任何给定回合中赢得战斗的百分比。如图 4a 所示,在第 22 轮之前,任何一个角色都几乎不可能死亡。第二十三回合,单手近战有5%的死亡几率,而两手近战则保持在0%。在第 24 轮中,单手近战的死亡几率提高到 10%,而双手近战的死亡几率为 5%。在第 30 轮中,达到 50% 的 50% 标记。两条线相交的点就是平衡点。从这一点上,获得任何给定战斗的预期结果。如果两条线的交汇点出现在60%,那么双手混战有60%的几率获胜并给予战斗,而单手混战的成功几率是40%。

观察两条曲线之间表现出的相似性很重要。在涉及单手武器和双手武器近战的基本情况下,两条曲线的一般斜率是另一方的负值。这种趋势并非总是如此。通过调整模型的输入,可以改变斜率。图 5 显示了这方面的一个示例。在该图中,两条线的交汇点在第 30 轮中继续出现在 50% 处。但是,两条曲线的斜率不再是另一条的负值。双手近战武器在第 40 回合有 100% 的几率击杀单手近战武器。然而,单手近战武器在死亡前只能达到 75% 的最大值。在规模的低端,观察到单手近战武器有机会更早地杀死双手近战武器。然而,这两者并不平衡。计算第 15 轮和第 40 轮之间两条曲线下的面积,单手和双手近战武器的面积分别为 9.4 和 8.5。这表明单手近战武器更有可能在单人战斗中获胜。


图 5:不等斜率导致的不等式。点击图片可放大。

在为不同类型的职业设计技能和能力时,修改坡度的能力以及因此获胜的总体概率是一个优势。在将近战角色与法师、弓箭手或其他远程角色进行比较时,可以调整变量和方程式以平衡距离与伤害以及不同的吸收。




返回技术文章首页

引用原文地址:
http://www.gamasutra.com/features/20030611/carpenter_02.shtml

CALL or EMAIL

有关@RISK软件的更多信息,请联系我们的销售代表

400-621-1085
021-50391087

或点击下面的图片,在线提交购买咨询信息

留言询价

 

 

 

   
©2022  上海卡贝信息技术有限公司   All rights reserved.