'如何開發一款遊戲:遊戲開發流程及所需工具'

"

遊戲作為娛樂生活的一個方面,參與其中的人越來越多,而大部分參與其中的人都是以玩家的身份。

他們熱愛一款遊戲,或是被遊戲的故事情節、炫麗的場景、動聽的音樂所豔羨,亦或是被遊戲中角色扮演、炫酷的技能、有趣的任務所吸引,然而他們中的大多數可能並不瞭解如此一款好玩的遊戲是如何打造出來的。

對於想來這個行業嘗試的新人們,先對遊戲開發製作有個整體的瞭解也是非常必要的。

接下來我將從幾個方面來分別進行闡述。

基礎知識

遊戲,說白了就是一個程序,這個程序或在 PC 上或在移動設備上運行,玩家通過與這個程序交互來達到娛樂性的目的。我們先了解一下游戲中用到的各種引擎以及遊戲相關術語。

遊戲引擎

遊戲引擎是遊戲研發的主程序接口,它為開發者提供了各種開發遊戲的的工具,即可編輯遊戲系統和實時圖像系統的核心組件,其目的就在於讓開發者可以快速的做出遊戲而不必從零開始。

遊戲引擎包含渲染引擎、物理引擎、碰撞檢測系統、網絡引擎、音效引擎、腳本引擎、動畫及場景管理等。

渲染引擎:是對遊戲中的對象和場景起到渲染的效果,遊戲中的角色都是通過渲染引擎將它的模型、動畫、光影、特效等所有效果實時計算出來並展示到屏幕;

物理引擎:讓對象運動遵循特定的規律,比如當角色跳起的時候,系統內定的重力值將決定它彈跳的高度及下落的速率;

碰撞檢測系統:可以探測各物體的邊緣,當兩個 3D 物體在一起的時候,系統可以防止它們相互穿過;

網絡引擎:是負責玩家與設備間的通信,處理來自鍵盤、鼠標及其它外設信號。若遊戲聯網,它也用來管理客戶端與服務器間的通信;

Lua 引擎:是 Lua 的服務器引擎,lua 是一種輕量級的嵌入式腳本語言,在網遊開發中應用廣泛。

總的來說,一個遊戲是引擎和資源組成的,資源包括圖象、聲音、動畫等,遊戲引擎就像一個發動機,控制著遊戲的運行,它按遊戲設計規則依次調用遊戲資源。

遊戲名詞

CD-key:遊戲的序列號或防盜密碼;

BugFree:測試管理平臺,是一款基於 Web 的開源錯誤追蹤工具;

Ping:從客戶端發送數據到服務器到接收到服務器反饋數據的時間,以 ms 計,若 Ping 值高會感覺延遲;

Proxy Server:代理服務器,代理網絡用戶去取得網絡信息;

PU:付費用戶;

RU:註冊用戶;

AU:活躍用戶;

DAU:平均每日活躍用戶;

CCU:同時在線人數;

PCU:最高同時在線人數;

ACU:平均同時在線人數;

ARPPU:付費玩家平均收入;

封測:限定用戶數量的遊戲測試,用來對技術和遊戲產品進行初步的驗證,用戶規模較小;

內測:面向一定數量用戶進行的內部遊戲測試,多用於檢測遊戲壓力和功能有無漏洞;

公測:對所有用戶公開的開放性的網絡遊戲測試。

遊戲的種類

遊戲的分類方法很多,可以按終端、內容、攝像類型、玩家格鬥對象、玩家人數等來分,其中按內容來分最直觀,它可以根據遊戲的元素迅速錨定遊戲範圍。

按終端分:主機遊戲 (電視機遊戲)、客戶端遊戲、網頁遊戲、手機遊戲;

按攝影類型分:2D 遊戲、2.5 遊戲、3D 遊戲;

按格鬥對象分:PVE:PlayerVsEnvironment、PVP:PlayerVsPlayer;

按玩家人數分:單機遊戲(Singe-Player Game)、多人遊戲(Muti-Player Game)、大型多人在線(Massive Multiplayer Online Game)。

我們可以看一下 AppStore 中游戲的分類,非常鮮明,如下圖所示。

遊戲的開發流程

