【游戏机制】《塞尔达传说:王国之泪》的余料建造、究极手与ECS架构


3楼猫 发布时间:2024-05-31 23:34:48 作者:李十三_lee2813 Language

一、玩的是什么?

3月28日《塞尔达传说:王国之泪》发布实机演示,介绍了倒转乾坤,余料建造,究极手,通天术四项能力。
  • 倒转乾坤:对运动的物体使用,可以使其相当前的反方向进行移动。
  • 余料建造:可以将任何武器两两结合,或者武器和道具结合。
  • 究极手:将物体互相组合或者随时分离的一种能力。
  • 通天术:直接穿越山体或海洋的能力。
由于这里面有太多的点可以讲,本篇重点选取我感受比较深的余料建造和究极手。
(1)余料建造:   
  • 武器和武器进行结合:   
在树枝动画模组的基础上增加石块这一“伤害加成”

在树枝动画模组的基础上增加石块这一“伤害加成”

在长矛动画模组的基础上增加树枝这一“距离增益”

在长矛动画模组的基础上增加树枝这一“距离增益”

  • 武器和道具进行结合:
在弓箭动画模组的基础上增加“冰冻效果”

在弓箭动画模组的基础上增加“冰冻效果”

(2) 究极手
船 = 浮力(树木) + 动力(风扇)

船 = 浮力(树木) + 动力(风扇)

通过究极手这一技能将特定性质的物体进行组合即可得到类似“船”功能的物体。

通过究极手这一技能将特定性质的物体进行组合即可得到类似“船”功能的物体。

二、用户 反馈是什么?

三、设计的源头在哪里?

对于一些玩家来说,会觉得余料建造和究极手带来的是沙盒游戏里面的建造游戏,但两者的本质是不同的。
  • 从游戏架构上来说:是ECS和EC的区别 
从游戏开发gameplay架构的角度来说,存在着ECS和EC两种方式,两者的主要区别在于对游戏对象抽象方式的不同。
在EC架构下,游戏里面的对象由Enity(实体)- Component(组件)组成,我们熟悉的Unity就是基于这样的架构来进行游戏对象管理的,这也是OOP面向对象的设计思路。而在这种情况下,策划和程序在项目初期设计数据结构表的时候,首先会抽象一个对象,然后再看有哪些属性,来设计对应的数据结构。
以船为例:
《我的世界》里面的船的得到是根据设计者setup得来的,也就是说在设计者的眼里,只能先砍树,得到木板,然后再进行合成,这样才能得到“船”这一Enity,而在得到了“船”之后,才能够解锁“船”对应的动画资源。
如果按照这样的思路,在沙盒建造类游戏中,设计者也会首先setup能想到的船的所有性质,例如《船舶建造》中设计者认为作为“船”,那么我们一定会有不同的炮台,不同的舵可以配置等等。于是,可以得到的数据结构表如下:
而策划的工作就是根据设计出来的数据表按照这个结构进行配置,由程序读取对应的Json文件进行开发,运用继承,派生出不同的子类。但是这样会有什么问题?
在这样下,玩家最后会发现这些不过是策划自己的游戏,玩家收集资源,完成游戏任务,最后只是为了数值的提升,而数值提升所带来的乐趣不应该是游戏的核心乐趣,即使这样的开发成本是最低的。
在ECS架构下,游戏开发者的眼里可以不存在“船”这一概念,也可以不抽象出来。而是基于性质的游戏设计方式。
首先,什么是船?
百度百科如是说

百度百科如是说

分析一下可知,我们现实生活中的“船”这一概念本质上是由两个性质组成的:浮力和动力。
而哪些现实物体具有浮力:
首先能想到的应该是木头。《塞尔达传说:王国之泪》里面如是说。但是,这应该也不是全部,再利用基于性质的角度来分析一下什么是浮力?初中物理告诉我们当物体的密度比水低的时候就可以浮在水面上。有了这个性质,开开脑洞。我们还可以设计出:
收集气体到一个袋子里,作为船体。这不就是气艇?
将水冻成一个冰面,放到水上。北极熊的交通工具。
ECS架构下,玩家可以自己根据性质,组合成任意现实中没有的实体。在《塞尔达传说:王国之泪》中,这一方式具体有两种体现形式,分别对应于宣传的两种能力:
  • 余料建造
余料建造本质上是基于ECS的buff机制。在这种角度下,游戏里面也不存在着武器这一概念,实机演示中可以看到树枝可以作为武器,树枝组合石头可以作为新的武器,而石头也可以作为武器。这样下去的话有太多的组合了,如果还是按照一个个setup的思路,配置量是巨大的。这时候就需要引入buff的概念。
首先,我们需要分清楚谁是技能本体,谁是附加的Buff。观察这一点其实最好的方式是看角色在组合后进行攻击的时候配置的动画是哪一套,使用的是哪个的动画模组,谁就是技能本体,另一个就是Buff。
在实机演示中,组合对应的技能优先级应该是:
距离武器  > 效果武器 :例如盾牌 > 喷火龙头,组合就是会喷火伤害的盾牌。
 距离物体 > 效果物体 :例如树枝 > 石块,组合就是带石块暴击伤害的树枝。
武器 > 物品:例如弓箭 > 冰块,组合就是带冰冻的弓箭。
在进行余料建造,也就是武器组合的时候,我们在明确技能本体的前提下,可以从作为BUFF的物体/道具中提取性质来附加到本体上,从而实现我们对于武器的自我配置。
同样的,这种对于武器的配置也不会事先由策划先setup出一个喷火的盾牌,而是由玩家自己来决定。从资源循环的角度来说,余料建造也可以理解为是一个资源-武器-资源的一个合理化包装,石块可以组成武器,但在需要流向其他系统,例如修建房屋时,也可以通过分解的方式进行回收,但我们的木棍这一主武器没有被分解掉。
  • 究极手
究极手本质上利用基于性质的方式来定义游戏的Enity。基于性质的设计方式,在《塞尔达传说:荒野之息》中也有一定的运用,不过那是从System管理游戏对象的角度来说的。在GDC2017开发者大会上,塞尔达团队分享了他们的化学引擎的概念,具体利用的是基于物理性质的对于Component的System管理方法。例如:我们烤肉,可以在灶台上生火把肉烤熟,也可以把肉放在火山口上烤熟等等。 从策划的角度来说,无法根据自己的想象设计出整个世界所有的情况,就算能够通过穷举的方式setup出所有的可能,从程序的架构来说,这么多对象之间交叉的游戏触发条件也会带来巨大的代码耦合量,对于后期维护是致命的。
但是我们也可以借鉴下造物主在打造“现实世界”这一巨大的开放世界时,是怎么管理的。烤肉之所以可以熟,是因为肉这一物体在温度累积到了一定量后就可以变成熟了的状态。这本质也是Buff的概念。不过这个Buff的数据结构也就是温度状态(标记)+持续时间(累积):
而在《塞尔达传说:王国之泪》中,则是对于Compoent组成Entity这一阶段进行了基于性质的设计。在这种设计方法下,我们不事先setup具有的Entity有哪些?每一个Enity由哪些组件。在Unity的EC架构下,一旦我们把其中的某个组件去掉,最后整个Enity就不再是我们所定义的Enity了。
而ECS架构带来的Component组件- System带来的可插拔特性,使得我们可以不事先定义游戏具体的上层Enity是什么?而是基于性质去分析和设计最小单元是什么?这些最小单元也就是我们的Compent组件,众多具有特殊性质的Compent可以根据玩家的想象力进行自由组合,得到各种各样的游戏对象。

四、可以迁移的点?

这个玩法有趣且重要,也是任系在这个国内外游戏厂商疯狂内卷游戏题材剧本和画面的时代,向众多游戏厂商展示自己依然坚持进行着玩法创新的初心。这后续也会成为更多做开放世界类型游戏的厂商学习借鉴的模板。
对比前作而言,我认为任天堂的这次改动,使得玩家更多关注于开放世界中的一草一木了。在前作中,玩家更多的是寻找神庙,打败Boss获得装备。所以就可能面临两个问题:
  • 一是开放世界探索阶段。
这里玩家主要面临的痛点是玩家跑路阶段过于无聊,一些游戏的做法是对角色的3C进行设计,例如之前很多的开放世界各种跑酷玩法,而通过这几款游戏《魔咒之地》《镜之边缘:催化剂》《索尼克:未知边境》的分析后发现,在开放世界中引入过多的跑酷元素可能会分散玩家对于开放世界的探索与引导元素的注意力。那么在探索阶段,怎么在探索游戏中的对象的时候进行快速移动呢?
于是就有了“究极手”这一处理方式,解决之前开放世界存在的问题。
  • 二是开放世界的战力系统。
开放世界的战力系统可以简单归结为玩家对于武器的获取。在一些开放世界游戏中,玩家的战力系统是由 探索并收集资源-建造武器-升级武器 这一循环组成的。玩家通过探索收集资源,建造特定的武器,然后选择几把武器放入背包,开始自己的探索。而开放世界中怪物的类型多种多样,当玩家面临被克制属性的敌人但又十分稀有时,难免痛心疾首一句:“要是我带上我心爱的大棒,打这个行动迟缓的怪也许可以一招制胜。”
于是就有了“余料建造”这一处理方式,这个思路也可以理解为《塞尔达传说:荒野之息》化学引擎的进一步扩展,通过不同武器,物品的组合得到众多特定的武器,进一步解放背包。
不是所有的游戏都适合这种架构,如果按照这种思路,设计者也就没有办法控制玩家应该玩什么,不该玩什么。这也意味着对于商业化网游来说,团队无法对游戏整体进行有效的运营。
如果硬要在基础物体上套数值和等级体系的话,则很难从设定上说得通,因为只有性质是物体特有的。并极有可能导致战力系统崩坏,在众多物体,武器的组合中,例如不同的棍子的攻击力不同,但是和相同的长矛结合后,最后的攻击力算长矛的,还是说从作为长度属性的棍子中提取呢?
可以借鉴的地方:
对于买断制游戏和独立游戏,或者商业游戏中的特殊模式来说,是可以借鉴的。《塞尔达传说:王国之泪》本就是一款重度的开放世界游戏,在基于这样优秀的设计模板进行借鉴时,我认识有以下需要注意的地方:
  1. 游戏的付费方式是道具付费还是点卡付费还是时装付费?对于到道具付费来说,更适合对于具有特殊性质的基础组件进行收费,摒弃武器数值与等级体系。从而从根节点上控制玩家游玩进程,避免战力崩坏的情况。
  2. 更多地利用开放世界中的游戏对象来解决开放世界过程中的问题。
无论是余料建造还是究极手,还是前作的化学引擎,我发现都是基于游戏世界中,也就是地图上存在的物体的效用进行的扩展。         
以开放世界探索为例,跑酷玩法本质是通过对角色3C进行设计,来消解玩家在大地图上移动的无聊感。例如《魔咒之地》和《索尼克:未知边境》就是对于玩家角色的移动进行了设计,最后分析得出的问题就是这种跑酷使得玩家在开放世界中分散了自身的注意力,弱化了开放世界的引导元素。         
但是另一款游戏也是从角色3C的角度出发,但这里的角色更多地和开放世界中的游戏对象进行关联,那就是主打灵魂跳跃的《奇娅》。通过“灵魂跳跃”这一方式,让玩家可以合理地运用其他游戏对象的3C能力,从而扩展玩家的移动方式。(我觉得《黑神话》如果做成开放世界的话是不是也可以合理地利用大圣的七十二变来扩展自己的3C能力)

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