游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

游戏开发者可从设计漏洞中发现重要功能

发布时间:2012-04-11 18:17:56 Tags:,,,

作者:Glen Cooney

漏洞和功能

在软件开发历史中,漏洞一直都被视为不好的东西,就像体育运动中任何试图违规的行为都会引起人们的反感。但是我认为,游戏之间存在差异,有时候漏洞也能够产生积极的作用。

我记忆最深刻的游戏是《魔兽争霸3:混乱之治》。这是首款我从测试版开始体验的游戏,因而了解它的整个成长和演变过程,亲历各种补丁和更新。在这个过程中,玩家发现了许多聪明且有趣的利用游戏机制的方法。

在搜索记忆中的这些利用漏洞行为时,我发现它们多数似乎已从互联网上消失,被人们所遗忘。没有视频,没有文章,甚至没有维基条目阐述这些早期的利用漏洞行为。我感觉自己似乎成为了唯一还记得这些秘密的人,我将其与各位分享,或许能够使这些知识获得永生。

《混乱之治》的光辉岁月

尽管《魔兽争霸3》是款令人称赞的游戏,却有着艰难的开端。在其诞生之后的前数年里,开发团队为其制作了大量的补丁,范围包括从小范围的平衡修改到游戏主系统的彻底更改。

游戏修改中最戏剧性的一幕当属扩展包《冰封王座》的发布,开发团队对游戏做了许多大的改变,包括重新制作整个护甲系统和英雄的可视范围。

在开发团队润色游戏的过程中,玩家找到了许多精妙的游戏玩法,因而浮现出许多相当怪异的战略。以下便是部分当初较为著名的战略。

注:不幸的是,当时还没有youtube,所以我无法用视频来呈现这些战术。

森林行走

不死族收集资源的方式与其他种族不同。多数种族的建筑建造单位和资源采集单位是相同的,但是不死族使用的是两种不同的单位:侍僧负责采集金币和召唤建筑(游戏邦注:与《星际争霸》中神族的探测相同),食尸鬼负责采集木材,同时也是1阶战斗单位。单个食尸鬼并不会特别强大,但是食尸鬼群很可怕,尤其是存在恐惧魔王或死亡骑士光环时(游戏邦注:前者的光环使食尸鬼能够偷取生命值,后者的光环可以加快其生命值回复速度和移动速度)。你可以将他们视为《魔兽争霸3》中的跳虫。

ZERG_RUSH(from gamasutra)

ZERG_RUSH(from gamasutra)

值得注意的是,对于资源采集单位,当他们采集木材或金币后,单位碰撞就被关闭(即他们可以直接穿过其他单位)。这种设计是为了防止工人挡住其他单位的路,但有个聪明的韩国玩家(游戏邦注:此为传言,未得到证实)发现,你可以利用这点在战斗中取得优势。

假设你使用不死族对抗人类,对手向你发动袭击,他们的背后有树木。你可以选中自己的食尸鬼,然后点击他们背后的树木,命令食尸鬼去采集木材。这就会让你的食尸鬼直接穿过对手的军队走向树木。当他们包围了对手的英雄角色时,你就可以命令他们攻击对手,强迫对手使用昂贵的回城卷轴将军队传送回基地,否则只能坐以待毙。英雄死亡会对战局产生巨大的影响,这使得肆无忌惮的不死族玩家能够轻易地获得胜利。

尽管这个漏洞随后被补丁修正,但是仍然以某种形式存在于《星际争霸2》中。跳虫是游戏中的小型单位,也是移动最快的单位之一。技能娴熟的虫族玩家可以命令跳虫群穿过敌军单位,然后命令他们停下,于是跳虫马上就会攻击最近的敌人,从而包围敌人并将其置于死地。这种战略极大地提升了跳虫在战斗中的作用。

民兵攻击

每个种族保卫基地的方法各不相同,尤其是应对早期骚扰的方法。兽人拥有地穴,苦工进入地穴便可以向附近的敌人投掷长矛。暗夜精灵有月亮井,可以恢复附近单位的生命值。不死族可以将他们的通灵塔转变为防御塔,《冰封王座》发布后还可以使用从种族商店中购买的道具从坟场建筑中召唤骷髅。人类可以暂时将他们的农民转变为民兵,其战斗能力几乎等同于步兵,但是只持续30秒的时间,随后就会变回农民。

Militia(from gamasutra)

Militia(from gamasutra)

