实战经验:新手如何从零设计实现一个游戏Demo?

发表于2018-06-25
评论0 3.9k浏览
0-前言

在前一段时间的实习面试过程中,“设计者思维”是一个反复提到的词,好几个面试官都指出了“如果要成为一个优秀的策划,那么需要跳出玩家思维,转变为设计者思维”。在后续看了一些游戏设计方面的书籍例如《Game Development Essentials: Gameplay Mechanics》后,感觉要获得“设计者思维”,最好的方式还是自己要实际设计、实现一个小游戏,那怕只是一个Demo性质的Mini Game,从设计的过程中体会设计所需要关注、思考的问题。

正好我自身也具备一定的代码功底和经验,就着手以“开发一个微信小游戏”作为目标,从0开始设计、实现一个游戏Demo,并将游戏实现过程中的思考、经验教训记录下来,一方面这种总结的过程能够发现一些设计中的问题,另一方面作为一种经验总结也许能帮助到有需要的朋友。


1-挑选一个游戏核心玩法

千里之行始于足下,任何游戏都存在一个“核心玩法”,是游戏的根基,是玩家所有行为的根本,也是乐趣的来源,例如ACT游戏里的躲+砍,三消里的移动后消除。

当然很多大型游戏里的核心玩法往往不止一个,但既然目标是一个游戏Demo,那么选取一个核心玩法即可。

核心玩法的选取、设计主要涉及3个方面的要素:实现/设计难度、乐趣来源、分析现有玩法的问题。

作为小团队乃至于个人开发者,实现/设计难度是首先要考虑的。
  • 比如是否能够完成部分游戏中内容的创作、开发。例如我是个没什么艺术细胞的人,欣赏、拍大腿还行,让我自己去画图去写音乐写剧本那就免谈,因此所有以美术、音乐、剧情为核心的玩法就直接pass了,比如音游、剧情向AVG等等。
  • 比如部分领域是否有经验,能够评估难度和时间。例如我完全没有接触过3D方面建模、动作设计等等工作,而且不好评估这方面学习的难度和时间,而到时间方面只有1-2个月,稳妥起见pass了所有3D方面的玩法。
  • 比如目标平台上这个玩法能否玩得转,适配是否能完成。例如手机平台没有了物理按键、摇杆带来的反馈,动作类游戏尤其是高难度平台跳跃游戏的操作会很成问题。
  • 比如核心玩法的设计是否容易、可拆分、可迭代。例如卡牌类游戏需要一次性设计出完整的规则和基本卡牌内容,完成第一个“可玩版本”需要的时间较长。例如多个人一起设计时如何分工且最后能合并,多个关卡可以分别让每个人设计,但解谜元素就不好分割给多个人完成。核心玩法越好拆分成小功能,封装成函数实现,那么后续迭代改进就越简单。

在充分考虑完这些因素后,往往会pass掉一大堆玩法,剩下的玩法就要一个一个在脑中过一遍玩法的乐趣来源。

任何玩法都有其核心乐趣来源,简单说就是这个玩法到底哪里让玩家觉得舒服,这是《大师谈游戏设计·创意与节奏》里的描述,我觉得比较形象。

说实话“好玩”是一个非常虚幻、玄学、主观的东西,把一个玩法到底哪里好玩分析透彻,是从玩家思维到设计者思维里一个重要的分水岭,在这一方面,设计者必须比玩家“多往前走几步”,分析玩法让人觉得好玩的本质原因。

我个人的经验是,当你在玩一个游戏觉得好玩的时候,先想想自己当时的心情如何,是激动?紧张?自信?焦虑?迷茫?然后思考是什么导致了这种心情,最后分析是游戏里的什么元素、什么机制导致了这种心情,最后思考这种心情到底是有利还是不利于你继续玩下去。

例如我选择的核心玩法是“躲避弹幕”,灵感来源为网吧里的一个小游戏“是男人就坚持20秒”,本名叫“特训99”,控制一个飞机躲避从四面八方飞来的子弹。


弹幕游戏的核心体验是“紧张”,来源于超大的子弹数量与“一击毙命”的设定。此外则是慌乱与自信的糅合,如果自己没法预估子弹飞行的轨迹与自己应该如何躲避,那么会感觉十分慌乱,因为四面八方都在来子弹,或者部分弹幕游戏里的曲线飞行的子弹都会让人不好预判安全和危险的区域,从而手足无措。但如果掌握了规律,能够准确估计子弹飞行的轨迹、时间差从而判断出安全躲避的飞行路径,那么不断躲避子弹,尤其是擦弹的过程则会让自己获得满足和自信。

因此我们可以看出,弹幕躲避游戏的核心乐趣在于“预判并躲避子弹”,后续的所有要点都应该围绕或者间接围绕这个要点来做文章。

这样就到了第三步,分析现有玩法的问题。

挑出一个已有的玩法后肯定不能照抄(当然现在照抄的也不少),分析一波玩法存在的问题,才能给后面对玩法的补充和改进提供思路。

