关闭

游戏设计规则探秘之提高动词的健壮性

1338人阅读 评论(0) 收藏 举报
分类:

我们希望我们创造的动词得到尽可能的发展,使它们成为丰富、立体的角色。这不仅意味着让动词在游戏中更多地和其他规则互动,也意味着针对每一次互动,玩家都希望有一个适当的回应。动词是规则,让玩家学会游戏的其余规则。如果玩家用某种方式触发了动词却没有得到任何反馈,玩家就什么也没有学到,无论是动词本身还是游戏的规则。我们需要健壮的、可以和玩家沟通的动词,哪怕只是说“不,你不能这样做。”这样的看似负面的消息和告诉玩家可以做什么一样重要。

下面是我自己工作中的一个例子。 2009 年,我开发了一款游戏叫《入墓》(Tombed),主角是个考古学家,丹杰·简2。正调查地下墓穴的简,被迫不停地挖掘松动的土层往深处走,因为她触发了墓穴的机关——一面快速往下坠的尖刺墙壁。她手持铲子,可以用它来挖通脚下的软土块。“挖”是一个关键的动词,这个动词在游戏的标题画面就已经被建立起来:简站在一块可以挖掘的地面上,手里拿着铲子,屏幕上的文字告诉玩家“按 Shift 键开始”。当玩家按指示开始后,简开始挖地面。因为每挖掉一块土块后,相同颜色且相连的土块(一共有三种颜色)会全部消失,因此简马上会坠落下去,通过标题画面,进入游戏。

所以现在,玩家知道了简最重要的动词是什么(“挖”),按什么键来触发它(“Shift”),以及在游戏开始后会大量出现的软土块上动铲子会有什么效果。简的其他动词是在稳定的地面上“左走”或“右走”。当脚下没有地面时,她会往下坠,直到再次降落到地面上。

除了可挖的土块外,还有简挖不动的实心金属块。它们是用来限制简的行动的,换句话来说也就是为玩家创造选择。也许,比起尝试挖动金属块,她更需要在金属块旁来回跑动以躲避那些快速逼近的尖刺墙壁。也许,她需要等待,让尖刺墙壁碰到金属块来摧毁它们。这里,出现了另外一条规则:下坠的尖刺墙壁能摧毁任何方块,包括金属块。因此,金属墙壁实际是一种速度控制机制,防止简跑得太快掉出屏幕以至于玩家无法看到和控制她。

但玩家要如何知道这一切呢?知道简的铲子可以摧毁障碍物,但他们怎么知道它对金属无效?让我来告诉你。玩家用铲子碰到了第一个金属障碍物,然后游戏提供了反馈,告诉玩家发生了什么。

下面是当简用铲子铲中一个不可穿破的金属块时会发生的事:它被弹了回来,并发出金属般“叮”的声音(见图2.4)。即便玩家不能使用此动词来通过障碍物,还是有可觉察到的效果,给了玩家关于动词和障碍物之间关系的信息。当玩家使用这个动词的时候,“简无法挖通这里”这条规则被传达给了玩家,或者被强化了。


图 2.4 简试图挖掘穿过土块和金属

事实上,游戏引入这个规则的方式是这样的:玩家一开始,就必须挖掘三层颜色不同的土块。图2.5 显示了游戏的第一个场景。当土块被击中时,和它接触的每一个相同颜色的土块都会被粉碎,但不同颜色的土块则不会。这是游戏的最基本规则,也是游戏教会玩家的第一件事。


图2.5《入墓》的开场

当简已挖过所有三种颜色的土块后,她到达了一个两边有墙的金属井的底部。她能够用铲子铲金属块,但铲子只会反弹并发出“叮”的声音。一会儿之后,尖刺墙壁将达到墙壁的顶部,粉碎连在一起的所有金属块,释放简,让她落到下方的地面上。所以,现在玩家基本上已经察觉到了两个规则:“简不能挖通金属”和“尖刺墙壁可以粉碎金属”。

每一个让玩家期待应有效果的交互都应该触发效果,即使这个效果是负面的。这就是我所说的健壮的动词。如果玩家拿铲子砸金属,却什么都没有发生,就像铲子没碰到金属或者铲子和金属彼此都不存在一样,玩家仍有可能认识到他无法挖动这些金属块,但这样的话我们就没能有效地传达我们的规则。也有可能玩家需要更多的时间来弄清楚它,然后就在他踌躇的时候,尖刺天花板就砸了下来把他压死了,于是他要重新开始。玩家浪费了时间,但也没有学到任何东西。这就是糟糕的设计。作为创作者,我们要抓住任何可能的机会去教会玩家规则,并且强化它们。