尽管设计这些方法是为了让玩家可以保护自己的基地免受攻击,但是有人发现这也能作为攻击方式。如果你在对手的基地附近建造1座市政厅,那么就可以迅速聚集大量农民,将他们转变为民兵,然后用人海战术击败对手。

《星际争霸2》中的虫族也可以采取类似的战略。从理论上来说,虫族玩家可以在对手的主基地(游戏邦注:指玩家的初始山谷或半岛,通常只有单个出入口)中建造孵化场,制造大量单位击败对手。

方块

在早期的《魔兽争霸3》中,防御塔杀死对手单位,己方英雄可以获得经验值。从表面上看这似乎很合理,但是有些玩家深入探索了这种设计。如果防御塔杀死单位能够获得奖励,那么谁还需要战斗单位呢?所以,“方块”战略就此诞生。

方块战略是在地图中心建造巨大的防御塔方块,玩家只需专注于制造3个英雄即可,几乎不用生产其他战斗单位。通常使用这种方法的是人类的玩家,因为人类可以选择的防御塔种类最多。如果对手是只会派遣单位企图摧毁方块并且技术不佳的玩家,防御方的英雄就会迅速升级,足以碾压对手的整支军队。

mass Towers(from gamasutra)

mass Towers(from gamasutra)

显然,《星际争霸2》中无法使用如此疯狂的战术,但仍然可以使用这种战略的变体。从根本上来说,这就是简单的防御塔攻击战术。神族可以通过修建水晶塔将光子炮建在对手的基地附近或基地中,这会给对手造成很大的麻烦。同样,人族也可以使用地堡攻击,尽管这需要一些陆战队员入驻其中。在许多高级别比赛中,我见过虫族玩家将他们的菌毯扩散到整个地图,将刺蛇放置在地图的各个地方,防止对手开辟分基地。

近期的RTS普遍不鼓励“休生养息”的囤兵方式(游戏邦注:即筑一道高墙防御外敌入侵,自己在其中大量囤积兵力)。神族次元传送、虫族坑道虫和人族空降飞船等功能都是让玩家从意料之外的角度攻击对手主基地的方式。因而,这类疯狂的防御塔战略在近期的RTS设计中渐渐消失了。

远古守护者

暗夜精灵的多数建筑是巨大的树人,他们会攻击附近的敌人,而且还可以移动(游戏邦注:就像《星际争霸2》中多数人族建筑可以起飞)。暗夜精灵的防御塔建筑远古守护者也是如此。最初,扎根的远古守护者产生的是群攻伤害,也就是说多数伤害是针对建筑物,这对防御型建筑来说是个很古怪的设计。

Ent_army(from gamasutra)

Ent_army(from gamasutra)

玩家决定利用这个设计,制造大量的远古守护者替代战斗单位,用他们向敌人的主基地发动攻击。经过护甲强化后,远古守护者很强大,在加上防御塔可以为英雄赚取经验值,使用远古守护者军队就可以击败对手,无需组成各种单位的军队。随后,开发团队将移动中的树人护甲设为普通护甲,攻击设为普通攻击,使其对建筑物的影响达到最小。

之前所提到的与此战略最为相似的可能是防御塔攻击,只是刺蛇无法移动(游戏邦注:只能扎根于菌毯上)。但是,你可以使用人族建筑物的飞行能力将军队投放到其他玩家主基地背后,突然发动袭击。

漏洞利用和突发性

这些历史除了让人感到有趣外,还会令人回想起游戏媒介的特殊之处——突发性。无论你是努力限制突发性来保持游戏的平衡性,还是接受这种突发性让玩家自由表现他们的创造性,每个游戏设计师都会通过某种方法来处理这种问题。

在任何领域中,迭代的传统作用是不断润色产品直至其表现出应有的功能。在游戏行业中,迭代的形式便是测试和修改,其最终目标往往是让游戏符合设计师最初的愿景。但是,迭代还有可能得出更好的东西。

eureka(from gamasutra)

eureka(from gamasutra)

游戏是音频、视觉效果和经验性艺术的集合体,制作游戏的过程也融合了雕塑、科学和些许考古学知识。你所做的不仅仅是将自己脑中的想法变成现实,在制作和测试的过程中,你还会发现令人着迷的新设计元素。

英国经济学家Tim Harford发表过一次TED演讲,谈论迭代的力量极其对许多人所谓“上帝般复杂”的念头的挑战。他说了个有趣的故事,主要内容是联合利华想要开发一种用于制造洗衣粉的专用喷嘴。他们最初寻找最优秀而睿智的工程师来帮助他们设计这个喷嘴,但是却无法使用。因为设计出的产品过于复杂。

