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

阐述如何在游戏设计中运用抽象模型

发布时间:2013-02-18 10:25:11 Tags:,,,,

作者:Joshua Starner

在最近的项目中,我一直致力于核心机制的基础设计。我已浏览大量游戏设计攻略,且有所领悟,但实际运用起来并不那么得心应手。本文意在检测利用抽象模型去思考游戏核心机制,并讨论如何基于这一方式去创造更加出色的游戏,特别是以我当前所从事的项目为例。

Raph Koster的抽象模型

“如果是打高尔夫,你可以利用许多更加简单的方法让球滚入洞中。比如捡起来,走到洞口边扔进去。但为了练习,我们会为自己设置一些不必要的障碍。”——Raph Koster

我是在观看Raph Koster于2012年GDC Online大会上题为《A Theory of Fun,10 Years Later》的演讲时才想起抽象模型的游戏理念。在此次演讲中,其幻灯片标题为“游戏应是这种抽象模型”。Koster利用这些模型设计游戏,因为它能将此设计过程简化为核心活动、角色、目标、动作与统计数据,那样无论游戏具有多大的深度与复杂性,设计师只要“一瞥”便理解其运作模式。此外,Koster还在此次演讲中通过列举MetaPlace打造的Facebook游戏《Island Life》的抽象模型而论证了这一模型。

IslandLifeAbstractModel(from gamasutra)

IslandLifeAbstractModel(from gamasutra)

《Pivot》的核心机制抽象化

我确实很欣赏Koster的抽象模型理念,所以我决定将其运用到当前的项目《Pivot》上。为此,我清晰解释了这款游戏当前状态下的抽象模型。并得出如下图表:

Pivot-Abstract-Model(from gamasutra)

Pivot-Abstract-Model(from gamasutra)

该模型指明了如下要点:

1.画面采用严格线性结构。

2.游戏中的诸多动作不会影响其它内容。

3.不少动作均与操纵相关联。

4.有些统计资源是端节点,因此除了对玩家具有内在价值,对游戏毫无意义。

其实,此图表从根本上证明了我开始此试验的原因。其核心游戏模型过于简单,坦白讲,非常单调。事实上,我认为自己并没有充分理解这些“抽象模型”图表,从而真正掌握如何解决《Pivot》所存在的问题,因此我决定以同样方式去分析现存的成功作品。

剖析《Offspring Fling》

我之所以决定解析Kyle Pulver《Offspring Fling》的核心机制,是因为《Pivot》的开发是深受这款游戏的市场营销,开发者及乐趣等核心元素的启发。对于那些还未体验过该作的用户,我建议你们购买(游戏邦注:目前它已出现在Steam、Desura与OffspringFling.com平台)。我并非游戏评论家,因此我的言辞不一定能够推动游戏的销售,但我希望在进一步阐述前先明确游戏理念。《Offspring Fling》是款2D益智平台游戏,突出了100多道关卡,玩家在游戏中的目标是通过携带,扔或者投掷等方式将自己以及所有孩子带进门内。该作内容丰富,包括了定时、记分、重玩模式、控制微调、关卡编辑器,以及我5岁儿子所钟爱的蒲公英机制(即当玩家跳到上面时,花朵会抖动)。同时我们也不得不提Alec Holowka为该作所创造的音乐。除此之外,这款游戏还获得了ManVSGame的推荐,在此Kyle公开了许多重要内容,而玩家需要努力想出解锁战略,获得最高分数,并不断重玩关卡直到取得完美结果。这不禁令我疑惑:该作主要依靠哪些因素吸引玩家?表面上看,它似乎相当简单,但同生活中的大部分事物一样,佳品总是看似简单实则精细。为此我们应找出其精妙处……下示图表展示出我所认为的《Offspring Fling》的核心机制。该作包含更多子系统(游戏邦注:比如开关与弹垫),但这一模型才是其每道关卡的核心。

Offspring-Fling-Abstract-Model(from gamasutra)

