《Tsuro》實戰分享:移動VR內容開發經驗與教訓
查看引用和消息源請點擊:映維網
關於移動VR遊戲開發的經驗教訓
(映維網 2019年05月09日)丹·泰勒(Dan Taylor)是一位遊戲領域的資深從業者,曾參與過《榮譽勳章》,《殺手》和《古墓麗影》等熱門內容的製作。他目前正在領導英國VR遊戲和手游開發工作室Thunderbox Entertainment。
日前,他向社區分享了團隊在開發移動VR內容時的經驗教訓,並希望可以為各位同行提供借鑒參考。以下是映維網的具體整理:
2016年伊始是一個激動人心的時刻:我們剛剛發布了基於桌游《Tsuro》的手游《Tsuro通路—造路遊戲》,並準備開始下一個遊戲項目。我們最初沒有制定進軍VR的計劃,這有點自然而然地就發生了(這家公司同時發行過手游版《Tsuro通路——造路遊戲》。在遊戲中,你需要合理地放置拼圖,使自己的棋子按拼圖上的道路行進,但同時要防止對手的拼圖將你的棋子引入歧途,甚至帶離棋盤)。
當時我們的一位朋友正熱烈地介紹自己新入手的Gear VR,並堅持要我們體驗一番。我們當時並不認可移動VR的潛力,因為你很難為智能手機開發出畫面像樣的遊戲,更不用說60fps的渲染要求。但我們認為一試無妨。
當我們戴上頭顯後,我們馬上改變了想法,並迅速意識到移動硬體完全可以完全與桌面軟體一樣引人入勝的VR體驗,而且價格要更為親民。
兩周之後,我們拿到了硬體,並開始在VR中開發《Tsuro》。但遊戲玩起來不是特別有趣。在虛擬桌面開玩虛擬版桌游顯示我們只是單純地模擬真實體驗。如果我們希望能夠像手游版本一樣做出改變,我們需要與眾不同的遊戲方式。
快進到2018年,Oculus Quest的《SUPERHOT》給了我靈感。
當我在OC5大會體驗這款演示內容時,我完全迷上了體驗,而工作人員甚至要從我頭上搶過頭顯。當我走出演示區後,我突然之間想到:為什麼我們不開發一款房間規模的VR體驗呢?
所以,我們為Oculus Go重新構思了《Tsuro》。我們將所有元素都放大了70倍。當你在棋盤中進行研究分析時,棋子會從你身邊嗖嗖地略過。你同時可以欣賞到任何其他格式都無法實現的炫美景色。
但即便我們已經構思好遊戲概念,項目的進展都並非是一帆風順。回想起來,項目做對的地方要多於做錯的地方。下面我們就來回顧一下。
1. 做錯的地方?
1.1 移植舊版遊戲的問題
為了有效移植《Tsuro》,我們需要儘可能多地重複利用手游版本的元素。遺憾的是,手游版本開發至今已超過六年時間,所以一定的歷史問題減緩了我們的進度,並且影響了遊戲性能。
在用IL2CPP進行編譯時,我們的補間系統HOTween並不湊效。我們本來可以更新到DOTween,但由於當時已經是項目的後期階段,我們認為風險太大。
當我們開始製作《Tsuro》的時候,Unity尚未提供原生UI系統,所以我們用的是nGUI。這給我們帶來了非常有效的UI,但存在一定的問題。因為我們必須使用自定義著色器來點亮我們的敘事UI,所以當我們測試亞洲市場本地化所需的動態系統字體時,它們都發生了崩潰。再一次強調,這已經是在項目的後期,所以我們不得不在發行遊戲前的一周內解決照明系統。
我們同時有用Playmaker進行可視化腳本編碼。當我們開始《Tsuro》時,我們確實不知道如何使用,所以我們的腳本非常混亂。如果你打算使用Playmaker,請使用全局變數來獲取關鍵遊戲數據,保持狀態機小型化,對所有內容進行顏色編碼,並確保狀態機之間的任何切換都是穩定進行,並且正確同步:當我們更新Unity的時候,速度的略有增加意味著某些Playmaker元素突然以不同的順序啟動,並造成重大系統錯誤。
1.2 對於移動框架,我們過於想當然
在移植《Tsuro》的時候,我們低估了VR所需的基本移動端功能,其中包括:
推送消息:我們使用OneSignal進行多人通知推送,更新房間列表,並在匹配完成時通知位於程序之外的用戶。Oculus提供了一個可作為替代方案的通知系統,但我們沒有時間為《Tsuro》進行研究和實施。
遊戲中心:《Tsuro》擁有超過50項成就,並旨在在幫助用戶發現各種二級遊戲機制。Oculus同樣提供了一個強大的成就系統……但當你解鎖一個系統時,沒有系統通知彈出窗口,同時沒有用於檢查進度的UI。成就UX必須從零開始設計。
社交整合:信不信由你,你無法輕鬆將Facebook整合到Unity遊戲。對於移動設備,你可以使用Facebook Unity SDK。但對於Oculus,事情就變得棘手起來。
鍵盤:《Tsuro》有一個需要用戶輸入文本的實例。這個細小但至關重要的功能意味著我們必須實現VR鍵盤。幸運的是,我們在Unity Asset Store找到了一個解決方案,並能夠快速地進行修改以滿足我們的需求。
1.3 在Gear VR中進行測試:太少而且太遲
出於某些愚蠢的原因,我們認為Gear VR的性能與Go類似…大錯特錯。從Go到Galaxy S7,我們注意到幀率的顯著下降。這需要我們深度優化通道,創建特定於設備但同時會降低解析度的圖形質量,更換著色器,減半紋理,調整陰影,並相應地調節CPU/GPU。
對於圖形性能,我們的建議是:
請將你的環境整合至一個網格中,並禁用動態遮擋剔除。
請對你的紋理使用ASTC壓縮:小幅度地進行實驗,以獲得性能和細節之間的最佳權衡。
請使用Oculus Lint工具(越快越好)。
請勿使用標準著色器。使用最簡單的著色器(在Unity中,這種著色器通常是移動著色器)。
請不要使用Unity的默認天空盒,請轉而使用移動版本,並將過於花俏的色彩設置烘焙到紋理中。
請不要使用環境照明。它對Go沒有明顯的FPS影響,但它在Galaxy S7上將「殺死」幀率。
最後,關注發行首周的玩家評論。準備好優秀的客服支持,並且根據報告問題迅速予以修復。
2. 做對的地方
2.1 低多邊形美術風格
我們一開始希望匹配手游版本的環境風格。高清環境的實驗表明,我們將需要投入過多的時間,並且依然需要在質量方面進行妥協。幸運的是,Unity Asset Store再次提供了幫助。
我們一直在研究低多邊形美術,而且我們與紐西蘭工作室Synty關係良好。他們擁有一個非常出色的日本幕府時代環境包,而且非常適合《Tsuro》。
這種復古外觀存在一系列的優勢:首先,它非常精美;其次,它的性能非常優秀。經過一定的調整後,我們能夠在Oculus Go以每秒72幀的標準解析度運行《Tsuro》;最後,我們能夠找到其他高質量的低多邊形asset,並添加風格化的天空盒,遠景,粒子效果,甚至一定的野生動物。
2.2 專註於用戶界面
《Tsuro》最初的UI隱藏在屏幕的角落,而VR中沒有屏幕,更不用說什麼角落。我們展開了一定的技敏捷開發,力求構建出可行的UI,其涉及在專用的「健身房」中快速構建,測試和迭代多個UI排列。這有助於我們識別和解決一系列的關鍵問題……
明智地選擇你的字體:如果你更重視易讀性,選擇過於風格化的字體是一個壞主意。我們選擇了清新,有趣的手繪風格。
保持文本簡短但清晰:玩家可以從環境中的任何位置查看UI,這使得文本易讀性成為了一個問題。我們嘗試了各種技術解決方案,但最好的方法是保持措辭簡潔,而且選擇儘可能大的字體。
模擬照明:如果你的UI需要隨玩家移動,它可能需要點亮。我們最終手動地模擬靜態UI元素的照明,並使用腳本化的近似法來動態地重新著色移動UI。
UI不能分散玩家的注意力:將UI與玩家鎖定會令人感到不舒服,但我們的主UI需要始終可見。為了解決這個問題,我們將其鎖定在玩家的位置,但總是令它面對著棋盤上的交互點。它同時可以根據玩家的高度水平重新定位,因此遊玩區域總是不受影響。
2.3 跨平台多玩家
Oculus《Tsuro》玩家可以與智能手機和平板電腦玩家對戰。對於能夠與非VR玩家對戰的玩家,他們的反饋都十分積極。這同時意味著遊戲在發行後就已經擁有成千上萬的玩家。
為實現這一目標,我們採用了兩種現成的技術:Photon Networking和PlayFab。兩種系統都經過專門設計,可以很好地協同工作,而且成本低廉。
Photon負責實際的在線遊戲(設置房間,傳輸數據等),PlayFab則管理身份驗證,朋友,匹配和遊戲狀態。它同時可以從玩家賬戶(Facebook,Steam,遊戲中心等)獲取信息,並且包含與Oculus完美集成的通用選項。
2.4. Gommunity
我們非常幸運,一位早期測試人員向我們介紹了Discord中的GOmmunity,結果證明這非常重要。
這群可愛的人兒幾乎玩過所有Go的遊戲。他們能夠告訴我們遊戲的主要缺陷,並提供了優秀的示例遊戲作為參考。
在他們的幫助下,我們優化了移動系統,創建了穩定了棋盤體驗,並且通過Oculus Rooms實現了Coordinated App Launch(超級容易實現)。
3. 總結
我們相信VR版《Tsuro》是享受造路遊戲的最佳方式……至少從數字維度而言。我們將這款優秀的小型戰略遊戲帶到了VR,並希望在不久的將來能夠為更多的棋盤遊戲提供類似的沉浸式體驗。作為我們第一次涉足VR,《Tsuro》主要是作為一次實驗:一個相對較短的項目,並且允許我們為開發更複雜的VR遊戲積累必要的經驗。《Tsuro》的美術風格,UI,移動機制,測試,優化和框架等等,這一切都會在我們的下一款VR遊戲中發揮重要的作用。
※2019年04月17日美國專利局最新AR/VR專利報告
※201904 AR/VR數據:風險投資超22億元,《Beat Saber》熱度下降
TAG:映維VR |