1. 程式人生 > >《風之旅人》遊戲設計思想二

《風之旅人》遊戲設計思想二

合作與心流

我最初在單機遊戲中學到心流的設計,因為心流作為一種心理學理論,是在玩家能力和遊戲挑戰之間達到的平衡。


因此,我們非常努力的創造了《旅》的無縫聯網系統。我們會把你和各種玩家配對到一起。但是有些人可能不適合你。也許他們想要探索這個世界,而你想盡快完成遊戲。我們相信如果你有離開一個玩家的選擇,最終你一定會找到一個和你想要一樣東西的玩家。那時候你們一定會很願意呆在一起。當你有離開的選擇,合作就變得更加真實和發自內心,更有可能創造出強大的情感連結。

最後,《旅》的聯機匹配系統是基於現實中的距離來匹配的。如果有個人在離你近的地方,我們會讓你匹配到一起。如果你不喜歡他,你離開了,系統會把你們倆斷開連結,讓你和其他人匹配。

遊戲資源引起的注意力分散

       另一種分散注意力的,資源。在《旅》中,你會遇到飄著的長巾,能量,然後你可以飛,並且你會愛這些長巾。當兩個都喜歡這些能量的人相遇,而一個人拿走了這些能力,飛走了。另一個人就會恨他。事實上,在我們早期的測試中,玩家說我實在不喜歡和其他玩家在一起,他們不屬於這裡,他們偷了我的資源。有很長一段時間,為了補償,我們有過一個很好的主意,我們讓玩家把資源用過之後分享出來。他們並不真的消費資源。

這是早期的3D原型,玩家飛的時候,會有能量留在身後,這樣另一個玩家就可以獲取這些能量,免費的飛了。這看起來是一個沒有問題的設計。玩家們分享所有的資源。但是問題在於,從數學角度說他們分享了資源,但是心理學角度並不是。玩家或抱怨,我多麼不容易的拿到這些資源,一路上帶著這些資源飛,但是我的隊友就直接用我的資源飛。他們會覺得隊友免費享用了自己的勞動成果,儘管隊友並不是故意的。很多人很討厭這種有人在你背後等著撿你東西的感覺。他們感覺這是一種偷竊。為了消除這種感覺,至少讓玩家不怨恨對方,我們放棄了分配資源的想法。我們提供了無限的資源,但是玩家只有有限的能量槽,只能攜帶一定量的資源。玩家走過資源點,拿到他們的資源,然後他們可以飛,而且不會怨恨對方。

物理碰撞帶來的注意力分散

接下來,我們有時會遇到物理碰撞設計造成的注意力分散。在多數網遊中,是沒有碰撞的,所以玩家們可以互相穿過對方。因為網遊中的碰撞很難做,而且帶來各種問題。

我們曾經討論過兩個玩家互相幫助翻過岩石的設計。在2D原型中這非常容易,但是在3D中,你要扛起隊友,把他推過去,等他把你拉上去。所以這裡有很多碰撞和物理需要設計。我們想,這些會增進玩家之間的信任,讓他們更加互相幫助,所以我們決定做。這會讓情感更深刻。

我們增加了玩家之間的物理特性,使得他們可以互相推,能夠感覺到對方的存在。這非常棒。

但是,玩家們所做的,並不是把對方推過岩石,而是把他們推向一些更奇特的東西(仙人掌)。

有很長一段時間。我覺得是因為這些玩家玩了太多的使命召喚,他們變得這麼險惡了。但後來,我們在自己辦公室做測試,我們的主程式,把我推到障礙物上殺掉了,很多次。我問他,你知道這個遊戲是關於幫助他人和建立情感連結的對吧?為什麼你總是在這樣做?他只是看著我,大笑,因為我們就在辦公室兩端,他說:快復活(再來一次?)。然後我意識到,有好長一段時間,我對人性感到失望。有一天朋友介紹我建了一個心理諮詢師。我就和她談了人性的這種困境。她說,因為他們是玩家。他們是嬰兒。什麼意思呢?當你把你自己從現實世界代入到一個虛擬空間中,特別是一個角色長的像成年人的虛擬空間,你不再保持現實世界中的那些道德規範了。你就像一個嬰兒。嬰兒只追求反饋。把一個人推上岩石沒有任何反饋,但把一個人推死,會有動畫,有血,有哭喊的聲音,有一股壓抑著的社交焦慮等待你去復活你的人物。這更多是關於回饋的。當然玩家想要做有更多回饋的事情。所以我學到了,道德並沒有代入到虛擬世界中,為了控制玩家的行為,你要控制輸入和輸出。