Offspring-Fling-Abstract-Model(from gamasutra)

由上可知该作有别于《Pivot》模型的一些关键方面:

1.画面并非完全线性。

2.基本上每个动作都会采取有趣的方式而作用于其它对象。

3.某些投资能够换来一些有益的行动。

4.有些统计资源能在游戏中提供奖励,赋予游戏更多价值。

鉴于上述模型与理解,我打算完善《Pivot》的核心玩法机制。

《Pivot》未来成功的关键

在当前模型中,玩家可以收集一些关键对象,以此提高重点统计资源(游戏邦注:即能在当前关卡使用的钥匙)。收集钥匙只会影响统计数据。反过来这些统计数据又能用于开启箱子。箱子中装有宝物,但是就当前模型而言它们是没有任何价值的。与此同时,打开箱子是目前游戏的终极目标,因此它对玩家具有某些内在价值(完成关卡,继续前进)。然而,该模型的某些部分却是破碎的。因为整个链条是呈现出线性模式,所以对玩家的选择或奖励没有多大影响。

因此,我决定从头开始,并摒弃目前的关键理念。也许这可以作为补充机制,但对于核心机制,我们还需要进一步地完善。我再次回顾了上面所提及的《Offspring Fling》图表,并意识到玩家角色与孩子之间的互动是非常有趣的核心机制。因此我决定采用该模型,首先从更改动作与其对玩家影响方面入手。基于此想法,我重新将钥匙设定为宝石。我并未授予统计资源,而是赋予该宝石操作性能。这样便能获得更多游戏内置物体的触觉反馈,并也能让玩家新手们满意这种效果。然而,同时我打算采用《Offspring Fling》中的一个关键要点,即玩家所互动的对象将会影响到他们的选择。当玩家在游戏中携带着孩子时,他们便会遭到某些损失。可能是无法高度跳跃,或是不能穿过狭小空间。因此,设计师便能够创造出一些有趣谜题,如你必须在携带着孩子的同时跳过某道缺口,从而影响到跳跃的必要性,迫使玩家做出有意义的选择。运用该理念,我决定让宝石去影响玩家做出旋转或跳跃的选择。但由于游戏的关键部分是旋转,因此我不打算限制此能力。所以我决定携带宝石会阻碍玩家的跳跃能力。如此,游戏玩法确实得到完善。现在我觉得自己在每次拾取宝石时总会有所抉择(我需要跳跃或旋转能力来抵达下个目标吗?)

同时,我还不得不决定如何使用这些宝石。该作的设计初衷是从点A到点B,但现在我有个重要想法。我希望其中能包含比“把宝石从点A带到点B”更加复杂的内容,因此我添加了一个额外目标,即利用水晶激活的出口。玩家必须在放置水晶后,导航回到出口位置。

现在,其核心抽象模型如下图所示:

Pivot-Abstract-Model(from gamasutra)

Pivot-Abstract-Model(from gamasutra)

如下谜题显得越发有趣:

Pivot Abstract Model(from gamasutra)

Pivot Abstract Model(from gamasutra)

左图显示的是《Pivot》抽象模型1.0,即玩家可以收集钥匙也能够跳跃。在此,通往成功的途径相当简单:收集钥匙,跳到箱子上,将其打开。

右图显示的是《Pivot》抽象模型2.0,即玩家可携带宝石,同时会丧失跳跃能力。插口(在山上)中的宝石可以开启底下大门。通往成功颇具难度,玩家需通过旋转解决谜题。在收集宝石后,玩家无法跳跃,这可能是他们预想的第一条路径。在放置宝石后,玩家会重获跳跃能力,并能迅速到达出口处。

新型方式

鉴于上述小型试验,我感觉自己好像已在项目中运用了某个设计攻略,而我也希望能不断迭代《Pivot》设计。然而,其核心机制上的抽象模型仍存在某些尚需完善的方面,但我认为最好在此试验后尝试某些全新理念。如果你致力于核心机制设计,且深受其它游戏类型的影响,我认为你应对游戏做出分析,分解细节,绘制图表,并借用抽象模型剖析其运行模式。而后在自己设计中采用同种方法,或是有效调整现存模型,更改动作/对象互动,从而达到更棒效果。

