HGE 係列教材(1) --- 簡介
HGE 是一個硬件加速(Hardware accelerated)的 2D 遊戲引擎(Game Engine),HGE 是一個富有特性的中間件,可以用於開發任何類型的 2D 遊戲。HGE 封裝性良好,以至於你僅僅需要關係遊戲邏輯(Game Logic),而不需要在意 DirectX,Windows 消息循環等。
HGE 架構在 DirectX 8.0 之上,能夠跑在大多數的 Windows 係統上。
1. 選用 HGE 的理由:
1)專業化 --- 專注於 2D 領域
2)簡單化 --- 非常容易使用
3)技術優勢 --- 基於 Direct3D API 有較好的性能和特性
4)免費 --- 對於個人或者商業用戶都免費,遵循 zlib/libpng license
5)代碼高度的一致性 --- 代碼是否具有一致性,是衡量代碼質量的標準之一(《 Code Reading: The Open Source Perspective》)
2. 體係結構:
HGE 有3個抽象層(layers of abstraction):
1)核心函數(Core Functions)
處於核心的函數和例程(routines),被整個係統所依賴。
2)輔助類(Helper Classes)
遊戲對象相關的類,架構於 HGE Core Functions 層之上,輔助用戶進行遊戲開發。
3)創作工具(Authoring Tools)
用於遊戲開發的一組工具。
從上圖可以看見:
1)用於代碼隻需要架構在 HGE Helper Classes 之上
2)通常遊戲資源(Game Resources)需要使用 HGE 創作工具來產生
3. 體係結構概述:
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> 位圖字體編輯器:運行通過係統中已經安裝的字體來創建位圖字體,你可以使用圖形編輯器來為位圖字體添加額外的效果
最後更新:2017-04-02 06:51:29