<考古笔记>hge游戏引擎(一)Tutorials

来源:互联网 发布:计算机数据安全 编辑:程序博客网 时间:2024/04/29 05:34

官网:http://hge.relishgames.com/

我为什么说是考古呢?

因为这是个用DirectX8写(所以介绍说可以硬件加速)的2D引擎,而现在微软官网新的DirectX11 SDK里面只包括了9-11的内容(想重新编译下hge.lib还需要去找dx8的sdk),更不用说现在还出了direct12,毕竟是03年出来的东西嘛。。现在还能打开上面的官网得到最新1.8.1版本的下载足以见其作者的责任心。。话不多说,先download下来~



文件夹的内容排布的很清楚:

doc:官方提供的api文档

include:使用hge所需要的头文件

lib:使用hge所需要的静态库文件(只提供了bc、gcc、vc这三个编译器build出来的版本)

src:引擎及其依赖的源码

tools:为你用hge开发游戏带来方便的工具,包括了字体、粒子系统、纹理

tutorials:官方提供的例子,注释很详细

bass.dll, hge.dll:运行hge程序必须的动态库文件

license.txt:合法执照。。因为引擎某些部分依赖于libpng、zlib这类出名的开源库,要注明已取得作者的同意

readme.txt:作者对hge的功能啊支持啊的介绍


然后打开tutorials来看看这款2D引擎的画面怎么样。。效率怎么样只有用它开发过项目才知道

tutorial01: 一个示例如何初始化的黑窗,什么都没有

tutorial02:可用键盘控制的一个经简单渲染过的橙黄色略透明小球,在撞上到窗口边界后会一直咚它且发出音效

tutorial03:在02的基础上为小球增加了粒子特效(类似彗星尾巴)并锁定了fps(frame per second)最大不超过100,这次撞墙后会弹回来(不然怎么给你看特效。。)


tutorials04:在03基础上额外增加了几个半径和alpha值不同的小球



tutorials05:jpg格式纹理贴图示例加上波纹效果的渲染,原图太丑。。


tutorials06:一个比较好看的动态游戏菜单界面


tutorial07:一堆五颜六色的龙猫。。我的笔记本显卡是inter HD 4600 + nvinda 765m,350fps左右


tutorials08:一个月亮。。下面是海,然后有轻微的浪。。反正我没怎么看出来,毕竟2D



这些Tutorials呢在hge的tutorials/precompiled下有,不过考虑到作者当时的IDE用的还是vc++6.0,所以我是用作者的代码重新在vs2015下生成出来的,有几个地方值得一记:


1.关于hge.lib、hgehelp.lib

其中hge.lib是system layer library,也就是封装DirectX8的库,里面的东西比较底层,包括图形渲染,输入,音效这些系统,hgehelp.lib呢是helper class library,提供的是一些字符串类,向量类,颜色啊字体啊什么的一些东西。

在vs2015下编译hge例程需要将hgehelp.lib重新在vs2015中rebuild一下(原因是旧的hgehelp.lib编译使用了libc.lib提供的内容,而现在libc.lib这个库由于某些原因已经被微软移除,所以会有找不到libc.lib的相关错误),而hge.lib则可以直接使用。

 

// 03/11 更新: 找了个04年的sdk编译了下hge.lib,发现关于电源状态(XXXPowerStatue)的三个函数在提供源代码中只有声明,而无定义。所以暂时对这三个声明做空定义处理,不过说实话现在的电脑并不需要游戏程序内部来控制节能模式还是高性能模式,显卡提供的控制面板下操作即可。

 


 

2.关于字符集设置

作者的例程使用的还是ANSI字符集(也叫 Multi-Byte Character System), 而vs2015默认使用Unicode字符集,所以要么为Tutorials中的字符串加上L或者_T宏来转换,要么在项目属性里设置回ANSI。


3.关于编译hgehelp.lib及其他hge程序时提示'/Gy'和'/Zi'这两个命令不兼容

/Zi、/ZI 、/Z7这三个编译器选项是指示编译器用什么格式(大概意思就是问你要不要生成pdb啊还是说只生成obj)来保存调试信息,具体可查https://msdn.microsoft.com/zh-cn/library/958x11bc(VS.80).aspx


具体做法:打开项目属性--C/C++--所有编译器选项,Debug模式下选择/Z7, /Gy- ; Release模式下选择/Zi, /Gy



后文不定期更新,欢迎指正~










1 0
原创粉丝点击