遊戲開發從狹義上講就是程序部門進行相關遊戲程序的編寫,從廣義上講,是整個遊戲製作過程,這其中包括多個部門的人員配備。下圖是一個一般性的遊戲開發團隊。

整個團隊包含四個部門,即策劃、美術、程序、製作人,各個部門負責不同的工作,協調完成整個遊戲的開發。

策劃是團隊的靈魂,也分執行策劃、數據策劃、表現策劃、資源策劃等,他們主要對遊戲劇情、背景進行分析設計,對遊戲中的各種規則進行描述及公式確定,對各種資料表格進行維護,對遊戲中的特效、動作等進行收集並提出需求,進行 UI 設計及模型相關配置等。

程序是團隊的骨肉,也可細分為主程序、客戶端引擎、服務器引擎、3D 程序、AI 程序、腳本程序、數據庫程序等,他們主要負責確定程序的數據結構,確定策劃方案的完成方法,將策劃提出的各種需求用程序來實現,併為遊戲開發過程提供良好的編輯工具。

美術是團隊的皮膚,可細分為人物原畫、人物建模、材質貼圖、人物動作、場景動畫等,他們主要負責整個遊戲的視覺風格,以及人物模型動作等的設計等。

製作人主要進行遊戲的外部統籌,市場調研、遊戲開發進度、遊戲版權、遊戲宣傳、遊戲發佈及音樂音效素材的管理都是製作人工作的範疇。

下圖是某國外遊戲研發團隊的組織架構圖,可以參考瞭解一下。

遊戲開發的各個時期

對於遊戲製作人來說,每個遊戲從產生要消亡要經歷各個階段,下面是普遍適用的典型範例,但並不是每個遊戲都要經歷所有的時期。

概念時期:就是整個遊戲概念的確定,要做什麼樣的遊戲,主題線索是什麼;

原型開發時期:這個時期要製作遊戲的原型,用來體驗遊戲的設計概念,從而糾正和改善不足的地方;

推廣時期:此時是遊戲開發方向出版方推廣產品,向投資方展示遊戲的設計概念、主要賣點、產品如何適應市場的需求、產品開發的可行性及具體的實現方案;

準備時期:這個時期主要處理遊戲項目所涉及的商務及法律方面的事務,比如遊戲專利、劇本版權、品牌商標等,從而組織開發團隊製作大致的方案,確定遊戲開發所需要的工具及其它細節問題;

製作時期: 這個時期是遊戲製作的主體時期,完成 3D 模型的製作,場景製作,過場動畫、畫面渲染及音效錄製等,遊戲引擎和資源在此時期將被完全整合到一起。

質量保證時期:這個時期是遊戲的 QA 或測試時期,主要用來保證遊戲的各項功能是否完好,從而發現和修復各種 Bug 和錯誤;

母盤生成時期:這個時期是將遊戲存盤交由平臺廠商測試檢測的時期,每個平臺廠商的測試標準不盡相同,這個時期中也需要不斷地測試改進遊戲,修復 Bug,準備市場投放。

運營維護時期:這個時期是遊戲發佈後持續運營,在運營過程中發現問題,修復並更新升級的過程,這是一個長期的過程。

項目流程

一部遊戲完整的開發過程,歸納起來可分為五步,如下圖所示。

市場調研可以分為三個小部分,

1)調研前進行 “頭腦風暴”,讓儘量多的人想出儘量多的創意點子並做好記錄,從而在市場調研過程中一一確認,不符合的排除;

2)撰寫策劃草案,從而讓項目小組中的每一個成員對開發的項目有一個大體的認識,並且對目標明確;

3)對每一個草案都進行市場調研和分析,決定是否要開發這個遊戲。市場調研主要從兩個方面入手,即目標客戶(玩家)和開發成本。

需求分析主要是撰寫需求分析書,這主要包括三個方面:

1)策劃需求

策劃的分工:包括劇本、數值、界面、執行等方面;

進度控制:要時刻注意時間和開發進度的控制,需要寫一個專門的項目進度彙總表。

2)美術需求

場景:包括遊戲地圖、小場景等方面;

人物:包括玩家角色、重要 NPC(玩家隊友、提供任務的 NPC、主線劇情 NPC 等)、次要 NPC(路人、村民等)、怪物、BOSS 等;

動畫:動畫方面估計每個公司的需求都不盡相同。如果公司能力有限,動畫的製作可以考慮外包的方式;

道具:主要需要考慮是否採取紙娃娃系統;

全身像:人物的全身像方面;

靜畫 &CG:遊戲中可能出現的靜畫和 CG 的需求,沒有則不需要寫;

人物頭像:人物的頭像製作需求,其中包括人物的表情方面,包括喜、怒、哀、樂和悲等多種表情;

界面:界面的需求,包括主界面、各項子界面、屏幕界面、開頭界面、END 界面、保存和載入界面等方面;

動態物件:包括遊戲中可能出現的火把、光影等方面;

卷軸:又稱為滾動條。根據遊戲的情況來定具體的需求;

招式圖:根據遊戲開發的具體情況決定是否有此需求;

編輯器圖素:各種編輯器的圖素需求,例如關卡編輯器、地圖編輯器等方面;

粒子特效:3D 粒子特效的需求;

宣傳畫:包括遊戲的宣傳畫、海報等方面的製作需求;

遊戲包裝:遊戲客戶端的封面包裝的製作;

說明書插圖:遊戲說明書內附插圖的製作需求;

盤片圖鑑:遊戲客戶端盤片上的圖鑑的製作需求;

官方網站:遊戲官方網站的製作需求。

3)程序需求

地圖編輯器:包括編輯器的功能需求、各種數據的需求等;

粒子編輯器:關於粒子編輯器的需求;

內鑲小遊戲:包括遊戲內部各種小遊戲的需求;

功能函數:包括遊戲中可能會出現的各種程序功能、技術參數、數據、碰撞檢測、AI 等方面的需求;

系統需求:包括升級系統、道具系統、招式系統等系統導入器的需求。

項目開發步驟就是將整個遊戲項目的資源通過引擎組織起來,對遊戲的架構、功能及各邏輯模塊進行充分的整合。

這就要明確遊戲開發的日程和進度安排,這也是充分利用各種開發工具讓開發效率大大提升的根本所在。

測試發佈流程主要包括兩次大型正規的測試,即 Alpha 測試和 Beta 測試,其中前者意味著遊戲的功能和流程完整,QA 會為遊戲定製測試計劃,測試人員將發現的 Bug 提交到數據庫,開發和設計人員對相應的錯誤進行修復。

後者意味著遊戲中的各種資源已完成,產品已定型,後期只是修復 Bug。在這兩次測試修復後,得到待發布的 Release 版。

Gold Release 流程主要是開發遊戲的各種補丁包、遊戲的升級版本,以及官方的各種禮包和插件等。

遊戲開發所用的工具

選擇正確的工具,可以為遊戲項目節省開支,提高工作質量,降低項目風險,讓整個項目團隊成員集中注意力,從而把遊戲做得好玩。

程序工具軟件

OpenGL ES——OpenGL 長期以來都是行業內 2D/3D 圖形高質表現的標準,它適用於各種設備。OpenGL ES 提供了在軟件應用程序和軟件圖像引擎間的底層 API 接口;

IncrediBuild——這個開發工具極大的提升了 VS/VC 的編譯和版本生成速度,有效降低增量構建所需要花費的時間,它主要是採用分佈式編譯技術,在公司內網可以調用其它計算機的資源進行快速編譯。這是開發人員不可多得的一款好工具;

VS2013——微軟的 VS 集成開發環境多年來都是遊戲製作的基本軟件,界面友好,功能齊全,可以極大的提升編碼速度和工作流;

Visual Assist X——這是一個插件,引入了強大的編輯功能,完全整合在 C++IDE 環境中,可以極大的提升開發人員的工作進程,不過有的 IDE 環境已經整合了這款插件,自己不用手動安裝了;

Direct X——它是微軟在過去建立的眾多行業標準之一,它是一種視窗技術,可以讓你在玩遊戲或觀看視頻過程中圖像和音效有更高的品質,它包含多個配套組件,如 Direct3D、DirectSound、DirectPlay、DirectInput 等。

美術製作工具

美術製作工具要遠多於程序軟件,因此在遊戲開發過程中,選擇美術軟件時要慎重考慮,以方便項目的順利進展。

Maya——它是行業內首選的 3D 動畫製作軟件之一,它功能十分強大,可用於高端電腦構圖,可以處理幾乎所有的 3D 製作工作。

