1. 程式人生 > >十大開源遊戲引擎深入比較

十大開源遊戲引擎深入比較

在國內外,業界盛傳有十大開源遊戲引擎,分別是OGRE、Irrlicht、Panda3D、Crystal Space、jME、Blender Game Engine、Reality Factory、The Nebula Device 2、RealmForge、OpenScene- Graph。我們對這十款開源遊戲引擎深入進行分析。

(1) OGRE是面向物件圖形渲染引擎(Object-Oriented Graphics Rendering Engine)的縮寫,採用C++開發,以MIT許可證釋出,可以在Windows、Linux、Mac上執行。OGRE自己也說明本身不是遊戲引擎。

其主要特徵如下:

面向物件,外掛擴充套件架構,具有文件支援。

支援指令碼。可以通過指令碼管理材質資產並進行多路渲染。

支援物理碰撞檢測。

支援頂點燈光、畫素燈光、燈光對映。

支援陰影對映、三維陰影。

支援多紋理、凹凸貼圖、多重材質貼圖、立體投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援逆向運動動畫、骨架動畫、變形動畫、混合動畫及姿態動畫。

支援網格載入、面板、漸進網格。

支援環境對映、鏡頭眩光、公告牌、粒子、運動模糊、天空、水、霧、絲帶軌跡、透明物件。

支援XML檔案轉換。

引擎特性全面( ),穩定性好( ),支援全面( ),不容易上手和使用( )。

(2) Irrlicht採用C++開發,以zlib/libpng許可證釋出,可以在Windows、Linux、Mac、Solaris、FreeBSD、Xbox上執行。Irrlicht自己也說明本身不是遊戲引擎。

其主要特徵如下:

面向物件,外掛擴充套件架構,具有文件支援。

支援內建場景、燈光、GUI編輯器。

支援物理碰撞檢測。

支援頂點燈光、畫素燈光、燈光對映。

支援陰影對映、三維陰影、模板緩衝區陰影。

支援多紋理、凹凸貼圖、多重材質貼圖、立體投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構,允許無縫整合室內及室外場景。

支援骨架動畫、變形動畫及混合動畫。

支援網格載入。

支援環境對映、公告牌、粒子、天空、水、霧。

支援地形渲染。

引擎特性全面( ),穩定性好( ),支援全面( ),容易上手和使用( )。

(3) Panda3D採用C++和Python開發,以BSD許可證釋出,可以在Windows、Linux、Mac、SunOS上使用。Panda3D是一個完整的遊戲引擎。

其主要特徵如下:

面向物件,指令碼擴充套件架構,具有文件支援。

支援內建場景、粒子、關卡編輯器。

支援物理碰撞檢測,可以用於運動物體。

支援頂點燈光、畫素燈光、燈光對映。

支援陰影對映、三維陰影、模板緩衝區陰影。

支援多紋理、凹凸貼圖、多重材質貼圖、立體投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援骨架動畫。

支援網格載入及面板。

支援環境對映、公告牌、粒子、霧、火。

支援地形渲染。

支援“客戶端/伺服器”網路模式。

支援2D、3D和流音效。

支援有限狀態機、人工智慧。

引擎特性全面( ),穩定性很好( ),支援很全面( ),很容易上手和使用( )。

(4) Crystal Space採用C++開發,以LGPL許可證釋出,可以在Windows、Linux、Mac上使用。Crystal Space是一個完整的遊戲引擎。

其主要特徵如下:

面向物件,元件擴充套件架構,具有文件支援。

支援內建場景、燈光、GUI編輯器。

支援物理碰撞檢測,可以用於運動物體。

支援頂點燈光、燈光對映。

支援陰影對映、三維陰影。

支援多紋理、多重材質貼圖。

支援頂點、畫素著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫、變形動畫。

支援網格載入、漸進網格。

支援環境對映、鏡頭眩光、公告牌、粒子、天空、映象。

支援地形渲染。

支援2D、3D音效。

支援遊戲世界管理。

通過有限狀態機、行為樹、神經網路、遺傳演算法支援人工智慧。

引擎特性很全面( ),穩定性好( ),支援很全面( ),不容易上手和使用( )。

(5) jME是jMonkey Engine的縮寫,採用Java開發,以BSD許可證釋出,可以在Windows、Linux、Mac上使用。JME的目標是提供一個Java語言3D遊戲引擎,但業界目前也有人認為jME還不是一個遊戲引擎。

其主要特徵如下:

面向物件,外掛擴充套件架構,具有文件支援。

支援內建遊戲世界編輯器。

支援物理碰撞檢測。

支援頂點燈光、燈光對映。

支援三維陰影。

支援多紋理、多重材質貼圖。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫。

支援網格載入及面板。

支援環境對映、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、霧。

支援地形渲染。

支援3D音效。

引擎特性全面( ),穩定性好( ),支援很全面( ),容易上手和使用( )。

(6) Blender遊戲引擎是採用C++和Python開發,以GPL許可證釋出,可以在Windows、Linux、Mac、Solaris、FreeBSD、Irix上使用。Blender是一個完整的遊戲引擎。

其主要特徵如下:

面向物件,外掛及指令碼擴充套件架構,具有文件支援。

支援內建工作流、GUI、資料庫、角色等編輯器。

