hge(一个硬件加速的 2D 游戏引擎)

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):

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> 位图字体编辑器:运行通过系统中已经安装的字体来创建位图字体,你可以使用图形编辑器来为位图字体添加额外的效果

原创文章,作者:来自网友投稿,如若转载,请注明出处:https://www.ladyww.cn/article/20230217136161.html