入门游戏设计?献给初学者的工具箱(2)


3楼猫 发布时间:2022-11-25 17:31:53 作者:Bramasole Language

上一篇文章的链接: 入门游戏设计?献给初学者的工具箱(1)
这篇文章是我这学期在大学学习游戏设计的一些笔记摘录和心得的汇总,分为上下两篇(这是下篇),包含了一些游戏设计理论文章的概念和我自己制作的桌游的实践手法。如果你想以一种更加系统和理论的方式了解游戏设计的话,那么这篇文章中介绍的概念和方法相信可以帮到你、并指引你入门游戏设计。
闲话少说,让我们直接步入正题吧!

自动化系统

自动化系统(Cybernetic System)指的是一个内部系统中输入数据和输出数据的交互和对系统本身的影响。在这个语境下,输入数据表示了系统是如何检测它所处的环境的,输出数据表示了系统是如何反过来影响环境的
这个概念本身十分苦涩,所以我用一个例子更生动地讲解一下。假设今天是你和你喜欢的女生的第一次约会,你显得非常的紧张,因为你不想搞砸这次千载难逢的机会,你想要在女孩面前展现出最好的自己。于是,你的大脑开始了它的认真模式,它感知到每一个女孩的动作、微表情和话语,在脑中进行分析和决策调整,最后告诉你下一步应该怎么做才能让女孩更青睐你。
在这个过程中,自动化系统就是你的大脑,输入数据是女孩的一举一动,输出数据是你对她的一举一动的反应。女孩的行动和你自己的行动都会作为大脑思考后续步骤的参考,它会一点点调整今天约会的大走向和决策,这也正符合了自动化系统的定义。
图源:《Florence》

图源:《Florence》

在自动化系统运作的过程中,它的过程可以被抽象为“输出——反馈——调整(output - feedback - adjustment)”。你对女孩说今天要不要吃这个,女孩回答说“也行”,你意识到她可能不太情愿,于是尝试调整今天的计划。
自动化系统通常具有3个必备元素:传感器(Sensor)比较器(Comparator)和激活器(Activator)。传感器接收环境中的输入数据,比较器解读传感器接收的输入数据并决定系统是否需要进行调整,激活器则负责真正的调整执行并向环境输出数据。

反馈循环

接下来,让我们弥补上上一篇文章的一块缺失的碎片——反馈循环(Feedback System)。反馈循环是自动化系统的一种,它以一个条件为目标,并会持续调整系统以实现并保持在目标点。
中央空调是一种很典型的反馈循环的案例:首先我们需要设立一个目标温度,然后空调系统就开始运作试图达到那个温度。如果室内比较冷的话,空调系统就会放暖气提升温度,如果室内很热的话,系统就会制冷降低温度;经过一定时间的来回调整之后,整体的室温就会慢慢趋近于当初设立的目标温度了。
反馈循环分为两种:负反馈循环(Negative Feedback Loop)和正反馈循环(Positive Feedback Loop)。刚刚中央空调的例子就是一个负反馈循环,即新数据产生的结果和原先的结果相反。假设你在冬天打开了窗户,暖气接收到了冷空气的结果(原先的结果),于是便随之产生了更强烈的热风(新数据产生的结果)。于是,室温会一直维持在一个恒定的温度,也就是说这种负反馈的调整会使整个系统保持在一个平衡点上
正反馈循环的运作则完全相反,数据会导致系统持续朝着一个方向去调整。这个循环的例子也有很多,有一句话叫做“坚持就是胜利”,如果你坚持努力学习,你的成绩会越来越好,如果你坚持每周健身,你的身体素质会越来越强,如果你坚持每天读书,你的知识量会越来越大。
在你坚持做一件事时,你会获得越来越多的回报,但是,坚持并不等于正反馈循环。人们之所以能坚持做一件事,是因为他们从坚持的结果尝到了甜头,所以才能有动力继续干下去。你考试获得了好分数,才会觉得学习真的挺好的,才会继续埋头学习;如果每次成绩都能进步,从班级前10到班级第1到年级第1,那么你就会一直高效的保持学习的热情,这才是一个合格的正反馈循环。讲到这里,你是否明白了,正反馈循环之所以能循环的原因,正是因为每次传感器接收数据时所尝到的甜头。如果把负反馈循环比作对数函数的话,正反馈循环就和指数函数完美契合。

