《遊戲引擎架構》 筆記(一)

遊戲團隊:工程師、藝術家、遊戲設計師、製作人

 


平臺遊戲(platformer)
是指基於人物角色的第三人稱遊戲。
主要的遊戲機制是在平臺之間跳躍。


第三人稱遊戲
比較看重主角的能力及運動模式。
需要逼真的全身動畫。
複雜的攝像機碰撞系統,以保證視點不會穿過背景幾何物體或動態的前景物體。


格鬥遊戲
豐富的格鬥動畫
準確的攻擊判定
能偵測複雜按鈕及搖桿組合的玩家輸入系統


競速遊戲
使用許多竅門渲染遙遠背景,比如二維紙板形式的樹木、山脈
賽道通常切開成較簡單的二維區域,稱爲分區(sector)。用於實現渲染優化、可見性判斷。


實時策略遊戲(Real-time strategy, RTS)
通常不允許玩家改變視角以觀看不同距離的景物,這個限制使開發者能在RTS引擎上採用各種優化。
譯註:等角投影 屏幕上3個軸的夾角均爲或接近120度。
較低解析度的模型以支持大量單元。


CryEngine
CryTek公司把部分研究成果公開:
http://www.crytek.com/cryengine/presentations


開源引擎:
OGRE
Panda3D 基於腳本的引擎、
Yake 基於OGRE開發的全功能引擎
Crystal Space
Torque
Irrlicht


Boost的在線文檔是一個學習計算機科學的好地方。
Loki 是強大的泛型編程模板庫。它尤其擅長絞盡你的腦汁。
《C++設計新思維》


有關STL標準在遊戲應用的問題及解決方案
EASTL 29頁


libgcm是索尼提供給PlayStation3的低階直接接口,比OpenGL更高效。
Edge 頑皮狗和索尼爲PlayStation3製作的強大高效渲染及動畫引擎。


物理引擎
Havok
PhysX
Open Dynamics Engine ODE


角色動畫工具
Granny
Havok Animation
Edge


人工智能工具
Kynapse


內存管理 內存碎片問題


渲染系統 分層從低到高
1. 低階渲染器 只負責渲染
圖形設備接口 使用DirectX或OpenGL
2. 場景圖/剔除優化
3. 視覺效果
粒子系統
貼花系統 decal system 彈孔、腳印等
光照貼圖、環境貼圖
動態陰影
全屏後期處理效果
HDR光照、敷霜效果bloom
全屏抗鋸齒FSAA
4. 前端 UI等


剖析和調試工具
intel VTune
IBM Quantity, Purify
Compuware Bounds Checker


時至今日,很少有公司編寫自己的碰撞及物理引擎。取而代之,通常使用第三方的物理SDK。


剛體動力學
軟體動力學
流體動力學


動畫
精靈/紋理動畫
剛體層次結構動畫
骨骼動畫
頂點動畫
變形目標動畫


微軟音頻工具包 XACT


多人遊戲
單屏多人
切割屏多人
網絡多人


A*尋路算法


粒子系統工具 Houdini


剖析器(Profiler)
統計式剖析器 - 計算出某函數佔整體執行時間的近似百分比,
不影響遊戲運行
Intel VTune


測控式剖析器 - 爲每個函數安插特殊的初構代碼
程序會變得很慢
IBM Rational Quantify (Rational Purify Plus工具套裝之一)


混合式剖析器
微軟 LOP (Low Overhead Profiler)


檢測內存泄露
IBM Rational Purify
Compuware Bounds Checker


合成和聚合
has-a 合成
uses-a 聚合


編碼規範
接口爲王 保持接口整潔、簡單、有良好註釋
良好的命名
Effective C++ , Effective STL , Large-Scale C++ Software Design


推薦閱讀
http://www.joelonsoftware.com/articles/Wrong.html


Ogre的基本數據類型
uint8 uint16 uint32
Real OGRE_DOUBLE_PRECISION 1 double 0 float
uchar ushort uint ulong
Radian Degree Angle


多字節值及字節序
小端 Intel
大端 Wii Xbox360 PlayStation3
字節序的解決方案:
1. 所有數據以文本方式寫入文件
2. 轉換字節序,就像網絡通信一樣

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章