為了避免這種情況發生,我們最終放棄了碰撞的設計。為了取代互相推的玩法,我們設計了替代機制:當兩個人站在一起,就會給對方能量。所以玩家們就喜歡在一起,因為有很多反饋,而無法從把隊友推下懸崖中獲得反饋。現在他們共同飛起來了,而且始終保持在一起,愛對方。

這些的細節特性設計可以講很長。在《旅》的設計測試過程中,持續有許許多多這樣的小設計改動,直到這個遊戲最終變得好玩。

創造情感宣洩的高潮

現在我來談談我認為《旅》中最重要的事情:如果你想搞清楚玩法機制,你必須要創造情感宣洩。情感宣洩是一個故事的高潮。但是重要的是,宣洩不是一種情感,而只是一種緊張度的變化。我認為不管你想給到玩家怎樣的情感,不管是快樂還是悲傷,任何一種情緒,你需要達到一個特定的情感深度,一個特定的緊張度。因為否則的話,成年人,包括我自己,我們已經審美疲勞了。我需要被真的震撼到,來感受到一些不一樣的東西。

三段結構

這個標準的三段結構是來自好萊塢的:你如何組織你故事中的情感緊張度,希望在最後的結尾,有一個巨大的高潮。而這個高潮,就是緊張度的變化,是情感的宣洩。


敬畏感與神祕感/一個人生轉變的故事架構

在《旅》中,這種情感是敬畏和神祕感。我們希望控制這種感覺。所以我去看了Joseph Campbell的作品。他是一個創造神祕與敬畏感的大師。

        我就是在這裡學到了深度的英雄之旅是如何構造出的。我聽過這個概念很多次,但從來沒關注過。英雄之旅最重要的故事結構,是關於一個人的改變。

比如一個農場男孩變成一個拯救銀河系的英雄,一個黑客變成救世主,也可以是更抽象的故事,比如一個小獅子變成國王。

當我把這些英雄之旅的主角人物變化和三段式結構的緊張度變化列成一條線,我想到一個人一生從生到死的變化,這正好是一條線,是一條完美的脈絡。一個人的人生,就是一個這麼好的英雄之旅三段故事。那一刻,我被震撼了。這如此完美,人們在電影製作中早就搞清楚了這種設計方法。我們要在遊戲中嘗試它。

在這個基礎上,我們設計了《旅》的情緒曲線,並在這個曲線的基礎上設計的地形,《旅》的整個世界。你可以看到,高度上基本就是基於情緒曲線的。然後我們設計了主角從年輕到老的成長過程,並且最後昇天。基於這樣的故事線,我們創造了對應的情緒和色調,以及這個世界中的每一個細節。


基於這些,我們有了一個更細節的帶有玩法元素的情感曲線,分類列在這張表中。我們把圖中這些拱形做成更小的一個個關卡。這就是我們第一年的工作,開心的第一年。


在這些曲線的基礎上,我們有了緊張度的變化曲線。如果我們把這些畫到一個座標軸上,基本我們就可以用這個來指導我們設計遊戲玩法。在積極情緒的部分,我們希望玩家感覺到充滿自由,快速運動,充滿能量,並相互有很強的情感連結。在消極情緒部分,我們也會給到對應的情感體驗。

當我們和美術設計師合作時,我們很容易告訴他去畫一個很緊張或很低沉的東西。也很容易告訴作曲家去做出一個感覺到傷心或開心的音樂。但是在設計遊戲的控制和玩法時,這個就很難,你很難說什麼是一個悲傷的玩法。

我們幾乎找不到任何參考。

作為遊戲設計師,當談論樂趣,成就感,力量感的時候,我們有很多專業詞彙。但是我關於其他情感的瞭解,只是通過我自己做過的遊戲,《流》和《花》,這樣的禪意的,有愛的,平和的遊戲。

第一年的最後

我們花了一些努力來探索這些機制,從而實現我們期望的情感曲線。在開發《旅》第一年的最後,遊戲看起來是這樣了。這是一幅概念圖。

第一年,我們做出了整個遊戲大體的樣子。我們做出了高山的關卡,地下的關卡。

問題是:這是情感體驗的目標。這些當時我們做出遊戲的實際感覺。沒有任何東西讓我有所觸動。整個遊戲很糟。大家都沒有信心我們能把這個遊戲做好。