其实到这里是一个玩家思维和设计思维相交融的地方,实际上很多游戏论坛里都很常见一些“XXXX设计得不好”“XXXX应该这么改”这样的论调,我对这些“建议”的看法是:应该听,但不能全信。

很多时候玩家思维下思考出的不足和建议都仅仅是“治标”而不“治本”,从表面问题深挖到核心问题是需要不断地问“为什么”的。

以“特训99”为例:

Q:有什么问题?

A:开始时太难

Q:为什么难?

A:子弹多,躲着躲着就没地方躲了

Q:为什么没地方躲?

(到这里就会卡一下,回头多玩几次,摸索其中的实现原理)

A:子弹多的同时,新的子弹是在久子弹消失时立刻刷新的,而且是直接瞄着飞机来的,如果同时刷新的子弹很多,容易造成路线被封死

Q:有没有解决的方法?

A:因为是瞄着飞机来的因此控制每次躲避时的位置,让上一波子弹朝着A点走,自己位移到B

然后等瞄着B的子弹刷新后位移到C,如此循环,最后形成一个近似圆形的移动路线

Q:这个解决方案有没有问题?

A:有,一旦掌握后这个套路后后续就是比拼细节了,缺少变化

(到这里基本得出一个核心的问题,子弹策略太简单,因此优势策略也很容易找到,从而导致后期缺少变化)

Q:那为什么还难?

A:前期找不到这个策略,同时第一波子弹一起出现时很容易死

Q:为什么不容易找到这个策略,上来就死有什么问题

A:得出策略的过程依赖于对子弹刷新方式的分析,游戏本身没有给出推导出策略的途径,全靠玩家自身悟性,悟性不高+上来就死容易劝退大部分非硬核玩家

(到这里得出第二个核心问题,游戏本身的玩法引导太单一,没有提示+高起手难度劝退率高)

……

当然到里不能说分析就结束了,因为对游戏的分析其实理论上没有尽头,而且直白点说甚至都没有所谓的“正确答案”,但是这种分析的过程是重要的,从一个“现象”入手,分析造成这个现象的原因,最终必须落脚在游戏机制或者设计意图上。

例如前面提到的“子弹消失时立刻刷新,而且直接瞄着飞机来”这是一个机制,但这背后的意图是什么?为什么要这么做?对“特训99”这个游戏,毕竟是小游戏,我个人认为是这种实现方式比较简单,因为那个年代游戏的性能关系,同屏子弹是有数量限制的,自然1个子弹消失了下一个子弹才能刷出来,而瞄准飞机当前位置的直线子弹(自机狙)是弹幕游戏里一个很经典的子弹类型,属于理论上容易预判,但实际操作起来需要经验和技巧的子弹类型(此处其实省略了一段Q/A的过程)。

但是是不是真的因为这个原因而这么设计,我觉得这和语文阅读题一样,只有作者知道,而且作者本身的意图和实际产生的效果都不一定一致。因此探究出的这个原因是否正确并不是关键,原因并不是一成不变的,但这个过程中的思维方式很重要,是真正体现设计经验的玄学因素之一。

实际上上述3个步骤并不是线性的,而是一个循环,有可能对一个玩法分析完存在的问题后发现问题不大或者改进起来不在能力范围内,那么很可能需要回到第1步重新挑选玩法。

这一过程算是游戏设计前的一个头脑风暴的过程,也是最为混乱的一个过程,毕竟游戏玩法那么多类型,每个类型里的玩法也数不胜数,更有优劣势,难以抉择,甚至受制于当前的市场状态和资方的需求,那就更复杂了。说不定也更简单了,“你们就给我照着XXX游戏做”……


2-确定对游戏核心玩法的改进思路

在确定到底以什么玩法为核心之后,就不要再去想其他玩法更好的问题了,收心专注于当前的目标是十分重要的一件事。尤其是对于多人团队而言,最忌讳的就是明明确定了要做什么,但是大家心不齐,总想强调自己的idea更好玩,最后迟迟无法动工,或者在设计中夹杂私货,搞得游戏四不像。

此外,游戏设计从来不是凭空出现的,绝大多数情况下都是从一个已有的核心玩法出发,分析其中的核心乐趣,然后进行改进、变化、融合等方式产生一个新的玩法,而到底怎么改就是原创玩法最为关键的一步了,也是区分抄袭和借鉴的关键所在。

大体来说,改进的思路一般有2种,1是改进已有玩法里的问题和缺陷,2是给已有玩法补充新的内容。作为一个博士研究生,在我看来对游戏核心玩法的改进和科研里写论文中的创新点很相似,都是用A方法解决B问题的路子,关键都在于“你的特色在哪里”或“你解决了什么问题”。

对于特色而言,画面、声优、机制、宣传都可以是特色,但是特色也是有代价的,有的特色需要钱,有的特色需要时间,有的特色需要团队实力,因此到底“能”有什么特色,对于整个游戏团队而言肯定是需要自我掂量掂量的。