游戏中的反馈循环

讲了这么多理论性的东西,是时候回到游戏中,看看反馈循环是如何作用在游戏设计上的。首先对于负反馈循环,一个几乎被说烂的例子就是《马里奥赛车》中的道具系统。
如果你是最前面的玩家,你在获得随机道具时很大概率会拿到一个几乎没用的道具;但是,如果你是跑在最后的玩家,你通常能得到很妙的恶心对手的道具,比如可以直接投掷出把第一名拉下马的“蓝龟壳”。通过这些道具的随机性,《马里奥赛车》可以使游戏保持在一种平衡的状态,不会让第一名一直领先,也不会让最后一名变得毫无悬念。在比赛结束之前,一切都是未知,所有玩家都可以利用道具获得反败为胜的机会。
令人讨厌的蓝龟壳

令人讨厌的蓝龟壳

《反重力赛车》(WipeOut)是另一个负反馈循环的例子。在游戏中,玩家会和电脑AI进行赛车比赛:如果玩家现在是第一名,电脑AI会让第二名的赛车稍微加速;如果玩家是最后一名,倒数几名的赛车就会减速让玩家有更好的超车机会。可以注意到,《反重力赛车》通过调整系统和环境来影响玩家的优势和劣势,而非直接对玩家本身进行增强或限制。
游戏《反重力赛车》

游戏《反重力赛车》

《黑暗之魂》(Dark Souls)中,玩家每次进行攻击就会削减精力条的一部分,而玩家不行动的话精力条会自动回复,这是一种负反馈循环;在《女神异闻录5》(Persona 5)中,佐仓双叶的技能释放很大概率和战斗角色的血量有关,在我方角色快没血或者已经没血时,双叶会更普遍地自动释放全体回血技能,让玩家不至于陷入绝对的劣势,这也是一种负反馈循环。
佐仓双叶是由电脑控制的辅助角色,帮助玩家取得各种增益buff

佐仓双叶是由电脑控制的辅助角色,帮助玩家取得各种增益buff

那么,留给大家一个问题,我们讲了两种赛车游戏中的负反馈循环的例子,那么在真实世界的赛车比赛中,你认为这是一种负反馈循环还是正反馈循环呢?
正反馈循环在游戏中的例子就更加普遍了。几乎所有RPG游戏都有一定程度上的等级提升后能力变强,“打怪 — 升级 — 能力提升”就是一个最直观却寻常到几乎不会被注意到的正反馈。但是,因为你变强了,你的敌人也会随之变强,这也就流传了那个“当我1级的时候在用【破损的木棒】打【小龙虾】、当我20级的时候在用【精致的法杖】打【变异的小龙虾】”的梗。实际上,敌人随着玩家的能力提升而变强是否也可以算是一种负反馈循环呢?
还是拿《黑暗之魂》和《女神异闻录5》来举个例子。在《黑暗之魂3》中,有一种流派叫“爽到(双刀)流”。因为双刀的攻速特别快,可以在精力消耗完之前打出多段伤害。那么,设计师是如何让双刀的攻击产生更多的正反馈呢?他们设计了一个叫做“教宗右眼”的戒指,戒指的介绍是“越持续攻击,攻击力越高”。也就是说,双刀的连击在这个戒指的加持下可以产生强大的伤害正反馈,形成爆炸性伤害,有时候配合其它buff道具甚至可以双刀一套秒杀boss。
双刀一套带走Boss

双刀一套带走Boss