我們繼續努力。這是第二年結束時我們完成的預告片。

這是我們衡量的第二年末版本的情感曲線。基本達到了目標。我們大部分的關卡幾乎完成了。我們找了很多玩家來測試,但是結果不好。他們說這個遊戲很差。

有人告訴我,在最後天堂的關卡,當人物死去,你們應該就在那裡結束,因為後面的部分讓整個遊戲感覺更糟了。這讓我很驚訝。

我審視這個遊戲,我發現,如果你看著那條綠色的情感曲線,最後的情感升起只有這一點。甚至還沒有前面浮水的關卡高,甚至沒有更早劃沙的關卡高。這不能讓人滿意。這有個玩家說,當他死了的時候,突然遊戲宕機了。

他盯著白屏看了兩分鐘,沒有其他人注意到。他陷入了深深的沉思。他感覺這是一個很嚴肅的悲劇結局。(大笑)他很喜歡這個結局。我思考,為什麼會這樣?確實如果你從之前那關到你死去這裡的情緒谷底,這是一個最大的情感轉變。如果你把它反轉過來,這就是悲劇的高潮。但這不是我們預期的。我們不是要做一個悲劇故事。

多出的一整年

所以我們多花了一年的時間,就是為了解決這個問題。我們做了什麼來增加最後的高潮呢?

首先,我們要確定在爬山的關卡,最後情感升起之前的關卡,情感要進入足夠的低谷。


原本的山是平緩而又沉悶的,因為只有一大股風在吹著你,你要花很久才能走過。我們希望把它變得更加挑戰和艱苦。我們設計了一整套全新的人物動畫,那是幾百個動畫效果。我們就為了讓玩家在這一關感覺很脆弱的迎著風走,而做了這些。你會看到角色很緩慢的爬,很緩慢的跳,很輕的發出呼喚聲。我們還修改了圍巾和衣服的質地,當它們被凍結時,它們變得沉重,沒有生氣。

最後當你到達了走向死亡的場景。為了讓這個區域更符合我們的期望,我們逐漸的降低了玩家的輸入的反饋速度。我們讓燈光漸漸暗下來,因為燈光是希望和目標的象徵。當你死去的時候,就徹底沒有了希望。我們花了非常多時間來平衡需要走的時間長度。我走的時候,感覺3分鐘不錯。但是我的團隊說,這太長了。它們希望是30秒。我認為30秒不夠,玩家還沒有進入到我們設計的情緒中。所以我們不斷的協調,直到找到最合適的時間。

然後,我們來修改最後山頂的關卡,讓這個頂峰更加激動人心,更加高潮,更加自由。什麼是一個高潮式的情感緊張度呢?

最初山頂是這樣的。在第二年的最後,這整段體驗像是在軌道上,你只是沿著軌道走,看到所有東西,沒有很多操作空間。

我覺得這種控制的缺失,正是遊戲不夠高潮的原因。因為儘管視覺上這是一個遊戲成品,但從玩法講,它並不是。你沒有自由,不能移動到你想去的地方,這一定不對。所以我們取消了這個既定的軌道,改為你可以去任何地方。我們增加了一段滑行的區域,因為我們知道飛行不夠有趣。我們讓你再次體驗滑行的樂趣,從而創造興奮感。

當你一路走向最終的光明時,我們始終保持你的自由度。你可以走下去,你也可以去任何地方。一切都是你的決定,直到最後。我認為這種自由度是極端重要的,因為想想《旅》中的小高潮,不管是劃沙還是水中寺廟,以及最終的山頂飛昇,你總是在體驗快速運動和自由感。

25人中的3人

最終我們完成了這些,直到第三年結束。這時候我們找了25個玩家來測試,其中有3個在結尾時哭了出來。這太讓我們激動了。因為我們知道我們創造的情感體驗真的做到了。在那之前的玩家測試中,玩家總是迷路,不知道幹什麼,或者被卡主。我們做的測試多數是可用性測試。但是我認為情感體驗的玩家測試是至關重要的,但是不幸的是,除非你大功告成,否則你測不出來。我非常希望能夠有一種更好的情感體驗測試方法。

遊戲釋出的情感旅程

當我們釋出《旅》時,我非常緊張,因為我們花了太多太多時間製作這個遊戲。我們這個專案延期了兩次,最後我們甚至拿出自己的錢來保證我們能完成這個遊戲。這值嗎?我們不知道。你在這個遊戲上做了這麼這麼久。


