荒野之息-用乘法打造開放世界玩法

遊資網發表於2020-01-19
原視訊: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先生提到的,乘法創造玩法的概念,在塞爾達中很多都是通過物理和化學規則來實現的。為了能讓玩家直觀的理解這些規則,我們不能在美術表現上去掉過多的真實感。

其次,我們覺得風之杖的風格可能會太過卡通化,讓玩家覺得遊戲是面向小孩子的。這些顯然都不是我們想要的。

荒野之息-用乘法打造開放世界玩法

於是我們決定,取一個相對的中間值,滿足將風之杖中玩法易於落實的特點的同時,加入更多真實感,讓玩家能直觀的理解整個遊戲世界,於是就誕生了荒野之息的藝術風格。以下是一些例子:

荒野之息中,將樹砍刀的動作非常的真實,但是再砍一下地上的圓木,你會發現,噗的一陣塵土,一捆精心整理好的樹枝就掉了出來。這些都是我們精心考慮了玩法和真實性之間的平衡點後的結果,我們盡全力實現為玩家提供直觀理解(充分真實性)的同時,又能實現流暢的操作性(玩法)。

荒野之息-用乘法打造開放世界玩法

在遊戲中,做飯,滑翔等等等等,都嚴格遵循了這條規則。

荒野之息-用乘法打造開放世界玩法

荒野之息-用乘法打造開放世界玩法

作者:ThouSun
來源:奶牛關
原地址:https://cowlevel.net/article/2091350

相關文章