在《女神异闻录5》中,玩家的队伍在战斗时一共可以登场4名角色。为了强化角色间的互动,设计师加入了“换手”机制。在一名角色对一只怪物造成了弱点攻击后,该角色可以立即进行另一次额外攻击,或者和队友换手,将这个额外的攻击机会让给队友。请注意,这个机制中存在着两个正反馈循环:第一种是弱点攻击后额外攻击一次的正反馈,第二种是选择换手的正反馈。前者的正反馈非常普通,但换手则更为复杂和丰富。
1 / 2
可以选择队友进行换手
在一次战斗中,玩家可能会面对多个敌人,这些敌人的弱点可能都不一样。当玩家用 角色1 对 敌人1 造成了弱点攻击后,该敌人就陷入昏迷状态,本轮内不能再被重复造成弱点攻击。在这个时候,如果 角色1 和 角色2 换手,角色2 恰好用他的技能触发了 敌人2 的弱点,那么角色2 就可以再和 角色3 换手。感受到了吗,在连续换手的机制下,玩家具有了更多额外的攻击机会,并对怪物挨个造成了大量的弱点伤害。
但是,这还没结束,每次换手成功后,下一位行动的角色会有一定程度的加成,比如攻击力提升、回复血量等,甚至如果你成功换手了所有的角色,最后一个行动的角色可以不使用任何魔法消耗来释放任何的技能。总结一下,这个例子中的正反馈循环通过让玩家造成弱点伤害,赋予了玩家更多的行动次数和属性加强,并通过连续换手这个策略造成持续且大量的伤害。

反馈的规律和应用

通过上述一些例子的延申,现在是时候对反馈循环进行一个简单的总结和提炼:
  • 负反馈循环可以通过不断对游戏优势的平衡延长游戏时间
  • 正反馈循环可以更快地推进游戏到结局
  • 负反馈循环会强调最后的胜利结果
  • 正反馈循环会强调前期的优势基础
  • 正反馈循环通常需要负反馈循环进行中和
  • 反馈循环间接从玩家手中不知不觉抢走一部分控制权
对于最后一点,我想要补充玩家需要的其实不是真正的控制权,而只是一种控制事物的感觉;只要给予他们这种感觉,哪怕他们并不是真正地控制着游戏本身,玩家也不会有什么异议。
有一种基于反馈循环的游戏平衡手段——“动态难度调整”(Dynamic Difficulty Adjustment),相信很多玩过《生化危机4》的玩家都耳熟能详了。DDA会评估玩家在关卡的一个位置的死亡次数,并随之调整游戏的难度。假设你总是在一个地点被怪物打死,游戏就会让怪物的血量降低、你的攻击力增强,让你更容易地克服这个部分。
但是,关于DDA的争论也一直很多。游戏究竟是类似于一种需要玩家不断学习才能掌握的语言,还是一场根据玩家喜好及时调整的即兴表演?设计师究竟应该让玩家服从自身,还是应该迁就玩家?有些玩家会不会利用DDA的特性进行一些“作弊”操作?这些都是随着DDA浮出水面的问题。

游戏与模拟

模拟是对 "现实 "中的某些方面的程序性的重现或阐述。在这个语境下,程序性表示了模拟必须具有可操作性,是一种动态变化的程序,而非静止的状态。游戏中经常充斥着各种各样的对现实的模拟,但是这种模拟并不是对现实的完美重现。
优秀的设计师们从现实中找到灵感,取其精华去其糟粕,将那些快乐的感触通过模拟的方式存放在了游戏这种互动媒介之中。宫本茂在儿时的假期回到乡下,在一次次探索乡间小路的过程中发现了冒险的快乐,多年之后《塞尔达传说》模拟了这种纯粹的冒险乐趣;田尻智少年时期走遍了城市中的自然废墟,成为了班上的“昆虫医生”,后来为了在游戏中重现出捕捉不同昆虫时的喜悦,创作出了《宝可梦》系列。有的时候,优秀的灵感并非凭空而生,美和快乐来自于现实,而设计师所做的事情,只不过是将他在现实中体会的美通过游戏传递给了所有人,这是一种无私的分享。
一切都源于儿时乡下的探险

一切都源于儿时乡下的探险