本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

Applying Abstract Models to Game Design

by Joshua Starner

[In this post, I demonstrate a method of practically applying abstract models (as demonstrated by Raph Koster) to a simple game design in order to improve the game's core mechanics, gathering influence from other games in similar genres.]

In my most recent project, I’ve been struggling with the fundamental design of the core mechanics.  I’ve been reading lots of game design strategies and I understand them, but practically applying them has been difficult for me.   This post examines the use of an abstract model as a way of thinking about your game’s core mechanics and how to build a better game with that knowledge, specifically applying it to my current project.
Raph Koster’s Abstract Model

“If you go golfing, there are a heck of a lot more easy ways to get the ball into the hole.  How about we pick it up, walk over, and drop it in.  Instead we create unnecessary obstacles in order to practice.” – Raph Koster

I discovered the idea of representing a game as an abstract model by watching Raph Koster’s speech at GDC Online 2012 titled A Theory of Fun, 10 Years Later.  In his presentation, he arrives at a slide titled: “Instead games are like this, abstract models”.  He uses these models to design games because it simplifies the game design into the core activities, actors, objects, verbs, and statistics and gives the designer an “at-a-glance” understanding of how the game will function, whether it is deep enough, and how complicated the game really is.  In his presentation, he demonstrates this model by illustrating the abstract model for the Facebook game “Island Life” by MetaPlace.

Abstracting Pivot’s Core

I really liked where he was going with the abstract model concept, so I decided to try and apply it to my current project, Pivot.  So, I developed my best interpretation of an abstract model for Pivot in its current state. I arrived at the following diagram:

Examining this model indicated a few things to me:

1.The graph is strictly linear

2.Many of the verbs in the game have no impact on anything else.

3.Many of the verbs are navigation related.

4.Some of the statistical resources are end nodes, so they have no value to the game other than intrinsic value to the player. [this may be ok]

Ultimately this graph confirmed the reason why I began this exercise in the first place.  The core game model is too simple and to be blunt…it’s boring.  The truth is, I don’t think I understand enough about these “abstract model” diagrams to really know how to fix the problem with Pivot, so I decided to do the same analysis on a game that already exists and is quite successful.

Pulverizing Pivot with Offspring Fling

I chose to decompose the core mechanics of Offspring Fling by Kyle Pulver because the game, its marketing, the developer, and the simple fun at its core have inspired Pivot’s development.  For those of you that may not have played Offspring Fling, you should go buy it (available on Steam, Desura, OffspringFling.com).  I’m not a game reviewer, so my wording may not sell you the game, but I want to illustrate the concept before going any further.  The game is a 2D puzzle platformer featuring over 100 levels where the objective is to get yourself and all of your babies into the door by carrying, throwing and/or dropping them.  The game is full of juice like timing, developer scores [with ghosts!], replays, control subtleties, level editor and my 5 year old son’s favorite: dandelion like flowers that poof when you jump on them.  It would also be a shame not to mention the music by Alec Holowka.  The game had enough awesomeness to get featured on a ManVSGame cast where Kyle gave out plenty of codes and MAN agonized over the strategies to unlock and achieve the best score possible, replaying levels until he achieved perfection on every one.  This really got my brain ticking and I wondered:  what was it about this game that is really drawing people in?  On the surface, it seems really simple, but like most things in life, the best things are simple but elegant.  So let’s try to find that elegance…  The graph below illustrates what I believe are the core mechanics of Offspring Fling.  The game has more sub-systems (like switches and bounce pads), but this model is at the core of every level.

Examining this model, I discovered a few key things that were different from Pivot’s model:

1.The graph is not entirely linear.

2.Nearly every verb in the game acts upon other objects in interesting ways.

3.There is a cost associated with some beneficial actions.

4.Some Statistical Resources provide rewards in the game, giving them more value.

With this model and understanding in hand, I set out to improve Pivot’s core gameplay mechanics, starting with the key…

The Key to Pivot’s Future Success

In the current model, the player can collect key objects, which increase the key statistical resource (the number of keys you have available to use in the current level).  Collecting keys does not impact anything other than this statistic.  This statistic in turn is used as a currency for unlocking chests.  Chests contain gems, which are completely worthless in the current model.  Unlocking chests is also the ultimate objective of the game right now, so it has some intrinsic value to the player (finish the level to progress).  But some parts of this model are broken.  The chain is linear and has very little impact on player choice or rewards.

I decided to start from scratch and throw away the key idea for now.  Perhaps this can be a supplemental mechanic, but the core mechanic needs to be better.  I referred back to the Offspring Fling diagram from above and realized that the much more interesting core mechanic lives in the avatars interaction with the babies.  So I decided to use this model, changing some of the verbs and their impact on the player as a starting point.  With this idea in mind, I re-imagined the key as a gem object.  Instead of granting statistical resources, the gem is a manipulative object in the world.  This gives a lot more tactile feedback with in-game objects, which feels great for starters.  But I also wanted to use 1 key takeaway from Offspring Fling.  The objects you interact with impact the players choices.  When carrying babies in Offspring Fling, the player is afflicted with several detriments.  The player cannot jump as high and they cannot travel through narrow spaces.  This allows the designer to create interesting puzzles where you have to carry the baby, but you also have to jump a gap, so the benefit of carrying impacts the need to jump, forcing the player to make interesting choices.  Armed with that knowledge, I decided that carrying a gem either needs to prevent the player from pivoting or jumping.  But since pivoting is such a critical part of the game’s idea, I didn’t want to limit pivoting (yet), I wanted to encourage it.  So I decided that carrying a gem should prevent the player from jumping.  Making this design decision really improved the gameplay.  I feel now like I have choices to make every time I pickup a gem (do I need to be able to jump or do I need to be able to pivot to reach my next objective?)

I also had to decide what I wanted to do with the gems.  At this point, the game is being built as a Point A to point B game, but I now have a resource in the level that I care about.  I decided that I wanted something a little more complex than “take the gem from point A to point B”, so I added an additional object, an Exit Portal which is activated by the crystal.  The player must then navigate back to the exit portal after placing the crystal.

The game’s core abstract model now looks something like this:

The puzzle below suddenly became much more interesting:

Just to break it down, in the left image, we assume Pivot Abstract Model 1.0 where keys are collectible and the player can jump.  The path to success here is trivial: Collect the key, jump to the chest and open it up.

In the right image, we assume Pivot Abstract model 2.0 where gems can be carried and will now prevent you from jumping.  The gem in the socket (on the hill) opens the portal down below.  The path to success is a little less trivial and now requires the player to pivot to solve the puzzle.  After picking up the gem, the player cannot jump, which was probably the first path the player envisioned.  After placing the gem, the player gains the ability to jump again and can now quickly reach the exit portal.

New Ways of Forward Thinking

With this small exercise out of the way, I feel like I’ve practically applied a game design strategy to one of my projects and I hope to continue iterating on Pivot’s design.  I still have a lot of things I want to do with the abstract model of Pivot’s core mechanics, but I feel better equipped to try out new ideas after doing this exercise.  If you are struggling with a core mechanic design and you are heavily influenced by another genre of games, I would encourage you to do some analysis of that game, break it down, graph it, and use abstract models to really break down how the game works.  Then apply the same approach to your own design or significantly tweak the existing model, applying your own spin on the verb/object interaction to achieve something more awesome.

Good luck!

Editor’s Note about Pivot:
Pivot is an experimental 3D action-platform-puzzle game where the player must restore “color” to a fragmented world by rotating around the world’s edges, finding gems and putting them back where they belong. (source:gamaustra)


上一篇:

下一篇: