【基本概念】
游戲公司一般是指游戲開發公司或游戲發行、代理公司。
那游戲公司開發游戲需要哪些技術人員?簡單的說:需要游戲造型、游戲動畫、3D美工、紋理師、原畫設計師、建模師、UI制作、手游程序員、網游程序員等等。
【游戲公司的構架】
游戲開發的構成,從泛言,包括開發人員內部開發與外包。
一般來說,游戲設計、程序員,美術(也有部分美術用外包的)是內部開發,而音樂,CG,部分美術等,是由外包完成。
當然我們不排除有的公司非常有實力,全部可以內部完成,但據我所知,國內如網易都不是如此。
游戲設計、程序,美術都是部門,每個里面都有比較明確的職位,這也不排除小公司,職位不明確的可能,說得只是一般的開發公司。
>>首先說游戲設計部門
通常這是如下職位:游戲設計主負責(也有稱主策劃)
執行游戲設計師(稱執行策劃):分劇情策劃,數據策劃,也有不分的,大家一起提高。
輔助員(稱輔助策劃):做一些比較簡單的表據維護,資料收集。
工作職責:
游戲設計主負責人:主要負責游戲設計的整體把握、給大家安排工作,審核工作 ,提高部門人員士氣。,
劇情策劃一般負責背景,任務等等故事性比較強的,要求文筆要好
數據策劃再細分,為規則和數據平衡,包括規則的描述,公式確定,數據表設定等等。
輔助員,主要是收集資料,維護表格等等,比較不涉及核心的工作。
*注:有一些公司或者團隊,在策劃崗位,還有新的崗位,如:
表現策劃:主要負責特效、動作、音效收集并提需求,部分如音效部分亦有策劃來完成。
資源策劃:主要負責UI設計,模型相關配置,資源管理等等。
>>下面是程序部門
主程序與主設計師,是對游戲引擎最了解的人,以主程序為最強。主程的主要工作,安排程序部門工作,定游戲的數據結構,定一些主要方案的完成方法 。
一般程序員,分服務器端與客戶端、服務器端程序,對于數據庫結構,數據傳輸、通訊方式等等。客戶端程序,對圖像及優化有研究的會易受重用。
>>美術部門
主美 負責整體美術風格的把握
原畫 繪制原畫交于3D
2D 負責貼圖,游戲界面等的制作
3D 負責3D建模,動作等方面工作
>>腳本與編輯器
在具體游戲實現時,越來越多的公司不會說把游戲中的數據寫在C++里,而是用“腳本與數據庫”的方式 。
C++的作用是用來解釋腳本和調用數據庫的
在腳本中,寫上,
if
{
player hp >=30%hpmax
add hp=hpmax
}
這里的東西是寫在腳本里的,C++就會解釋,player、hp、hpmax是什么,hp、hpmax對應數據庫是什么列主要的游戲內核是寫在C里的,腳本用來實現游戲具體的一些東西 。
如每個場景、每個NPC、每個道具都有可能有個腳本文件制定命令及數據一般由主程與主設計師一起來做,具體寫腳本,一般為游戲設計部門按規范做這個工作 。
編輯器:是高于腳本的一個給游戲設計部門或是美術部門用的工作工具優點是使用簡單,界面化的東西 ,可以自動生成腳本。
缺點是,把一些比較活的東西,寫死到工具中了,將來要加功能改結構很麻煩
這些都是程序部門的工作
另外,在程序部門中主要交流就是服務器端與客戶端的。這實際就是說,一個游戲主體置放與傳輸的問題。
一般來說,一些音聲文件、圖像文件、大一些的文本都會放在客戶端,而數據庫,游戲的核心解釋在服務器端。
【游戲開發流程】
>>軟件:有兩部分。
1.編寫游戲引擎、建模:需要熟練掌握C/C++、Microsoft Develop Studio開發環境、使用SDK或者MFC、DirectX/OpenGL、SQL編程、SQLServer或Oracle數據庫配置。
2.策劃、美工、音效:MAYA、3DMAX 、PS(音效制作方面不熟,這方面無法提供)。
流程:策劃——引擎——建模——美工——測試。
團隊:首先要組成一個由各功能小組核心構成的策劃組,負責構思整個游戲的內容架構。包括故事大綱,游戲風格,人物造型,操作模式,任務模式,裝備模式等等,以及程序編寫、美工貼圖能否實現等等,資金預算能否維持等等。
然后籌建各功能小組:主編程組,負責游戲引擎。建模組,負責編寫一個完整的世界,各種人物、怪等。美工組,負責包裝游戲。測試組,設置若干組服務器,對游戲進行測試。
>>游戲設計部門:為最前期
1 立項
主要目的是描述項目的風格、主亮點、一些方方面面的規則,具體可能會涉的游戲資源(如多少主角,多少場景,多少NPC等等統計)
這個階段主要目的,是與投資人交流,描述清楚這個項目可不可以做,做了有什么好處,與其它同類游戲對比,競爭優劣勢的分析,種種設定因何這樣說服投資人,這個項目就可開做了。
2 接下來與主美主程開會,就具體如何劃分數據結構,如果命名文件等等交流相關的開始進行。(注:這有個前提,游戲設計必須要前于另兩個部門。不能讓很多程序或是美術,都等著,這與成本有關)
3 游戲設計這個部門,這時定了數據后,就開始分頭建表,游戲有多少會變動的數據就應該有多少表 。如道具,NPC,場景、寵物,技能,ICON,特效,音樂,音效這些都要有表的。(注:這里說的變動只是人為的變動,是不是被動,級別這個就是被動的變動,不需要玩家等級表。)
4 這時主策劃已經給大家一份總案了,這個總案中,比較清楚的告訴大家這個游戲有什么玩點,也就是模塊。
5
(1)劇情設計師開始編世界背景世界觀。
(2)規則設計師開始與數據設計師一起一個一個分配著開始寫規則文檔。
(3)輔助員也可以開始先確定一些道具,NPC的名字什么的
(注:這些在主設計的審核下進行著)
6 當場景美術描述表,NPC美術描述表,道具美術描述等東西出來了,確定后,就可以交給美術部門開始試著做。--(注:這時,美術部門應該也按投資人的要求確定了美術風格)
[注:策劃的工作一直先于其它幾個部門,完善表,寫全規則文檔,寫數據表(為將來寫腳本做好準備)等等]
7 美術部門的工作當做完一部分就可以交付程序部門了,這時部門的數據庫,數據結構也早搞定了,收到游戲資源,游戲規則,可以做一個簡單的版本出來了。 首先按游戲設計,把操作、視角等東西,都搞順 。這時,團隊中的人就可以都進來看看了。
8 版本不斷更新內容,然后游戲開發這樣就一步步在開動起來了。這個過程中,需要不斷的反饋。
美術部門進到游戲里,發現做的東西不好看這時要返回去重做;
策劃部門如果數據不合理,要隨時調 ,同時,如果寫了模塊,交給程序部門,還要寫腳本,實現在游戲中,要去測試。
(1)如果是程序部門理解不清或是別的BUG要及時反饋;
(2)如果是規則有問題,或是數據不合理,要自行調節;
(3)另外為了給將來游戲的宣傳推廣留好接口,對于每個模塊在游戲中,可以做什么活動等等都要有文檔描述。
附:名詞釋義
游戲引擎:不是一個軟件,更不是其它的什么東西,只是一段這個游戲能實現什么的中心代碼。這個代碼,也許可以做出很多東西,也許在這個基礎上,做出很好的花樣,但需要程序去挖掘,更需要游戲設計部門去了解。又常被稱作游戲平臺。
編輯器:位置要比腳本高一些的一個軟件 。
它的作用就是生成腳本,但是因為寫死了,功能不能隨心所欲。優點是用著方便。
以下是游戲制作流程的簡單總結:
>>一、計劃階段:首先,是項目計劃階段。
1、創意管理:第一步,是召開個會議,在會議中最常見的方法就是采取“頭腦風暴法”。每個人都必須拿出自己的建議和想法,之后大家一起進行討論。另外在會場內,會有專人進行會議記錄。而在項目開發的前期則會有市場調查。
2、撰寫草案:第二步,撰寫策劃草案,也叫意向書。撰寫策劃草案的目的在于,使得小組內每個成員對即將開發的項目有一個大體的認識,并且對目標進行明確。
3、市場分析:第三步,市場分析。決定了是否需要開發這個游戲。
1)、目標客戶:最重要的一點是確定目標客戶。即該游戲是面向核心玩家,還是普通的大眾玩家。如果是面向核心玩家所開發的游戲,則需要游戲的難度更大一些;反之,如果是面向大眾玩家開發的游戲,則需要游戲的難度簡單一些。最好的方法是允許玩家自定義游戲的難度。
2)、成本估算:以網游為例,包括以下幾個方面
?服務器:運行網絡游戲所需花費的硬件方面的成本。成本中的大頭。大約占到總成本的40%左右。
?客服:屬于人力成本的范疇。網絡游戲不同于單機游戲的部分在于,其不同于單機游戲的“售后不理”的銷售模式。用戶在玩這個游戲之后,運營商需要不斷的提供更新和各種在線服務。
?社區關系專員:同上,屬于人力成本的范疇。同其他方面的花銷相比,這方面幾乎可以忽略不計。
?開發團隊:人力成本,這方面花費的真正大頭在核心成員和天才制作人的薪資上。
?管理:管理方面花費的成本,這方面成本較少。
?用戶帳號管理:發行成本的一部分,但也屬于運營的范疇。至于成本幾乎可以忽略不計。
?辦公室、電腦、家具:這方面是大頭,不過這次花費之后,開發下部游戲時基本上花費就不需要或者很少花費了。
?帶寬:發行成本的一部分,但也屬于運營的范疇。成本也是極高的,當然各地可能都不一樣。
?網管:發行成本的一部分,同樣屬于運營成本的范疇。
?其他雜費:雜七雜八的一些費用,包括水電費、燃氣費、可能還會包括買咖啡和茶葉的錢。
?宣傳、廣告和推廣的費用:屬于運營成本。應該說最好的宣傳方法就是廣告,但各種廣告在花費上都不盡相同,這個就不細說了。
?客戶端:制作游戲客戶端、點卡、充值卡、印制游戲說明書、游戲包裝、游戲贈品一類的成本。
4、需求分析:第四步,撰寫需求分析書。這包括以下三個方面:
1)、美工需求:撰寫美工需求分析書,內容包括需求圖、工作量等。其中工作量需要以天來計。內容具體如下:
?場景:包括游戲地圖、小場景等方面。
?人物:包括玩家角色、重要NPC(玩家隊友、提供任務的NPC、主線劇情NPC等)、次要NPC(路人、村民等)、怪物、BOSS等。
?動畫:動畫方面估計每個公司的需求都不盡相同。如果公司能力有限,動畫的制作可以考慮外包的方式。
?道具:主要需要考慮是否采取紙娃娃系統。
?全身像:人物的全身像方面。
?靜畫&CG:游戲中可能出現的靜畫和CG的需求。沒有則不需要寫。
?人物頭像:人物的頭像制作需求,其中包括人物的表情方面,包括喜、怒、哀、樂、悲等多種表情。
?界面:界面的需求,包括主界面、各項子界面、屏幕界面、開頭界面、END界面、保存和載入界面等方面。
?動態物件:包括游戲中可能出現的火把、光影等方面。
?卷軸:又稱為滾動條。根據游戲的情況來定具體的需求。
?招式圖:根據游戲開發的具體情況決定是否有此需求。
?編輯器圖素:各種編輯器的圖素需求,例如關卡編輯器、地圖編輯器等方面。
?粒子特效:3D粒子特效的需求。
?宣傳畫;包括游戲的宣傳畫、海報等方面的制作需求。
?游戲包裝:游戲客戶端的封面包裝的制作。
?說明書插圖:游戲說明書內附插圖的制作需求。
?盤片圖鑒:游戲客戶端盤片上的圖鑒的制作需求。
?官方網站:游戲官方網站的制作需求。
2)、程序需求:撰寫程序需求分析書,內容具體如下:
?地圖編輯器:包括編輯器的功能需求、各種數據的需求等。
?粒子編輯器:關于粒子編輯器的需求。
?內鑲小游戲:包括游戲內部各種小游戲的需求。
?功能函數:包括游戲中可能會出現的各種程序功能、技術參數、數據、碰撞檢測、AI等方面的需求。
?系統需求:包括升級系統、道具系統、招式系統等系統導入器的需求。
3)、策劃需求
?策劃的分工:包括劇本、數值、界面、執行等方面。
?進度控制:要時刻注意時間和開發進度的控制,需要寫一個專門的項目進度表。
?例會:項目會以里程碑的形式呈現。當完成一個里程碑后,或者到達固定日期時,需要召開例行會議,除了成員彼此交流外,還需討論開發中遇到的困難,進度是否有拖延等問題。
>>二、組織階段:其次,是項目組織階段。
1、確定日程:確定游戲開發的日程和進度安排。包括以下幾個方面:
1)Demo版本階段
?前期策劃:前期策劃和項目的規劃。
?關卡設計:關卡設計階段。
?前期美工:前期的美工制作。
?后期美工:后期的美工制作。
?程序實現:程序的實現,包括編碼等。
2)Alpha版本階段
?內部測試:主要是測試和完善各項功能,看一看是否有重大BUG。
3)Beta版本階段
?外部測試:進一步測試和完善各項功能,并預備游戲的發行。
4)Release版本階段
?游戲發行:項目完成階段,開始正式的發行游戲。
5)Gold Release版本階段
?開發補丁:開發游戲的補丁包、升級版本,以及 各種官方插件等。
2、確定人員:確定各個項目所需的人員。包括策劃、程序、美工、測試、音樂、運營等方面。
3、分配任務:分配各個人員的具體的開發任務。
4、撰寫策劃書:正式撰寫游戲策劃書。
>>三、開發階段:其三,是項目開發階段。
作為策劃來說,此階段主要需做到同各方面保持順暢的溝通,并處理各種游戲制作中的突發事件。其中需要做到與同事的溝通、同主管的溝通、同領導和老板的溝通等。
>>四、控制階段:最后,是項目控制階段。
1、時間
1)、成本控制:需要注意到開發成本的控制,包括服務器、客服、場租、人工(社區關系專員、開發團隊、管理)、設備(辦公室、電腦、家具等)、帶寬、網管、宣傳、廣告和推廣的費用等方面。
2)、市場變化:需要注意市場的因素。
?發行檔期:需要注意發行檔期,要趕在暑假和寒假之前發行。
?盜版因素:必須時刻注意盜版、私服等因素對游戲發行的影響。
3)、競爭對手的因素:需要時刻注意競爭對手的情況。畢竟,知己知彼,才能百戰不殆。
2、品質
由于開發人員的水平大都參差不齊,所以必須根據制作人員的總體水平,決定作品的品質。既不能要求太高,亦不能要求太低,需要折中考慮。
3、突發事件
例如,老板的突擊檢查、項目投資人的突然撤資等,這些都必須全盤考慮。
4、控制成本
包括時間、品質等方面的成本控制。
【游戲開發隊伍組成】
開發團隊
?制作人
?執行制作人
?策劃團隊
?程式團隊
?美術團隊
銷售團隊
測試團隊
游戲評論隊伍
游戲制作人
?開發組長(always)
?資源管理 (Resource Management)
?行政管理 (Administration)
?向上負責 (Upward Management)
?專案管理 (Project Management)
游戲執行制作人
?專案管理執行 (Project Management)
?Daily 運作
?House Keeping
?Not full-time job position
游戲策劃
?故事設計 (Story Telling)
?腳本設計 (Scripting)
?玩法設計 (Game Play Design)
?關卡設計 (Level Design)
?游戲調適 (Game Tuning)
?數值設定 (Numerical Setup)
?AI 設計 (Game AI)
?音效設定 (Sound FX Setup)
?場景設定 (Scene Setup)
游戲美術
?場景 (Terrain)
?人物 (Character)
?建模 (Models)
?材質 (Textures)
?動作 (Motion / Animation)
?特效 (FX)
?用戶界面User Interface
游戲程序
?游戲程序 (Game Program)
?游戲開發工具 (Game Tools)
?Level Editor
?Scene Editor
?FX Editor
?Script Editor
?游戲Data Exporters from 3D Software
?3dsMax / Maya / Softimage
?游戲引擎開發Game Engine Development
?網絡游戲服務端開發Online Game Server Development
?創意 (Idea)
?提案 (Proposal)
?制作 (Production)
?整合 (Integration)
?測試 (Testing)
?除錯 (Debug)
?調試 (Tuning)
游戲設計(Concept Design)
?游戲類型 (Game Types)
?游戲世界觀 (Game World)
?故事 (Story)
?游戲特色 (Features)
?游戲玩法 (Game Play)
?游戲定位 (Game Product Positioning)
?Target player
?Marketing segmentation / positioning
?風險評估 (Risk)
?SWOT (優勢Strength/缺點Weakness/機會Opportunity/威脅Threat)
游戲提案 (Proposal)
?系統分析 (System Analysis)
?游戲設計文件撰寫 (Game Design Document)
?傳播媒介文件撰寫 (Media Design Document)
?技術設計文案撰寫 (Technical Design Document)
?游戲專案建立 (Game Project)
?時間表Schedule
?進程/控制Milestones / Check points
?管理Risk management
?測試計劃書
?團隊建立 (Team Building)
游戲開發 (Production)
?美術量產制作
?(建模)Modeling
?(結構)Textures
?(動畫)Animation
?(動作)Motion
?(特效)FX
?程序開發 (Coding)
?策劃數值設定
游戲整和 (Integration)
?關卡串聯 (Level Integration)
?數值調整 (Number Tuning)
?音效置入 (Audio)
?完成所有美術
?程旬與美術結合
?(攻略)Focus Group (說明書User Study)
?發布一些攻略截圖Release some playable levels for focus group
游戲測試 (Testing)
?Alpha(α) 測試
?除錯 (Debug)
?Beta (β)測試
?數值微調
?Game play 微調
?對網絡游戲而言 (MMOG)
?封閉測試 (Closed Beta)
?開放測試 (Open Beta)
?壓力(極限)測試 (Critical Testing)
?網絡游戲才有
關于Bug
?Bug 分級 (Bug Classification)
?A Bug
?B Bug
?C Bug
? S Bug
?Principles
?Bug 分級從嚴
?Tester(測試對象?—) vs Debugger(調試程序)
游戲系統(Game Software System)
系統層System Layer – APIs
?3D Graphics API
?DirectX 9.0 SDK – Direct3D
?OpenGL 2.0
?2D API
?DirectX 9.0 SDK - DirectMedia
?Win32 GDI
?Input Device
?DirectX 9.0 SDK – DirectInput
?Audio
?DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia
?OpenAL
?OS API
?Win32 SDK
?MFC
?Network
?DirectX 9.0 SDK – DirectPlay
?Socket library
引擎層Engine Layer
?3D Scene Management System
?Scene Graph
?Shaders
?2D Sprite System
?Audio System
?Gamepad
?Hotkey
?Mouse
?Timers
?Network
?DDK Interface
?Terrain
?Advanced Scene Management – Space Partition
?BSP Tree
?Octree
?Character System
?Motion Blending Techniques
?Dynamics
?Collision Detection
?SoundFX
?User Interface
游戲層Game Play Modula
?NPC (Non-playable Characters)
?Game AI
?Path Finding
?Finite State Machine
?…
?Avatar
?Combat System
?FX System
?Script System
?Trading System
?Number System
?…
Game Dev Tools
?Visual C/C++
?.net 2003
?Visual C/C++ 6.0+ SP5
?DirectX
?Current 9.0c
?NuMega BoundsChecker
?Intel vTune
?3D Tools
?3dsMax/Maya/Softimage
?In-house Tools
【游戲分類】
?RPG (Role playing games角色扮演)
?AVG (Adventure games冒險類)
?RTS (Real-time strategy games既時戰略)
?FPS (First-person shooting games主視覺射擊)
?MMORPG(多人在線角色扮演)
?SLG (戰棋)
?Simulation(模擬)
?Sports(運動)
?Puzzle games(解迷)
?Table games(棋牌)