举例阐述游戏战斗系统设计的基本规则

开发 架构
设计战斗系统是游戏设计师在他们的职业生涯中经常遇到的工作。许多年前,当我第一次设计战斗系统时,我过得很艰难。不只是因为我很难得到好的设计结果,还因为很难找到解释如何实现有趣的战斗机制的基本规则。

设计战斗系统是游戏设计师在他们的职业生涯中经常遇到的工作。许多年前,当我第一次设计战斗系统时,我过得很艰难。不只是因为我很难得到好的设计结果,还因为很难找到解释如何实现有趣的战斗机制的基本规则。

图1(from gamasutra)

策略计划案例(from gamasutra)

在其他设计师的帮助下,我决定收集和归纳一些关于设计战斗系统的基本规则。本文正是我的研究成果。

当我们设计游戏玩法机制时,我们心里想到的主要目标是,促使玩家做出明智的选择,然后在恰当的时间使用合适的技能。我们希望玩家能够预料到他的下一步行动,并且能在战斗期间想出应对策略。

要达到这个目标有许多方法,但有两条非常重要的原则可以帮助设计对应战斗系统的玩家技能:

1、各种技能都有独特的作用,比如命中特定的区域、晕眩敌人……

2、各种技能在回报和风险之间实现平衡。

技能策略

记住以上两条原则后,以下是出自军事射击类游戏《使命召唤》的一些经典技能的分析案例:

1、各种技能都有独特的作用

设计技能时可以把它当作玩家使用的一种工具。

下图显示的是《使命召唤》中的技能面板,和受各种技能的影响区域:

《使命召唤》案例(from gamasutra)

《使命召唤》案例(from gamasutra)

近攻:覆盖了与玩家接近的前方区域。玩家只能近距离使用,但可以做到一击必杀。

正常射击:这是玩家在任何时候都可以使用的基本攻击。但只有在中等距离时才实现最佳效果。

狙击:能准确击中站在远处的敌人,如爆头。但使用风险大,因为玩家的周边视野受阻。

手榴弹:最适合攻击躲在掩蔽物或角落里的敌人。它对敌人也是一击必杀。但因为它是易消耗品,所以玩家必须盯准时机谨慎使用。

现在想象一下,如果玩家可以立即使用以上所有技能,我们就可以实现有趣的挑战了,也就是“在恰当的时间按下正确的按键。”

但这还不够。正如之前提到的,当我们设计战斗系统时,我们的目标是挑战玩家的聪明才智,和玩家能够在战斗中运用的策略。所以基本上,我们需要的是带有多种选择的系统,但玩家在这种系统中必须根据不同情况评估和做出最佳选择。

2、策略层面:各种技能的风险和回报

各种技能不只是允许玩家以某种方式攻击,还各自具有优势和需要权衡的地方。以下是出自《街头霸王2》的案例。

3

《街头霸王2》案例(from gamasutra)

设计师可以运用的优势和权衡类型有很多种。以下是在动作游戏中最常见的几种:

优势:伤害输出、晕眩、抵抗、伤害持续时间、失明、命值恢复

权衡:消耗点数、冷却、释放时间、恢复时间

即使各种技能在风险和回报之间实现完美的平衡,给玩家提供不同的风险比回报系数总是好的。

例如,玩家角色的某些技能会对敌人产生小伤害,但使用起来并不冒险,因为速度快。在极端相反的情况下,特殊的攻击可能产生强大的伤害,但往往有使用风险,因为释放或恢复时间长。

4

各种战斗系统的风险与回报(from gamasutra)

(各种战斗系统提供了带有风险比回报的不同系数的技能选择。)

技能也是对抗敌人的工具。记住,有时候技能不只是让玩家进攻敌人,也可以用来反攻。所以,如果玩家在错误的时间使用某种技能,他可能会错失命中敌人的时机,更糟的是,他会损失命值,因为他没有打中敌人。这就是为什么玩家进行反攻也有风险。

三个挑战

动作游戏的实时方面使玩家必须频繁地评估情况的某些参数,然后决定使用何种技能。

评估距离

1、为了选择使用的技能,要评估敌人的距离

2、评估玩家角色释放技能后的结果

因为所有事都是实时发生的。

