遊戲開發與設計中的“3C”是指什麼?

Jerish發表於2021-03-15
隨著國內遊戲行業的不斷髮展,越來越多國外的專業詞彙被引入進來。“3C”作為一個比較重要的技術名詞至今卻仍然被不少遊戲從業者所陌生。那麼到底什麼是3C?他在遊戲設計以及遊戲開發中有什麼具體意義呢?

3C,最早是由育碧(Ubisoft)公司提出的遊戲設計概念,其實就是指Character Camera  Control(角色、相機、控制)三個單詞的縮寫,代表了大部分遊戲設計中三種最為基本的元素。在13年出版的經典啟蒙書籍——《通關!遊戲設計之道》這本書中,作者Scott又對其進行更為詳細瞭解釋和擴充。

遊戲開發與設計中的“3C”是指什麼?

3C的概念與理解

從字面上來看,我們可以這樣理解:

Character,表示一個或多個遊戲角色,玩家可以扮演該角色、也可以在遊戲中可以觀察該角色的行為。

Camera ,表示一個或多個攝像機,以此來輔助玩家觀察遊戲世界,增加玩家的體驗感和沉浸感。

Control,表示用一個或多個控制裝置,設定特定的互動規則來使玩家控制對應的角色。

遊戲開發與設計中的“3C”是指什麼?
▷▶《奧日與黑暗森林》控制Ori移動

進一步來看,三者還有很多細節上的內容需要分析和深入。

Character(角色),一般是遊戲中的主角,代表著玩家的物理容器,擁有著鮮明的形象特點(體型、剪影、配色、材質等)和行為方式(移動方式、戰鬥方式等),能夠以最為簡潔的表達向玩家提供遊戲的基本資訊。好的角色設計可以讓玩家相對容易的根據外觀、姓名、對話等來了解其有哪些能力、故事背景等等。

一個角色的誕生需要經過概念與背景設計、原畫設計、三維模型設計(3D遊戲)、動畫設計、技能設計、程式實現、測試反饋等多個流程,同時我們還要考慮是否允許玩家自定義角色形象、設計內容是否與遊戲背景衝突等。當然,遊戲中角色通常不止一個,比如RPG中需要多個角色(流程是相似的)來構建故事和衝突,主角團之間不同角色還可以通過互補來豐富遊戲的體驗,如果是多人競技遊戲,還需要注意不同Character設計的平衡性。

遊戲開發與設計中的“3C”是指什麼?
▷▶《古劍奇譚3》的主角設計稿

我在之前的文章《為什麼說“角色移動”看上去很簡單,卻需要極高的技術力與細節成本?》就提到,角色的移動與技能是遊戲中非常重要且複雜的設計環節,走路、游泳、飛行、跳躍、駕駛等行為之間的切換與銜接非常複雜,需要程式和策劃進行詳細的規劃與思考。

遊戲開發與設計中的“3C”是指什麼?

Camera(相機) ,用於展示玩家所看到的東西,決定了玩家觀察遊戲世界的方式。我們可以選擇第一人稱、第三人稱或者是俯視的上帝視角等。第一人稱的Camera可以有更強的代入感和沉浸感(常用於射擊遊戲、恐怖遊戲、解密遊戲等),但是一定程度上失去了對角色的形象展示而且容易讓部分玩家感到眩暈;第三人稱可以讓玩家更好的欣賞角色和遊戲世界(常見的RPG、ACT、格鬥遊戲),通過角色的代入也能很好融入到遊戲內部,是比較常見的方案;而對於RTS這種需要觀察多個角色的遊戲型別,我們通常會採用等軸鏡頭、俯視鏡頭來設定相機的模式。
遊戲開發與設計中的“3C”是指什麼?

遊戲開發與設計中的“3C”是指什麼?

拍攝本身其實就是一個充滿藝術設計的事兒,很多遊戲為了達到理想的效果,都會找專門的影視從業者來設計鏡頭的位置、切換方式等。不過,觀察視角的自由性是遊戲區別於其他影視藝術本身的重要一環,所以在大部分遊戲裡面我們都會盡可能的把攝像機的控制權交給玩家,只在一些需要展示特殊的藝術表現時才奪回控制權(過場動畫、處決的鏡頭等,有一些特殊情況會在後面提到)。

遊戲開發與設計中的“3C”是指什麼?


