六年谈-6.系统设计中的系统

六年谈-1.游戏工作室与游戏开发过程简介
六年谈-2.了解程序、美术与测试
六年谈-3.策划的工作内容与工作管理简述
六年谈-4.沟通、会议
六年谈-5.创造游戏的世界
六年谈-6.系统设计中的系统
六年谈-7.系统设计中的设计
六年谈-8.数值设计过程
六年谈-9.游戏数值原理与技巧
六年谈-10.游戏关卡的杂谈
六年谈-11.挑战中心规划
六年谈-12.工程管理
六年谈-13.人文管理

讨论游戏系统设计前,首先需要对系统和游戏系统有一定的认知。能够较为独立的完成特定功能或玩法的一整套逻辑、数据与表现就是一个游戏系统。这样,游戏系统可分为功能性系统和玩法性系统。功能性系统是游戏中方便玩家使用,纯粹提供功能的系统,例如聊天、邮件、查看地图、角色移动操作、合成等系统,他们本身并没有实际的可玩性,以功能性为核心,这些功能的易用性,实用性,适用性,可扩展性是考虑的重点。另一类玩法性系统是以可玩性为核心设计的系统。这类系统不仅仅要有好的功能,还需要有玩法规划,能够让玩家沿着规划的方向进行游玩,例如战斗系统、装备系统(掉落产出、制造、强化、镶嵌这些都是装备系统中的子系统,不仅要设计功能,还要做出足够的好玩的玩法规划才行)、技能书合成系统(在纯粹的功能性的合成系统上做的玩法规划,添加了可玩性而成的系统)、副本系统、任务系统等。在制作这些系统的时候,显然不能单纯的只考虑功能,功能完全OK,可是没有规划任何玩法,或者无法做出玩法可就糟了。如果做出了战斗的规则,技能缺只能有2种——攻击和加血——那这个系统依然是失败,无论这战斗规则多么的简单易懂,操作多么舒服上手也都没用。

一个游戏的系统可以按照以下列举的顺序进行:

l  登录创角色

l  主UI

l  游戏地图

l  副本

l  玩家角色

l  升级成长

l  交互NPC

l  怪物

l  战斗规则

l  职业技能

l  装备

l  宠物

l  道具

l  任务

l  聊天

l  邮件

l  交易、摆摊、拍卖、NPC商店

l  商城

l  组队

l  社交(好有、仇人、师徒)

l  成就

l  公会

l  PVP

l  排行榜

l  活动

l  教学引导

如果要设计一个游戏,上述列表已经包含了其中大部分的系统。这些系统,每个都需要独自的系统设计文档。你可以将他们先列出来,逐步补充来完成自己的游戏设计。如果一个系统太大,应该将其切割成较小的系统,方便设计、制作和验证,最后再将这些已经OK的小系统组合起来再调整较为简单。

系统设计有好有坏。同一个系统,不同的人看,评价也不一样。什么是设计的好的游戏系统,我这里只能给出自己的见解。

考虑游戏系统好坏着眼于易用性、灵活性、可玩性和耐玩性这四点(功能性系统就不用考虑后两点了)。

易用性是指用户使用系统时,容易上手,理解清晰,操作简单、方便、安全,系统功能全面,满足玩家需求。好的易用性来自于对玩家需求的不断挖掘,对系统不断的大量测试与改进;研究玩家的操作习惯和视听认知习惯,研究界面与特效的表现手法,研究如何处理各种细节和意外情况。我们的周围有很多值得借鉴的东西,我们正在使用着大量的系统:用ATM机、驾驶汽车、使用电梯、注册网站会员、使用微博、使用打印机传真机等等。这些系统和游戏系统在易用性上是有共性的。总的来说,你可以通过以下几种方法提高系统的易用性:

l  完成功能所需的操作尽量的少(相关量化比较计算可参考《人本界面》的第四章内容,通过GOMS模型非常精确的计算各种操作的优劣)

l  使用操作成本更低的操作(移动鼠标<左键点击<右键点击<点击按键<鼠标拖拽)

l  提供界面自动的检索功能