评估时间

1、评估施展技能需要的时间

2、估计技能将持续多少时间

因为所有事都是实时变化的。

明智和预料

1、预料在不同的情形下应该使用的技能组合

2、知道反抗敌人的攻击时应该使用哪种技能

因为所有技能都是玩家的战略工具。

同样地,设计匹配玩家技能的敌人具有许多优势。确实,在游戏中增加敌人的主要目的之一是创造一种有趣的挑战,从而循序渐进地教会玩家游戏的机制。

一个敌人就是一次挑战

当我们设计AI行为时,我们往往试图将AI设计尽量像真人一样聪明。例如,为了创造有沉浸感的体验,我们可能希望将多个敌人编成小队,或执行玩家觉得算是聪明的活动。

然而,我们经常忘记,无论AI敌人表现得多么聪明,当玩家反击敌人时,敌人创造的挑战恰恰最影响游戏体验。这意味着作为设计师,我们必须返回设计挑战的基本原则,准确理解为了让AI提供我们所期望的正确的挑战,什么才是它最重要的属性。

为各种敌人定义明确的挑战。因为敌人的主要作用是进攻玩家,又因为大多数时候玩家可以打死敌人,所以当设计敌人的行为时,通常我要问自己两个重要的问题:

1、玩家可以怎么攻击和消灭敌人?

2、玩家可以怎么防御敌人?

确实,当我们设计所有敌人时,我们通常会创造多种多样的方式来击败各种敌人。以下是出自《蜘蛛侠:蜘蛛人》的两个案例。如图所示:

5

玩家如何防御忍者(from gamasutra)

66

玩家如何防御神风轰炸者(from gamasutra)

如以上二图所示,当玩家防御自己时,忍者和神风轰炸者分别向玩家提供了不同的挑战:

玩家防御忍者的最佳技能是闪避技能。

玩家防御忍者的挑战是时限。

玩家防御神风轰炸者的最佳技能是网射。

玩家防御神风轰炸者的挑战是距离评估。

挑战玩家的技能

作为设计各种敌人的不同挑战的补充,给敌人设计针对各种技能/武器的不同弱点值也是很有趣的。换句话说,对抗各种敌人时,给武器设计不同程度的有效性是很有意义的。

这促使玩家使用他具有的所有技能?这帮助玩家学习各种武器的特性?这还促使玩家思考策略和在恰当的时间使用合适的技能。

以下是出自《光晕》的案例,分析了武器对敌人的效力:

7

7

因为这些属性,在对抗多种类敌人的战斗中,为了实现更大效力,玩家可能会从一种技能切换到另一种。

动作游戏中的常见敌人原型

因为所有游戏都试图将敌人与玩家的技能匹配起来,所以我们常常看到在许多不同的动作游戏中出现了类似的敌人。确实,使用这些常见原型具有许多优点:

1、他们提供了容易理解的挑战

2、他们具有可识别的、不同的形态

3、玩家不需要教程就可能已经知道如何对付这些敌人

以下列举了动作游戏中常见的敌人原型和他们在游戏中常用的功能。

1、防护型敌人:挑战玩家基本攻击的准确度

防护型敌人(from gamasutra)

防护型敌人(from gamasutra)

2、重击型敌人:需要重型攻击才能消灭的敌人

重击型敌人(from gamaustra)

重击型敌人(from gamaustra)

3、狙击手:玩家远程进攻才能消灭的敌人

狙击手(from gamaustra)

狙击手(from gamaustra)

4、投弹手:反抗玩家近攻的敌人

原型的亚类和变体

即使我们想将敌人分类和组织成几种原型,我们也希望引入变体来增加游戏的挑战。

亚类的作用是将玩家逼到战斗系统的极限,不得不采取他已经学会的那一套攻击模式,但设计师为这类敌人增加了新技能。例如,减少进攻机会或挑战玩家的攻击准确度。

当我们设计敌人时,我们可以通过分析各类敌人的优势和复杂属性来创造挑战。

优势属性:允许玩家利用它进攻其他敌人。

复杂属性:让玩家击败它的挑战更复杂。

以下是出自《马里奥》的亚类概念:

初始敌人原型

koopa(from gamasutra)