游戏中的模拟可以分为嵌入性元素(Embedded Element)和涌现性元素(Emergent Element),前者代表了游戏中预先植入的部分,而后者则是游戏系统自我更新迭代形成的动态。从叙事层面讲的话,嵌入性元素就是指写好的线性剧情和过场动画,而涌现性元素更像跑团的感觉,根据玩家的行动和选择产生对应的剧情反馈,是由玩家自己谱写的故事。
《漫野奇谭》(Wildermyth)是很能体现涌现性叙事的一款独立游戏。这个游戏和传统的crpg类似,玩家会操控一支冒险团队,在一个奇幻世界中经历一次传奇的史诗旅程。但是,《漫野奇谭》中加入了很多程序生成的随机剧情,并非是一尘不变的偏线性的流程。每当团队到达了新的区域,成员们会遭遇特殊事件,但事件本身是由电脑从库存的数百个事件组中排列组合生成的独一无二的剧情。每名角色自身在随机的时间点也会出现个人任务,他们会暂时离队去完成自身的使命,一番修行之后再度归来。一些事件的奖励可以让角色变得更强,但他们必须付出相应的代价:你在山洞中得到了强大的魔法水晶,但它被永远镶嵌在了你的眼眶上,而你此后一直受到视力的困扰。团队中的每个角色都没有主角光环,他们会变老,会结婚生子,也可能在战斗中传奇版的陨落;在他们永远地告别这个世界时,你可以选择以何种方式去安葬他,给他一个体面的结局。
英雄终将落幕

英雄终将落幕

《漫野奇谭》中的涌现性元素使得这个游戏虽然不具备框定的线性流程,但依然能使玩家感受到一种真实的冒险感,一种生命转瞬即逝、传奇终将陨落的悲剧。当你发现当初开始冒险的3个毛头小子如今已经白发苍苍,而他们的子嗣接替他们的名号继续闯荡江湖时,《漫野奇谭》对于冒险者一生的模拟就圆满完成了它的使命。
程序化表现(Procedural Representation)让模拟在《漫野奇谭》中得以成功运作。在定义中,程序化表现指的是游戏中的嵌入元素和涌现元素所共同创造出的一个自游戏程序中产生的表现结果
冲突(conflict)是一种十分普遍的程序化表现,它不仅仅是游戏规则中既定的要素,更是一种游戏动态中涌现的程序化表现。以下是3种对于游戏中冲突的分类:
  • 领地上的冲突(Conflict over territory)
  • 经济资源上的冲突(Conflict over economy)
  • 知识上的冲突(Conflict over knowledge)
领土和经济的冲突在人类历史中已经存在了很长的时间,战争和贸易带来的国家和社会变革塑造了世界本身,而游戏只不过是它们的另一种形式罢了。而对于知识上的冲突,强调的是玩家游戏之外的文化积累,因为你在现实的知识储备会直接影响到你在游戏中的表现。
《十字军之王3》中对战争和领土冲突的模拟

《十字军之王3》中对战争和领土冲突的模拟

设计模拟

如何在游戏中设计模拟呢?一共有3个步骤:首先,将模拟本身拆分成不同的部分;随后,将这些部分转化为游戏中的不同数值;最后,确定好部分和部分之间是如何相互影响的
在设计模拟的过程中,我们必须了解到模拟的局限性:
  • 模拟是抽象化(Simulations are abstractions):你不可能模拟现实中行为的每一个部分,你需要将那个行为中最棒的特点提取出来进行模拟。
  • 模拟是系统化(Simulations are systems):一个模拟是由很多小的部分和单位互相影响而形成的。
  • 模拟是数据化(Simulations are numerical):模拟通常会被还原为一种数学的结构模型。
  • 模拟是局限化(Simulations are limited):因为模拟是一种对现实的抽象,所以它本质上就具备一种局限性。