支援物理碰撞檢測,可以用於運動物體。

支援頂點燈光、畫素燈光。

支援陰影對映。

支援多紋理、凹凸貼圖。

支援頂點、畫素著色。

支援場景管理,具有多種資料結構。

支援逆向運動動畫、幀動畫。

支援網格載入及面板。

支援環境對映、粒子、天空、水、霧。

支援地形渲染。

支援“客戶端/伺服器”網路模式。

支援2D及3D音效。

通過指令碼方式支援人工智慧。

引擎特性基本全面( ),穩定性基本不錯( ),支援全面( ),不容易上手和使用( )。

(7) Reality Factory是採用C++開發,以MIT許可證釋出,可以在Windows上使用。Reality Factory自稱遊戲無需程式設計。

其主要特徵如下:

面向物件,指令碼擴充套件架構,具有文件支援。

支援內建幾何形體編輯器。

支援物理碰撞檢測。

支援頂點燈光、畫素燈光、輻射燈光、三維燈光。

支援陰影對映。

支援多紋理、凹凸貼圖、多重材質貼圖、投影。

支援頂點、畫素著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫及混合動畫。

支援網格載入及面板。

支援環境對映、公告牌、粒子、天空、水、火、爆炸、霧、貼花、天氣、映象。

支援地形渲染。

支援“客戶端/伺服器”網路模式。

支援3D及流音效。

通過路徑查詢、決策及指令碼方式支援人工智慧。

引擎特性基本全面( ),穩定性基本不錯( ),支援基本全面( ),容易上手和使用( )。

(8) The Nebula Device 2是採用C++開發,以MIT許可證釋出,可以在Windows、Linux上使用。Nebula Device是一個完整的遊戲引擎。

其主要特徵如下:

面向物件,外掛及指令碼擴充套件架構,具有文件支援。

支援內建幾何形體編輯器。

支援物理碰撞檢測。

支援頂點燈光、畫素燈光、燈光對映、光澤對映。

支援陰影對映。

支援多紋理、凹凸貼圖、多重材質貼圖、投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫、變形動畫及混合動畫。

支援網格載入及面板。

支援環境對映、鏡頭眩光、公告牌、粒子、天空。

支援地形渲染。

支援“客戶端/伺服器”、P2P網路模式。

支援2D、3D及流音效。

通過指令碼方式支援人工智慧。

引擎特性全面( ),穩定性好( ),支援基本全面( ),不容易上手和使用( )。

(9) RealmForge是採用C#在OGRE上開發,以LGPL許可證釋出,可以在Windows、Linux、Mac、Solaris、HP/UX、FreeBSD上使用。RealmForge是一個完整的遊戲引擎,現在已經轉入商業化運作。

其主要特徵如下:

面向物件,外掛及指令碼擴充套件架構,具有文件支援。

支援內建遊戲編輯器。

支援物理碰撞檢測,可以用於運動物體。

支援頂點燈光、畫素燈光、燈光對映。

支援陰影對映、投影面、立體投影。

支援多紋理、凹凸貼圖、多重材質貼圖、投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫、面部動畫及混合動畫。

支援網格載入、面板及漸進網格。

支援環境對映、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、貼花、霧、天氣、映象。

支援地形渲染。

支援“客戶端/伺服器”、P2P網路、主控伺服器模式。

支援3D及流音效。

通過路徑查詢、決策、優先狀態機、指令碼、神經網路等方式支援人工智慧。

引擎特性全面( ),穩定性基本不錯( ),支援基本全面( ),不容易上手和使用( )。

(10) OpenSceneGraph是採用C++開發,以LGPL許可證釋出,可以在Windows、Linux、Mac、Solaris、SunOS、FreeBSD、Irix、Playstation上使用。OpenSceneGraph是一個完整的遊戲引擎。

其主要特徵如下:

面向物件,外掛及指令碼擴充套件架構,具有文件支援。

支援內建場景編輯器。

支援物理碰撞檢測。

支援頂點燈光、各向異性燈光。

支援投影面、立體投影。

支援多紋理、多重材質貼圖、投影。

支援頂點、畫素、高階著色。

支援場景管理,具有多種資料結構。

支援骨架動畫、幀動畫及混合動畫。

支援網格載入及面板。

支援環境對映、公告牌、粒子、映象。

支援地形渲染。

支援“客戶端/伺服器”、P2P網路、主控伺服器模式。

支援2D、3D及流音效。

引擎特性全面( ),穩定性好( ),支援還可以( ),上手和使用比較難( )。

一般說來,選擇開源遊戲引擎一定需要獲取原始碼、好的文件及開放式支援。穩定性對於商業化運作是一個雙刃劍,利於產品的開發運營,但需要有效引入新的遊戲技術革新。引擎涵蓋特性是一個積累過程,可以不斷新增和改進。上手和使用性也反映了設計開發遊戲引擎的團隊的內在價值取向——以技術為主,還是以應用為主。

遊戲開發商都希望研製、運營一個萬眾矚目的遊戲產品,但是,使用按照不同許可證釋出的遊戲引擎開發的遊戲產品需要遵循相應的智慧財產權法規。因此,遊戲引擎的軟體許可證成為選擇時的一個極其重要的考慮因素。