在獲得這麼多遊戲獎項之前,我還是一直懷疑,一個遊戲做三年是否值得。到今天為止,我們共有896封粉絲髮來的郵件,告訴我們他們個人的故事,和他們如何和遊戲互動的。在今天分享的最後,我將分享這一封郵件。

你的遊戲確實改變的我的生命。這是我和他一起最大的快樂,自從他被確診以後。。。我爸爸,2012年春天過世了,在確診之後僅僅幾個月。

他過世幾周後,我終於能夠讓自己走出來一些,自己玩遊戲。我試著玩《旅》,我看到那開始畫面,就大哭起來。在我和我爸爸玩《旅》的過程中,我發現這正是關於他,和他走向人生終點的旅程。我相信我和我爸爸在最完美的時機遇到了你的遊戲。

我想感謝你,因為你的遊戲改變了我的生命。它的美麗讓淚水盈滿我的眼眶。《旅》很可能是我玩過最好的遊戲。我持續的玩,一直記著它所帶給過我的快樂,和它將持續帶給我的快樂。

我叫索菲亞,我15歲,你的遊戲讓我的生命更美好。

看到這封信,它把我帶回到這幅粉絲畫稿。我想這就是生命的意義。我們只存在這麼一小段時間,我們恰好活在同一個時代,讓我們互相幫助,讓我們共同使他人的生命更美好。因此,作為一個遊戲開發者,我認為這是我能做的最好的事情,這也是我為什麼熱愛製作遊戲。





相關推薦

旅人遊戲設計思想

合作與心流 我最初在單機遊戲中學到心流的設計,因為心流作為一種心理學理論,是在玩家能力和遊戲挑戰之間達到的平衡。 因此,我們非常努力的創造了《旅》的無縫聯網系統。我們會把你和各種玩家配對到一起。但是有些人可能不適合你。也許他們想要探索這個世界,而你想盡快完成遊戲

旅人遊戲設計思想

向偉大的遊戲《風之旅人》致敬,向不為賺錢而去傳達情感的遊戲設計思想致敬,向國人設計師陳星漢致敬! 我們來看看遊戲的型別,尤其是早期的遊戲。這些(《俄羅斯方塊》,《憤怒的小鳥》等)是我認為的街機時代,儘管我把《憤怒的小鳥》和《寶石迷陣》也包括在其中。這些遊戲在早期是非常流

python快速入門Django框架設計思想

談到在web應用領域,除了Python的語法,Django是Python後臺一個最重要的框架,那麼,什麼是軟體框架呢? 舉個簡單的例子,對於一個公司來說,公司中有各個職能部門,每個部門各司其職,通過部門之間的配合來完成工作,這些部門就形成了一個公司的組織架構。從某種意義上來

python入門學習Django框架設計思想

談到在web應用領域,除了Python的語法,Django是Python後臺一個最重要的框架,那麼,什麼是軟體框架呢? 舉個簡單的例子,對於一個公司來說,公司中有各個職能部門,每個部門各司其職,通過部門之間的配合來完成工作,這些部門就形成了一個公司的組織架構。從某種意義上來說,公司就是一種框架。

Python技術學習Django框架設計思想

Python是目前比較流行的計算機程式語言,據用豐富和強大的庫,被稱為膠水語言,能夠把用其他語言製作的各種模組很輕鬆地聯結在一起。 Python功能強大,用途廣泛,可廣泛應用於雲端計算、web開發、科學運算、人工智慧、系統運維、金融以及影象GUI等領域,Django框架是P

設計思想與模式四靜態代理模式

test 創建 靜態代理 pan 代理 對象的訪問 override todo 父類 一 概述 1.什麽是代理模式? 為了隱藏與保護目標對象,為其他對象提供一個代理以控制對該目標對象的訪問。 2.什麽是靜態代理模式? 代理模式有兩種: 靜態代理:代理對象固定。 動態代理:

設計思想與模式五觀察者模式

per -- 什麽 over out junit 測試類 rem second 一 概述 1.什麽是觀察者模式? 將一個對象視作被觀察者,當它發出某種行為或者發生某種變化時,通知所有依賴它的對象(觀察者),這種設計模式叫做觀察者設計模式。 2.觀察者設

把握linux內核設計思想(十三):內存管理進程地址空間

