hge

hge

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

簡介

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版本,好幾年沒更新了

相關詞條

相關搜尋

熱門詞條

聯絡我們