游戲作為娛樂生活的一個方面,參與其中的人越來越多,而大部分參與其中的人都是以玩家的身份。
他們熱愛一款游戲,或是被游戲的故事情節(jié)、炫麗的場景、動聽的音樂所艷羨,亦或是被游戲中角色扮演、炫酷的技能、有趣的任務所吸引,然而他們中的大多數(shù)可能并不了解如此一款好玩的游戲是如何打造出來的。 下面就跟大家分享游戲開發(fā)流程及所需工具。
對于想來這個行業(yè)嘗試的新人們,先對游戲開發(fā)制作有個整體的了解也是非常必要的。
接下來我將從幾個方面來分別進行闡述。
基礎(chǔ)知識
游戲,說白了就是一個程序,這個程序或在 PC 上或在移動設(shè)備上運行,玩家通過與這個程序交互來達到娛樂性的目的。我們先了解一下游戲中用到的各種引擎以及游戲相關(guān)術(shù)語。
游戲引擎
游戲引擎是游戲研發(fā)的主程序接口,它為開發(fā)者提供了各種開發(fā)游戲的的工具,即可編輯游戲系統(tǒng)和實時圖像系統(tǒng)的核心組件,其目的就在于讓開發(fā)者可以快速的做出游戲而不必從零開始。
游戲引擎包含渲染引擎、物理引擎、碰撞檢測系統(tǒng)、網(wǎng)絡(luò)引擎、音效引擎、腳本引擎、動畫及場景管理等。
渲染引擎:是對游戲中的對象和場景起到渲染的效果,游戲中的角色都是通過渲染引擎將它的模型、動畫、光影、特效等所有效果實時計算出來并展示到屏幕;
物理引擎:讓對象運動遵循特定的規(guī)律,比如當角色跳起的時候,系統(tǒng)內(nèi)定的重力值將決定它彈跳的高度及下落的速率;
碰撞檢測系統(tǒng):可以探測各物體的邊緣,當兩個 3D 物體在一起的時候,系統(tǒng)可以防止它們相互穿過;
網(wǎng)絡(luò)引擎:是負責玩家與設(shè)備間的通信,處理來自鍵盤、鼠標及其它外設(shè)信號。若游戲聯(lián)網(wǎng),它也用來管理客戶端與服務器間的通信;
Lua 引擎:是 Lua 的服務器引擎,lua 是一種輕量級的嵌入式腳本語言,在網(wǎng)游開發(fā)中應用廣泛。
總的來說,一個游戲是引擎和資源組成的,資源包括圖象、聲音、動畫等,游戲引擎就像一個發(fā)動機,控制著游戲的運行,它按游戲設(shè)計規(guī)則依次調(diào)用游戲資源。
游戲名詞
CD-key:游戲的序列號或防盜密碼;
BugFree:測試管理平臺,是一款基于 Web 的開源錯誤追蹤工具;
Ping:從客戶端發(fā)送數(shù)據(jù)到服務器到接收到服務器反饋數(shù)據(jù)的時間,以 ms 計,若 Ping 值高會感覺延遲;
Proxy Server:代理服務器,代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息;
PU:付費用戶;
RU:注冊用戶;
AU:活躍用戶;
DAU:平均每日活躍用戶;
CCU:同時在線人數(shù);
PCU:最高同時在線人數(shù);
ACU:平均同時在線人數(shù);
ARPPU:付費玩家平均收入;
封測:限定用戶數(shù)量的游戲測試,用來對技術(shù)和游戲產(chǎn)品進行初步的驗證,用戶規(guī)模較。
內(nèi)測:面向一定數(shù)量用戶進行的內(nèi)部游戲測試,多用于檢測游戲壓力和功能有無漏洞;
公測:對所有用戶公開的開放性的網(wǎng)絡(luò)游戲測試。
游戲的種類
游戲的分類方法很多,可以按終端、內(nèi)容、攝像類型、玩家格斗對象、玩家人數(shù)等來分,其中按內(nèi)容來分最直觀,它可以根據(jù)游戲的元素迅速錨定游戲范圍。
按終端分:主機游戲 (電視機游戲)、客戶端游戲、網(wǎng)頁游戲、手機游戲;
按攝影類型分:2D 游戲、2.5 游戲、3D 游戲;
按格斗對象分:PVE:PlayerVsEnvironment、PVP:PlayerVsPlayer;
按玩家人數(shù)分:單機游戲(Singe-Player Game)、多人游戲(Muti-Player Game)、大型多人在線(Massive Multiplayer Online Game)。
我們可以看一下 AppStore 中游戲的分類,非常鮮明,如下圖所示。
游戲的開發(fā)流程
游戲開發(fā)從狹義上講就是程序部門進行相關(guān)游戲程序的編寫,從廣義上講,是整個游戲制作過程,這其中包括多個部門的人員配備。下圖是一個一般性的游戲開發(fā)團隊。
整個團隊包含四個部門,即策劃、美術(shù)、程序、制作人,各個部門負責不同的工作,協(xié)調(diào)完成整個游戲的開發(fā)。
策劃是團隊的靈魂,也分執(zhí)行策劃、數(shù)據(jù)策劃、表現(xiàn)策劃、資源策劃等,他們主要對游戲劇情、背景進行分析設(shè)計,對游戲中的各種規(guī)則進行描述及公式確定,對各種資料表格進行維護,對游戲中的特效、動作等進行收集并提出需求,進行 UI 設(shè)計及模型相關(guān)配置等。
程序是團隊的骨肉,也可細分為主程序、客戶端引擎、服務器引擎、3D 程序、AI 程序、腳本程序、數(shù)據(jù)庫程序等,他們主要負責確定程序的數(shù)據(jù)結(jié)構(gòu),確定策劃方案的完成方法,將策劃提出的各種需求用程序來實現(xiàn),并為游戲開發(fā)過程提供良好的編輯工具。
美術(shù)是團隊的皮膚,可細分為人物原畫、人物建模、材質(zhì)貼圖、人物動作、場景動畫等,他們主要負責整個游戲的視覺風格,以及人物模型動作等的設(shè)計等。
制作人主要進行游戲的外部統(tǒng)籌,市場調(diào)研、游戲開發(fā)進度、游戲版權(quán)、游戲宣傳、游戲發(fā)布及音樂音效素材的管理都是制作人工作的范疇。
下圖是某國外游戲研發(fā)團隊的組織架構(gòu)圖,可以參考了解一下。
游戲開發(fā)的各個時期
對于游戲制作人來說,每個游戲從產(chǎn)生要消亡要經(jīng)歷各個階段,下面是普遍適用的典型范例,但并不是每個游戲都要經(jīng)歷所有的時期。
概念時期:就是整個游戲概念的確定,要做什么樣的游戲,主題線索是什么;
原型開發(fā)時期:這個時期要制作游戲的原型,用來體驗游戲的設(shè)計概念,從而糾正和改善不足的地方;
推廣時期:此時是游戲開發(fā)方向出版方推廣產(chǎn)品,向投資方展示游戲的設(shè)計概念、主要賣點、產(chǎn)品如何適應市場的需求、產(chǎn)品開發(fā)的可行性及具體的實現(xiàn)方案;
準備時期:這個時期主要處理游戲項目所涉及的商務及法律方面的事務,比如游戲?qū)@、劇本版?quán)、品牌商標等,從而組織開發(fā)團隊制作大致的方案,確定游戲開發(fā)所需要的工具及其它細節(jié)問題;
制作時期: 這個時期是游戲制作的主體時期,完成 3D 模型的制作,場景制作,過場動畫、畫面渲染及音效錄制等,游戲引擎和資源在此時期將被完全整合到一起。
質(zhì)量保證時期:這個時期是游戲的 QA 或測試時期,主要用來保證游戲的各項功能是否完好,從而發(fā)現(xiàn)和修復各種 Bug 和錯誤;
母盤生成時期:這個時期是將游戲存盤交由平臺廠商測試檢測的時期,每個平臺廠商的測試標準不盡相同,這個時期中也需要不斷地測試改進游戲,修復 Bug,準備市場投放。
運營維護時期:這個時期是游戲發(fā)布后持續(xù)運營,在運營過程中發(fā)現(xiàn)問題,修復并更新升級的過程,這是一個長期的過程。
項目流程
一部游戲完整的開發(fā)過程,歸納起來可分為五步,如下圖所示。
市場調(diào)研可以分為三個小部分,
1)調(diào)研前進行 “頭腦風暴”,讓盡量多的人想出盡量多的創(chuàng)意點子并做好記錄,從而在市場調(diào)研過程中一一確認,不符合的排除;
2)撰寫策劃草案,從而讓項目小組中的每一個成員對開發(fā)的項目有一個大體的認識,并且對目標明確;
3)對每一個草案都進行市場調(diào)研和分析,決定是否要開發(fā)這個游戲。市場調(diào)研主要從兩個方面入手,即目標客戶(玩家)和開發(fā)成本。
需求分析主要是撰寫需求分析書,這主要包括三個方面:
1)策劃需求
策劃的分工:包括劇本、數(shù)值、界面、執(zhí)行等方面;
進度控制:要時刻注意時間和開發(fā)進度的控制,需要寫一個專門的項目進度匯總表。
2)美術(shù)需求
場景:包括游戲地圖、小場景等方面;
人物:包括玩家角色、重要 NPC(玩家隊友、提供任務的 NPC、主線劇情 NPC 等)、次要 NPC(路人、村民等)、怪物、BOSS 等;
動畫:動畫方面估計每個公司的需求都不盡相同。如果公司能力有限,動畫的制作可以考慮外包的方式;
道具:主要需要考慮是否采取紙娃娃系統(tǒng);
全身像:人物的全身像方面;
靜畫 &CG:游戲中可能出現(xiàn)的靜畫和 CG 的需求,沒有則不需要寫;
人物頭像:人物的頭像制作需求,其中包括人物的表情方面,包括喜、怒、哀、樂和悲等多種表情;
界面:界面的需求,包括主界面、各項子界面、屏幕界面、開頭界面、END 界面、保存和載入界面等方面;
動態(tài)物件:包括游戲中可能出現(xiàn)的火把、光影等方面;
卷軸:又稱為滾動條。根據(jù)游戲的情況來定具體的需求;
招式圖:根據(jù)游戲開發(fā)的具體情況決定是否有此需求;
編輯器圖素:各種編輯器的圖素需求,例如關(guān)卡編輯器、地圖編輯器等方面;
粒子特效:3D 粒子特效的需求;
宣傳畫:包括游戲的宣傳畫、海報等方面的制作需求;
游戲包裝:游戲客戶端的封面包裝的制作;
說明書插圖:游戲說明書內(nèi)附插圖的制作需求;
盤片圖鑒:游戲客戶端盤片上的圖鑒的制作需求;
官方網(wǎng)站:游戲官方網(wǎng)站的制作需求。
3)程序需求
地圖編輯器:包括編輯器的功能需求、各種數(shù)據(jù)的需求等;
粒子編輯器:關(guān)于粒子編輯器的需求;
內(nèi)鑲小游戲:包括游戲內(nèi)部各種小游戲的需求;
功能函數(shù):包括游戲中可能會出現(xiàn)的各種程序功能、技術(shù)參數(shù)、數(shù)據(jù)、碰撞檢測、AI 等方面的需求;
系統(tǒng)需求:包括升級系統(tǒng)、道具系統(tǒng)、招式系統(tǒng)等系統(tǒng)導入器的需求。
項目開發(fā)步驟就是將整個游戲項目的資源通過引擎組織起來,對游戲的架構(gòu)、功能及各邏輯模塊進行充分的整合。
這就要明確游戲開發(fā)的日程和進度安排,這也是充分利用各種開發(fā)工具讓開發(fā)效率大大提升的根本所在。
測試發(fā)布流程主要包括兩次大型正規(guī)的測試,即 Alpha 測試和 Beta 測試,其中前者意味著游戲的功能和流程完整,QA 會為游戲定制測試計劃,測試人員將發(fā)現(xiàn)的 Bug 提交到數(shù)據(jù)庫,開發(fā)和設(shè)計人員對相應的錯誤進行修復。
后者意味著游戲中的各種資源已完成,產(chǎn)品已定型,后期只是修復 Bug。在這兩次測試修復后,得到待發(fā)布的 Release 版。
Gold Release 流程主要是開發(fā)游戲的各種補丁包、游戲的升級版本,以及官方的各種禮包和插件等。
游戲開發(fā)所用的工具
選擇正確的工具,可以為游戲項目節(jié)省開支,提高工作質(zhì)量,降低項目風險,讓整個項目團隊成員集中注意力,從而把游戲做得好玩。
程序工具軟件
OpenGL ES——OpenGL 長期以來都是行業(yè)內(nèi) 2D/3D 圖形高質(zhì)表現(xiàn)的標準,它適用于各種設(shè)備。OpenGL ES 提供了在軟件應用程序和軟件圖像引擎間的底層 API 接口;
IncrediBuild——這個開發(fā)工具極大的提升了 VS/VC 的編譯和版本生成速度,有效降低增量構(gòu)建所需要花費的時間,它主要是采用分布式編譯技術(shù),在公司內(nèi)網(wǎng)可以調(diào)用其它計算機的資源進行快速編譯。這是開發(fā)人員不可多得的一款好工具;
VS2013——微軟的 VS 集成開發(fā)環(huán)境多年來都是游戲制作的基本軟件,界面友好,功能齊全,可以極大的提升編碼速度和工作流;
Visual Assist X——這是一個插件,引入了強大的編輯功能,完全整合在 C++IDE 環(huán)境中,可以極大的提升開發(fā)人員的工作進程,不過有的 IDE 環(huán)境已經(jīng)整合了這款插件,自己不用手動安裝了;
Direct X——它是微軟在過去建立的眾多行業(yè)標準之一,它是一種視窗技術(shù),可以讓你在玩游戲或觀看視頻過程中圖像和音效有更高的品質(zhì),它包含多個配套組件,如 Direct3D、DirectSound、DirectPlay、DirectInput 等。
美術(shù)制作工具
美術(shù)制作工具要遠多于程序軟件,因此在游戲開發(fā)過程中,選擇美術(shù)軟件時要慎重考慮,以方便項目的順利進展。
Maya——它是行業(yè)內(nèi)首選的 3D 動畫制作軟件之一,它功能十分強大,可用于高端電腦構(gòu)圖,可以處理幾乎所有的 3D 制作工作。
比如模型構(gòu)建、動畫制作、描繪渲染、電影特效等。但其缺點也在于其多邊形建模工具不太理想;
3D Studio Max——它是游戲開發(fā)中 3D 程序開發(fā)的主流引導者,其多邊形建模工具是所有 3D 程序中最棒的工具,用它進行開發(fā)效率也特別高;
PhotoShop CS——該軟件在游戲制作中被廣泛應用,是游戲制作的必備軟件,它在游戲開發(fā)的各個時期都會用到,包括前期制作到最終完成并市場推廣。美術(shù)人員用它來做出游戲環(huán)境和角色的設(shè)定,策劃也用它來畫關(guān)卡規(guī)劃和界面示意圖;
FaceGen Modeller——這是一款 3D 頭臉創(chuàng)作工具,它可以為游戲制作多個角色,從而快速做出人物臉部及頭部模型,形態(tài)非常逼真;
Zbrush——這款工具的特點在于使藝術(shù)模型呈現(xiàn)傳統(tǒng)藝術(shù)創(chuàng)作的過程,它可以輔助制作人員做出逼真的環(huán)境多邊模型,是地圖場景的絕佳工具;
Granny——可以作為游戲的一個批量輸出工具,它能夠完成所有藝術(shù)素材,包括模型、渲染和過場動畫的植入。它可以生成法線和紋理貼圖,更是一款引擎解釋工具。
游戲組件工具
游戲組件是指游戲的基本環(huán)境架構(gòu),比如描繪、場景和幾何構(gòu)型的構(gòu)建,也稱為中間件。
Havok——這是目前比較先進的物理引擎,它能讓游戲模擬現(xiàn)實,可以將游戲做出非常逼真的效果;
Gamebryo——這是一款能夠幫助開發(fā)人員快速制作原型版的工具,功能強大,運行穩(wěn)定,是比較好的 3D 實時圖形引擎,其強大的渲染引擎和動作處理系統(tǒng)使其在商業(yè)上獲得巨大的成功;
Quazal——它屬于網(wǎng)絡(luò)建筑中間件,主要用于制作大型多人在線游戲,其它類似的中間件有 Big World。
音效工具
音效作為游戲里的重要組成部分,選擇合適的工具也非常重要。作為游戲開發(fā)人員,關(guān)鍵要了解各種工具的使用限制,有很多的專業(yè)音效制作工具,包括 Nuendo、Vegas、Logic、ProTools、Peak、GameCODA、SoundForge 等。
場景構(gòu)建工具:
Unreal Engine——這是一款比較完型的游戲開發(fā)引擎,它提供了比較全能的關(guān)卡編輯器、過場動畫系統(tǒng)、3D 圖形及 AI;
Source——這款引擎為人物角色動畫提供了新技術(shù),先進的 AI、光影渲染、實景圖象都非常棒,引擎也包含了先進的物理引擎。
日常管理工具
游戲開發(fā)過程中所涉及的事務比較多,內(nèi)容也比較繁雜,用好日常管理工具可以有效提升工作效率。下面是幾個用得比較多的工具:
MicroSoft Excel——利用它進行開發(fā)進度管理,開發(fā)人員可以非常輕松地跟蹤管理多個游戲開發(fā)部門的進度,開發(fā)人員必須要對其十分熟悉,才能用的得心應手;
日常工作增量進程報告 (daily delta reports)——一個項目成功的關(guān)鍵就是運用日常工作進程報告,在這個過程中,每一名團隊成員每天上交一份個人當日工作完成情況清單。這種進程報告的方式可以簡明扼要、方便有效地跟蹤項目進程;
源碼控制報告和版本控制報告——目前大部分項目研發(fā)用的版本控件工具是 SVN、Perforce、Git 等,在使用版本控制軟件前,一定要花一定的時間來熟悉軟件的功能和使用方法,這對于游戲研發(fā)人員非常關(guān)鍵,否則就會犯些不必要的錯誤,從而導致工作效率下降;
運用 WiKi——它是協(xié)作性文檔,是自由討論和創(chuàng)造性工具,是最佳管理設(shè)計性文檔的方法,當團隊無法建立一個內(nèi)部局域網(wǎng)來管理各種記錄和設(shè)計進程或建立局域網(wǎng)工作量過大時,WiKi 就是你最佳的選擇。
好了,關(guān)于游戲開發(fā)的相關(guān)知識,我就介紹到這里。游戲開發(fā)涉及的知識太多太多,我在這里只是概括性的做了一個引入,希望對您有些許的幫助,文章內(nèi)容不免有很多不足之處,還請各位大俠多多指教。
一閃一閃亮晶晶