论文部分内容阅读
随着计算机游戏产业的发展,计算机游戏的开发过程基本已经趋于标准化。游戏开发基本步骤是:1.根据所要开发的游戏的类型,选择或者自主开发一款合适于该类型游戏的游戏引擎;2.由游戏策划给出游戏的剧情,人物角色信息,场景布置等资料;3.美术人员根据这些资料来绘制场景和游戏中的各种角色;4.最后程序设计者根据这些内容来编程实现整个游戏的开发。同时,游戏开发是一个互动的过程,程序开发者,策划人员以及美工要不断的协调测试修改整个项目,以使最终成果能够符合开发要求,逐步完善。为了游戏的快速开发,程序开发人员往往需要给策划和美术提供一个游戏编辑工具(有的引擎本身提供了游戏编辑工具),用来编辑场景信息,人物角色信息甚至剧情等,这些比较固定的开发模块往往由策划或美术利用游戏编辑工具来实现。
本文描述一个较为通用的游戏编辑器的开发过程,实现了一个基于OpenGL的3D RPG(角色扮演游戏)游戏编辑器。并着重描述了游戏道具的管理、游戏场景的管理,以及脚本语言Lua在游戏开发中的应用。并在最后给出了游戏程序开发的详细过程。
在道具的管理模块中,本文根据道具的依附对象,实现了基于基本道具表的地图道具管理系统和角色道具管理系统,基本道具表和两个道具管理系统协同工作,基本道具表只保存世界中每个道具单独的一个实例,而两个道具管理系统则使用了道具的多个实例。这样即方便游戏中道具的实时管理和查询,又减小了存储所需的数据量。
场景管理是游戏编辑器中最直观的模块,这一模块中所涉及的对象是游戏世界中最基本的对象,是整个游戏世界的基石。这些对象包括游戏中的地形,天空,树木,房屋等景观,还包括游戏中主角和NPC等角色,以及各种触发剧情的触发器。本模块给出了地形生成的一般方法和步骤以及各个对象的数据格式定义,并实现了这些对象的数据组织,以及相互之间的交互。
游戏开发中一般采用C/C++语言和动态类型的脚本语言相结合的方式。C/C++语言在处理实时性要求较高的模块时最有优势。脚本语言一般用来描述程序中的配置文件和游戏的剧情驱动。本文采用可扩展性很高的Lua语言作为脚本语言,描述了它的封装过程,并将它嵌入到游戏程序中。本文将上述模块集成到一个RPG游戏编辑器系统中,完成了一个具有基本功能的游戏编辑器程序。在文章的最后,描述了游戏程序的运行流程并构造出了游戏程序的框架结构。本文开发的编辑器具有一定的实用价值。