koopa(from gamasutra)

1、这个敌人只是在一条巡逻路径上朝玩家移动

2、玩家跳到它身上就可以消灭它

3、它缩进壳后可以用来消灭其他敌人

亚类敌人原型

parakoopa(from gamasutra)

parakoopa(from gamasutra)

1、这个敌人朝玩家移动

2、这个亚类的新的复杂属性是:飞在天上

3、龟壳仍然可以用来消灭其他敌人

设计亚类是提高或降低游戏难度的一个好办法,同时不会破坏类别的明确定义原则。

风险和回报管理的案例:

为了引入战斗中的另一层面的策略,我们还使用亚类来增加相同敌人的优势和复杂属性:

高级敌人(from gamasutra)

高级敌人(from gamasutra)

给敌人增加一层防护盾使它更难被消灭,因为玩家得绕着它射击才能伤害到它。但我们还在它的背后留下弱点,使玩家有新的战略机遇。正常情况下,玩家会首先消灭最弱的敌人,以尽快减少存活敌人的总数,但在这个情况下……

14

利用敌人弱点(from gamasutra)

如果玩家企图先杀掉高级敌人,留着其他敌人后面打,这就更有风险了;但同时,玩这可以利用敌人的弱点,更快地消灭全部敌人。这决取于玩家如何平衡风险和他想取得的回报。

结论

本文的要点如下:

*设计良好的战斗系统可以让玩家愉快地玩上数小时。如果战斗系统的构思良好,游戏的战斗类型应该是多种多样的。

*设计出这种战斗系统的好方法是,首先给玩家角色设计非常不同技能。

*玩家技能可以通过许多方式来分化。例如,设计师可以给某些技能增加特殊的属性:晕眩、重生、伤害持续时间、击退……

*设计出的敌人应该与玩家的技能相匹配。各种敌人都必须提供特定的挑战,促使玩家使用某类技能击败敌人。

作为本文的结尾,我个人认为,玩家在电子游戏中能体验到的最吸引人的感觉之一就是,觉得自己很聪明,为自己的聪明感到骄傲。战斗系统就是让玩家体验到这种感觉的强大工具。

#p#

The Fundamental Pillars of a Combat System

by Sébastien Lambottin

Designing a combat system is a recurrent exercise many designers will have to do in their career. When I had to do this for the first time many years ago, I had a hard time. Not only was it hard to obtain good results in my designs, but it was also hard to find information which would explain the overall basic rules experienced combat designers use to achieve interesting combat mechanics.

With the help of other designers, I have decided to gather and formalize what knowledge I can on the fundamental rules in designing a combat system. This article is the result of that exercise.

The main objective we have in mind when we design the gameplay mechanics of a combat system is to push the player to make clever choices and use the right ability at the right time. We want the player to be able to anticipate the next action he’ll perform and also to develop a tactical plan during the combat.

There are many ways to reach this result, but here are two very important characteristics which help to design the player’s abilities for a combat system:

Each ability has a unique function: hit a specific area, stun an enemy…

Each ability is balanced with the reward vs. the risk of using it.

The Tactics of Abilities

With those characteristics in mind, here are some analytical examples of some classical abilities in a military shooter such as Call of Duty:

1. Each ability has a unique function

Another way to think about the design of these abilities is to consider each one as a tool for the player.

The following schematic presents a panel of abilities in Call of Duty, and the area affected by each of them:

Melee attack. Covers an area in front of the player at close range. The player can only use it at close range, but it kills an enemy in one hit.

Normal shot. This is the basic attack the player can use at any time. It is the optimal attack at middle range only.

Iron sight shot. Perfect for performing a very precise shot to an enemy standing far away, e.g. a headshot. Very dangerous to use because of the loss of peripheral vision.

Grenade. Perfect to hit enemies behind a cover or in a corner. It also kills enemies in one hit. But it’s consumable, so the player must be careful to spend it at the right time.
Now imagine if every one of those abilities could be instantly performed by the player. We would achieve an interesting challenge, which is “press the right button at the right time”.

But this isn’t enough. As mentioned earlier, when we design a combat system, we are really aiming to challenge the cleverness of the player, and the tactics he’ll be able to apply during the battle. So basically we want a system with multiple choices, but in which the player has to evaluate and choose the best option for each situation.

