游戏系统的工艺(转)

标签:
游戏 |
此文为搬运过来的翻译,原翻译的blog在墙外,能翻墙的请自行前往阅读:http://gamedesignoutside.blogspot.com/
Part 1
既然这是我的第一篇帖子,我想先简单的自我介绍一下。我叫 Daniel
Achterman,我是一个游戏策划。我已经在游戏项目的系统和内容策划上干了八年了,大部分都是 RPG 项目,工作过的公司有 Gas
Powered Games 和
ArenaNet。我写这个文章的目的是希望和大家分享一下游戏策划能够使用的一些理论和实际,还有我自己的建议,以及可以用到的一些技术,来设计游戏系
统,调整游戏内容,并且让游戏策划的工作变得更加轻松一些。这第一片文章我想先分享一下一般意义的规则,还有我觉得很有用的实践经验。将来还会有文章来涵
盖经验曲线,游戏内容的数值计算,诸如角色的能力、伤害等,还有如何更好的组织游戏数据。
如果你有问题,或者想和我讨论的话,可以通过以下几种方式来找到我:
哪种类型的游戏适合这篇文章?
我在这里讨论的游戏策划更偏向于系统分析,对那些有大量内容的游戏项目比较适用,比如 RPG 游戏,或者策略游戏。文章主要讨论一些基于几个小时的工作经验,而非是那些在几分钟就可以掌握的小技巧,它们也并非适用于其他类型的游戏。如果这个资料并 不能直接对你的工作产生帮助的话,我先表示歉意,希望你仍然能够看到里面的一些有用的内容。
一个好的系统的证明
RPG 和策略游戏常常都拥有大量的游戏内容——通常头远超单独一个人能够记忆的容量。游戏系统并不只是定义了这些内容如何工作——同时还是策划们使用的工具,用工具来制造、调试、改进、管理游戏内容。
从一个策划的角度看,好的系统应该具备五个素质:可理解的,一致的,可预见的,可扩展的,优雅的。
可理解的:
你作为一个策划,应当全面理解你的系统。你应该知道如何在游戏中选择一个变量的数值,以及为什么要选择这个值,以及其他被这是数值所牵连到的规则和内容。
如果你希望从游戏的某一方面去调整,那么你应该知道调整带来的结果(Xw.Y:个人认为这里也可以理解为“后果”)是什么。
一致的:你的规则和内容应当在你游戏的方方面面的行为都保持不变。护甲不应该对飞行单位有不同的意义,一件物品的金币价格的公式定义不应该在低级物品和高级物品间采用不同的公式(Xw.Y:别和我提“讨论”表达式)。这点对于将一个游戏做成可理解的游戏非常重要。
可预见的:你应该很容易的决定你的系统在新的环境下应该如何工作。如果你在某些情形下把经验值的获取速度翻倍,或者一个怪物拥有双倍的护甲,你应该能事先去预测结果。使用简单的算数和公式对于做一个可预见的系统有不少帮助。
可扩展的: 当你要为游戏新增一些内容时,你要做到比较容易的让已经存在的系统去包含新的内容。也许你会设计一个游戏,以一些随机生成的小关卡 boss 来提供游戏乐趣,这时你需要扩展已经存在的怪物列表,并能让这份列表很容易的去包含这些随机生成的小 boss。扩展性能够让你的游戏很容易的被迭代开发,并且在增加新系统,增加新类型是不会过于痛苦。
优雅的:优雅的系统么,有种……我也不知道怎么说。用一些简单的东西,就能创造一个复杂的系统。一些我钟爱的能称之为优雅的系统有:第四版的龙与地下城,Magic: the Gathering,还有卡坦岛(Xw.Y:某桌游,以前介绍过哦)
让我们开始吧:游戏系统服务于游戏
这些才是玩家在游戏中体会到最直接的部分,所以在设计系统的时候,你的系统要为这部分服务,做功能,做公式,做系统,为游戏乐趣服务。
案例学习:龙与地下城
龙与地下城是一个在玄幻的背景设定下,玩家和朋友们一起的冒险游戏。团队合作是整个游戏的核心体验。角色在回合制下依次行动,由系统的设定来决定行动后成 功的概率以及行动后的后果。为了让合作变得重要,里面有很多类型的调整(战斗,缴械陷阱,社交)以及战斗职业(防御者,攻击者,支持者)。玩家可以变强, 或者变弱。
作为一个系统策划,上面这些描述将在几个方面影响我的日常工作:
Part 1
既然这是我的第一篇帖子,我想先简单的自我介绍一下。我叫 Daniel
Achterman,我是一个游戏策划。我已经在游戏项目的系统和内容策划上干了八年了,大部分都是 RPG 项目,工作过的公司有 Gas
Powered Games 和
ArenaNet。我写这个文章的目的是希望和大家分享一下游戏策划能够使用的一些理论和实际,还有我自己的建议,以及可以用到的一些技术,来设计游戏系
统,调整游戏内容,并且让游戏策划的工作变得更加轻松一些。这第一片文章我想先分享一下一般意义的规则,还有我觉得很有用的实践经验。将来还会有文章来涵
盖经验曲线,游戏内容的数值计算,诸如角色的能力、伤害等,还有如何更好的组织游戏数据。如果你有问题,或者想和我讨论的话,可以通过以下几种方式来找到我:
- 在这个帖子(Xw.Y:请去原帖)中留言
- 在 Twitter 上给我留言:@DanielAchterman
- 给我发邮件:DanielAchterman@gmail.com
哪种类型的游戏适合这篇文章?
我在这里讨论的游戏策划更偏向于系统分析,对那些有大量内容的游戏项目比较适用,比如 RPG 游戏,或者策略游戏。文章主要讨论一些基于几个小时的工作经验,而非是那些在几分钟就可以掌握的小技巧,它们也并非适用于其他类型的游戏。如果这个资料并 不能直接对你的工作产生帮助的话,我先表示歉意,希望你仍然能够看到里面的一些有用的内容。
一个好的系统的证明
RPG 和策略游戏常常都拥有大量的游戏内容——通常头远超单独一个人能够记忆的容量。游戏系统并不只是定义了这些内容如何工作——同时还是策划们使用的工具,用工具来制造、调试、改进、管理游戏内容。
从一个策划的角度看,好的系统应该具备五个素质:可理解的,一致的,可预见的,可扩展的,优雅的。
http://2.bp.blogspot.com/ho-XS3mQXnV3m_NMaW_ADkcNH8hF_MolMKSiKe0-1agFwpB8DGSqpreKnIbvbiTAt1e40x3npYqRtj51UM3_u36zkH9jpIWSzNJeDapMTa40W7Ainh4 |
这张图是 Vagrant Story
的武器系统的设计稿。这是个很有趣的游戏,但是他们的武器系统看起来有点蛋疼,而且也过于复杂了。 |
一致的:你的规则和内容应当在你游戏的方方面面的行为都保持不变。护甲不应该对飞行单位有不同的意义,一件物品的金币价格的公式定义不应该在低级物品和高级物品间采用不同的公式(Xw.Y:别和我提“讨论”表达式)。这点对于将一个游戏做成可理解的游戏非常重要。
可预见的:你应该很容易的决定你的系统在新的环境下应该如何工作。如果你在某些情形下把经验值的获取速度翻倍,或者一个怪物拥有双倍的护甲,你应该能事先去预测结果。使用简单的算数和公式对于做一个可预见的系统有不少帮助。
可扩展的: 当你要为游戏新增一些内容时,你要做到比较容易的让已经存在的系统去包含新的内容。也许你会设计一个游戏,以一些随机生成的小关卡 boss 来提供游戏乐趣,这时你需要扩展已经存在的怪物列表,并能让这份列表很容易的去包含这些随机生成的小 boss。扩展性能够让你的游戏很容易的被迭代开发,并且在增加新系统,增加新类型是不会过于痛苦。
优雅的:优雅的系统么,有种……我也不知道怎么说。用一些简单的东西,就能创造一个复杂的系统。一些我钟爱的能称之为优雅的系统有:第四版的龙与地下城,Magic: the Gathering,还有卡坦岛(Xw.Y:某桌游,以前介绍过哦)
http://2.bp.blogspot.com/-Z6TPAoi1N78/Sm8NPeT1C_I/AAAAAAAAAWc/c1-UNEyj93U/s1600/4a6a1ca857d9d_featured_without_text_catan.jpg |
这些数字,如此简单,但玩起来,非常有趣! |
让我们开始吧:游戏系统服务于游戏
创建一个游戏系统是一件令人恐惧的事情。看起来游戏中可能有上百万的数据,在你搞清楚这些数据互相之间的关系前,你可能不得不先决定你的游戏定位在哪里。
你的角色会有哪些状态?什么事情会影响升级?什么样的物品是角色可以获取的?道具呢?资源呢?经验值呢?物品金币价格呢?实在太多了。
“以终为始”——史蒂芬·柯维
"Begin with the end in mind." - Stephen Covey第一步先要澄清一下你在做的游戏是什么,虽然系统是游戏如何工作的基础,但系统不应该成为设计的源头。也许你对于如何来恢复魔法值有一个很棒的想法,或者 你对角色等级和武器的关系有个很棒的想法,但先把这些想法放在一边,先问一下你自己,这个游戏的核心乐趣在哪里?当玩家在游戏里做决定的时候,他的乐趣在 那里?你希望你的游戏朝什么方向去做?
这些才是玩家在游戏中体会到最直接的部分,所以在设计系统的时候,你的系统要为这部分服务,做功能,做公式,做系统,为游戏乐趣服务。
案例学习:龙与地下城
http://1.bp.blogspot.com/-9gemOOKQD1o/TtYAlGUt2DI/AAAAAAAAA5M/sWPiszOwWrI/s320/4E-Players-Handbook.jpg
龙与地下城是一个在玄幻的背景设定下,玩家和朋友们一起的冒险游戏。团队合作是整个游戏的核心体验。角色在回合制下依次行动,由系统的设定来决定行动后成 功的概率以及行动后的后果。为了让合作变得重要,里面有很多类型的调整(战斗,缴械陷阱,社交)以及战斗职业(防御者,攻击者,支持者)。玩家可以变强, 或者变弱。
作为一个系统策划,上面这些描述将在几个方面影响我的日常工作:
- 为了鼓励团队合作,系统应该允许玩家专精于特定类型的挑战或者战斗职业,而非其他类型。
- 角色扮演的玩法以及非战斗玩法也是重要的,所以在社交领域的统计数值也非常有意义。
- 带入感和角色扮演的重要性,游戏的内容应该在玄幻的背景设定下足够吸引人。
- 用来处理行动结果的数学计算应该要容易理解,且不能过于复杂。
游戏系统的构成组件
“游戏系统”或者“机制”能够被分为三个构件:参数,规则,还有内容。
- 参数:参数是那些游戏系统用来描述游戏的数值,比如生命值,移动速度,重量,魔法消耗,暴击概率等。
- 规则:规则就是那些函数和公式,它们决定行动或者事件在游戏中是如何发生的。规则定义了诸如伤害是如何计算的,角色在升级的时候数值是如何变更的,物品掉落规则是如何定义的。
- 内容:内容是你游戏的一切,包括角色,道具,怪物,技能,天赋等等。内容的每个种类都能够被参数所定义,比如武器的伤害值,或者角色的属性值。
http://3.bp.blogspot.com/-QeklyfPwyHo/TtYK86_AejI/AAAAAAAAA58/WHFybYypNG0/s1600/uEllym2VNLeR_U-nJjrOohiYFTdMY3ul5lnOYxVTBcSZtNugmZqF78d8eT6fkCtw5sCWHnuZtmT8SElGkQwbjKwLoruUb_Z1bT4tuLdqShTmjbj2Foo.png
在这个最终幻想八的截图中,内容是怪物,角色,还有那么使用的武器,参数是那些影响着战斗的内容数值,比如角色血量。当英雄们挥舞着武器冲击怪物时,规则决定了伤害数值的大小,这些规则都会使用角色的参数,或者随机数。
http://3.bp.blogspot.com/-QlhI11kSQEc/TtYLEvZHZwI/AAAAAAAAA6E/jeCcI_XaxR8/s1600/Blog_01_Shivan_Dragon.png
另外一个例子,Magic: the Gathering
的内容卡牌,游戏中的每张卡牌代表着玩家可以召唤的一个东西,比如一个生物,或者一片土地,或者玩家可以做的一个行为,如释放一个魔法。规则是由不同的卡
牌来定义的。生物们的特殊技能也会在规则下失败,因为“生物”本身就是规则定义的一部分。生物的类型,消耗,状态,能力值等则都是参数。
设计游戏系统的五个步骤
一旦你准备好了以后,就可以把系统拆分,并各个解决。这里是我在设计游戏系统时的步骤:
- 选择游戏需要使用的参数
- 设计规则,但这个规则复杂度不要超过游戏所需要的功能
- 定义在游戏中参数是如何变化的
- 想方设法、绞尽脑汁的设计游戏内容
- 在需要的时候新增参数、规则和内容
参数通常是第一步,因为它们通常表达了游戏想体现给玩家的内容。而参数和内容是紧密相关的,一旦你开始想象游戏内容的时候,大量的内容很有可能会撑爆你的参数列表。从参数开始有利于帮助你思考,并且保持你的游戏内容和规则的干净整洁。
我的下一篇文章将会涵盖如何选择参数的细节,设计规则,设计内容类型,以及如何将它们设计成一个强大且灵活的系统。
结论
很多时候游戏设计就是艺术。内容的质量和设计的变化在不同的玩家眼中是不同的。好的系统设计更像是工艺品。游戏系统是策划们的工具,用这个工具可以去创建游戏内容,调整游戏内容。
我非常喜欢研究游戏系统,我喜欢看其他策划是如何组织数据,逆向他们的内容设计,并找出他们的数值计算公式。希望大家喜欢我这篇介绍文章,我也很希望能给大家分享更多的技术和案例。请告诉我你们的想法。
Part 2
欢迎回来!我上一篇文章(原文/译文)大致介绍了我在游戏系统设计上的做法。我先鉴别出我认为游戏策划都应该去鉴别的游戏设计目标,然后将系统分解并各个击破。这篇文章我将会用我自己的经验来给大家介绍如何设计强大而灵活的游戏系统,主要是面向
RPG 游戏和策略游戏,以及一些小贴士。
回顾
让我们先回顾一下系统设计的原则,如何有效的设计一个游戏系统。一个系统应该是:
- 可理解的:系统的各个部分,以及这些部分如何互相交互,应该都是可以被理解的。
- 一致的:规则和内容应该在游戏的各个地方都表现一致。
- 可预测的:策划们应该能够很容易的在新的假设下预测旧的系统如何工作。
- 可扩展的:对于系统,应该要做到很容易的增加新的规则和内容的类型。
- 优雅的:系统应该能用简单的组件来搭建复杂的系统。
游戏系统的三个组件分别是:参数,规则,内容。设计一个游戏系统最让人担忧的部分是设计开头。我建议将任务分为以下几个步骤:
- 选择游戏使用的参数
- 在游戏需要的范围内,仅可能简单的设计规则
- 定义参数如何在游戏中使用
- 尽可能复杂的设计游戏内容
- 在需要的时候,增加参数,系统,以及内容的类型
让我们一起更仔细的看看这些步骤。
选择游戏参数
选择参数的重要法则是关注于那些对游戏可玩性有着重要影响的参数。很清楚的表达游戏可玩性非常重要——它是形成你需要的参数的标准。如果你的
RPG
游戏具有不同的战斗类型,那么要做一个数据统计来让玩家了解他们的角色是如何战斗的。星际争霸具有两种类型的资源,那是因为何时开始采气是玩家的重要决策,并对游戏性有着重大影响。
- 从角色的统计数据着手。玩家是通过他们的角色的视角来审视游戏的。所有其他的游戏内容都围绕着它们是如何影响角色,比如道具,技能树,研究开销。
- 从基本状态的简单数字着手。仅创建那些能够定义角色行为的数据来完成基本的游戏性。复杂的数据并非是一个有趣游戏的必要条件。
- 去除无关紧要的参数。当玩家不能选择防御类型时,那么就不要设计“物理防御”和“魔法防御”。单独一个“防御值”就够了。
- 做的透明。理想情况下,玩家应该能够通过名字直接得知名字背后的含义。“护甲”和“体力”对当今的玩家来说就是可理解的。“攻击能量”和“THAC0”这种就很难理解。
塞尔达传说就是一个使用了最简单,最透明的设计的典范。角色唯一的数据就是“生命值”,由那些小红心表示。
创建简单的规则
规则定义了你的参数是如何工作的。为了保证系统可理解和可预测,针对你的游戏设计尽可能简单的规则来满足可玩性。比如,很多游戏完全没有护甲带来的伤害减免的算法。在龙与地下城中,护甲仅仅是降低你被击中的可能性,而魔兽世界中对于伤害减免的公式则要复杂的多,但这也是为了让那些高护甲的物品变得有存在的必要。
- 保持公式的简单。公式应该尽量用乘法和加法,尽量避免指数和对数的算法。这让玩家更容易理解,也让你自己更容易控制游戏。
- 不要用单一一个参数来表达多个意思。如果“体力”同时影响了攻击力和生命值,那么他会在不同的情况下变得难以理解,并且在你调整数值时也会变得更困难,因为它涉及到多个不同的问题。
好的规则设计对于游戏系统非常重要。创建一个规则来满足游戏的所有需要,同时还做到简单并且优雅的话,是个很大的调整。
创建渐进的参数
渐进的参数反映了游戏过程中数据的变化。比如,在 RPG
中,角色属性的增加使得玩家能够获得更好的伤害,更好的防御道具。在策略游戏中,高级建筑物都带来更大的收益,也有更高的开销。
渐进的形式,对游戏平衡来说很重要。要做一个平衡的游戏,相关参数应该保持一致的增长率,比如玩家角色在战斗中的攻击力和怪物的血量。高等级的东西通常由多个参数共同组成,比如防御,武器伤害,角色状态等。理解参数是如何互相作用的,以及它们是如何渐进增长的,是制造一个可预测、可扩展的游戏系统的关键。
- 按照你希望的角色成长的过程,定义增长比率。有些状态在角色升级时可以自然提升(生命值,核心属性),而有些则是随着获取到更好的物品来提升(防御值,武器伤害)。
- 使用最简单必要的渐进过程和公式。数值可以做成线性的,二次的或者是指数级的,或者做更加夸张的组合。挑一个适合你的并且最简单的来使用。
- 把相关的数值做成类似的增长率。比如,怪物的能量和玩家角色的能量应该同时增长,当然怪物的能量和怪物提供的经验值也是这样。不要把一个做成线性的,另一个做成二次,否则你的游戏将会不平衡。
- 避免变更规则。如果武器伤害在 1 级到 10 级的时候依照某个比率,而 11 级到 30 级的时候依照另一个比率,那样则不太好。避免做出一些不匹配的想法,关注于一个一致的系统。
增长的类型
关于数值的增长有很多类型,通常用到的有线性,多项式/三角函数,以及指数级。
线性增长是最简单的一种,公式结构是
Ax+B,增长率是个常数,容易理解。我一般尽可能多的用这个形式。它的缺点是随着 x 的增加,固定的这个差值会变得越来越不重要。当你有
10 个护甲值时,增加 5 个护甲是很棒的事情,而如果你有 500 个护甲值时,增加 5 个护甲则无足轻重了。
最常见的多项式的增长是二次多项式,它的结构是 Ax^2+Bx+C,随着 x
的增加,变化率也在增加。它很常见是因为它是两个线性增加的乘积。比如,如果怪物的金币掉落是随着等级线性增加的,而玩家升级所需要击杀怪物数量也是线性
增加的话,那么玩家每次升级通过击杀怪物获得的金币就是一个二次方的增长了。
指数增长的结构是
C*A^x。它们刚开始增长缓慢,后来异常迅速。这个方式很难用,因为它后期爆发的过快,但是它有着非常有趣的数学特性,使得它很适合某些特定的系统,比如经验值的增长。
创建有趣的、可管理的游戏内容
游戏内容才是真正发生魔法奇迹的地方。内容包括很多,从武器,到玩家技能等。重要的原则是把内容尽可能的设计的丰富有趣。
内容可以做的简单,或者做的丰富。比如,一个物品可以带有增加 1%
的暴击属性,这个是简单的,它的效果对玩家来说是直接,显而易见的。有比如,一个物品可以在角色做出暴击后的 5 秒内增加 50%
的攻击速度,这就比较复杂了,它的价值并非显而易见,它和角色的暴击率相关。
- 从简单的做起,不断的增加内容的类型。不要直接把想法幻化成一个美丽的自定义装备组件系统。应该从最简单的开始做起,随着系统搭建的过程,只有在需要的时候,才去构建新的内容类型,参数等并为它们定义互相交互的行为。
- 确保你自己先简单为内容做一下演算。比如,2 点的强度或者 1% 的暴击率会改变什么?这些都是简单内容的例子,并且估计一下调整平衡时可能的变化。
- 为玩家能够做什么做出决定。在暗黑破坏神二中,大量的物品都影响角色状态,比如强度,敏捷等。但增加技能等级的功能只出现在少数物品上。
- 不要让玩家过度的控制。高自由度只能让玩家觉得这个游戏琐碎。所以别让玩家有机会做这些事情。在魔兽世界中,所有史诗级的物品都在核心数值上做提升,比如敏捷和耐力,但是玩家几乎没有其他任何方式在这些数值上做更多的堆积。
大家都想让设计变得可迭代,但是实际上这点很难做到。也许你们团队里的程序和美术忙于做引擎和设计原画,而你有足够的时间来写下庞大的设计文档来细化整个
游戏。你必须抵制这个行为!不要比实际游戏做更多很远的不切实际的设计。找一个方式去把你的设计原型化,无论是用一个简单的引擎,或者
Flash,或者 XNA,甚至是卡牌,并且把这个原型设计摆到实际测试过程中。它将会在后来的开发进程中起到很好的作用。
内容的复杂度和平衡的代价
内容越是简单,就越是能够用数学的方式来平衡游戏。如果内容复杂并且变化多样,就很难用数学来衡量它,并且需要更多的游戏测试来反馈游戏,并调整游戏。
复杂丰富的内容能够给玩家提供一个更有深度,更有趣的游戏体验,如果你们的团队有这个资源来做大量的平衡工作,那么你的内容应该尽量做得丰富有趣。如果只有你自己,那么你应该知道自己的极限,并保持内容的复杂度。