“案例式结构”(case-based structure)“全局式结构”(generalized structure)是两种模拟的方式。假设设计师需要设计一个城市中黑帮抢劫的模拟,如果模拟采用了“案例式结构”,那么设计师必须对每一个不同的路人都设计一个对抢劫的不同的反应,有的人可能吓晕了,有的人可能求饶,有的人可能逃跑。但是,如果模拟是一种“全局式结构”的话,所有路人(作为一个整体单位)会对抢劫这个行为触发反应;如果设计师比较懒的话,所有人的反应可能都一样;但是,设计师也可以通过将“吓晕”、“求饶”和“逃跑”作为三个随机选择赋予所有路人中的个体单位,来塑造出更多样的路人反应结果。
《塞尔达:旷野之息》中具有很多全局式结构的模拟

《塞尔达:旷野之息》中具有很多全局式结构的模拟

从这个例子中可以看出,“案例式结构”的逻辑是一个条件触发了x个对象的反应,这些反应导向该对象的反应结果,而“全局式结构”的逻辑是一个条件触发了1个对象的反应,这个对象有x个单位,这个对象有3种反应结果,所以我们对x个单位中的每个单位随机赋予这3种反应结果中的一种。
“全局式结构”可以在一定程度上减少工作时间、提升涌现感并增加游玩选项,但用量过多也会导致系统太过复杂和庞大或是出现一些模糊无厘头的模拟反应。所以在游戏中双剑合璧,合理结合“案例式结构”和“全局式结构”才是最佳的模拟手段。
那么,最后还是用一个我这学期设计的桌游来聊聊我是如何将模拟放进游戏中并在战斗中加入涌现性元素的吧。

案例:《冰雪奇缘:森林的诅咒》

事先声明,这只是一份小组作业,没有用作任何的商业用途。
在《冰雪奇缘2》的结局后,艾莎和安娜分别成为了魔法森林和艾伦戴尔王国的女王,一切欣欣向荣。但是好景不长,有一天边境的士兵突然发现魔法森林似乎又被迷雾所覆盖,四大元素在王国各地产生了暴动,而艾莎却了无音讯。安娜本能的感觉到艾莎出现了危险,于是和克里斯托弗以及雪宝再度踏上了前往魔法森林拯救艾莎的旅途。
《冰雪奇缘:森林的诅咒》是一款3人合作的冒险题材桌游,玩家将扮演安娜、克里斯托弗和雪宝穿越艾伦戴尔王国,北上进入魔法森林。在冒险途中,他们必须会遇到各地的特殊事件,正确的选择会让他们获得奖励;同时,一些觉醒的怪物也会在道路上等待着他们的到来,并做好了一决死战的决心。
这个项目中我主要负责了战斗系统的设计。很多桌游的战斗方式其实都是基于跑团的投骰子系统的改良,但是我不太想将骰子作为一种战斗的手法,我想创造出一种更加需要玩家肢体互动的战斗形式,想加入更多玩家的个人技巧而非单纯的投骰子导向的随机性。于是,我开始了对现实生活的观察,并发现了标靶这种娱乐手段。投飞镖这种行为在我看来十分有趣,因为它可以通过熟练度提升命中的几率,而且每轮投飞镖实际上就是一种回合制,靶子上命中不同区域会导致不同的得分也让我想起了RPG战斗中对怪物的弱点攻击。嗯,那么就用靶子来模拟战斗系统试试看吧!
战斗系统的迭代过程

战斗系统的迭代过程

在确定了我想模拟出一种JRPG的战斗形式后,我开始将其拆解成不同的部分,并将这些部分和标靶进行一个匹配。但在此之前,我先将传统的标靶进行了一个桌游化的改造,将靶子平放在桌面上,每名玩家可以通过在一定距离外弹出手中的小方块,使其落在靶子的平面上来对怪物造成伤害。也就是说,我将投掷的动作变成了弹出的动作,使标靶更加的桌面化。随后,就是模拟所必需的成分拆解:
  • 回合制:玩家有一定数量的小方块,每弹出一个小方块代表一个回合;
  • 角色生命:将小方块定义为角色的生命,每弹出一个小方块意味着玩家减少一滴血量,如果小方块全部用完时仍未击败怪物,则战斗失败。
  • 弱点攻击:靶子上划分成不同的同心圆区域,越大的区域造成伤害越小,越小的区域造成伤害越大;
  • 属性攻击:玩家可以收集不同的元素方块(风火水土),当怪物具有元素弱点时,弹出元素方块到靶子对应位置可以造成高额伤害;
  • 角色技能:每个玩家角色拥有不同的技能,比如在靶子上放置两面墙防止弹出小方块时用力过猛飞跃了靶子之外;
  • 环境影响:靶子可以分为平坦的和弧形的(像倒扣的盘子),代表了平原和山脉;
  • 团队合作:如果遇到多名玩家对抗一个怪物的情况,玩家可以依次行动;