2. The tactical layer: the risk versus reward trade-off for each ability

Not only does each ability allow the player to attack a certain way, but they each have advantages and trade-offs. Here’s a detailed example from Street Fighter II.

There are plenty of different types of advantages and trade-offs a designer can create for an ability. Here are some of the most commonly used ones in action games:

Advantages. Damage Output, Stun, Repel, Damage Over Time, Blindness, HP Regeneration

Trade-Offs. Consumable points, Cooldown, Time to Activate, Recovery Time

Even if each of these abilities is perfectly balanced between risk and reward, it is always good to offer the player a panel of abilities with different coefficients of risk vs. reward.

Some abilities of the player character will, for example, do small damage to enemies, but are not risky to use because they are quick. On the extreme opposite end, special attacks can do a lot of damage, but are often very risky to perform, due to startup or recovery times.

Each combat system offers a selection of abilities with different coefficients of risk vs. reward.

An ability is also a tool to counter the enemy. Keep in mind that sometimes abilities not only allow the player to attack enemies, but can also be used to counterattack them. Therefore if the player uses an ability at the wrong time, he could either miss an opportunity to hit an enemy or worse, he’ll lose HP because he could not counter the enemy. This is why performing a counterattack is also part of the risk taken by the player when he performs an ability.

The Three Challenges

The real-time aspect of an action game increases the frequency at which the player has to evaluate some parameters of a situation, and then decide which ability to use.

Evaluate the distance

Evaluate the distance to an enemy in order to choose which ability to perform

Evaluate where your character will end up once the ability is performed

Because everything moves in real time

Evaluate the time

Evaluate the time it takes to perform an ability

Anticipate how much time your ability will last

Because everything evolves in time

Cleverness and anticipation

Anticipate a combination of actions to perform in different situations

Know which ability to use to counter the attack of an enemy

Because each ability is a tactical tool for the player

In parallel, there are many advantages to designing enemies which match the player’s abilities. Indeed, one of the main purposes of adding enemies to a game is to create an interesting challenge to teach the player, little by little, the mechanics of the game.

An Enemy is a Challenge For the Player

When we have to design an AI behavior, a common tendency is to try to make the AI seem as clever as possible and feel human. For example, to create an immersive experience, we might want to have multiple enemies behave as a squad, or perform actions the player would interpret as clever ones.

However, we tend to forget that no matter how clever an AI enemy behaves, the challenge created by an enemy when the player encounters him is what will impact the game experience the most. This means that as designers we need to go back to what is fundamental in designing a challenge, and understand precisely what are the most important properties of an AI to offer the right challenge we are aiming for.

Define a precise challenge for each enemy. Because the main function of an enemy is to attack the player, and because most of the time the player can destroy the enemies, there are usually two important questions I ask myself when designing the behavior of an enemy:

How can the player attack and destroy an enemy?

How can the player defend himself against an enemy?

Indeed, when we design an entire panel of enemies, we usually try to create very diverse ways to beat each of the enemies.Here are two examples from Spider-Man: Shattered Dimensions, to illustrate this point:

As shown by those schematics, the ninja and the kamikaze bomber each offer a different challenge to the player when he has to defend himself against them:

The best ability of the player to defend himself against the Ninja is the dodge ability.

The challenge of the player to defend himself against the Ninja is a timing challenge.

The best ability of the player to defend himself against the Kamikaze bomber is the web shot.

The challenge of the player to defend himself against the Kamikaze bomber is a distance evaluation challenge.

Challenge the Player’s Abilities

As a complement to designing a different challenge for each enemy, it’s also interesting to design the enemies with different values of weakness for each ability/weapon. In other words, it is interesting to design each weapon to be more or less efficient against each enemy.

- This pushes the player to use all the abilities he has?- This helps the player to learn the specifics of each weapon?- This also pushes the player to be tactical and to use the right ability at the right time.

To illustrate this point, here’s an example analysis of weapon efficiency on the enemies in Halo:

Because of these properties, during a combat against multiple types of enemies the player might switch from one ability to another in order to be more efficient in battle.

Common enemy archetypes in action games

