思考并回答以下问题:
- 集合是“macroable”的,怎么理解?
- new static是什么意思?
- get_class()函数是什么意思?
专注,重复10遍
思考并回答以下问题:
<!—more—>
上一章中,我们费尽心思调整游戏附件的节奏,终于将玩家的游戏热情保持到了游戏主要内容部分。接下来就是游戏的正式内容了。毕竟前面铺垫得再热闹,游戏主要内容没意思的话还是白瞎,只能让玩家大失所望。
我们说过,游戏创意最重要的是“核心创意的概念”,即让玩家玩什么。其他所有创意都必须为这个概念服务,要让这个概念更有趣。只有保证了上述几点,这款游戏才能真正让玩家玩到概念中所描述的东西。
只要所有创意都以概念为中心,那么玩家越是选取符合概念的行动越能获得乐趣,游戏进行得也越顺利,也越能获得刺激或兴奋的体验。此时游戏的节奏也应该与我们当初所想的一致。
以《超级马里奥兄弟》为例。它的概念是“体验跳跃的乐趣”,所以关卡中处处都是促使玩家跳跃的设计,关卡要通过跳跃来闯,跳得越好就闯得越顺利。同时,玩家越是跳跃就越能获得刺激,进而创造出这款游戏独有的节奏,随着节奏顺利过关便能体会这款游戏的乐趣。
反过来说,如果想让玩家更进一步地享受游戏,就应该想办法促使玩家多选择符合概念的行动。
下面我们就看看如何促使玩家做出符合概念的行动。
首先是UI(用户界面),说白了就是向玩家传递信息的画面以及数据的输入方式。较具代表性的有画面上、下、左、右的状态栏。UI里通常显示了玩家进行游戏时必要的信息,例如剩余生命数、剩余生命值、道具、敌人的生命值、限制时间、剩余能量、燃料表等。
难懂甚至让人看不懂的界面会大幅降低游戏的趣味性,闹不好还会让玩家放弃游戏。这里讲讲《钻地小子》初次拿到公司直属电玩城去测试时的情景。当时有一名顾客看到游戏画面,发现这是一款全新的游戏,于是兴致勃勃地塞了一枚硬币坐到机器前。进入游戏后,他先不急不慌地钻开一个方块,然后观察整体的情况,发现没危险后又钻开了旁边的一个方块,接着继续观察。就这样,他钻完了第一排才开始钻第二排。差不多到第五排的时候,氧气容量降到了20%以下,游戏发出“哔哔哔”的警告音。该玩家这才着急起来,赶忙垂直向下挖,结果还是因氧气耗尽而失败。后面几次尝试也都是同样情况,途中虽然有捡到过氧气胶囊,但玩家根本没注意到氧气的恢复。最后,这名顾客还没等体会到游戏真正的节奏与乐趣就离开了座位,临走时还嘟囔了一句“玩不明白啊”。在顾客眼中,这款游戏像是掉落型消除游戏,但失败了多次之后仍找不到游戏窍门,直至游戏热情被消磨殆尽。我跟几个在远处暗中观察的团队成员都为此受了打击,赶忙回到公司开会讨论对策。
第一,这款游戏“纵向挖掘”的主题没能传递给玩家。为了能让玩家意识到应该纵向挖掘,我们设计前几排用X标方块填充,起点处只留下一格可以向下挖。第二, “氧气机制”和“氧气胶囊的意义”两个系统没能传递给玩家。于是我们决定给氧气胶囊加个特效,在角色获取氧气胶囊时,胶囊会旋转着飞向显示氧气剩余量的UI处并恢复一定量的氧气,同时显示“+20”字样。也就是说,它告诉玩家“刚刚拿到的道具可以把这里显示的值+20”的一个信号。保险起见,如果玩家一定时间没有向下挖掘,游戏还会在角色脚下显示“向下挖!”字样。
最关键的一点,这款游戏独特的节奏没能传递给玩家,所以我们在投币前的画面中追加了试玩演示,告诉玩家这款游戏应该以何种节奏来玩。
实现上述这些改动用了一天,第二天我们跑到公司用来进行本地测试的电玩城换了ROM,随后来了当天的第一位顾客。游戏的试玩演示勾起了他的兴趣,于是他投入硬币,坐下来开始玩。这次的游戏过程与之前大不相同,玩家终于能按照我们所想的节奏玩游戏了。
然而,3次失败后玩家毫不犹豫地离开了座位,这表示我们的调整没收到效果。正在我们懊恼之际,只见玩家从钱包中掏出一张1000日元大钞,二话不说塞进兑换机换出10个硬币,随即匆忙跑回座位往机器中投入一枚,剩下的放在身边。
最后这位顾客总共花了700日元,打通了500m大关,心满意足地离开了。
相较其他游戏而言,街机游戏开发起来更为困难。因为它首先要想办法吸引玩家投币。即便玩家投了币,我们还必须保证让玩家知道用这一枚硬币能玩什么、有趣在哪里、有什么技巧、因何而失败。如若不然,玩家是不会再投第二枚硬币的。
更重要的是,上述这些东西不能用文字来传递。我倒是也见过一些通过长篇大论的文字来介绍游戏方法的游戏,但这个做法实在不敢恭维。
各位可以想一想玩街机游戏的场景。玩家投币后按开始键的那一刻游戏热情是最高昂的。此时玩家最希望的是早点开始操作,比如在赛车竞速类游戏里踩油门转方向盘,在射击游戏里“砰砰砰”开枪。这里要是突然蹦出一大段说明文来介绍操作,那只会破坏节奏,削减玩家的游戏热情。而且对大多数人来讲,操作说明看个两三页就会不耐烦地连按跳过,因为大家觉得“玩玩就知道了”。
所以,游戏玩法不能用说明文来说明,应该利用游戏机制让玩家在游戏过程中理解。最理想的情况下,玩家可以通过玩游戏自然而然地理解游戏玩法和规则。
“哈哈,原来是这么回事,我懂了。”
这样一来,玩法与规则都是玩家自己摸索出来的,不会有被动接受的感觉。要知道,人类会对自己发现的事物抱有好感。反过来,一旦玩家有了“被动接受”的感觉,就会觉得游戏是一种劳作,很难有热情。
不过,有些东西不管我们花多少心思都无法潜移默化地传达给玩家。这些东西如果放着不管,玩家就会感到郁闷:
“唔,玩不太明白啊。这游戏没意思,玩别的去好了。”
这种情况一定要避免。实在没辙的时候,或许还不得不打出“去做OOO!”的字样。文字出现在玩家不知如何是好的那一刻最为有效。
在开始游戏之前长篇大论地讲注意事项并没有用,因为玩家根本听不明白,也不会去听。不仅如此,由于玩家需要连按按键跳过说明画面,难免产生焦躁情绪。
反过来,人们在遇到麻烦或危险的时候,对可能解决问题的建议是来者不拒的。
以射击游戏为例,在玩家子弹用尽时显示“射击画面外”,玩家照做之后出现装填动画。此时他们会对游戏机制恍然大悟,下次再也不会犯同样的迷糊了。
另外,有些时候为了让玩家能更好地享受游戏,需要让他们掌握多项技巧。此时最要不得的就是用文章挨个去说明,游戏却半天不开始。这种时候应该把大量技巧的说明放到一边,先告诉玩家最低限度的操作手法,让他们去游戏里闯一闯。等到过关画面或失败画面显示完毕,利用进入下一画面的读取时间,在屏幕上给出一个小提示。
“小提示:OOOOO的时候,XXXXXXXX就行了!”
将其中一个技巧告诉玩家。一条技巧通常大家还是有耐心去看的,更何况这些小道消息能在下次游戏时帮助玩家闯关。
如果能分析玩家的游戏风格,从中找出不足的地方加以提示,其效果会更加明显。比如玩家已经积累了足够的金币却从来不打开道具购入画面,这说明玩家可能并不知道游戏中能买道具。此时显示: “积累足够的金币可以购买道具,道具运用得当对闯关大有好处哟!”玩家会想:“嗯?什么道具?有没有好用的?”随即对道具产生兴趣,积极地去购买道具。
可见,向玩家传递游戏玩法时也要注意节奏,保证不对游戏整体节奏造成影响。
《钻地小子》的概念是在方块的连锁消除中享受“边挖边躲的紧张感与爽快感”,因此需要诱使玩家大量触发方块的连锁消除。
前面的章节中我们讲过,《钻地小子》为了创造方块的连锁消除采用了下面两个创意。
我们来一个一个地看。先是氧气与氧气胶囊。玩家获取一个氧气胶囊时,恢复多少氧气比较合适呢?
不妨先想想恢复太多会怎样。如果一个氧气胶囊就能让玩家暂时无缺氧之忧,玩家就不必冒着危险去取某些胶囊了。结果就是玩家横向移动减少,很难造成方块连锁消除,玩家在挖掘过程中享受不到紧张感。
反过来恢复太少又会如何呢?这种时候,费半天劲冒着风险捡来氧气胶囊却恢复不了多少氧气,使得氧气胶囊的价值下降。闹不好为拾取胶囊花费的氧气量比恢复的还多,与其去捡胶囊还不如直接往下挖。这样一来,玩家拾取氧气胶囊的行为也会减少,连锁效应很难出现。
可见,为了促使玩家采取符合概念的行动,对某些机制进行调整十分重要。
然后来看看X标方块。这种方块需要挖5次才能破坏,而且破坏时会惩罚性地减少20%氧气。这种设定使玩家愿意主动地避开X标方块,有了横向挖掘的动机。
我们要探讨的是X标方块出现的数量。如果太少了会怎样?玩家大可不去在意X标方块,一直向下挖基本不会有问题。反之,要是太多了呢?此时玩家很难向下掘进,游戏节奏被拖慢,挖掘的快感也所剩无几了。显然,这里的调整也很重要。
说句题外话,X标方块有着其意想不到的作用。比如下面这种情况。
图9-1 X标方块挂在头顶形成屋檐保障安全
X标方块挂在头顶可以起到屋檐的作用,在其下方挖掘能保证安全。另外,在遇到下图的情况时,只要按照箭头指示的方向挖掘,X标方块就会变成屋檐,挡住上方掉落的方块。
图9-2 挖掘X标方块下方,使其与其他X标方块粘在一起形成屋檐
出现上述玩法是因为X标方块数量较少,很难出现4个或更多X标方块粘在一起的情况。因此,X标方块的数量还决定了能否创建出安全挖掘的空间。另外,为了让玩家能进一步享受紧张感与爽快感,这款游戏还引入了下面两个创意。
加入它们之后,游戏有了更多机会让玩家体验“好可惜,只差几米就过关了!”的懊悔以及“眼看要被砸死了,结果正好过关保住一条命!”的安心。从结果来看,整款游戏能体现出概念(享受紧张感与爽快感)也有它们的一份功劳。
《风之克罗诺亚》中,为了让玩家感受到标题里的“风”,我们设计游戏从风之村开始,让玩家从高大的风车屋前面经过,利用旋风草(一种会定期旋转,像鼓风机一样创造上升气流的植物)高高飞起,乘着峡谷间向上吹拂的风浮在空中等。这些东西都在为玩家渲染着风的感觉。
《风之克罗诺亚》的风
这个第1关的作用是让玩家觉得“身处幻想世界”本身就是一种舒服享受。其中主人公克罗诺亚相当于玩家在游戏世界里的分身,起到代入作用。
这款游戏的概念是“将抓住的敌人用于攻击或移动,从而消灭敌人,攻略地图”。第一个要做的就是让玩家不断地捕捉敌人。虽然抓住敌人之后都是吹成球举过头顶扛着跑,但我们让每个敌人被吹起来的方式都不同。毕竟每个敌人的造型都不一样,被吹起来的动画本来就是要分开做的,于是美工团队提出“反正都一张一张分开画了,干脆让吹起来的方式也不一样吧”。他们觉得这样一来,玩家每次见到新敌人都会想“这家伙吹起来会是什么样呢”,从而对敌人产生兴趣。
用户寄来的信中有人写道“最让我家孩子开心的不是闯关,而是敌人被吹成球以后的样子”。我至今都记得看到这句话时有多高兴。
下面我们以动作游戏为例进行分析。动作游戏最有趣的地方在于“接二连三地打败敌人攻略地图”或者“动态地在地图内任意驰骋”等。我们要保证玩家能毫无压力地享受这些内容,因此必须时常提醒玩家现在该做什么,防止他们在游戏中感到迷茫。
举个例子,为了让玩家享受“敏捷地爬到高处然后纵情一跃”这一动态过程带来的爽快感,我们做了一张高低差很大的地图。但问题来了,玩家爬到高处时镜头要一起跟过去,使得我们看不到悬崖下面的情况。于是要尽量将镜头拉远,把悬崖下方的景象纳入镜头。然而我们把悬崖做得非常高,若想将整个悬崖都显示出来,镜头需要拉得非常远,导致角色看起来只剩豆子那么大。这样一来非但没了一跃而下的迫力,爽快感更是无从谈起。这种情况下,玩家享受不到“动态地在地图内任意驰骋”这一概念。
这种时候可以用道具来诱导,就像《超级马里奥兄弟》里的金币。悬崖前方有竖直向下的一列金币时,就算看不到底部的情况,跳下去也通常能落到地面上。反过来说,凡是看不见的地方,只要有金币诱导,那就肯定有地面且没有敌人。这样一来,玩家就能毫不犹豫地一跃而下了。
也就是说,金币的摆放位置暗示了地图的最佳行动路线。另外,金币所在的位置还意味着“那个位置肯定有办法抵达”。
以前我玩过一款游戏,游戏中有一些能跳过去的峡谷,其中某个峡谷正中心放着一个硬币。当时我就觉得“这地方能跳下去”,结果一试,直接掉下去损失了一条命。不过,那个硬币下方正好放着1UP,我在摔死之前先捡到了它,所以实质上是±0。
图9-4 用道具诱导
图9-5 脱离常理的摆放方式
这款游戏的开发者大概是想搞个恶作剧逗逗玩家,但游戏中只要出现一次这类情况,游戏创作者与玩家之间的信任关系就会被打破。此后,即便有金币诱导,玩家也无法放心地流畅做动作了。因此,常理还是要严格遵守的。
接下来我们再分析一下RPG(角色扮演类游戏)的情况。此类游戏常在地图各处藏有宝箱,这些宝箱也不能随意摆放。它们都应该是创作者留给玩家的信息。宝箱所在的位置都是必然能抵达的位置,它们通常是玩家探索该位置的契机。
不仅如此,有未开的宝箱表示这片区域尚未被探索,有已开启的宝箱表示这个地方玩家曾经来过。另外,既然宝箱作为诱导玩家的元素,它里面的东西就必须与玩家抵达宝箱处所消耗的时间及精力(敌人出现的频率和强度)相称。
创作者安排宝箱时只需要敲敲键盘,而且里面想放什么就放什么,所以常常喜欢搞个恶作刷,让玩家干辛万苦找到宝箱却发现里面空空如也。然而我认为,作为游戏,只能有超出玩家期待的东西,绝不能让玩家失望。在这种地方削减玩家的游戏热情就太不值得了,所以一定要让玩家获得与其付出相称的回报。
假设有《马拉松运动员(临时)》这样一款游戏,它的主题是“马拉松”,概念是“通过有节奏地连续按键享受马拉松超越极限般的爽快感”。我们来以它为例进行分析。
系统方面,我们设计按键越快跑得越快。如果只有这一条系统会怎样呢?玩家要一直玩命地按键,过不了多久就累得手酸,最后放弃游戏了。
所以我们既要玩家连续按键,又要保证不产生疲劳感,最好能像跑马拉松一样有节奏地前进,同时伺机加速冲刺。怎样才能满足这些要求呢?设计成按键越快体力消耗越多就行了吗?
不过,从这个角度出发的话,我们很难给匀速状态找到一个合适的按键节奏。所以应该先在脑海中描绘出马拉松突破体能极限后的节奏,从中找出最舒服的按键时机,就像1、2、1、2……这样。
图9-6 按一定节奏连续按键会以一个固定速度奔跑,不消耗体力值。冲时要加快按键速度消耗体力
然后就是进行调整。玩家按上述节奏按键时让角色以通常速度匀速前进,不消耗体力值。按键速度超过上述节奏后,按得越快角色速度越快同时体力消耗得也越快。体力消耗到0之后进入疲劳状态,让角色速度降到比走路还慢。
这样一来,玩家就需要考虑马拉松途中的节奏分配问题了。通常情况下以一个舒服的节奏连按保存体力,关键时刻快速连按消耗体力加速冲刺。
为某些行为添加适当的惩罚措施能改变玩家的行动。所以我们应该仔细修改各个机制的参数,让玩家以我们预想的“舒服的节奏”玩游戏。
可以看出,游戏中的所有元素都是给玩家的信息。我们要通过一切机制向玩家传递现在处于什么状况、应该做什么事、有什么技巧、哪里没做好等。如果信息传递得不到位,玩家会觉得“玩不明白”,渐渐失去游戏热情。我在前面提过很多次,游戏绝不能削减玩家的游戏热情。只要玩家知道现在该做什么,知道怎么做能顺利过关,而且觉得自己有能力做到这件事,那么他就暂时不会放弃游戏。所以,如果希望玩家能一直玩下去,就必须把现在该做的事以及所需的技巧传递给玩家,让玩家觉得自己有能力过关。
近年来,越来越多的侧向视角横版卷轴动作游戏开始使用3D地图,其镜头距离与角度都可以调整。利用这一机制,当前方视野外有敌人要发动攻击时,我们可以稍微向前调整镜头角度,自然而然地将危机通知给玩家,让玩家事前做好准备。这就是一个向玩家传递信息的好方法。
图9-7 镜头略微向前偏转,告诉玩家前方有敌人
让镜头安排也成为传递给玩家的一种信息,能使玩家在游戏失败时更容易接受责任。
《塞尔达传说》有一个万年不变的设计,那就是宝箱中存放的道具(箭矢、炸弹等)必然是该关卡解谜或攻略Boss时所需的东西。
通过游戏机制、道具位置等非语言的东西向玩家传递信息是创作游戏的重要手法之一。如果用语言来传递信息,玩家之后的行为就成了早已安排好的“工作”。然而通过机制传递信息能给玩家带来自己解开谜团的快感,其成就感与满足感不可同日而语。
让玩家自然而然地注意到游戏方法和规则并不是一件容易的事,它需要在很多设计上花费大量心思。不过,做出一款让人觉得好玩的游戏正是我们最需要费脑筋的地方,所以这方面一定要有毅力。
第9章中我们讲了在创作游戏时,应该通过机制使用非文字的方式诱导玩家贴近概念,让玩家享受独自解开谜团的喜悦。接下来的第10章我们将谈一谈如何创造游戏整体的舒服节奏。
思考并回答以下问题: