原视频:Breaking Conventions with The Legend of Zelda: Breath of the Wild

概述

塞尔达荒野之息以其极其自由的开放世界深受许多玩家的喜爱,在荒野之息庞大的开放世界中,有着数不胜数的丰富玩法与互动元素,本次GDC由荒野之息的制作人Hidemaro Fujibayashi,技术总监Satoru Takizawa与艺术总监Takuhiro Dohta从游戏的玩法设计/技术实现/艺术风格三个方面给大家讲解荒野之息制作过程中实现如此丰富的交互玩法的一个方法论:通过乘法创造丰富玩法。

内容概要

P1荒野之息的设计核心-乘法式玩法
P2乘法式玩法的技术实现
P3为玩法打造的艺术风格

P1荒野之息的设计核心-乘法式玩法

我是荒野之息的制作人制作人Hidemaro Fujibayashi,我已经制作塞尔达系列作品长达二十年了。今天主要想聊聊,我们如何在开放世界塞尔达中创造丰富有趣的玩法。

两个问题

在荒野之息立项之初,我就打算要解决两个核心问题:

1)塞尔达系列游戏最重要的核心是什么?

2)我们需要如何打破塞尔达的常规,挖掘全新的内容?

我们希望这个全新的作品能够让玩家在这个开放的世界中自由的体验一切事物,享受他们自己喜欢的内容,这也意味着玩家可以自由的决定要去哪和要干什么。从这个角度来看,我立马想到:这不就是初代塞尔达作品的样子吗?在初代塞尔达中,玩家可以选择向任何方向行走,每一次屏幕的滚动都是一场全新的挑战。于是我觉得,我找到了塞尔达系列一贯的核心:让玩家自由的选择。

下面这幅地图对我们的启发非常大,地图中丰富的要素正是我们创造一个自由世界的重要前提,玩家起初对整个世界是无知的,通过一步步的探索,发现这个世界的美妙之处。

关于第二个问题,我们发现在之前所有塞尔达作品中,都有一些相同的特点:

1.        关卡中都有隐形墙体约束玩家的移动

2.        游戏流程都是由事先决定好的事件序列组成

3.        整个游戏的体验是我们事先设计好的

4.        游戏的所有谜题都能在互联网上找到答案

我们觉得这些特点都有违我们理想中的自由世界的特征,这些就是我们想打破的塞尔达系列的常规。我们想将塞尔达题材游戏从原本的玩家被动游玩的形式,转化为玩家主导的形式(Active Game)。

Active Game

什么是玩家主导的游戏(active game)呢?

首先我们做的,就是移除游戏中所有的隐形墙体,让玩家能自由的在墙壁上攀爬。我们将原本起约束作用的墙,转变为通道,这让整个游戏的通路完全被打开,在游戏中可以持续给玩家发问:你要选择哪条路?我觉得这就是我想要的玩家主导的游戏应该有的样子。

有了攀爬,当你到达一座山的顶端,你想做的唯一事情应该就是:跳下去。于是我们引入了滑翔这个行为,让玩家能够在攀爬之后飞到任何地方。这也是我们做的一个核心决定来让游戏更加自由化。

乘法式玩法

有了一个开阔自由的游戏世界后,如何进一步丰富它?创造更丰富有趣的Active Game体验?答案就是使用乘法式玩法!

塞尔达系列游戏一直都使用自然理论或者简单的科学知识来创造谜题,这样就不需要玩家有某些领域的专业知识。但是在过去的塞尔达作品中,我们都是在每个谜题中独立运用这些知识作为谜题的提示,很多在谜题中使用到的物品/机制都是为了这个谜题单独制作的,这样当然可以严格把控每个游戏细节的体验,但不幸的是,这样做也同样会消耗非常多的开发资源,所以不会适合荒野之息这样一个体量庞大的开放世界游戏。

于是我想到了,运用行为乘以应用场景,让每个行为在不同场景下有着不同的用途,让玩家自己将各种行为序列在不同场景下组合起来,不是就可以创造无穷的玩法了?

游戏中的攻击动作,能对敌人造成伤害;那对树攻击呢?应该可以砍倒吧?拿着火把攻击,是不是应该可以点燃物体?拿着扇子攻击,应该能将物品吹起来吧?在荒野之息中,我们让各种物品对玩家的行为做出反应,同时物品与物品之间也能相互影响。

在创作中,我们只需要列一个行为*应用场景的二维矩阵,开动脑筋,就可以创造出非常多丰富有趣的玩法,这就是我想创造的自由世界的核心:用乘法来打造开放世界的丰富玩法。

为了验证这个想法,并且创造一个向整个团队传递这个想法的媒介,我联系了我们的技术总监,让他做了一个2D的Demo(也可以看出,3D游戏做2D的Demo来验证玩法是一种很好的方法)。

我们已经可以看到,2D Demo中的内容,域名交易跟最终的3D游戏有非常多的相似之处:

这个2D的demo没有任何谜题,只有环境和交互方式,而玩家就可以利用这些加上自己的想法来创造一条前进的道路,展开有趣的冒险。游戏中只有一个主角当前处境与非常多的小目标,而玩家可以利用行动/环境/物体的不同组合乘积,通过不同的手段达成目标;解法完全是开放式的,玩家可以选择任意自己喜欢的方式,这就是一个玩家主导的游戏,这就是我们认为开放世界最核心的一点之一。

P2乘法式玩法的技术实现

带来关于游戏技术演讲的,是Satoru Takizawa先生。

我已经在任天堂从事技术工作超过20年,参与过无数塞尔达/马里奥题材的游戏。在荒野之息的技术层面,我们的团队也尝试打破了无数的常规。我们在地形/音效/动作等等方面的工具链都做出了革新。

迫于演讲时间的限制,今天想聊以下关于我们如何在技术层面解决Hidemaro先生提到的乘积式玩法的实现,问题的关键就是:物理和化学!

游戏物理

我定义荒野之息是一个动作游戏,这让我们去思考,动作游戏最重要的部分是什么。我们觉得,动作游戏=碰撞+人物移动+物体状态,而碰撞和人物移动的核心都是物理。在游戏中,我们往往需要让游戏有更好的操纵性,更好的反馈以及充分满足游戏设计的需求,所以你并不想要得到真实世界中的物理,而是需要适合你游戏的物理,我们将其称作游戏物理,也可以称为假的物理或者骗子物理。

荒野之息不同于老的塞尔达作品,它对自由度要求更高,也就对游戏的物理引擎的可靠度有非常高的要求,为了满足这点,我们首次使用了havoc引擎。物理为塞尔达创造了无数的行为(Action):你可以在游戏中爬墙,墙的陡峭程度会影响体力消耗;你可以用磁力操纵金属物体;你可以砍树,树会倒下变成木头;你甚至可以让物体时间停止,反复敲打积攒能量。

这些行为都通过物理直观的跟玩家的生活联系了起来,有了如此丰富的行为,再乘上各种应用场景,你得到的将会是无限的可能:

在游戏中你可以爬上几乎任何一面墙壁,那在战斗中是不是可以爬到怪物身上?

蓄满能量的箱子是不是一直在诱惑你爬到它身上?

行为跟应用场景的组合乘积让荒野之息变得有趣,让玩家能在塞尔达中做任何她想做的事情,而其背后的实现方法,往往只是精妙的“游戏物理”罢了。

化学引擎

在一次茶饭之余,我们程序组脑洞大开:既然游戏有物理引擎,为什么不能有化学引擎呢?化学在历代塞尔达游戏中一直被广泛使用。跟物理一样,跟化学常识挂钩的谜题能具有广泛的适用性,玩家能够非常直观的解开这些有趣的谜题

于是我们决定,在荒野之息中开发一套化学引擎,让化学在开放世界游戏中成为一个非常核心的存在。在游戏中,物理引擎的定义为计算移动规则的算法;与此同时,我们定义化学引擎为计算状态变化的算法。这也就补全了我之前对动作游戏的定义:碰撞和移动由物理决定,而状态,则由我们定义的化学来决定。

那么,我们的所谓化学引擎到底做了什么?首先,我们有两个核心的定义:元素(火/水/风/电)和材质(木/铁/角色),我们的化学引擎根据三条核心规则对元素和材质进行处理:

1.        元素可以改变材质的状态:正如火会将一颗青葱的大树变成光秃的枝干

2.        元素可以改变元素的状态:正如水可以将火熄灭

3.        材质和材质之间无法相互影响

这三条简单的规则形成了游戏中各种有趣的事件。

化学引擎,简单的来说就是一个状态计算器,处理游戏中各种状态的变化。但是之所以我们要把它叫做化学引擎,有一个很重要的原因就是我们希望在游戏中创造“化学反应”:游戏中的规则都由物理和化学统一管理,直观理解的同时通过行为*应用场景创造无限可能。这就是我们想做的开放世界游戏,玩家能在开放世界中起“化学反应”,主动去发掘各种有趣的行为。