除了相機的切換,Camera還可以通過FOV變化(準鏡瞄準)、特效變化、後處理變化、震動變化(ACT戰鬥)等方式來給玩家提供更多的資訊和更豐富的體驗,而這些效果變化的具體數值和時機是需要我們不斷測試和優化的。

遊戲開發與設計中的“3C”是指什麼?


Control(控制),代表著輸入到響應的整個過程。控制首先要考慮的就是互動按鈕是否符合玩家習慣、人體工學。由於遊戲裝置經過幾十年的發展已經基本成型(手柄、鍵鼠為主,還有VR、街機等),而且大部分遊戲開發商只做遊戲軟體,所以很少需要我們去考慮硬體的設計。我們通常更關注的是按鈕的匹配規則(比如玩家下蹲肯定不能對應一個向上的按鈕),UI的互動方式(尤其是移動端現在面臨螢幕小、按鈕多的問題)等,這些通常會交給UX的同事去做設計。

遊戲開發與設計中的“3C”是指什麼?

遊戲開發與設計中的“3C”是指什麼?


其次,Control也涵蓋了“當玩家進行操作時如何將表現反饋給玩家”這一點,這時候他更像是一個銜接玩家行為與遊戲表現的抽象概念。具體來說,我們按下按鈕後,玩家有多少時間進行下一步的反應?遊戲中的角色的移動速度、鏡頭、UI、音效應該有怎樣的變化?變化規則應該通過什麼方式傳遞給玩家?這些內容與Character和Camera的設計是息息相關的。

概括來講,3C表達了從玩家的輸入到遊戲角色的響應再到這一幀的畫面如何被相機記錄下來的過程。我們在上手一個遊戲的時候,很快就能夠從3C的差異上對該遊戲進行分類和定義,比如他是第一人稱還是第三人稱,是ACT戰鬥還是射擊型別。從某種程度上說3C展示了一個遊戲最核心的體驗,指導玩家學習並上手,很多情況下與我們常提到的Gameplay可以認為是等價的。

在設計遊戲時候,我們可以簡單的將遊戲3C分為基礎3C和高階3C,基礎3C決定遊戲的基本操作和互動方式,比如玩家按鈕如何響應、角色的基本輪廓和特點、可以做哪些基本行為、我們的相機視角有哪些等。而高階3C是在基礎3C上的擴充,角色可以有變化的形象、更豐富的移動方式以及更多樣的鏡頭效果和反饋。比如,在戰神4和蝙蝠俠中,我們移動使用的是第三人稱的靠肩視角,角色屏佔比為1/4的基礎3C,可以給玩家營造角色魁梧、行為充滿力量的厚重感。而戰鬥中動態變化的鏡頭以及可以扔出的斧頭和勾爪則是屬於高階3C,這些加強了遊戲時的沉浸感和真實感,讓玩家被代入到角色的行為與故事之中。

遊戲開發與設計中的“3C”是指什麼?


遊戲開發與設計中的“3C”是指什麼?


當然,確實也存在一些遊戲並沒有完整的3C,甚至很多遊戲的誕生要要遠遠早於3C的概念。比如俄羅斯方塊以及消除類遊戲中並不存在所謂的“角色”,互動文字類遊戲也沒有所謂的“相機”。

不過這並不是說這套理論就沒有意義了,你也可以認為這些遊戲型別只是在一定程度上限制住了Character和Camera的設計。假如我們仍然以這套理論為指導,將俄羅斯方塊中的“方塊”視為角色,將貫穿整個遊戲的固定鏡頭視為相機,那麼是不是就可以進一步地設計出更豐富的“方塊角色”和更為豐富的“鏡頭”效果了?畢竟,任何理論都不是一成不變的。

遊戲開發與設計中的“3C”是指什麼?


還有一些遊戲,融合了多種型別的3C設計,鏡頭上既有第一人稱視角也有上帝視角,既能作為主角體驗遊戲世界也可以以獨特的第三人稱視角來觀察故事的發展。如果一款遊戲能將這些都完美的結合,那無疑會給玩家帶來前所未有的遊戲體驗。我個人比較喜歡的《艾迪芬奇的記憶》就是這樣一個充滿藝術魅力並融合了多種3C設計的佳作。

遊戲開發與設計中的“3C”是指什麼?

▷▶《艾迪芬奇的記憶》


程式3C