Since everyone is attempting to have enemies that match with the player’s abilities, we often see the same kinds of enemies in many different action games. Indeed, there are a lot of advantages to use these common archetypes:

they offer an easily understandable challenge

they have a recognizable and dissimilar shape

the player may already have an idea of how to deal with them without the need of a tutorial.

Here’s a list of the the most common archetypes in action games, with the functionality they usually have in the game.

Shield enemy: challenge the precision of the basic attack

Heavy enemy: require a heavy attack to destroy

Sniper: ranged attack to hit

Bomber: close combat attack to counter

Archetype subclasses and variations

Even though we want to classify and organize enemies into a few archetypes, we also want to introduce variety and increase the challenge throughout the game.

The role of subclasses is to push the player to the limit of the combat system by playing with the same rules he has already learned but adding new abilities to the enemy which, for example, reduce windows of opportunity, or challenge the player on his precision.

When we design an enemy we can consider the challenge by analyzing the advantageous and complicating properties of each enemies.

The advantageous properties of an enemy will let the player use him to damage other enemies.

The complicating properties of an enemy will make the challenge to beat him more complex.

Here’s an example in a Mario game of the sub-classes concept:

Original enemy archetype

This enemy simply moves toward the player on a patrol path

The player has to jump on the enemy to eliminate him

The resultant turtle shell can be used to kill other enemies

Sub-class enemy archetype

This enemy moves toward the player

New complicating property of this sub-class: this enemy moves in the air

The turtle shell can (again) be used to kill the enemies

Designing subclasses is a very good way to increase or decrease the difficulty of a class without breaking the defining rules of a class.

Risk and reward management example:

To introduce another layer of strategy in the battle we can also use subclasses to add both advantageous and complicating properties on a same enemy.

Here’s an advanced enemy with a shield and a weak point in his back which make him explode if the player hits the weak point several times:

Adding a shield to an enemy makes it harder to kill, because the player has to shoot around it to damage it. But we’ve also added a weak point in the back to give a new tactical opportunity to the player. Normally, a player would try to kill the easiest enemy first in order to reduce the number of living enemies as fast as possible, but in this case…

It’s riskier for the player to try to kill the advanced enemy while the other enemies are still alive; at the same time, the player can take advantage of the weak point and kill the entire group faster. It’s up to him to manage the risk and the amount of reward he wants to achieve.

Conclusion

Here are the main points to keep in mind from this article:

A combat system well designed is a system which can entertain a player for hours. If the combat system is well conceived, the game will feature a large variety of combat.

A good way to obtain a such combat system is first to design very different abilities for the player’s character.

The player’s abilities can be differentiated in many ways. For example, designers can add special attributes to some of them: stun, regen, damage over time, repel…

The second point to keep in mind is to design enemies that match the player’s abilities. Each enemy has to offer a specific challenge which will push the player to use a certain type of ability to defeat him.

To finish this article, from my point of view, one of the most engaging feelings a player can experience with a video game is to feel smart and proud of his or her cleverness. And a combat system is a great tool to let the player experience this feeling.(source:gamasutra)

原文链接:http://gamerboom.com/archives/59080

责任编辑:林师授 来源: 游戏邦
相关推荐

2013-07-10 14:18:24

HTML5手游移动游戏开发手游开发

2012-03-02 13:53:15

水果忍者手机游戏UI

2010-01-08 15:30:15

JSON格式举例

2015-09-17 09:50:43

2010-03-17 17:54:51

Python语法

2010-06-29 15:58:26

Linux SNMP协

2010-01-04 16:02:32

ADO.NET计数器

2009-12-02 16:47:42

Linux操作系统

2010-03-02 16:34:06

Android平台

2011-12-27 20:12:56

平板

2013-07-16 10:09:15

2009-12-14 14:07:58

VS 2008新功能

2011-03-14 15:46:35

Iptables语法

2020-11-09 16:54:41

半导体全球化产业

2009-12-14 13:14:57

2012-03-02 09:59:06

HTML 5

2009-12-22 15:12:33

Linux扩展文件系统

2011-05-25 13:40:23

手机游戏游戏开发

2010-10-09 09:13:06

2023-11-15 13:12:16

点赞
收藏

51CTO技术栈公众号