《上古卷軸5:天際》設計師分享支線任務設計祕笈——迭代式任務設計法
本文翻譯自Nick Witsel的部落格,作者主要講述了自己在開發上古卷軸的一個Mod作品的經歷,其高效的開發流程有一些值得借鑑的地方,徵得作者同意翻譯釋出,也歡迎各位去往我的部落格閱讀文章。
(部落格地址:http://www.fishbottles.com)
我的名字是Nick Witsel,白天在公司我是一名遊戲任務設計師,晚上下班後的我則是一名mod開發者,我現在在做Lordbound的一些工作,Lordbound是由Bethesda的《上古卷軸5:天際》中的一個DLC上修改而成的作品。該專案團隊由10多名業界的專業開發者以及一些正在學習開發3A專案的學生組成。
作為一名任務設計師,我的工作就是使用天際開發套件(Skyrim Creation Kit)去設計任務。我想要闡述一下我最近設計的支線任務“戰爭的後果”是如何完成的,並且對於如何使用迭代式設計帶有分支劇情的任務,分享一些我的見解。
第一步
“戰爭的後果”最初是團隊中的另一位任務設計師寫的筆記中的簡要的列表,故事很簡單:
一個獸人因為參與了圍攻村莊而獲罪被關押了起來,一個村子裡的難民交給玩家一個任務,去殺死那個獸人為他死去的妻子報仇。另一方面,獸人又請求玩家幫助他逃離,玩家需要決定怎麼做。
接著我立即著手定義了一個最基本的任務流程(見下圖),以此作為我的工作框架。
為了限制設計的範圍,我限制了這個任務的流程,它被分成了兩個不同的分支,而當你最後和難民談話的時候兩個分支會交匯在一起。在我看來,一個支線任務應當只擁有一個“最終目標”,比如說,回到難民這裡。
這讓我們能夠更好的檢查我們的設計並且防止更進一步的問題的產生。如果你想在一個任務的中途新增一個新的“最終目標”,那麼設計一個新的任務!當然,一個任務可以有不同的結果,但是在這種情況下我們只需要撰寫難民的不同反應就可以了,在遊戲玩法和指令碼層面上,玩家可以進行相同的操作。
下一步,就是研究。在基本的框架確定以後,我開始了在上古卷軸維基中的挖掘。我的目標是為我的NPC找出有趣的潛在背景,用這個來讓我的任務根植在Tamriel的世界中。
任務設計以及最初的可玩草案
也是在這天裡,我又草擬了一份更加詳細的流程圖,黃色代表對話,藍色代表玩家的操作。
做這份草案有兩個主要的目的:
- 幫助我去概覽一下該怎麼去結構化任務,以及可能遇到的困難(比如玩家如何獲得偽裝)
- 協助我與專案團隊去溝通任務的概念
我也立刻就注意到“解救獸人”和“殺死獸人”兩個線有一個共同的潛在目標:找到鑰匙。知道了這一點也讓我更加輕鬆的去設定我的任務目標以及後面要展現的旅程。
與此同時,我也進行了更多對於《上古卷軸》的研究,並且為難民和獸人撰寫了三百字的角色資訊。
任務設計的主要目標是向玩家介紹發生在Druadach Valley的主要衝突,也就是Lordbound的世界,而作為一個快速任務,兩個NPC給了你相反的資訊的目標,這樣的一個任務對於實現上文的目標可能會是一個好主意。同時它還為玩家提供了一個“道德困境”,這也告訴玩家在Lordbound的世界中沒有絕對的英雄和惡棍。
在設計多條線的任務時,我通常會首先關注最關鍵的的,從頭到尾的鏈條。在任務流程表中你看到的那個紅色的線表示的就是這個,可以總結為:
- 被告知去殺死獸人
- 找到籠子的鑰匙
- 開啟籠子殺掉獸人
- 回來彙報任務
這很簡單,接著我計劃完全的撰寫文字,程式設計最終在第一天實現第一條線,我只寫了關鍵對話,所以沒有一些類似於“你來自哪裡”的額外對話。
儘快的設定一些容易預見的工作範圍,要知道第一條線必須要容易去打磨(對於玩家來說也要容易通過),所以我認為加一些額外的線不是一個壞主意。例如,我為玩家加了一個選項,玩家可以選擇和掌管監獄的長官對話,正如你在流程表中所見的一樣,這是一個死衚衕,但是這的確新增了一些其他的見解——這些人是怎麼看待村子裡的獸人的。
打磨有趣的角色
我想讓難民成為最初佔據道德高地的角色,獸人殺死了他的妻子,所以他想要報仇。這是一個玩家很容易理解的簡單概念,接著深入角色的背景,這將會解釋當這不幸的事件發生之時他是多麼的無辜和無助,但於此同時,他這種想要殺人的慾望卻是充滿絕望和迷惘的,而不是無禮的或者英雄主義的。在天際大多數的對話都是某人要求你去殺死某人,我想顛覆這種寓意,殺人不是什麼好的或者有趣的事情,殺人意味著你搞砸了。
對於獸人來說,起初他看起來就是獸人社會的典型代表:愚蠢並且傲慢。但讓他去給玩家解釋他的行為將會讓玩家更好的理解獸人的文化,觀點和見解:“膽敢招惹我們,我們必將雙倍奉還”,對他來說,戰爭並不代表成為英雄或者戰死沙場,而僅僅關乎正義。他理解難民的悲傷,但是也不想就此終結於籠中,如果放了他,他會很樂意與難民展開一場決鬥。是的,這個獸人是傲慢的,但同時也是有著驚人的思想。
在使用眾所周知的典型概念時顛覆玩家的期望,可以保持遊戲的新鮮感並且讓遊戲變得有趣,同時也有助於玩家快速理解這個世界。
更深層次的迭代
當構建一個任務的時候,你會經常意識到你的想法不僅僅是難以實現的,而且還可能以多種方式實現。毒殺獸人的概念在紙上寫起來很容易,但也有許多類似的行為可以在遊戲中實現。
會有一個監獄廚師讓你去說服麼?會有一個堆滿糧食的物資能夠讓你進入去替換麼?為了讓事情變得簡單並且與其他支線相比不那麼搶戲,我只是寫了一些對話,你可以說服獸人在自己的飯裡下毒——這個選項大部分人都會失敗因為這要求很高的口才(這在天際很罕見),失敗之後會有一些有趣的對話。
順便一提,這可能是在Lordbound裡諷刺用嘴炮把人說死這種事情的一個好地方。
用我有限的操作範圍可以獲得一些暫時的聲音資源。是時候讓其他人來測試我的任務了。測試的結果引出了一些深刻的結論。在2013年,Telltale在GDC上做了一次關於《行屍走肉:第一季》的敘事設計演講。他們提到的一件事是,當玩家面對拯救兩個人中的一個人這樣的決定時,他們通常會選擇救自己最瞭解的那個人。為了讓選擇有趣,設計師必須確保兩個角色有相同數量的闡述機會。
當進行我的測試的時候,我注意到玩家毫不猶豫的選擇拯救獸人,僅僅是因為在那個階段獸人展示了更多的背景故事,當獸人逃脫後,難民在此時展示了更多他的角色資訊,這讓玩家有點不確定剛才自己的行為是否正確。為了讓事情直接一點,我增加了一些額外的對話,難民在一開始就會給玩家展示更多他的背景。
結論
為《天際》製作支線任務讓我學會了如何引用迭代式的任務設計方法去預測未來可能出現的問題,並且提高內容的質量。先製作一個主要的線然後在上面新增更多的東西,這讓我能夠儘快通過玩家測試解決一些缺陷和可以修復的問題(測試者不只是玩家,還有自己)。
在一個確定的主線下工作讓我能夠很好的關注製作更多的線將會花多少時間,讓決定變得容易,這樣就會有更多的時間去投入到其他支線的創作,或者提高現有內容的質量。
作者:Nick Witsel
翻譯:班春暉
專欄地址:https://zhuanlan.zhihu.com/p/25940286
相關文章
- PDI設計轉換任務
- ubuntu 設定計劃任務Ubuntu
- 詞頻統計任務程式設計實踐程式設計
- 基於任務的導航設計
- 分散式任務排程系統設計小結分散式
- .NET併發程式設計-任務函式並行程式設計函式並行
- 程式設計師討厭沒有價值的任務程式設計師
- 1.2.7. 任務7:資料庫設計資料庫
- Axure設計“每日任務目標”小程式
- 系統架構設計之-任務排程系統的設計架構
- 程式設計師最艱鉅的十大任務程式設計師
- 好程式設計師大資料分享Spark任務和叢集啟動流程程式設計師大資料Spark
- 任務設計:關於幸福的生產力
- 設計漫談:傳說任務的曲折道路
- 複雜任務中,流程的解耦設計解耦
- 【程式設計測試題】遊戲任務標記程式設計遊戲
- 基於Java反射的定時任務設計Java反射
- 基於Redis的任務排程設計方案Redis
- [轉載]iOS 後臺任務設計指導iOS
- 第五項任務—給出設計類圖
- 計劃任務
- 《無盡的任務》設計師:《無盡的任務》如何實現20年的使用者留存?
- 從任務中心看狀態機功能元件設計元件
- 爐石傳說的每日任務設計妙在何處
- 【任務】Python語言程式設計.MOOC學習Python程式設計
- 《JAVA併發程式設計實戰》任務執行Java程式設計
- 關於非同步任務設計的幾點思考非同步
- Agent 任務編排系統:從設計到落地
- 非同步程式設計:.NET 4.5 基於任務的非同步程式設計模型(TAP)非同步程式設計模型
- UI設計提速祕笈:Photoshop CC使用技巧UI
- mysql計劃任務MySql
- 計劃任務(CRON)
- 計劃任務crontab
- [技術討論]架構設計和程式碼之間的關係以及程式設計師任務安排架構程式設計師
- Spring / Spring boot 非同步任務程式設計 WebAsyncTaskSpring Boot非同步程式設計Web
- lua定時器與定時任務的介面設計定時器
- Linux核心模組程式設計--替任務排程(轉)Linux程式設計
- linux設定crontab定時執行任務計劃Linux