例如要让一个宠物学习技能,点击宠物学习技能后,自动列举出了背包中可以学习的技能书,玩家只需要选择一本点击即可,这样不再打开背包去找。

l  使用渐入渐出,位置固定的界面

l  界面层级越少越好

l  单个界面上的内容不易太多,需要有顺序和焦点

l  使用统一的操作按钮的布局

l  使用初次教学引导

l  界面有自解释的能力

l  一种功能只限定一种操作方式对应,多种操作完成同一功能会误导玩家

l  研究大众的习惯,设计符合大众习惯,并有所改进的操作方式

l  旁观者方式观察玩家使用游戏系统,了解那里有问题,并作出改正

灵活性是指游戏系统能够适应需求的变化,较为简单方便的修改就能完成新的需求。由于现代游戏设计,需求的变化实在是太快了,这一点就显得更加尤为的重要了。灵活性实际上要求的是程序的功能实现具有很好的可扩展性。在为程序提供功能需求的时候,策划能做的一是尽可能的列举出该系统将来可能的扩展功能,二是和程序共同分析游戏系统,抽象出最基本的概念。有程序基础的策划知道,系统中的数据抽象的越基础,其扩展性就越好。另外,灵活性上,脚本高于数据高于写死的代码。因此,你的系统如果确实需要灵活性,就可选用脚本来实现。

可玩性可以说是游戏设计的终极话题。没有任何理论步骤告诉如何如何做就可以制造出可玩性来,同时可玩性也很依赖个人感受。因此我将可玩性理解为一种实验属性。你作为一个普通玩家,在玩过一个游戏后是能够产生是否具备可玩性的评价的。当某一种游戏系统在很多游戏中出现并被玩家喜爱,那么这个系统是具备可玩性的。这样,我们在设计时,为做出可玩性来,需要参考游戏历史上的其他大量的游戏,同时培养出自己对于可玩性的独特感知雷达。

以愤怒的小鸟为例,横向2D抛物线的游戏在PC上早已有很多种,说明了这类游戏的核心系统的可玩性是存在的。将这种可玩性通过其类似的系统应用到手机平台时,经过很有功底的调整就得到了愤怒的小鸟的游戏系统。递进式关卡、积分、成就和战利品收集系统也是在很多游戏中验证了其可玩性,那么愤怒的小鸟也成功糅合了类似的游戏系统,使他又增加了可玩性。

从系统相似的角度设计和分析游戏系统可玩性是一方面。另一方面,创造全新可玩性的游戏系统就只能靠不断尝试,这也是宫本茂和小岛秀夫那么伟大的原因,他们创造了全新的可玩性系统——跳跃过关和秘密潜入。这也就是说,要么你玩过很多游戏,培养出了非常好的游戏品味,能够很好的选择适合的游戏系统组合出你的游戏来保证可玩性;要么经过大量的尝试,制作并测验新的游戏系统,最终筛选出前无古人的游戏系统。否则,只能靠上帝的眷顾让你偶然开发出了从未有过的具备可玩性的游戏系统。

耐玩性是对现代游戏越来越强烈的要求。耐玩性要求游戏系统不仅可玩,而且可以支持玩家玩很久。有些游戏系统可以非常好玩,但玩家只要玩一会儿就玩完了,不会再玩这个系统了,这就是缺乏耐玩性。一个系统如何能让玩家一直玩下去,或者一遍又一遍的玩呢?

第一种方法是增加内容。例如增加后续的关卡数量,增加新的成就目标等。这就需要制作团队具备足够的人力和能力,实际上玩家玩游戏的速度永远快过制作者制作的速度。画数个月制作的新内容,玩家也就花几天时间玩完了。但这种方法的好处是效果明显。新内容可玩就能够确定的支持一段时间。

第二种方法是拉长追求时间。这其中最厉害的是转生系统,用再来一次的时间代价来获得额外属性,这些属性实际的性价比已经边际效应的递减到很低的水平了。但是,当玩家满级而无其他突进获得增强的时候,还是会选择转生的。这个方法实施起来简单,就是想办法将已有的内容进行拉长,但损失的是因挑战难度提高,获得奖励刺激减弱带来的可玩性的下降。