比如模型構建、動畫製作、描繪渲染、電影特效等。但其缺點也在於其多邊形建模工具不太理想;

3D Studio Max——它是遊戲開發中 3D 程序開發的主流引導者,其多邊形建模工具是所有 3D 程序中最棒的工具,用它進行開發效率也特別高;

PhotoShop CS——該軟件在遊戲製作中被廣泛應用,是遊戲製作的必備軟件,它在遊戲開發的各個時期都會用到,包括前期製作到最終完成並市場推廣。美術人員用它來做出遊戲環境和角色的設定,策劃也用它來畫關卡規劃和界面示意圖;

FaceGen Modeller——這是一款 3D 頭臉創作工具,它可以為遊戲製作多個角色,從而快速做出人物臉部及頭部模型,形態非常逼真;

Zbrush——這款工具的特點在於使藝術模型呈現傳統藝術創作的過程,它可以輔助製作人員做出逼真的環境多邊模型,是地圖場景的絕佳工具;

Granny——可以作為遊戲的一個批量輸出工具,它能夠完成所有藝術素材,包括模型、渲染和過場動畫的植入。它可以生成法線和紋理貼圖,更是一款引擎解釋工具。

遊戲組件工具

遊戲組件是指遊戲的基本環境架構,比如描繪、場景和幾何構型的構建,也稱為中間件。

Havok——這是目前比較先進的物理引擎,它能讓遊戲模擬現實,可以將遊戲做出非常逼真的效果;

Gamebryo——這是一款能夠幫助開發人員快速製作原型版的工具,功能強大,運行穩定,是比較好的 3D 實時圖形引擎,其強大的渲染引擎和動作處理系統使其在商業上獲得巨大的成功;

Quazal——它屬於網絡建築中間件,主要用於製作大型多人在線遊戲,其它類似的中間件有 Big World。

音效工具

音效作為遊戲裡的重要組成部分,選擇合適的工具也非常重要。作為遊戲開發人員,關鍵要了解各種工具的使用限制,有很多的專業音效製作工具,包括 Nuendo、Vegas、Logic、ProTools、Peak、GameCODA、SoundForge 等。

場景構建工具:

Unreal Engine——這是一款比較完型的遊戲開發引擎,它提供了比較全能的關卡編輯器、過場動畫系統、3D 圖形及 AI;

Source——這款引擎為人物角色動畫提供了新技術,先進的 AI、光影渲染、實景圖象都非常棒,引擎也包含了先進的物理引擎。

日常管理工具

遊戲開發過程中所涉及的事務比較多,內容也比較繁雜,用好日常管理工具可以有效提升工作效率。下面是幾個用得比較多的工具:

MicroSoft Excel——利用它進行開發進度管理,開發人員可以非常輕鬆地跟蹤管理多個遊戲開發部門的進度,開發人員必須要對其十分熟悉,才能用的得心應手;

日常工作增量進程報告 (daily delta reports)——一個項目成功的關鍵就是運用日常工作進程報告,在這個過程中,每一名團隊成員每天上交一份個人當日工作完成情況清單。這種進程報告的方式可以簡明扼要、方便有效地跟蹤項目進程;

源碼控制報告和版本控制報告——目前大部分項目研發用的版本控件工具是 SVN、Perforce、Git 等,在使用版本控制軟件前,一定要花一定的時間來熟悉軟件的功能和使用方法,這對於遊戲研發人員非常關鍵,否則就會犯些不必要的錯誤,從而導致工作效率下降;

運用 WiKi——它是協作性文檔,是自由討論和創造性工具,是最佳管理設計性文檔的方法,當團隊無法建立一個內部局域網來管理各種記錄和設計進程或建立局域網工作量過大時,WiKi 就是你最佳的選擇。

好了,關於遊戲開發的相關知識,我就介紹到這裡。遊戲開發涉及的知識太多太多,我在這裡只是概括性的做了一個引入,希望對您有些許的幫助,文章內容不免有很多不足之處,還請各位大俠多多指教。

————————————————

本文轉自CSDN網站,作者,「GitChat技術雜談」侵權聯繫刪除!

原文鏈接:https://blog.csdn.net/gitchat/article/details/78957555

"

相關推薦

推薦中...