最终,他们采取的办法是随意改变现用喷嘴,用测试来查看哪种最有效。于是,他们对喷嘴进行各种修改,从中找出最有效的产品,并不断重复这个过程。最终,他们找到了最完美的喷嘴设计,有趣的是他们自己都无法解释这款喷嘴是如何发挥作用的。

换句话说,如果问题过于艰巨,甚至连最睿智的人都无法解决,那么迭代便是找出解决方案的唯一方法。观看过他的演讲后,我开始思考如何将这种方法运用于电子游戏等作品的创造,我相信答案就在所谓的“高阶差错”现象中。

高阶差错的力量

高阶差错指开发者最终保留的某些游戏中意料之外的功能。有时,这些差错看起来很愚蠢。但在少数时刻,它们使游戏设计获得了巨大的飞跃。

street fighter(from cheatcc.com)

street fighter(from cheatcc.com)

比如,《街头霸王2》是首款带有连击元素的战斗游戏。连击来源于玩家探索出的打断攻击动画来发动更快速动机的技巧。现在,连击成为了战斗题材游戏的特征,帮助其获得了巨大的成功。这种情况在其他游戏中也曾出现。

DOTA也是个绝佳的例证。该游戏模式由一个modder小群体开发完成,现在已经变得极为流行。从DOTA面世到现在,玩家发现了许多可利用之处。有些人将这些视为游戏的瑕疵,但有些成为了游戏中的合理战术,甚至被移植到DOTA 2中。

或许,现在游戏开发者应当意识到迭代不仅是实现预想解决方案的工具,还能够成为发现游戏新体验方式的工具。

总结

如果要说从“上帝般复杂”中学到什么经验的话,那么就是人类和开发者应当在工作中保持谦逊。我们应当认知到,有时最棒的想法并不是诞生于我们的脑中,而是位于想法之外的各种可能性。

它不仅能够让我们提升游戏质量,还能帮助我们更简单地缓和冲突。一个人想要执行机制X,其他人想要执行机制Y吗?可以尝试同时执行两种机制,看看会得出什么结果,或许二者的结合才是最有趣的解决方案。

简单地说,就是要接受不可预测性,不要过快地修补游戏中的漏洞,或许它将成为游戏的重要功能。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

Warcraft III – It’s Not a Bug, It’s a Feature!

Glen Cooney

Of Bugs and Features Obscura

Developers often use the phrase as a joke for when some outlandishly bizarre yet hilarious bug pops up in their game. Coming from a software development lineage, bugs are often seen as bad things, and in sports any kind of exploit or funny attempt to bend the rules is generally frowned upon. I would argue games are different, and that sometimes bugs and exploits can become wonderful things.

Perhaps my fondest memories involving exploits come from back when I was really into Warcraft III: Reign of Chaos. It was the first game I had followed since beta, and thus had a chance to watch grow and evolve over countless patches and updates. Along the way players came up with some clever and often hilarious ways to mess with the game’s mechanics.

In searching around to refresh my memory on a few of these exploits, I came to discover that it seems like they have mostly been forgotten from the internet. No videos, no articles, not even a wiki detailing these early exploits and the antics that ensued. I felt much like the last living practitioner of the ancient Vedic Sikh [EDIT 4/9/12] martial art of Shastar Vidya, and that I alone carried a forgotten secret that I am morally compelled to share with the world, that it’s knowledge may live on forever. So let’s get started.

The Glory Days of RoC

While an awesome game in its own right, Warcraft III did get off to a bumpy start. Over the first few years of its life it received numerous patches, ranging from minor balance fixes to major overhauls of major systems in the game. This was all done in the name of tuning the balance of what was in many ways a very different kind of RTS.

The game changed most dramatically upon the release of its expansion, The Frozen Throne, where the entire armor system was redone and invisibility detection for heroes was reworked (notably by replacing the passive gem of revealing for the limited duration, activated dust of appearance) among many other big changes.

Over the course of this process of refinement, players were able to find clever ways to exploit the game to do some pretty outlandish strategies. Below are a few examples of some of the more notable ones.

Note: Sadly these mostly existed in the pre-youtube dark ages of the internet, so I’ve taken some liberties with visual representations.

Forest Walking