第三种方法是利用随机。利用合理的随机机制,让游戏自动创造出不同的内容,带来总是不一样的感受的效果。这实际上是第一种方法的改良。俄罗斯方块的方块随机和暗黑破坏神2的地图迷宫随机就属于这一方法。这种方法是有难度的,如果随机处理不当,可能会产生不良游戏效果的游戏内容。因此需要很多的时间和天才的算法来完成,并需要大量的测试与反复的改进。

最后一种方法,也是最有效的方法就是玩家自创内容。这种方法也分三种不同:

1.一题多解

设计可以支持多种方法达成统一目标的游戏系统,玩家就可以反复尝试不同的方法完成目标,创造了属于每个玩家自己的游戏体验内容。

2.玩家自建关卡

将建设关卡的基础素材开放给玩家,玩家可以自创新游戏内容,利用玩家的设计资源创造无尽的游戏内容。

3.PVP对抗

这是目前来看最有效的方法。游戏系统设置基础简单的规则,让玩家相互之间互动对抗,通过不同玩家的思想行为不同,创造出了无尽的游戏内容。围棋、象棋、Dota类游戏就是这样,因此他们也长盛不衰。

对游戏系统的认知,很重要的一点是建立MCV理念。由于游戏系统最终是程序代码实现,从设计之初就以贴近程序的视角进行设计,能够让我们更顺利和准确的进行工作。MCV理念本来就是程序设计中的概念。MCV代表Model、Control和View,也就是模型、控制和显示。

当我们对一个游戏系统有了想法后,就需要通过MCV的理念来抽象、拆分和解析我们的想法,让他成为一个真正的游戏系统。

第一步,找到这个系统里需要建立的模型数据。以排行榜系统为例,我们可以通过分析我们需要哪些排行榜,找到需要哪些玩家数据,等级榜对应玩家等级,等级榜中需要玩家名称,所在公会,职业等等信息,如果有转生,等级榜需要优先排列出以转生的玩家;战力榜需要玩家名称、最高战力(这里就提出了一个需求,要求数据库记录玩家角色达到的最高战力值)、所在公会、职业等信息,这些榜需要记录他们上次的排名,这样在刷新排名的时候,可以标示出谁的排名上升了,谁的排名下降了……就这样将所有需要记录,关注的数据条目整理出来,阐述每个数据的具体含义,就可以得到游戏系统的第一部分:Model。这些数据将成为游戏系统操作应用的对象。

第二步,找到这个系统里的所有控制功能。玩家有哪些操作,系统自动的功能有哪些?一般可以按照时间顺序推想,进行列举。再说排行榜系统。一个服务器一开始排行榜是怎样的?显然应该是空的;下一步就需要确定什么时间点刷新排行榜;刷新后第一次的排名上下标示默认应该是什么?之后刷新排行榜时需要哪些操作,如何改变排名上下标示?玩家可以通过排行榜上的名单做什么操作(私聊?加好友?组队?)?在榜首异主时如何增加全服公告?通过这样的思考,将游戏系统的所有控制功能逻辑一条条的列举并描述清楚,这就是第二部分:Control。这些功能描述将成为游戏系统核心设计。

第三步,找到这个系统有关的全部显示与反馈功能。可以通过参照Control中的一个个控制功能,进行延伸找到所有的显示与反馈功能。在这一步,我们只关心玩家能看到,听到什么。控制核心相同,但界面表现方式是可以独立出来做出很多不同种的。还是排行榜系统为例。这时候要考虑排行榜按钮是什么样子,放在什么位置。排行榜界面打开是什么样子,显示哪些内容,自己的排名显示在哪里,总共显示前多少名的排名信息,如何选择不同排行榜分页。这就是第三部分:View,在这一步,将游戏系统完全的视觉化,呈现出来。

这三步并非一定顺序执行,通常会在对某一功能进行思考的时候并行执行。最终将所有功能全部完成。

通过MCV的思考模式,我们就能够没有遗漏,足够清晰的建立自己对游戏系统的理解。这将非常有助于下一步对游戏系统进行执行的设计。



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)

最新评论