hge(開源的2D遊戲引擎)

hge(開源的2D遊戲引擎)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

HGE 是一個硬體加速(Hardware accelerated)的 2D 遊戲引擎(Game Engine),HGE 是一個富有特性的中間件,可以用於開發任何類型的 2D 遊戲。HGE 封裝性良好,以至於你僅僅需要關心遊戲邏輯(Game Logic),而不需要在意 DirectX,Windows 訊息循環等。HGE 架構在 DirectX 8.0 之上,能夠跑在大多數的 Windows系統上。

基本介紹

  • 中文名:hge
  • 實質: 2D  遊戲引擎
  • 特點:封裝性良好
  • 體系結構:核心函式、輔助類、創作工具
簡介,選用 HGE 的理由,體系結構,體系結構概述,一些優缺點,

簡介

HGE 是一個硬體加速(Hardware accelerated)的 2D 遊戲引擎(Game Engine),HGE 是一個富有特性的中間件,可以用於開發任何類型的 2D 遊戲。HGE 封裝性良好,以至於你僅僅需要關心遊戲邏輯(Game Logic),而不需要在意 DirectX,Windows 訊息循環等。
HGE 架構在 DirectX 8.0 之上,能夠跑在大多數的 Windows 系統上。

選用 HGE 的理由

1)專業化 --- 專注於 2D 領域
2)簡單化 --- 非常容易使用
3)技術優勢 ---基於Direct3D API 有較好的性能和特性
4)免費 --- 對於個人或者商業用戶都免費,遵循 zlib/libpng license
5)代碼高度的一致性 --- 代碼是否具有一致性,是衡量代碼質量的標準之一(《 Code Reading: The Open Source Perspective》)

體系結構

HGE 有3個抽象層(layers of abstraction):
HGE體系結構HGE體系結構
1)核心函式(Core Functions)
處於核心的函式和例程(routines),被整個系統所依賴。
2)輔助類(Helper Classes)
遊戲對象相關的類,架構於 HGE Core Functions 層之上,輔助用戶進行遊戲開發。
3)創作工具(Authoring Tools)
用於遊戲開發的一組工具。

體系結構概述

1)Core Functions 層
<1> 圖形格式支持:支持 BMP, JPG, PNG, TGA, DDS, DIB 檔案格式
<2> 支持視窗模式和全螢幕模式
<3> 音頻支持和音樂回放(music playback):支持 WAV, MP3, MP2, MP1 and OGG 音頻檔案格式(audio file formats),支持 MO3, IT, XM, S3M, MTM, MOD and UMX 音樂檔案格式(music file formats),支持壓縮流的回放。聲音大小和聲道的控制
<4> 輸入設備支持:滑鼠和鍵盤
<5> 資源:讀取硬碟上的資源,支持 ZIP 打包的檔案格式
<6> 日誌支持
2)Helper Classes 層
<1> 精靈(Sprites)和動畫(Animations)
對於所有硬體設備特性的直接支持:錨點(anchor)支持,伸展縮放旋轉的支持,不同的回放模式的支持
<2> 字型
讀取和渲染(render)點陣圖字型,多種字型排列方式,旋轉和縮放字型,字元串寬度計算等
<3> 粒子系統(particle systems)和格線變形(distortion mesh)
高效的粒子系統,可用於創建煙霧、爆炸、魔法效果等,提供粒子系統的管理,支持定界盒(bounding box)計算和衝突檢測(collision detection)
<4> 資源管理:通過簡單的函式調用,來創建複雜的對象,自動的記憶體管理。對於資源組(resource groups)採用預先快取和特殊的清除處理(這是一種通過控制對象分配和釋放來提高效率的方法)
<5> GUI:強大而靈活的 GUI 管理,支持動畫式的 GUI
<6> 矢量(Vectors),對於 2D 矢量的完全支持
3)Authoring Tools 層
<1> 資源的打包(pack):HGE 使用 ZIP 格式的資源包,你可以使用任何的打包工具,甚至還可以給資源包加密
<2> 紋理(Texture)工具
<3> 粒子系統編輯器:能夠設定粒子的速度,方向,生命周期,軌跡,顏色,透明等
<4> 點陣圖字型編輯器:運行通過系統中已經安裝的字型來創建點陣圖字型,你可以使用圖形編輯器來為點陣圖字型添加額外的效果

一些優缺點

1. 使用DX8,很多DX9特性不能完全支持,例如很多DX9的API,HLSL等,雖然這些看似在2D里用處不大
2.低效的zip讀取機制。zip的檔案讀取以及查找居然採用字元串比較,也就是attach的zip越多,查找速度越慢
3. 粒子系統帶有編輯器,這點很不錯,而且效果也還可以
4. 字型要提出批評,這點做的太差了,不支持中文。
5. 原始版不支持unicode,使用hge社區里某大俠提供的unicode版本後,做國際化方便多了
6. 純粹簡單遊戲引擎,做下簡單的的差不多,做複雜的格鬥的話,很費力
7. 現在是1.81版本,好幾年沒更新了

相關詞條

熱門詞條

聯絡我們