本文准备开始HGE游戏引擎的代码阅读,其实我已经阅读完HGE的代码了,这里将准备再重新阅读代码。阅读代码将准备将代码拆开阅读,按每种功能分开来阅读,分别准备如下:
游戏的窗口 |
对于任意一个程序来说,一个窗口都是必须的,所以游戏的最基本的也是一个窗口。那么我们找到HGE关于游戏窗口的部分,详细了解这部分。(窗口君:我是一切的基础哦。)
游戏的输入信息 |
对于一个游戏来说,互动也是必须的,既然要互动那玩家的输入必不可少。在这里我们可以看到HGE关于输入的部分,创建输入的事件然后,当然是等处理。(输入君:你的鼠标滑向哪里啊!喂!)
游戏的资源的加载 |
这个部分对于游戏来说也是必须的,因为游戏在表达图画和音乐的时候,正是这个部分在背后默默的支持着整个的资源的供给。(加载君:哼!才不是为了游戏,为了玩家你们呢!我要舔硬盘里的妹子,prpr)
游戏的图形的渲染 核心! |
(DX君:轮到我的登场了!)这个部分是整个引擎最主要的部分,因为没有图形你玩个鸟啊。所以在这部分中会描述整个图像从硬盘文件到屏幕图形,让你看到图像活动起来的全过程。(加载君:哼!还不是我给的资源。DX君:你是我的心,你是我肝,你是我的3/4,怎么能少了你。)
游戏的音频系统 |
对于游戏,如果没有音频那不就是聋子看到的世界么,这不是我们想创造的世界。所以,音频是必须的。HGE的音频没有自己实现,采用的bass.dll的音频库。通过调用实现自己的接口。(音频君:想听到妹子的呻吟吗?想领略交响的气势吗?所以你要实现我)
杂项 |
引擎其实上面的几个模块就已经完成了,那么还剩下的杂项。对于这一部分,因为在前面的过程中会遇到这部分的帮助,所以在前面的模块中相应的提到。这部分的内容也相当重要呢!这里可以实现一些:信息的存储(HGE中是ini文件的读写);错误信息输入输入输出等;电源的信息管理(话说我不知道电源信息管理是干嘛的……);时间的掌控(中二poi),一个时间的掌握对游戏来说很重要,因为定时器等很多的事件要时间。
HGE中的工具类 |
在这里中,会在原来引擎的基础上来建立工具类,也就是方便再后面进行开发的工具。(那不就是想怎么方便就做出什么工具咯。)
接下来,分部分阅读整个代码,在这个过程中,我会按照我读代码的顺序来慢慢将这个过程可视化。1部分完成后,我们能够得到一个什么游戏需要的窗口;2部分完成,则可以在其中开始判定输入啦!在这里可以判断按键是否被按下,鼠标的移动等等;3部分的完成,貌似不能立即体现出来,但是我们仍然可以查看资源的信息等;4部分的完成,则代表这引擎基本完成了,完成这部分之后可以开始试着做些只有图形的游戏,而不考虑音频;5部分的完成,则是能够出现声音了;6部分的完成则是整个HGE游戏引擎源代码的结束了。
作为最后的结束,也是7部分,在这里我们会看到粒子生成器,在引擎的基础上最后完成这个程序。
图1.引擎模块 |
图2.引擎运行 |
Let's go !