当然这里我们只讨论游戏玩法、机制的特色如何确定。实际上在上一个阶段的分析之后,核心游戏玩法里存在什么问题已经比较明确了,主要的工作在于针对这些问题提出“解决方案”。

但实际上提解决方案的过程并不简单,因为很难判断答案是否正确,这其中既需要通过脑补、经验判断,也需要通过原型模拟或者制作Demo的形式进行实际的验证。

以前面分析的“特训99”的分析结果为例,子弹策略过于单一的问题有很多解决方法

可以给子弹加入随机的因素,新生成的子弹不全是自机狙,可能是某几个固定路线的固定弹,可能是根据飞机移动方向的预判射击甚至于曲线弹、随机路线运动的子弹。

这些答案到底是谁对谁错?其实很难说,虽然从“理论分析”的角度似乎可以排除一些答案,比如前面提到弹幕游戏的核心乐趣在于“预判与躲避”,那么随机因素应该尽量发生在远离飞机的地方,流出足够的观察、预判的时间,因此“随机路线运动的子弹”就可以pass了。但是另外很多思路都存在“公说公有理婆说婆有理”的现象。而且很多解决思路互相影响,选A就选不了B,或者选C就必须选D等等。

因此我认为上来就拿出一个“完整”的解决方案不现实,我选择从关键、核心、本质的问题开始解决,在过程中通过试错迭代的方式不断补全整个解决方案。这种做法首先要对前面梳理出的各种问题作出一个排序,什么问题最关键、最影响其他问题的解决思路

以我的Demo为例,我认为“特训99”中最关键、最影响其他问题是 “子弹的生成方式”。原版中的机制是版面中的子弹总数一定,消失1个生成一个,但这个生成过程并没有很好地展示出来,而且生成的位置也是随机的,这是造成初期困难、难以找到最优解的关键。因此我决定修改为在固定位置以固定间隔发射子弹,同时发生方向周期性旋转,这种子弹生成的方式能够直接通过画面体现出来:固定位置为炮台,炮台朝向为发射方向,炮台周期性旋转和发射子弹。

然后就引出了第二个问题,难度控制。原版中游戏没有难度变化,而作为一个生存性质的游戏,没有难度变化就意味着只有一部分正好能适应这个难度的玩家能玩好游戏,其他的玩家要么觉得太难,要么觉得太简单,这不合适。而第一步的设计给了我好几个可以用来控制难度的因素:子弹的持续时间、子弹发射频率这2个因素通过影响同时存在的子弹数量大幅影响游戏难度,子弹速度通过影响预判难度中等影响游戏难度,炮台旋转速度、子弹大小对难度有一定的影响,但不大。因此可以设计为随着时间的进行这些参数逐渐升级,游戏变得越来越难,直到玩家死亡。


至此游戏的基本框架产生了,一个由易到难的躲避子弹的游戏。但其实到这里只能算解决了几个“特训99”本身的问题,游戏自身的特色还不明显,直白地说完全没有一个可以用来“吹逼”的点,没法告诉别人“这游戏哪里好玩”。所以还得“加点料”,我挑了2种料。

第一是加入技能系统,其实要说这并不新鲜,很多狭义或者广义的弹幕游戏都有技能系统,可能体现在道具上,可能体现在飞机选择上,可能体现在关卡流程上,但是毫无疑问,技能系统能成倍地增加游戏的复杂度和耐玩度,尤其是多个技能自由组合的模式,玩家可以根据自己的喜好去探索最好、最适合自己的技能组合从而获得高分或者存活更长的时间。

第二是让玩家参与到游戏难度的控制中,即玩家可以一定程度上选择游戏如何变难。由于前面的基本框架汇总提供了很多个控制游戏难度的参数,让玩家在游戏中动态控制这些参数的变化从而控制游戏难度的变化,一方面能够增加游戏本身的玩法深度和耐玩性,另一方面让玩家决定游戏的发展能够让玩家在弹幕游戏中的“自信感”得到另一个维度的体现,让玩家觉得“我不怕XX,我就要提升XX的难度”。


到这里游戏的核心玩法已经基本成型了,这就像树的树根一样,虽然似乎不可见,但是实际上有很多可以发展、细化、深入设计的地方,例如技能如何设计、难度控制的元素如何体现、是否加入联机/团战的要素等等,随着这些的具体设计,游戏也会变得逐渐明朗起来。

不过核心玩法设计完不代表就定死了,实际上任何未具体实现、测试过的思路都说不准是否正确,例如实际上“让玩家参与到游戏难度的控制”这一思路在后续测试中被发现存在很大的问题,属于一个需要深挖才能挖出的“特色”,还需要进一步设计和改进。

后面会逐步提到在设计、实现的过程中上述设计是如何不断在实现的过程中改进、完善的。

这里先放出目前这个游戏Demo的情况(目前尚未完工),微信小程序里搜索“弹幕躲避球”即可,就不要吐槽我渣渣的起名方式和美术能力了……

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引