每日新闻、开发者博客和来自 Game Developer 的精彩故事直接送到您的收件箱

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs or learn how to Submit Your Own Blog Post
精选博客 | 这篇由社区撰写的文章突显了游戏行业最精彩的内容。在游戏开发者博客上阅读更多类似文章,或了解如何提交您自己的博客文章
Three Rules to Balance By
平衡三法则
Game balancing and tuning are some of the most difficult parts of game design. Thankfully(for me anyway), they are also some of the most enjoyable and rewarding parts. I consistently rely on 3 rules to help me navigate the minefields.
游戏平衡与调整是游戏设计中最具挑战性的部分。幸运的是(至少对我来说),它们也是最有趣和最有回报的部分。我始终依赖三条规则来帮助我穿越这些雷区。

Game balancing and tuning are some of the most difficult parts of game design. Thankfully(for me anyway), they are also some of the most enjoyable and rewarding parts. That's because a great game is made in the balancing and tuning. Bad tuning will wreck any great design. That's power!
游戏平衡与调整是游戏设计中最具挑战性的部分之一。幸运的是(至少对我来说),它们也是最有趣和最有成就感的部分。这是因为一款伟大的游戏是在平衡与调整中诞生的。糟糕的调整会毁掉任何优秀的设计。这就是力量!
I consistently rely on 3 rules to help me navigate the minefields.
我始终依赖三条规则来帮助我穿越雷区。
All three of these rules are a bit sneaky in context of the article title. That's because they are not so much rules to balance by as rules to design the systems in the first place. After all, the best way to help yourself balance is to avoid designing systems that are virtually unbalanceable!
这三条规则在文章标题的背景下有些狡猾。这是因为它们与其说是用来平衡的规则,不如说是用来设计系统的规则。毕竟,帮助自己平衡的最好方法就是避免设计出几乎无法平衡的系统!
Rule 1: Systems Should be as Simple as Possible to Satisfy Design Goals
规则 1:系统应尽可能简单以满足设计目标
I am a big fan of complexity. Some of my favorite games of all time have very complex relationships, and I love playing grognard-style wargames on and off the computer. As a designer, though, complexity is The Enemy! Ok, perhaps that's not entirely fair. But in my experience, a central tenet of successful systems design is to only add as much complexity as necessary.
我是复杂性的忠实粉丝。 我一直以来最喜欢的游戏中,有些拥有非常复杂的关系,而我喜欢在电脑内外玩老派风格的战争游戏。 然而,作为设计师,复杂性是敌人!好吧,也许这么说并不完全公平。但在我的经验中,成功系统设计的核心原则之一是只添加必要的复杂性。
Of course, "as necessary" is a broad term, and that's intentional. The rule is not "never design complex systems." Sometimes complex systems are just what the doctor ordered. However, a lot of times, a simple approach gets the job done--that is, satisifies your design intent.
当然,“必要”是一个宽泛的术语,这是有意为之的。 规则并不是“永远不要设计复杂的系统”。 有时复杂的系统正是医生所需要的。 然而,很多时候,一个简单的方案就能完成任务——也就是说,满足你的设计意图。
When intially designing systems, it's pretty easy to add in many different layers and mechanics. It hasn't really cost you anything yet, and often you are guessing about gameplay features and mechanics that you might need later in development.
在最初设计系统时,添加许多不同的层次和机制是相当容易的。 这还没有真正让你付出任何代价,而且你通常是在猜测开发后期可能需要的游戏功能和机制。
Down the line, though (during balancing), having unduly complex systems in place tend to have differential orders of magnitude effects on tuning complexity. One way to save yourself some considerable pain is to be militant about keeping things as simple as possible early on. The old adage "K.I.S.S." (Keep it Simple, Stupid!) is as true in game design as anything else.
然而,在平衡过程中,过于复杂的系统往往会带来不同数量级的影响,增加调整的复杂性。为了避免不必要的麻烦,尽早保持系统尽可能简单是非常重要的。古老的格言“K.I.S.S.”(保持简单,笨蛋!)在游戏设计中和其他任何领域一样适用。
I find a layered approach generally works best: implement your core mechanics, then playtest. If you find you need another "layer" of mechanics, add that, then playtest. Repeat until the game is fun.
我发现分层的方法通常效果最好:先实现核心机制,然后进行测试。如果你发现需要增加一层机制,那就添加,然后再测试。重复这个过程,直到游戏变得有趣。
Sometimes, there is no way around having considerable complexity. In those cases, Rules 2 and 3 can help slant the playing field in your favor.
有时,复杂性是不可避免的。在这种情况下,规则 2 和 3 可以帮助你在比赛中占据优势。
Rule 2: Sytems Should have as Few Independent Dials as Possible
规则 2:系统应尽可能减少独立仪表的数量
Tuneable game mechanics can be conceptualized as a dial. Sword damage not powerful enough? Twist the dial right to boost it up. Treasure rewards too rich? Twist the dial left to drop them down.
可调节的游戏机制可以被概念化为一个旋钮。剑的伤害不够强?向右旋转旋钮以增强它。宝藏奖励过于丰厚?向左旋转旋钮以降低它们。
The more tuneable mechanics you have in your game, the more dials you have to monitor and adjust.
你的游戏中有越多可调的机制,你需要监控和调整的参数就越多。
Dials can be categorized into two classes: independent and dependent. For you math and engineery-types, this is the same as independent and dependent variables.
表盘可分为两类:独立型和从属型。对于数学和工程领域的专业人士来说,这类似于自变量和因变量。
Independent dials: these are mechanics that are not directly affected by changes in othe rmechanics. For example, the amount of XP awarded for killing a Sewer Rats (your game *does* have Sewer Rats, right?) is not changed if I tune how much damage a sword hit does.
独立机制:这些机制不受其他机制变化直接影响。例如,击杀下水道老鼠(你的游戏确实有下水道老鼠,对吧?)所获得的 XP 数量,不会因为我调整剑击伤害量而改变。
XP Dial-> determines that Sewer Rats = 50 XP
XP 拨盘-> 确定下水道老鼠 = 50 XP
Change in Sword Damage dial-> does not affect Sewer Rats XP. Nor does anything else.
剑伤害拨盘的变化-> 不会影响下水道老鼠的 XP。其他任何因素也不会。
Dependent dials: these are mechanics that can be directly affected by changes in other mechanics/dials. For example, if I specify final jump height as a % of Running Speed, then I have created a dependent dial. Changing the Running Speed will in essence change the Jump Height. There is no way to absolutely and independently set jump height. For example:
依赖拨盘:这些是可能直接受到其他机制/拨盘变化影响的机制。例如,如果我将最终跳跃高度指定为跑步速度的百分比,那么我就创建了一个依赖拨盘。改变跑步速度本质上会改变跳跃高度。无法绝对且独立地设置跳跃高度。例如:
Jump Height dial -> specifies jump height as a % of running speed (e.g. 50%)
跳跃高度调节 -> 以跑步速度的百分比指定跳跃高度(例如 50%)Change in Jump Height dial -> changes final jump height
跳跃高度调节变化 -> 改变最终跳跃高度Change in Running Speed dial -> changes final jump height
跑步速度调节变化 -> 改变最终跳跃高度Thus, adjusting jump height can be done in more than one way.
因此,调整跳跃高度可以通过多种方式实现。There is no way to set jump height in a way that is guaranteed not to be affected by something else.
无法以一种确保不受其他因素影响的方式来设定跳跃高度。
Another example would be specifying "RAGE" damage as an amplification bonus to the current weapon damage.
另一个例子是将“愤怒”伤害指定为当前武器伤害的放大加成。
Change in RAGE dial -> changes final RAGE damage
愤怒刻度盘的变化 -> 改变最终的愤怒伤害Change in Current Weapon Damage -> changes final RAGE damage
当前武器伤害的变化 -> 改变最终的愤怒伤害There is no way to set RAGE damage absolutely and independently
无法绝对且独立地设置 RAGE 伤害
Dependent dials are a GOOD THING, as Martha would say.
正如玛莎所说,依赖性刻度盘是一件好事。
Think of your game systems. Do you want them to look like a 747 cockpit? With a zillion different dials and buttons and switches, all of which must be monitored and any one of which could sink the whole plane if toggled at the wrong time? Ideally, no.
想想你的游戏系统。你希望它们看起来像 747 驾驶舱吗?有无数不同的刻度盘、按钮和开关,所有这些都必须被监控,任何一个在错误的时间操作都可能导致整个飞机坠毁?理想情况下,不希望如此。
You want as few dials as possible, so you can carefully and rigorously monitor them and tweak them to your heart's content. Less students in the class means more attention per student.
你希望控制面板越少越好,这样你可以仔细严格地监控它们,随心所欲地进行调整。班级里的学生越少,每个学生得到的关注就越多。
The advantage of dependent dials is that they save you from having to always change every dial. Want to increase Jump Height and also want to increase Running Speed? Turns out you can just change the Running Speed dial and get both things accomplished. However, you still have control of just jumping if you need to adjust it without affecting running speed. But often you will want to do both at once, so twisting only one dial saves some time and is easier to remember.
依赖性表盘的优势在于它们让你无需每次都调整所有表盘。想要提高跳跃高度并同时增加奔跑速度?结果发现只需调整奔跑速度表盘即可同时实现这两个目标。然而,你仍可单独控制跳跃,若需调整而不影响奔跑速度。但通常你会希望两者同时进行,因此只需转动一个表盘既节省时间又便于记忆。
In practice, you want to be adjusting depenedent dials directly only about 1/2 or 1/4 as much as you are adjusting independent dials. Those savings add up over time! Once you find the right relationship between Rage amplification and core weapon damage, you leave that dial set and just tweak core weapon damage to match the other game mechanics.
实际上,您希望直接调整依赖性刻度盘的幅度仅为独立刻度盘调整幅度的 1/2 或 1/4。这些节省随着时间的推移会累积起来!一旦您找到了愤怒放大与核心武器伤害之间的正确关系,您就可以将该刻度盘固定设置,并仅通过调整核心武器伤害来匹配其他游戏机制。
This analogy still holds up with our 747 visual model. If you examine a cockpit like that carefully, you will see that often there are dials/switches that are linked (mechanically or at least visually). Most of the time, all four engine throttles should be moved together, so there is a hard link that facilitates that. The pilots can decouple the controls if necessary (and sometimes it is), but most of the time one linked adjustment is sufficient.
这个类比在我们的 747 视觉模型中仍然成立。如果您仔细观察这样的驾驶舱,您会发现通常有许多刻度盘/开关是相互关联的(无论是机械上还是至少视觉上)。大多数情况下,四个引擎的油门应该一起移动,因此有一个硬链接来促进这一点。飞行员可以在必要时解耦控制(有时确实需要),但大多数情况下一个链接的调整就足够了。
Sound Engineer panels scare the living bejeezus out of me. Talk about a lot of dials! But ever notice that hard linkages exist between many of the sliders? Once the engineer gets the relative relationships correct, she can link them and then just push one single slider to get all 27 to move at the same time.
音响工程师的面板让我吓得魂飞魄散。看看那一大堆刻度盘!但您是否注意到许多滑块之间存在硬链接?一旦工程师正确设置了相对关系,她就可以将它们链接起来,然后只需推动一个滑块,就能使所有 27 个滑块同时移动。
As with Rule 1, I am not suggesting "don't add independent dials." Just only put in as many as you need. "You'll know it when you need it."
与规则 1 类似,我并不是说“不要添加独立表盘”。只需放入你需要的数量即可。“当你需要时,你会知道的。”
Rule 3: Relationships (Links) Between the Dials Should be as Straightforward as Possible
规则 3:表盘之间的关系(链接)应尽可能直接明了
When you have linked dials, there are a lot of ways you can link them. Here, the mechanical analogy starts to break down a bit, but essentially you can link dials with all sorts of different ways: hard links, springs, rubber bands, etc. When you twist this dial 2 notches to the right, what happens to the dependent dial? Does it twist 2 notches right as well, or 1 notch, or 5 notches to the left?
当你连接刻度盘时,有很多方法可以连接它们。这里,机械类比开始有点不适用了,但本质上你可以用各种不同的方式连接刻度盘:硬链接、弹簧、橡皮筋等。当你将这个刻度盘向右旋转两格时,依赖的刻度盘会发生什么?它会同样向右旋转两格,还是一格,或者向左旋转五格?
In other words, if two mechanics are related, *how* are they related?
换句话说,如果两个机械部件相关联,它们是如何关联的?
Here again, simplicity is key. Unless you have a compelling reason, make it simple and straightforward. In rough order of simplicity:
再次强调,简单是关键。除非你有充分的理由,否则保持简单直接。大致按简单程度排序:
Rigid link: changing the independent dial results in exactly the same amount of change to the dependent dial
刚性链接:改变独立表盘会导致依赖表盘产生完全相同的变化量Linear link: changing the independent dial results in a proportional change in the dependent dial, but the proportionality isn't a direct 1-for-1 link
线性链接:改变独立表盘会导致依赖表盘产生成比例的变化,但比例不是直接的 1 对 1 关系Nonlinear link: changing the independent dials can result in variable changes to the dependent dial. For example, changing the independent dial from 1-2 may result in a change of 5 in the dependent dial, but changing the independent dial from 2-3 may result in a change of only 3.
非线性链接:改变独立表盘可能会导致依赖表盘产生不同的变化。例如,将独立表盘从 1 改为 2 可能导致依赖表盘变化 5,但将独立表盘从 2 改为 3 可能只会导致依赖表盘变化 3。
Rigid link example: 刚性链接示例:
RAGE damage = weapon damage + 5
RAGE 伤害 = 武器伤害 + 5
Changing weapon damage by +2 points results in a RAGE damage increase of + 2 pts
将武器伤害增加 2 点会导致 RAGE 伤害增加 2 点
Linear link example: 线性链接示例:
RAGE damage = weapon damage * 1.50
愤怒伤害 = 武器伤害 * 1.50
Changing weapon damage by +10% results in a change to RAGE damage of +10%
武器伤害增加 10%会导致愤怒伤害增加 10%
Non-linear link example: 非线性关联示例:
RAGE damage = weapon damage * 1.50 BUT there is a minimum of 5 pts of damage and a max cap at 100 pts
愤怒伤害 = 武器伤害 * 1.50 但最低伤害为 5 点,最高上限为 100 点
Changing weapon damage MIGHT increase Rage damage, but it also might not! (if the damage is already capped)
改变武器伤害可能会增加愤怒伤害,但也可能不会!(如果伤害已经达到上限)
Weird Mental Models 奇怪的心理模型
Your mileage may vary, but the control panel conceptual model resonates with me. And the constant strive to attain simplicity and eloquency is one that almost always pays off.
您的体验可能有所不同,但控制面板的概念模型对我很有共鸣。不断追求简洁和优雅的努力几乎总是有回报的。
In reality, I sometimes throw in way too many dials, and violate the rules from time to time. But I typically regret it, and when I am chin deep in balancing dials, less is usually more.
实际上,我有时会加入太多旋钮,并不时违反规则。但我通常会后悔,当我深陷于调整旋钮的平衡时,通常少即是多。
Read more about: 了解更多关于:
Featured Blogs 精选博客About the Author 关于作者
每日新闻、开发者博客和来自 Game Developer 的精彩故事直接送到您的收件箱
You May Also Like 您可能还喜欢