总结

我们是如何做出乘法玩法的呢?答案就是,通过物理和化学来连接游戏中的所有东西!物体/玩家行为/元素等等都经过精心的设计可以相互产生影响,物体之间相互影响的方式又与人们常见的物理化学现象相关联,就是这样,我们创造出荒野之息中一个有趣的开放世界。

乘法玩法在开放世界中的应用

荒野之息不同于以往的塞尔达游戏,在绝大部分情况下,并没有一个明确的谜题摆在玩家面前需要她去解决,游戏中不会有单向通道,也不会有一扇门挡住玩家的去路。那么我们如何利用乘法玩法创造谜题献给玩家呢?

答案就是处境*目标,在开放世界中,你永远会面对一个个的小目标:可能是一个需要打败的敌人,也可能是一个需要到达的目的地,而玩家需要做的,就是在当前处境下探索实现目标的方法。荒野之息的目标就是在这个过程中尽可能为玩家提供无限的选择,面对一个沟壑,你可以选择跳到底部再沿着墙壁爬上来;当然,更快捷的方法可能是点燃地面的草,用风力带动滑翔伞飘过去;又或者是突然发现旁边有一块石头,可以通过时间静止器抓着石头弹过去。玩家在发现种种解决方法时,往往会发出:“噢,我真是个天才”的惊呼声,这就是我们想要的。而实际上,在关卡设计中,我们也充分考虑到这点:在河边放上石块,在沟壑边上放上高高的大树,甚至在地图上各个地方放上宝箱去引导玩家,主动创造玩家发出“噢我是个天才”惊叹的时机。

P3为玩法打造的艺术风格

荒野之息艺术风格的探索

在探求荒野之息艺术风格的时候,我们回顾了所有历代塞尔达作品,并且定下了一个塞尔达系列一贯的标准:在充分满足玩法需要的前提下,尽可能地去满足真实感。这也就意味着,在游戏中,艺术为玩法服务永远都是第一优先级;而让风格尽可能地有真实感,我们觉得是第二重要的。

在2011年E3展会上,我们公布了一个技术Demo,里面是关于塞尔达的HD画面演示。

这个画面满足次世代的要求,有着非常非常高的真实感,但是我们觉得,在这样高的真实感下,很难实现丰富有趣的玩法设计。

于是我们尝试做一些历代塞尔达作品的高清重制Demo,试图从其中寻找灵感:

最终,风之杖是我们最满意的一个方向,我们觉得这种风格在保持一定真实感的同时,能让我们很轻松的实现各种为玩法服务的动作/画面;而且这种风格也有比较高的独特性和辨识度:

荒野之息的画风如何满足玩法设计的需要?

Fujibayashi先生提到的,乘法创造玩法的概念,在塞尔达中很多都是通过物理和化学规则来实现的。为了能让玩家直观的理解这些规则,我们不能在美术表现上去掉过多的真实感。

其次,我们觉得风之杖的风格可能会太过卡通化,让玩家觉得游戏是面向小孩子的。这些显然都不是我们想要的。

于是我们决定,取一个相对的中间值,满足将风之杖中玩法易于落实的特点的同时,加入更多真实感,让玩家能直观的理解整个游戏世界,于是就诞生了荒野之息的艺术风格。以下是一些例子:

荒野之息中,将树砍刀的动作非常的真实,但是再砍一下地上的圆木,你会发现,噗的一阵尘土,一捆精心整理好的树枝就掉了出来。这些都是我们精心考虑了玩法和真实性之间的平衡点后的结果,我们尽全力实现为玩家提供直观理解(充分真实性)的同时,又能实现流畅的操作性(玩法)。

在游戏中,做饭,滑翔等等等等,都严格遵循了这条规则。