0
0
查看评论

强烈推荐《全景探秘游戏设计艺术》

http://baike.baidu.com/view/3962153.htm 这是这个公司的老大强烈推荐给我的,主策同学也强烈推荐,于是就买了一本,一开始没当回事,看了第一章就忍不住要看第二章,看完两遍以后,我的感觉也只剩下了一个“强烈推荐”。 确实很不错。 对这里面的一个概念特别的赞同...
  • noslopforever
  • noslopforever
  • 2012-04-30 23:52
  • 3852

如何提高程序的健壮性,增加判断。

如果后台在返回的时候少了一个属性?前端会不会报错,这是我们前端开发一定会遇到的问题。那么如何的提高程序的健壮性呢。 关于这个问题,我们可以在实例化这个对象的时候进行判读来增加程序的健壮性。下面是一个参考示例。 public class ClientUser implements Parc...
  • qq_29678299
  • qq_29678299
  • 2016-04-02 19:45
  • 949

阅读笔记《全景探秘游戏设计艺术》

《全景探秘游戏设计艺术》笔记           ——————2013/4   lens #100:你的真实目的 为了确保你在向你真实的目标前进,请自问一下这个重要的问题: 为什么我要做这件事?     1——6体验分析   le...
  • songcf_faith
  • songcf_faith
  • 2015-04-29 14:14
  • 654

如何提高代码的健壮性

转载自http://www.open-open.com/lib/view/open1415453057980.html 1、尽早释放无用对象 好的办法是使用临时变量的时候,让引用变量在退出活动域后,自动设置为null,暗示垃圾收集器来收集该对象,防止发生内存泄露。对于仍然有指针指向的实例,jvm就...
  • Rxlywz
  • Rxlywz
  • 2016-09-14 17:50
  • 920

游戏设计规则探秘之宾语

正确地选择宾语不是一件想当然的事情。在《入墓》中,简的下行路径由四个宾语组成:三种不同颜色互相连在一体的土块,以及金属块。就像动词一样,我们选择恰当的宾语也会带来诸多益处。我们应尽量避免引入那些无法被发展的宾语,因为它们的用途与其他的宾语有太多的重叠。 只给土块一种颜色未免太少。我也许可以用这来控制...
  • broadview2006
  • broadview2006
  • 2015-06-19 10:31
  • 1620

[后端服务]后端程序健壮性几点思考

参考文章:http://www.cnblogs.com/LBSer/p/4753112.html   对每一个程序员而言,故障都是悬在头上的达摩克利斯之剑,都唯恐避之不及,如何避免故障是每一个程序员都在苦苦追寻希望解决的问题。对于这一问题,...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2017-01-04 10:29
  • 1347

程序的健壮性

程序的健壮性和自我防御  
  • wangjiaoni
  • wangjiaoni
  • 2007-10-08 00:07
  • 1791

系统健壮性的思考

一、概述 最近系统有两个故障都跟系统健壮有很大的关系。为此,我们不得不进行思考,如何提高系统的健壮性。系统在经过功能测试后,对于正常的业务数据处理往往没有任何的问题,但是对于一些异常的数据、异常的业务处理就会出现系统集群不可用等灾难性的问题。 异常的数据一般是因为系统的数据修正引起,往往...
  • bxyz1203
  • bxyz1203
  • 2012-07-26 16:24
  • 5862

增强C++ 健壮性

http://www.boost.org/community/error_handling.html Error and Exception Handling References The following paper is a good introducti...
  • wangyin159
  • wangyin159
  • 2015-06-28 08:25
  • 454

采用[ICONIX] 方法实践BLOG设计之四 [健壮性分析]

     在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序图和协同图的绘制了。但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图所示:       ...
  • daizhj
  • daizhj
  • 2007-10-23 08:30
  • 860
    个人资料
    • 访问:3927423次
    • 积分:56528
    • 等级:
    • 排名:第57名
    • 原创:1462篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3786条
    博客专栏
    文章存档
    最新评论