Undead have a different way of gathering resources compared to other races. Whereas most races have a single builder unit that doubles as a resource gatherer, the Undead used two different units for this purpose: Acolytes, for gathering gold and summoning structures (in the same manner as the Protoss probes in Starcraft), and Ghouls, which harvest lumber and are also your tier 1 melee unit. Ghouls aren’t amazingly powerful, but can be deadly in groups, especially with a Dread Lord and/or Death Knight’s auras on them (the former giving life steal, the latter faster health regeneration and move speed). Think of them like the zerglings of Warcraft III.

A noteworthy behavior to point out about resource gathering units is that while they are harvesting lumber or gold, their unit collision is turned off (ie they walk right through any other unit). Ordinarily, this is meant to prevent workers from getting in the way of your units and vice versa, but one clever Korean player (as the legend goes) discovered that you could use this to your advantage in battle.

Say you are up against some Humans as Undead, and they are charging at you, with some trees behind them. What you could do is select your ghouls, then click on the trees behind them, commanding the ghouls to harvest from them. This would then cause your ghouls to walk toward that tree and walk right through your opponent’s army. Once they have surrounded the enemy hero, you could then order them to focus fire on him, forcing them to use a pricy town portal scroll to teleport his army back to base, or stand there and die. Since losing a hero in battle can make a huge difference, this could make for an easy win for an unscrupulous Undead player.

While this exploit was patched away, it still exists in some form in Starcraft 2. Skilled zerg players are able to command groups of zerglings, which are both small and among the fastest units in the game, to move past a cluster of enemy units, then command them to stop, which immediately causes them to attack nearby enemies, thus trapping them and in most cases sealing their fate. It can make a huge difference in how much damage your zerglings will inflict.

Militia Rushing

Every race has a unique way of defending their base, particularly against early harassment. For Orcs, they have burrows, which act as bunkers for their peons to get into to throw spears at nearby enemies. Night Elves have moon wells, which heal and recover the mana of nearby units. Undead can convert their ziggurats into towers and (after Frozen Throne) could use an item from their racial shop to summon skeletons from their graveyard building. Humans could temporarily turn their peasants into militia, combat units roughly on par with Footmen, but only lasted for 30 seconds until reverting back to peasants.

While designed to help defend bases and expansions from attacks, someone also discovered it could be used offensively as well. If you build a Town Hall near an opponent’s base when they aren’t looking, you could amass a large group of peasants quickly, convert them to militia, and overwhelm your opponent with sheer numbers.

This strategy is similar to a cheesy move that can be done as Zerg in Starcraft 2. Known as the Proxy Hatch, Zerg players can theoretically build a hatchery inside an opponent’s natural* and create a flood of units to overwhelm their opponent from behind their wall of defenses.

*Note: “Natural” refers to the valley or peninsula a player starts at, which typically has a single entrance. This is in contrast to “expansions,” or other areas on the map where a base could be established to harvest resources.

The Cube

In the early Warcraft III days, heroes were able to gain experience whenever a tower kills a unit. On the surface this seems sensible, but of course some players took it upon themselves to exploit this fact. Afterall, if towers can award kills, who needs units? Thus “The Cube” strategy was born.

The Cube was created by creating a massive square (or “cube”) of towers in the middle of the map and focusing only on making three heroes and almost no other units. This was typically done as the humans, as they had the most types of towers available to them. Against an unskilled player, who would just throw their units at it in a vain attempt to destroy the cube, the defending player would quickly level up and be able to crush their opponent’s army.

Obviously there isn’t anything quite as crazy as this in Starcraft 2, but vestiges of this strat are still viable. It is basically just tower rushing on steroids, and of course more traditional tower rushing is still around. Protoss can build pylons to construct photon cannons in or near an opponent’s base, which can be a major hassle to deal with. Likewise bunker rushing as Terran is also viable, though it requires a few extra marines to get inside it. On a number of high level matches I have even seen Zerg players spread their creep across the map and place spine crawlers around the map to act as a speed bump for enemies trying to take a new expansion.

Though as a side note, recent RTSes have generally gone out of their way to discourage “turtling” (walling yourself in with a ton of defenses to keep your opponent away while you just mass up a powerful army). Features like Protoss warp-ins, Zergling’s nydus worms, or Terran drop ships are all designed as ways to pop into your opponent’s base to hit them from an unexpected angle. As such, crazy defensive strategies like this have fallen out of favor in more recent iterations of RTS design.

Mass Ancient Protectors