荒野之息-用乘法打造开放世界玩法相关推荐

  1. 想不想修真鸿蒙源液有什么用,想不想修真初代小世界怎么玩_想不想修真初代小世界玩法介绍_玩游戏网...

    <想不想修真>初代小世界玩法全新推出,那么具体的玩法都有什么内容呢?想必大家还不是很了解吧!那么接下来,就跟随玩游戏网的小编一起继续往下看,千万不要错过哦! 1.创建小世界玩法 01.紫府 ...

  2. 支付宝开放新玩法:搜商家可领消费券

    5月18日消息,为助力五月全国消费促进月,各商家品牌纷纷在线上线下展开促销活动.据支付宝方面发布的消息,今起上千万商家在支付宝开启新一轮"云促销",覆盖餐饮.商超.快消及休闲娱乐等 ...

  3. UGC、元宇宙概念、与迷你世界玩法

    这几天接触到了UGC.元宇宙的概念. 这些概念我以前没听过,应该是最近才被人总结提出来的. 但是却在以前的流放者柯南里接触过.之前有进过私服玩,有人把这个生存建造类沙盒改成了个修仙RPG. 总的来说就 ...

  4. 系统平台pdd七天打造爆款玩法

    相信很淘宝卖家都知道tb平台有一个7天打造爆款的玩法法则,后来由于系统稽查的比较严,所以慢慢的变成了14天打造爆款的一个操作玩法,很是详细,每天该做什么样的工作内容,也都有相关的介绍.那么pdd平台有 ...

  5. AR+玩具,用科技打造玩具新玩法

    曾几何时,我们也曾幻想自己的玩具能像<玩具总动员>里的玩具们一样,要是能让玩具拥有灵魂,让它们能动起来,该有多好啊.AR增强现实技术的发展和不断完善普及将这一想法变为了现实 01 玩具巨头 ...

  6. 利用python爬虫与数据分析,打造最强玩法,轻松成为大神级玩家!

    前言: 最近迷上了一款游戏,但是作为一名程序员的我是不可能只玩游戏的,我必须把它的官网数据采集下来! 环境: windows python3.6.5 模块: requests jsonpath pyg ...

  7. 开发2年半,「纪念碑谷」的团队做了一款开放世界“观鸟”游戏

    如果你随便抓一个路人问他/她在手机上玩过最有艺术感的游戏是什么,相信大概率会得到的答案是「纪念碑谷」. 这款由英国Ustwo Games在2014年公布的作品极具个性和创意,在当时一众良莠不齐的移动游 ...

  8. GameNFT深度分析, 打造属于头号玩家的开放世界!

    前言 千亿市场规模全球游戏市场欣欣向荣,元宇宙浪潮来袭后,区块链生态也希望借此通过游戏与用户建立联系,但随之而来的是良莠不齐的项目方,表面精致内核简陋的生态机制,冲不完的NFT及项目代·币,让玩家直呼 ...

  9. 米哈游CEO蔡浩宇GDC演讲:《原神》如何打造动人的开放世界?

    <原神>于2020年席卷全球,获得了各国玩家与开发者极高的评价.游戏系统自不必说,被日系动画风的角色与开放世界美术吸引的玩家在全球也不可胜数. 在正在举行的2021 GDC游戏开发者大会上 ...

最新文章

  1. uniapp 鸿蒙,关于前端:uniapp项目安装运行操作手册
  2. 两个函数彻底理解Lua中的闭包
  3. dos攻击mysql_浅谈DOS与DDOS攻击
  4. 年薪 37 万+,挪威科技大学(NTNU)招募博士,利用 ML 和 AI 进行钢桥结构健康监测和损伤检测...
  5. fso封装类可以用仿dos命令操作文件
  6. sklearn使用小记GridSearchCV
  7. 多传感器数据标定融合完整教程:时间同步+空间同步(Camera+Lidar+IMU+Radar)
  8. usb转rs485 linux驱动下载,USB转RS485串口驱动
  9. 项目周期所涉及到的文档控制说明
  10. 关于axure的 中继器表格合计功能
  11. MTCNN训练数据整理
  12. mac 上安装selenium, phantomjs 和 chromedriver
  13. 详解package.json文件
  14. js中Date函数获取今天星期几的方法
  15. 再聊聊Python中文社区的翻译
  16. 【宝塔邮局管理器】使用教程、Email配置
  17. 德州学院计算机专业怎样,2017德州学院各专业录取分数线
  18. 用胶带“粘”出的诺贝尔奖
  19. 在线练习毛笔书法或水墨画的html5网站,友基墨客M-Brush官方版
  20. 深信服 2021 面试总结

热门文章

  1. 【Python面试】 说说Python变量、函数、类的命名规则?
  2. 受用一生的高效 PyCharm 使用技巧(二)
  3. php网页论坛制作教程,PHP开发 小型论坛教程之登录HTML页面
  4. php项目打开快捷方式,PHP_克隆一个新项目的快捷方式,有没想过最土的项目如何快速 - phpStudy...
  5. 【MongoDB】Sharding分片概念及原理
  6. nacos mysql8.0修改
  7. Django Rest Framework源码剖析(二)-----权限
  8. Vue-router VUE路由系统
  9. Centos7 虚拟机复制后网卡问题 Job for network.service failed
  10. [DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event