可以看到,我将靶子上的不同区域和怪物本身进行了一种连接,击中怪物的身体时可能无伤大雅,但如果直接打中了怪物的头部或心脏就赚大了。这种怪物身体不同部位的受击反馈被数值化在了靶子的不同大小的区域之中。另一种被数值化的概念是玩家角色的生命,被直接与玩家的攻击进行了绑定,也是一种回合制的体现:你每攻击一次,怪物就会对你反击,所以用一种小方块就可以同时成为攻击和失血的数值化表现。
1 / 7
战斗系统的规则说明
最后,这个标靶的战斗系统出现了一些意想不到的效果,甚至创造出了我在上一篇文章中提到的“戏剧性效果”。当我们小组在课上展示这款游戏并邀请了3名同学进行试玩时,我观察到了这个战斗系统产生了很强烈的涌现性元素和正反馈循环。在一个事件中,3名同学需要共同击败一个拥有25点血量的小boss。在一开始,同学A和同学B连续用掉了几乎一半的小方块,却只造成了8点伤害,很多小方块要么力度不够没弹到靶子上要么力度过大直接弹飞了。但是,当同学C开始弹出他的小方块时,却发现越来越容易弹到靶子上了。
我开始意识到了事情的有趣性。因为之前已经存在于靶子上的小方块形成了天然的阻挡作用,所以哪怕弹出的力道过大,新的小方块也会被这堵“离散的墙”阻挡下来,成功落在靶面上。随着落在靶面的小方块越来越多,这堵墙也就拥有越来越强的阻挡作用,玩家可以肆无忌惮地用更大的力道弹出方块,不必担心方块飞出靶子之外的情况。战斗系统本身涌现出了一种战斗的戏剧性,你一开始可能很难对怪物造成致命的伤害,但当你没有放弃、持续输出一段时间后,你就会发现怪物开始疲惫,这个时候你就更容易对它破防,造成大量伤害。顺带一提,相信你也看出了这个情况下的正反馈循环了。
在战斗的最后,同学B和同学C都用完了所有的方块,而同学A只剩下6个方块。他显得非常的紧张,因为之前他几乎所有的方块都因为用力过大而失误,此时怪物还剩下9点血。在这个时候,两名队友和在场围观的同学都开始激励这个同学,他们通过前面的战斗知道这场战斗很难胜利,但我此时已经几乎确定了同学A肯定可以打败boss,因为战斗的难度已经在不知不觉中降低了很多。不出所料,同学A几乎每一次攻击都命中了boss,甚至只用了4个方块就结束了战斗。在结局已定的那一刻,所有的同学们都开始欢呼,庆祝这艰难又充满戏剧感的胜利。而我,静静地看着大家的反应,很欣慰自己设计的游戏将快乐真真切切的传递给了我的玩家们。

暂告段落

以上就是我目前阶段能够分享的一些游戏设计的理念了,希望我的讲述能让大家有所收获。在文章的最后,我想要推荐大家一本书,叫做《Rules of Play (by Eric Zimmerman)》,我在文章中的提到的很多知识都是对这本书一些对应篇章的总结,这也是我们课上的必读书目。如果有英语能力的朋友们有兴趣可以去翻阅一下,相信能给予你更多更深刻的理论知识。
最近我在制作我的期末项目,是一个关于“时间循环”的桌游。如果之后测试的反响比较好的话,我也会借着这个案例再分享一些新的设计思路和方法。最后,还是希望每一个游戏设计的初学者们能够保持激情,知行合一,期待你们在不远的未来设计出的能给大家带来快乐的游戏作品!

© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com