color 區域 left ons 文章 進程的地址空間 tmp ica interval 【版權聲明:尊重原創,轉載請保留出處:blog.csdn.net/shallnet。文章僅供學習交流,請勿用於商業用途】 進程地址空間由進程可尋址的虛擬內存組成

java ------ 設計思想

eth 刪除 出現 語言 net back sin dsm 相關信息 java的設計思想 (設計思想。是須要不斷領悟的。。。) 一、封裝 學java的人都知道這是向對象的編程語言,從字面上理解,就是針對對象的一些操作,將具有某一特性的實體封裝成一個類或者是將具有一

設計思想高內聚低耦合

判斷 表現 一個 span 改變 get 什麽是 軟件 高內聚低耦合 1.什麽是高內聚? 內聚針對的是模塊內部關系,指的是模塊各構成要素間的聯系,高內聚說明各構成要素間聯系緊密。 2.高內聚的優點 各構成要素間聯系緊密,說明各構成要素是實現模塊功能充分的存在,沒

透徹理解Spring事務設計思想手寫實現

數據庫操作 cal 了解 hashmap 個數 這一 use action 管道 前言 事務,是描述一組操作的抽象,比如對數據庫的一組操作,要麽全部成功,要麽全部失敗。事務具有4個特性:Atomicity(原子性),Consistency(一致性),Isolation(隔離

C函數設計原則(四十

C語言 設計原則 我們今天來講下函數的設計原則。函數從意義上應該是一個獨立的功能模塊,函數名要在一定程度上反映函數的功能;函數參數名要能夠體現參數的意義,盡量避免在函數中使用全局變量。 A、當函數參數不應該在函數體內部被修改時,應加上 const 聲明;如果參數是指針,且

JavaScript高級程序設計學習()基本概念

參數調用 name btn 記得 mco 多說 body 運維 rstp 任何語言的核心都必然會描述這門語言基本的工作原理。而描述的內容通常都要涉及這門語 言的語法、操作符、數據類型、內置功能等用於構建復雜解決方案的基本概念。如前所述, ECMA-262通過叫做 ECMA

Java學習--設計模式結構型模式(

and 它的 null spa bubuko imp AD mco flyweight 一、裝飾器模式(Decorator Pattern)   1、概念    裝飾器模式(Decorator Pattern)允許向一個現有的對象添加新的功能,同時又不改變其結構。這種類

python設計模式單例模式(

__new__ 有意 {} 開發人員 sta 字典 spa 出現 創建 上次我們簡單了解了一下什麽是單例模式,今天我們繼續探究。上次的內容點這 python設計模式之單例模式(一) 上次們討論的是GoF的單例設計模式,該模式是指:一個類有且只有一個對象。通常我們需

遊戲設計模式——面向數據編程思想

color 模式 發現 內存 每次 date() 分割 cti 加載 前言:隨著軟件需求的日益復雜發展,遠古時期面的向過程編程思想才漸漸萌生了面向對象編程思想。 當人們發現面向對象在應對高層軟件的種種好處時,越來越沈醉於面向對象,熱衷於研究如何更加優雅地抽象出對象。 然而現

基於中臺思想的物流系統設計):構建物流訂單能力

一、引言 物流訂單能力作為基礎能力,需要設計一套穩定的訂單模型,以及一套能夠在高併發環境下持續可用的介面。這些介面作為原子介面,供上層業務複用。上層業務無論多麼複雜,通過這些原子介面,最終都會收斂到穩定的訂單模型中來,這也是區分基礎能力和產品服務的一個重要的邊界。 本文通過以下5點來介紹如何構建一套物流訂

設計模式策略模式

策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法阿德客戶。 程式碼示例 需求 實現一個簡易收銀軟體 UML 策略模式機構圖 程式碼 package strategyPattern; /**

unity遊戲開發ULua框架介紹(

1.SimpleFramework框架配置檔案 (1)AppConst 檔案    在AppConst.cs檔案中配置了很多專案開發過程中,需要使用到的“公共常量資訊”。指令碼內的常量都有中文備註。所在位置是:Scripts/ConstDefine/AppConst.cs

聊聊高併發()結合例項說說執行緒封閉和背後的設計思想

高併發問題拋去架構層面的問題,落實到程式碼層面就是多執行緒的問題。多執行緒的問題主要是執行緒安全的問題(其他還有活躍性問題,效能問題等)。 那什麼是執行緒安全?下面這個定義來自《Java併發程式設計實戰》,這本書強烈推薦,是幾個Java語言的作者合寫的,都是併發程式設計方面