The majority of Night Elf buildings are actually giant treants, and as such have the ability to make melee attacks to nearby enemies, and uproot to walk around (kind of like how most Terran buildings lift off and fly in SC2). This includes the Night Elves’ tower structure, the Ancient Protector. Initially, rooted Ancient Protectors dealt siege damage, which is meant to deal the most damage to buildings, which was an odd choice for a defensive structure.

Players decided to exploit this fact by simply creating a bunch of Ancient Protectors (in lieu of units) and march them up to their opponent’s base. Having fortified armor, they were quite powerful, and combined with the ability to earn experience from tower kills it meant you could realistically use an army of Ancient Protectors instead of an army (and thus not have to worry about food or upkeep costs). Sadly they have since changed the armor type of walking treants to Normal and their damage to Piercing, the least effective against buildings.

As mentioned above, the closest equivalent to this would probably be tower rushing… though with the exception of spine crawlers (which can only “root” on creep) towers cannot move. You can, however, use the flying ability of Terran buildings to send reinforcements into the back of a player’s base, for example, if you so choose.

Exploits and Emergence

Aside from an amusing history lesson, it is also a reminder of one of the most unique qualities of our medium – emergence. Whether you are trying to limit emergence to keep a game balanced, or embracing it to allow for players to express their creativity, every game designer has to tackle it one way or another.

The traditional role of iteration in any field has always been a way to refine some product until it performed the desired function. In the case of games, this takes the form of playtesting and tweaking, with the end goal typically being to make a game that lives up to the vision that the designers intended from the outset. But iteration has the potential for something even greater.

Much like how games are a culmination of audio, visual, and experiential art, so too is the process of creating games a hybrid of sculpture, science, and perhaps a little archeology. You aren’t just trying to pull what’s in your mind into the real world, you are forming a hypothesis of what your game should be, and in the process of making it and testing it you are uncovering new and intriguing elements of your design as you go along.

British economist Tim Harford gave a great TEDTalk about the power of iteration, and how it challenges the impulse many people fall into called “The God Complex.” At around 9:08, he gives an anecdote about Unilever wanting to develop a specialized nozzle for creating laundry detergent powder. They initially attempted to get the best and the brightest engineers to help them design this nozzle, only to have them fail. It was simply too complicated.

What they ended up doing was creating a set of randomized variations of the nozzle, testing which one worked best, then creating a ton of variations on that nozzle, finding the best one, and repeating the process. They eventually found the one nozzle design that worked perfectly, and the fascinating thing is that they could not explain why it worked.

In other words, the problem at hand was too big for even the brightest mind to solve, and thus the only way to arrive at the solution was through iteration. After watching this I got to thinking how this could be applied into the realm of creative works, like video games, and I believe the answer lies in the phenomenon known as the Ascended Glitch.

The Power of the Ascended Glitch

The Ascended Glitch, by definition, is an unintended feature or exploit found in a game that developers end up keeping. Sometimes these glitches are just silly, like the famous Skyrim glitch of Giant glitch. But a few times they allowed for huge leaps forward in game design.

Street Fighter 2, for instance, was the first fighting game to have combos. Combos emerged from an exploit where players could interrupt attack animations to attack faster than they should normally be able to. This single-handedly defined the fighting genre and helped make it the great success it is today. There are countless examples of this happening for other titles as well.

Defense of the Ancients, or DOTA, is another great example. Developed by a small group of modders, it became so popular as to take on a life of its own. Along the way many exploits were discovered, including the ability to exploit neutral creep spawning behaviors to “stack” a creep location with multiple sets of creeps, manipulating the pathing of neutral creeps to kill off your own creeps to deny experience to the enemy, or aggroing enemy minions by attacking an enemy hero when in their aggro range. Where some would see these as exploits, these came to become legitimate tactics to be used in the game, and were even ported into DOTA 2 for that reason.

Perhaps it is time then for game developers to open their eyes to, or be reminded of, the power of iteration not only as a reductive tool to arrive at a desired solution, but also as a tool to discover new ways to enjoy games no one has even begun to imagine.

God in the Machine

If nothing else is to be learned from the lesson of the God Complex, it is that we as human beings and developers should always be humble in our work. We should understand that sometimes the best ideas are not conceived in our own minds, but in the vast realm of possibilities beyond it.

It need not only help us in making games better, but in mitigating conflicts easier. One guy wants to implement a mechanic as X, and the other as Y? Try both, and see what happens. Maybe the most fun solution is a hybrid of both, or some outlandish permutation of either one.

In short, embrace unpredictability, and do not be so quick to fix a bug that might very well become your game’s defining feature. (Source: Gamasutra)


上一篇:

下一篇: