
要]该引擎的开发技术主要是使用C++语言,DirectX811开发包与软件工程思想,并综合运用
了计算机图形学,人工智能等知识。该引擎的主要工作是进行游戏中的数字建模、碰撞运算、物体成
电脑游戏作为一种娱乐方式越来越为人们所接受。对于电脑游戏来说,游戏引擎是用于控制游
主程序,如接受玩家控制信息的输入,选择合适的声音以合适的音量播放等。2D游戏或者3D游戏
戏是怎样的形式(是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏)都有类似的
用的代码。游戏引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师可往里填充内
碰撞检测在游戏引擎中如此重要,原因是现实生活中随处都有碰撞的发生。这是游戏引擎一项必不可少的功能,否则在游戏中将看不到游戏的图像。
作为一个游戏引擎,它必须是可用的、稳定的、可维护的。它的主要功能有如下几点:
第一层是游戏引擎的基础,它包括图像处理系统,输入输出系统和音乐、音效系统。第二层是接口层,设定上层与底层的访问接口。
采用接口技术的好处就是更新底层实现的时候,只要接口不被修改,那么就不需要改动上层代
[作者简介]翟军昌(1978-),男,辽宁丹东人,渤海大学公共计算机教研部教师,从事计算机教学研究。
第三层是游戏工具库,在这里提供了游戏开发的一些辅助工具,主要是封装了一些对底层实现的操作。
它包括地图编辑器、脚本解析器、人物对话模块、角色类、NPC类和物品类等等一些在游戏中用到的模块。
游戏开发需要多方面的知识,它包括很多非计算机专业和计算机专业方面的知识。开发一个游戏引擎,
最基本的数据结构的知识是必不可少的,如队列、堆栈、数组、链表、树、递归等等。数字建模是数学的术语,也是计算机游戏的术语。一般情况下游戏中的每一个对象,人物、动物和植物
41211 采用图片拼接的方式来编辑地图,将待绘页面分成n个单元格,在每个单元格中贴入我们想要的对
在windows中获取鼠标和键盘信息是使用消息方式来获取的。在游戏中,同样也是使用消息方
键盘和鼠标信息。因为,游戏的输入不仅由用户来提供操作键盘和鼠标消息,有时候比如在剧情
候,需要虚拟键盘和鼠标消息来自动化游戏的进行;有时我们要对键盘和鼠标的消息进行处理来实
果,比如当鼠标移动到屏幕的边缘时,我们要滚动地图。这样就必须实现实时的截获鼠标和键盘消
在这里使用的是DirectX的DirectInput库来完成输入消息截取的。游戏的运行过程大致可以移动、绘制、等待、重复这几个步骤。
确定了在什么位置获取输入后,接下来就要看具体的实现过程了。DirectInput和DirectDraw一
设备,也就是说不管底层的硬件是如何实现的,只要符合标准的接口,都可以通过DirectInput来
备驱动→设备。理论上DirectInput可以支持所有的输入设备如鼠标、键盘、游戏摇杆、方向盘、踏
GetDeviceState 来获取设备的数据 , 在这里有两种方式实现数
的 , DirectMusic 是控制音乐播放的 , 它是一种新的基于 DLS 数据的实时音乐编排和回访技术 。
地图编辑器与脚本解析器是游戏开发的重要工具 , 它们综合利用底层的操作来实现游戏开发过
地图编辑器主要的功能是创建 、编辑和保存游戏场景地图文件 。游戏场景地图一般分为三层结
层 、物体层 、天空层 。地面层是用来贴入游戏场景的最底层图片的 , 如土地 , 沙漠 , 草地这些都
地面层 ; 物体层在这里不单单是一层 , 物体层可分为上层和下层 , 上层的物体可以遮挡人物 , 下层的物体可
以阻挡人物 , 所以在设计中把人物定位在物体的下层 ; 天空层是用来作效果处理的 , 如想实现天黑效果 , 你
不得不在物体层的上面加上一张黑色图片 。创建一张游戏场景地图主要有以下几个步骤 : (1) 装载进入背景 图 ; (2) 显示背景图 ; (3) 在图上画出格子 ; (4) 在某一格子贴入确定的景物 ; (5) 设置景物属性 ; (6) 保 存地图
在游戏引擎开发完之后 , 游戏的创作就由设计师与美工来完成 。首先 , 创作游戏剧本 , 确定了剧本之
我们就要对剧本进行分镜处理 , 确定在什么场景出现什么人物 , 和什么样的人物有什么样的对话 ; 其
使用地图编辑器来制作游戏场景地图 ; 最后 , 编写游戏的脚本文件 , 编写时要确定关卡和事件发生地 人物对话就按分镜处理后的剧本就可以了 。
综上完成了一个通用的 2DRPG 游戏引擎的基本功能 。该引擎的主要特点是采用了模块化设计思想来构 建引擎的底层程序 , 因此该引擎具有较强的扩展性和可维护性 。该引擎的工具库具有高度的可重用性 , 只需 经过少许的改动就可以适应新格式地图的编辑 。该游戏引擎是按照网络游戏引擎设计的 , 所以游戏引擎可以 进一步的升级为一个网络游戏的引擎 , 用于网络游戏客户端程序的开发 。如果对引擎的底层图形系统进行优 化 , 可以将引擎升级为 215D 的引擎 。本文限于篇幅部分环节省略 , 部分程序代码没有给出 。
5 荣钦科技 . 游戏设计概论 M . 北京科海电子出版社 ,2003.