談完了遊戲設計的中3C,我們不妨再從程式的角度來認識一下他。簡單來說,每一款遊戲都需要將前面提到的內容抽象到程式碼層面,封裝好並交給策劃去進行設計和擴充。比如虛幻引擎裡面就內建了一個成熟的Gameplay系統,你可以看到Playercontroller、Cameramanager以及Character等等的C++類,這些類與前面提到的3C是非常相似的概念。遊戲中所有擁有移動、碰撞能力的物件都應該繼承自Character,響應按鈕事件的邏輯應該存放在Controller裡面,而攝像機的位置、特效、震動等邏輯都被封裝到了CameraManager裡面,這是Unreal多年來積累的一種物件導向的3C設計方案。

遊戲開發與設計中的“3C”是指什麼?


角色動畫這塊的系統非常複雜,所以需要被單獨抽離出來。在大部分引擎中,動畫一般是通過專門的動畫系統來驅動角色身上的蒙皮骨骼模型進行模擬。

遊戲開發與設計中的“3C”是指什麼?


遊戲開發與設計中的“3C”是指什麼?


3C涉及遊戲的核心繫統,其內容是與遊戲玩法高度相關的,所以不同的遊戲的3C都有所不同,而且很可能差異很大。比如常見的ARPG,設計層面上要有一個完整的故事和一個個性鮮明的角色,而程式上我們需要實現一個可玩的有打擊感的戰鬥系統(涉及到複雜的動畫系統、特效系統、鏡頭處理、音效、震動反饋、後處理等)、角色成長系統(數值計算)、移動系統(攀爬、游泳、飛行等)、定製的動畫以及分鏡系統等。而在其他的遊戲中,還可能有關卡生成系統(我的世界)、載具系統(極品飛車)、以及各種特殊的與遊戲規則高度相關的定製系統(文明)。這些系統深入起來並不容易,但是卻往往被大家所忽略。

遊戲開發與設計中的“3C”是指什麼?


拿FPS遊戲舉例,角色上我們需要考慮玩家的移動方式(包括行走、衝刺、翻越、爬行、死亡等狀態的切換與打斷,特殊狀態如何進行設計和處理等)、武器與技能的製作和使用(包括武器的切換方式、數值計算規則、武器結構的拆分與組裝等)、角色的第一人稱和第三人稱的模型效果(包括角色的形象設計與展示、如何在遊戲中自由切換一三人稱、第一人稱是否能看到下半身等)、角色的動畫表現(包括移動、互動、開火等行為以及各種道具的動畫);攝像機我們要考慮基本視角(第一人稱)、鏡頭的切換(支援哪些特殊視角、不同視角的切換規則、是否有ADS瞄準狀態)、鏡頭效果(包括螢幕後處理變化、後坐力震動效果設計);控制上根據不同的平臺要考慮不同的設計,比如按鍵的位置、大小、是否允許自定義按鍵,按鍵的響應規則和響應時間等等。總的來說,3C需要考慮的東西非常繁多且複雜。如果是網路遊戲,這個工作量可能還要擴大一半左右。

對於3C程式來說,確實存在一些相對通用的技術與功能,比如Gameplay框架、狀態機FSM/HFSM(比如邏輯狀態機用於銜接角色的行為表現),網路同步,動畫系統,移動系統等,但是由於國內遊戲行業的發展不夠成熟以及這些內容並不適用用所有遊戲,所以造成了很多Gameplay程式發展方向不明確的問題。此外,像一些其他技術如FOV分層渲染、描邊、物理破碎、音效、介面特效等實現雖然可能會交給渲染、音訊、UI等其他程式做,但3C程式理論上也要做到理解並負責將其整合到現有遊戲的系統內。

實際專案中,遊戲涉及到的技術很雜,很多時候不那麼好劃分,再加上專案的人力有限,3C程式也沒有必要給自己限制在某些技術範圍內,要根據個人發展以及專案情況適當瞭解和學習其他模組的知識,如渲染、物理、AI等內容。

總結

總的來說,高質量的3C是遊戲堅實的基礎,依據3C的理論我們可以從多個方向來思考並進一步豐富我們的遊戲內容,進而讓玩家處於一個專注且享受的“心流”狀態。對於3C程式而言,我們需要根據遊戲的型別搭建合適的3C框架,同時與策劃不斷的進行溝通和打磨,來構建一個更有魅力的遊戲世界並給予玩家一個更為完美的遊戲體驗。

來源:“遊戲開發那些事”公眾號
作者:Jerish
地址:https://mp.weixin.qq.com/s/M6BDf5-L7LneRNAuxg-LGg

相關文章