已阅读5页,还剩71页未读, 继续免费阅读
(计算机应用技术专业论文)3d+rpg游戏编辑器的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机游戏产业的发展,计算机游戏的开发过程基本已经趋于标准化。 游戏开发基本步骤是:l 。根据所要开发的游戏的类型,选择或者自主开发一款合 适于该类型游戏的游戏引擎;2 由游戏策划给出游戏的剧情,人物角色信息,场 景布置等资料;3 美术人员根据这些资料来绘制场景和游戏中的各种角色;4 最 后程序设计者根据这些沟容来编程实现整个游戏的开发。同时,游戏开发是一 个互动的过程,程序开发者,策划人员以及美工要不断的协调测试修改整个项 目,以使最终成果能够符合开发要求,逐步完善。为了游戏的快速开发,程序 开发人员往往需要给策划和美术提供一个游戏编辑工具( 有的引擎本身提供了 游戏编辑工具) ,用来编辑场景信息,人物篇色信息甚至剧情等,这些院较固 定的开发模块往往由策划或美术利用游戏编辑工具来实现。 本文描述一个较为通用的游戏编辑器的开发过程,实现了一个基于o p e n g l 的3 dp p g ( 角色扮演游戏) 游戏编辑器。并着重描述了游戏道具的管理、游戏场 景的管理,以及脚本语言l u a 在游戏开发孛的应用。并在最后绘嫩了游戏程序 开发的详细过程。 在道具的管理模块中,本文根据道具的依附对象,实现了基于基本道具表 酸地图道具管理系统和角色道具管理系统,基本道具表和两个道其管理系统协 同工作,基本道具表只保存世界中每个道具单独的一个实例,面两个道具管理 系统则使用了道具的多个实例。这样即方便游戏中道具的实时管理和查询,又 减小了存储所需的数据量。 场景管理是游戏编辑器中最壹观的模块,这一模块中所涉及的对象是游戏 世界中最基本的对象,是整个游戏世界的基石。这些对象包括游戏中的地形, 天空,树木,房屋等景观,还包括游戏中主角和n p c 等角色,以及各种触发剧 情的触发器。本模块给出了地形生成的一般方法和步骤以及各个对象的数据格 式定义,并实现了这些对象的数据组织,以及相互之间的交互。 游戏开发中一般采用c c + + 语言和动态类型的脚本语言相结合的方式。 c ,c + + 语言在处理实时性要求较高的模块时最有优势。脚本语言一般用来描述程 序中的配置文件和游戏的剧情驱动。本文采用可扩展性很高的l u a 语言作为脚 本语言,描述了它的封装过程,并将它嵌入到游戏程序中。 本文将上述模块集成到一个r p g 游戏编辑器系统中,完成了一个具有基本功 能的游戏编辑器程序。在文章的最后,描述了游戏程序的运行流程并构造出了 游戏程序的框架结构。本文开发的编辑器具有一定的实用价值。 关键词;游戏编辑器,场景系统,道具管理,l u a h a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e rg a m ei n d u s t r y , t h ec o m p u t e rg a m e d e v e l o p m e n tp r o c e s sa l r e a d yt e n d e dt on o r m a l i z i n gb a s i c a l l y t ot h eb a s i cs t e p so f g a m ed e v e l o p m e n t , f i r s t l y , w en e e dt o s e l e c to rd e v e l o pas u i t a b l eg a m ee n g i n e a c c o r d i n gt ot h et y p eo ft h eg a m e s e c o n d ,p r o j e c tp l a n n e r sd e s i g nt h ei n f o r m a t i o no f g a m e ss c r i p t s ,r o l e s d a t a , 器d i s p o s ea n ds o0 n 憾a 矗d e s i g n e r sd r a w v a r i o u ss c e n e sa n dr o l e si nt h eg a m e l a s t , u n d e rt h e s ec o n t e n t sp r o g r a m m e r sd e v e l o p t h ee n t i r eg a m e a tt h es a m et i m e , g a m ed e v e l o p m e n ti sa l li n t e r a c t i v ep r o c e s s ; p r o g r a m m e r s ,p r o j e c tp l a n n e r sa n da r td e s i g n e r sm u s tt e s ta n da m e n dt h ee n t i r e p r o j e c tc o n s t a n t l y , s ot h a tt h ef i n a lr e s u l t sc a nm e e tt h ed e v e l o p m e n tr c q u i r c 殪n e n t s g e n e r a l l y , i no r d e rt ot h er a p i dd e v e l o p m e n to ft h eg a m e , p r o g r a m m e r sn e e dt o p r o v i d ea ne d i t o rt op r o j e c tp l a n n e r sa n da r td e s i g n e r s ( s o m ee n g i n e sp r o v i d eg a m e e d i t o r st h e m s e l v e s ) t h ee d i t o ri su s e dt oe d i ts c e n e s ,c h a r a c t e r sa n ds c r i p t sa n ds oo n , a n da l lo ft h e s ef i x e dd e v e l o p m e n tm o d u l eo f t e nr e a l i z e db yp r o j e c tp h n n e r sa n da r t d e s i g n e r sw i t ht h eu s i n go fe d i t o r t h i sp a p e rd e s c r i b e sap r o c e d u r e so fa na l l - p u r p o s eg a m ee d i t o r ,w h i c hr e a l i z e d a no p e n g l - b a s e d3 dr p g ( r o l ep l a yg a m e ) e d i t o r t h i sp a p e re m p h a t i cd e s c r i b e s t h em a n a g e m e n to fg a m ei t e n 瓠t h em a n a g e m e n to ft h eg a m es c c 旺e s ,a sw e l la st h e a p p l i c a t i o no fs c r i p t i n gl a n g u a g el u ai nt h eg a m ed e v e l o p m e n t f i n a l l y , t h i sp a p e r p r o v i d e st h ed e t a i l so fg a m ed e v e l o p m e n tp r o c e s s 。 i nt h em o d u l em a n a g e m e n to ft o o l s ,t h i sp a p e rh a sb e e nr e a l i z e dm i c s ( m a p i n v e n t o r yc o n t r o ls y s t e m ) a n dr i c s ( r o l ei n v e n t o r yc o n t r o ls y s t e m ) b a s e o ni t e m s a d h e r i n go b j e c t t h et w oi c sw o r k sh a n d 诵t 1 1t h em a i ni t e ml i 咄w h e r et h ei t e m l i s tc o n t a i n so n l ya s i n g l e ,u n i q u ei n s t a n c eo fe a c ho b j e c ti nt h ew o r l d ,t h ei c sw o r k s w i t hm a n yi n s t a n c e so fa n yo b j e c t 。i ti sn o to n l yc o n v e n i e n ti nt h eg a m eo fr e a l - t i m e i t e mm a n a g e m e n ta n de n q u i r y , b u ta l s or e d u c e st h ea m o u n to fd a t af o rr e q u i r e d s t o r a g e s c e n em a n a g e m e n ti st h em o s ti n t u i t i o n i s t i ci nt h eg a m ee d i t o rs y s t e m , t h e h i o b j e c t sr o f e r e di nt h i sm o d u l e sa r o t h em o s tf u n d a m e n t a lo b j e c t si nt h eg a m ew o r l d , t h ef o o t s t o n eo ft h ee n t i r eg a m ew o r l d t h e s ei n c l u d e dn o to n l yt h eg a m e ss i g h to f t e r r a i n ,t h es k y , t r e e s ,h o u s i n ga n ds oo n , b u ta l s ot h em a i na c t o ra n dt h en p c s , a s w e l la st r i g g e r sw h i c hf l i p - f l o ps c r i p t s ,a l m o s ta l lt h ed a t as t r u c t u r e sa r ed e f i n e di n t h i sm o d u l e , r e a l i z e dt h ed a t a so r g n a z a t i o no ft h e s eo b j e c t sa n dt h ei n t e r a c t i o n s b 撤湖o b j e c t s 。 p r o g r a m m e r sg e n e r a l l y u s et h ea p p r o a c hc | l a n g u a g ec o m b i n a t i o no f d y n a m i ct y p eo fs c r i p t i n gl a n g u a g e c 脚l a n g u a g ei st h em o s ta d v a n t a g e o u si n d 】e a l i 鸳w i t ht h em o d u l e w i t hh i g hr e a l - t i m er e q u i r e m e n t s s 呻畦昭l a n g u a g ei su s e d t od e s c r i b et h ec o n f i g u r a t i o nf i l ea n dg a m es c r i p t sg e n e r a l l y t h i sp a p e ru s e st h eh i 臻 p o r t a b l el a n g u a g el u a a sas c r i p t i n gl a n g u a g e ,a n dd e s c r i b ei t se n c a p s u l a t i o np r o c e s s , a n di th a sb e e ne m b e d d e di nt h eg a m ep r o c e s s 。 i nt h i sp a p e r , t h e s em o d u l e sw i l l 弱i n t e g r a t e di n t oag a m ee d i t o rs y s t e ma n d f i n i s hag a m ee d i t o rw i t hb a s i cf i a n e t i o t ki nt h ef i n a la r t i c l ed e s c r i b e st h ep r o c e s so f t h ei m p l e m e n t a t i o no fag a m ea n dp r o v i d e st h ef r a m e w o r ko fag a m ep r o g r a m + k e y w o r d s :g a m ee d i t o r , s c e n es y s t e m , i t e mm a n a g e m e n t , l u a 独创性声明 本入声明,掰量交酶论文是我个入在导舞指导下进行的琴 究王馋及取褥豹研 究成果。握我所知,除7 文中特男d d l l 噬标注和致谢翡地方黔,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理王大学蠛其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示了谢意。 研究生签名:趋璐退日期迎墨支。f 呈 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,馨:学校有投 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部趱 容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:捣酶洫一。导师签名:逊垒日媲二趔s 武汉理工大学硕士学位论文 第1 章引言 1 1 编辑器在游戏开发中的作用 游戏产业经过数十年的发展,其开发过程己经基本标准化。开发者需要首 先开发或者购买一款游戏弓| 擎,然后利用游戏雩l 擎的各个模块进行游戏情节的 策划、游戏界恧的设计、各种资源的创制以及游戏主程序的开发最后实现一款 完整的游戏产品。而游戏编辑器目前一般随游戏引擎一起提供,它和引擎一起 约定游戏中各种数据的数据格式,并编辑处理各种数据。在游戏中,游戏主程 序透过孳| 擎调用各种处理过数据( 资源,脚本) 把游戏场景襞示给用户。 图1 1 编辑器在游戏开发中位置和作用 1 2 课题的研究背景 我豳游戏产业经过了十年左右的发展,正逐渐走向成熟,但其持续的高增 长率仍然保持不变。在2 0 0 8 年1 月1 6 日召开的“2 0 0 7 年度中国游戏产业年会 上,中国出版工作者协会游戏出版物工作委员会( g b c ) 公布了我国游戏产业的部 分核心数据。数据显示,去年我国网络游戏的市场规模已经突破了百亿瓣j 。 2 0 0 7 年中匿游戏产业调查报告摘要【l 】显承,截至2 0 0 7 年1 2 胃,中蓬 网络游戏用户数已达到5 0 1 7 万,比2 0 0 6 年增长2 3 。预计2 0 1 2 年中国网络游 戏用户数将达到8 4 5 6 万,2 0 0 7 年到2 0 1 2 年的年复合增长率为1 6 ,将高于互 武汉理工大学硕士学位论文 联网用户数增长率。截至去年年底,我国电子游戏市场魂模已超百亿,其中自 主研发产品占到了6 5 的份额。此外,2 0 0 7 年,总计有1 2 家中国网络游戏企业 自主研发的2 8 款网络游戏进入海外市场,实现销售收入5 5 0 0 万美元,比2 0 0 6 年的2 0 0 0 万美元增长1 7 5 。 目前,常见的游戏大体分为r p g 角色扮演类、运动休闲类、战争策略和f p s 射击等几大类,而角色扮演类的游戏占据了所有国内游戏市场的8 0 以上。2 0 0 7 年,中国大型角色扮演类网络游戏市场实际销售收入为8 0 3 亿元人民币,比2 0 0 6 年增长5 1 3 。预计2 0 1 2 年中国大型角色扮演类网络游戏市场实际销售收入将 达到1 6 3 3 亿元人民币,2 0 0 7 年到2 0 1 2 年的年复合增长率预计为1 5 2 t 1 1 。 但是同时我们更要看到,r p g 网络游戏在我国起步时间不长,许多核心技术 还处于摸索的阶段。国外的网络游戏,尤其是日韩的网络游戏起步相对较早,并且 得到了政府的大力支持,使得部分技术的发展走在了国际前列,比如三维模型建 模和图像处理渲染技术等。同样,美欧国家先进的计算机技术和图形图像处理 技术也使得它们在游戏业中占据着世界领先地位。 1 3 课题来源 所选课题来源于分布交互三维视景行为一特征建模方法研究:行为特征建 模工具的开发。本课题得到国家自然科学基金和中国科学院计算技术研究所智 能信息处理开放研究实验室项目资助。 国家自然科学基金项目视景开发环境的层次结构如图1 2 所示【2 1 : 图1 - 2 视景开发环境的层次结构图 2 武汉理工大学硕士学位论文 国家自然科学基金项目的视景开发环境的运行机制如图1 3 所示【3 】: i n t e r n e t 或局域罔 我方行动广l 一 厂;二爿竺墨塑望堡璺堑l il 对方行动 ; | 苦毓兰凶挈竺辐稠;i 客户服务k 二二l 视景服务阁视景模型i l 一蜜一壁竺! 甲地用户乙地用户 图1 3 视景开发环境的运行机制 国家自然科学基金项目主要完成三大功能模块: ( 1 ) 视景模型层:完成几何建模、物理建模和行为建模。 ( 2 ) 服务层视景服务:完成本地或网络的视景功能。 ( 3 ) 服务层的仲裁和通信服务:完成网络通信和仲裁功能。 1 4 国内外研究动态和水平 2 0 0 3 年起我国网络游戏产业市场开始逐步步入繁荣阶段。进入2 0 0 4 年,中 国的网络游戏产业受到全球投资商的重视。综合各种影响因素的作用,2 0 0 5 年至 2 0 0 7 年中国网络游戏用户规模发展趋势是随着网络游戏逐渐受到人们的接受和 热爱而进一步扩大。2 0 0 4 年以来,我国的网络游戏产业市场逐步步入高速发展 阶段,随着网民人数和上网计算机数量的增加,宽带建设的迅速发展使得宽带上 网费用也逐渐被大众接受,网络游戏的用户数量也迅速增加。另一方面,虽然在 2 0 0 3 年前后网络游戏机已经逐渐进入中国大陆,但是由于价格偏高以及宽带费用 等问题使其普及受到一定限制。2 0 0 5 年以来,x b o x 、p s 2 以及国内厂商生产的 网络游戏机在功能和价格上也有所改善,逐渐被我国的游戏用户所接受。网络游 戏机的普及也使网络游戏用户大幅度增加。综上所述,预计2 0 0 8 年由于宽带网络 武汉理工大学硕士学位论文 用户数量的大幅度增长,无线互联业务的广泛开展以及业务趋于成熟逐步向3 g 网络过渡,网络游戏用户数量将会持续增加到8 0 0 0 万左右。 另外,国内网络游戏市场格局也将因竞争而重组,核心技术开发和运营模式 转变是中国网络游戏产业发展的关键。政策环境不断优化和产业的快速发展, 网络游戏完全智能交互方式的研究,未来引入更多种的游戏类型,各大公司科 研力量的积极介入以及手机掌上电脑等全新游戏载体的出现,还会进一步带动网 络游戏市场的迅猛发展,使我国的网络游戏走上健康有序的发展道路,成为我国 一大朝阳产业。 在游戏开发方面,国外比较成熟的商用引擎如f a rc r y 、u n r e a le n g i n e3 以 及专业的开发引擎的公司等在游戏引擎开发上已经形成了非常成熟的技术群,这 些关键技术通常作为商业机密并不流通。国内在游戏开发方面技术仍相对落后, 只有一些公司的二维引擎技术比较成熟,如网易的大话西游, 梦幻西游以 及巨人网络的征途等便是二维引擎成功应用的代表作。目前国内正在努力 向三维引擎开发应用方向发展。但从u n r e a l 引擎系列可以看出国际上游戏引擎 已经在向虚拟现实方面发展了。 对于游戏编辑器,国外已经实现了高度集成的编辑器,一般道具编辑模块, 场景编辑模块,角色控制编辑模块等,甚至也包括脚本编辑模块。而中国目前 大部分游戏工作室对开发这种高度集成的编辑器还存在一定的技术难度。真正 决定中国游戏产业命运的不是数字金额,而是我们本土企业开发自主知识产权 技术的能力,中国游戏市场的产业升级之路依旧漫长。国外的游戏引擎已经可 以让开发者脱离代码,只用脚本和编辑器就可以开发游戏了。对于国外游戏引 擎来说,强大的脚本系统早已成为了一个必备的利器,而国内的开发者还是处 于一些脚本系统的教材和资料都很难以找到的阶段。 正式基于国内游戏业的现状,曾经争议颇多的网络游戏首次正式纳入国家 科技部计划,此举标志着网络游戏产业开始得到了政府扶植,为国内游戏厂商 搭建起一个核心平台,保护我国网络游戏软件的自主知识产权。国家政策的倾 斜,将有助于拉动本土企业的自主知识产权创新能力的提高。 1 5 研究的目的和意义 目前三维网络游戏正在不断发展,随着硬件技术的逐步提高,各种以前只 4 武汉理工大学硕士学位论文 能靠软件才能实现的算法现在已经能由硬件流水线来完成,游戏开发技术也在 在的不断的发展,现在游戏开发已经发展到将虚拟现实技术运用到自身,使其 发展到前所未有的高度。目前国内三维游戏市场上占主导地位的是国外的游戏 开发商开发出来的游戏产品,国内游戏企业的三维技术与国外仍有较大差距, 但是目前国家已经大力投资和扶持国产游戏行业的发展,游戏行业已经作为一 个新兴的行业,不断的发展和壮大起来。 可是由于国内游戏产业起步较晚,到2 0 0 5 年开始,才涌现出了众多的游戏 开发公司和游戏工作室,这些公司的技术水平和实力决定了它们暂时难以胜任 与国外开发商对抗,国内的游戏开发能力也相对低些。游戏开发中游戏引擎是 核心技术,游戏编辑器决定了游戏开发的能力和速度。它们共同决定了游戏产 品的质量。所以研究开发游戏引擎和编辑器是游戏业必然要走的发展道路。 5 武汉理工大学硕士学位论文 第2 章系统开发的核心技术 2 1 计算机图形学相关知识 2 1 1 三维物体的表示 图形场景包括很多不同类型的物体:树、花、云、石、水、砖、木板等, 由于物体种类的多样性,因此不存在某一种方法能用来描述具有上述不同物质 所有的特性,为了产生各种景物的真实感显示,需要使用能精确地建立物体特 征的三维模型。 三维图形用来表示物体的方法通常分为两大类【4 】:边界表示和空间分区表示。 前者用一组曲面来描述三维物体,这些曲面将物体分为内部和外部:后者用来 描述内部性质,将包含物体的空间区域划分为一组小的、非重叠的、连续的实 体。尽管有很多方法来描述三维图形,但由于限于目前的硬件技术水平,在实 时计算机三维图形中运用得最普遍的方法是用一组包围物体外部的表面多边 形,该法属于前一种边界表示法。由于所有的表面以线性方程形式加以描述, 因此会简化并加速物体表面的绘制和显示。因此,目前多边形描述的物体通常 被称作标准图形物体。某些情况下,多边形表示是唯一可用的,但很多图形包 也允许以其它方法对物体加以描述,如样条曲面,它在被转换到多边形表示后 再进行逼近处理,即将曲面分成更小的多边形面片来进行改进。 本系统用到的模型表示方法是多边形逼近法,因为这是目前大多数图形硬 件唯一支持的三维物体表示法,三维物体由三角形面片构成,通过顶点数组和 三角形索引这样的数据结构来存储。 2 1 2 图形的几何变换【5 1 1 6 1 r 8 1 缩放,定义缩放三角阵。2 r 击d : 其中扮o o 当面司1 2 杰时,便 是统一缩放矩阵。 旋转,当给定矩阵r 满足:厅1 = 足t ,r 称为旋转矩阵,并定义斜对称矩阵s = 6 武汉理工大学硕士学位论文 i0 “2 一1 - - h 2 0 oi i 1 l i 一材od 2j 则绕向量孑:u o , m , u 2 ) 旋转0 度的变换矩阵如下: r - - i + s i n ( o ) s + ( 1 c o s ( o ) ) s 2( 2 1 ) 平移,当把一个向量x 平移一个给定的位移量r 时,则】r = x + r ,在r 3 空 间中我们不可能直接用一个y = m 彳的线性变换式来表达,但是对r 4 空间中的 向量平移,我们却可以找到如下一种线性变换表达足空间中向量的平移变换, l i p ( x 0 ,y o ,z o ,w o ) ( x l ,y l ,z i ,m ) ,原理如下: 给定4 x 4 的矩阵胙【j i l 胡,( o j ,提供一个创建系统相关或相互依赖对蒙豹接 口,而无需指定它们具体的类,使用a b s t r a c tf a c t o r y 模式的条件:一个系统要 独寂于它的产品的剖建、组合和表示时,需要多个产品系列串的一个来醚置时, 特别当你只想提供个产晶库,蔼只想显示它们豹接蜀藤不是实现时。 2 b u i l d e r ( 生成器) ,将一个复杂对象的构建与它的表示分离,使褥同样的 构建过程可以剖建不同的表示。适用于警创建复杂对象的算法应该独立于该对 象的组成部分以及它们豹装配方式时,豢构造过程必须允许被构造的对象有不 同的表示时。在本系统孛大量应用了s t l ( 泛型算法库) 串的数据结构,并将这些 泛型算法应用子不同的对象集。 3 f a c t o r ym c t h o d ( i 厂方法) ,定义个用于创建对象的接口,让子类决定 实例化哪一个类,本模式使一个类麴实例亿延迟到其子类。 4 ,p r o t o t y p e ( 原型) ,用原型实例指定创建瓣象的釉类,并虱通过拷贝这些原 型创建新的对象。当一个系统应该独立予它的产晶创建、构成和表示时,便采 用诧设计模式,戬及当要实例纯的类是在运行时指定时,例如本系统的插件管 理部分采溺的便是越模式。 5 。s i n g l e t o n ( 单l 譬) ,傺证类仅有个实例,并提供一个公共的全髑访问接爨。 对一些类来说,只肖一个实例是很薰要的,如系统的内核实例,那么就必须只 有一个实铡。可以搜用s i n g l e t o n 模式的情况是当某个类其麓有一个实例,并提 1 6 武汉理工大学硕士学位论文 供一个众所周知的访问点。 在设计开发一个大型软件系统时需要用到软件工程方法,软件工程的框架 可概括为:目标、过程和原则。 ( 1 ) 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性 指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档。 ( 2 ) 软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所 需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆 盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求 分析,需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要 设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模 块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结 构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动 贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维 护活动包括使用过程中的扩充、修改与完善。 ( 3 ) 软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发 过程中必须遵循的原则。 本系统在设计开发过程中是在吸收了以上提到的软件工程思想之后,并将 这种思想应用于开发实践中,对研究开发活动起了指导作用。 1 7 武汉理工大学硕士学位论文 第3 章系统总体设计与分析 游戏编辑器是用来处理游戏程序中用到的各种对象的,这些对象包括游戏 中的道具,游戏中的场景,玩家和角色的控制模块,以及用来描述配置文件和 游戏剧情的脚本,本系统目前完成的模块有道具编辑模块,场景编辑模块以及 脚本模块等。本系统的模块构成入下图3 1 所示。本章将对道具模块,场景模块, 以及脚本模块的设计进行分析说明。 编辑器系统 一一 i 道具编辑管理场景编辑管理脚本编辑管理角色编辑管理 图3 1 编辑器系统模块示意图 3 1 道具管理模块设计 该模块用以定义和管理游戏世界中出现的所有道具。根据所出现道具的形 式功能对道具进行分类,并用基本道具表和具体对象( 包括各个角色和场景) 的道具管理相结合的方式对所有道具进行统一管理。道具管理中内部各部分关 系如下图3 2 所示。 图3 - 2 道具管理模块示意图 武汉理工大学硕士学位论文 基本道具表保存了游戏中所有物品的唯一实例,每个角色所有的道具军丑地 图上散落的道具分别都角色道具管理器和场景道具管理器通过索引基本道具表 来管理。基本道具表则有道具编辑器管理。 3 1 1 在游戏中定义道具 本部分采用一种固定的格式来定义游戏中所有道具的形式和功能,并给出 了道具类体系中的道具基本类的设计。 3 1 2 道具编辑和管理 道具在游戏中只出现在角色( 包括主角和n p c ) 的背包中或者场景的某个 位子。本文将出现在场景中的道具设计为归场景对象所有。并据此设计了基本 道具表和对象道具控制相结合的方法来管理道具。 3 1 3 道具管理系统设计 基本道具表中定义了所有每一类物件的一个抽象,或者说它定义并保存了 世界中每个物件单独的、唯一的一个实例。 具体对象的道具管理包括地图道具管理和角色道具管理两部分,它们分别 用来管理一个地图上散列的道具和一个玩家当前拥有的道具。对象的道具管理 利用一个链表保存了一个道具在基本道具表中的索引,具体使用这个道具时, 根据这个索引去引用存储在基本道具表中的道具。 3 2 场景管理模块设计 该部分把场景中所有出现的物体作为对象来管理,给出了各种对象在类的 继承体系中的位置。在具体的场景中,把所有对象组织成树的形式进行管理。 此部分包括地形的生成,场景中各对象的关系,以及场景中各对象的管理与布 置。其中地形生成较为独立,它实现了为游戏场景生成合适地形的方法,场景 中的对象关系描述了场景中各对象的组织关系,场景对象管理则体现游戏中各 对象分布位置和如何布置。 1 9 武汉理工大学硕士学位论文 3 2 1 地形的编辑 场景中对7 场景中对 l 象的管理 象关系 图3 - 3 场景管理模块示意图 地形编辑的工作是装入或随机产生或绘制地形高度图像,指定高度单位和 地形网格数量和地形的范围和地形场景简化算法,生成原始的地形网面。和覆 盖地形贴图。并生成地形场景对象。和保存为地形文件。 3 2 2 场景中的对象关系 为了方便在游戏中对场景中的对象进行层次渲染和碰撞检测,所有的对象 都从树的节点类中派生。该部分描述了各个对象的层次,并实现对象之间的碰 撞检测和渲染算法。 3 2 3 游戏场景的管理 定义一个场景类,将游戏中的所有对象组织在一起,给玩家展示了一个游 戏世界,设计游戏场景中对象之间的相互依赖关系以及场景的存储和加载以及 对象位置的编辑功能。 3 3 脚本系统模块 本系统采用l u a 语言作为系统的脚本语言,实现了l u a 的一个封装器 l u a p l u s 和系统的嵌入。采用多级表结构来描述系统配置文件,并描述了l u a 控 制下的一个简单游戏剧情。此处没有设计专用的l i l a 语言编辑器,而是调用文 本编辑器编写l m 脚本。 武汉理工大学硕士学位论文 第4 章道具的定义和编辑使用 游戏世界中存在着各种各样的物品,游戏角色在各种不同的情况下会使用 多种多样的物品,最常见如增加攻击的刀剑武器,增加防御的各种衣服防具, 以及药品、任务物品等等。这些物品在游戏里统称为道具,本章介绍游戏道具 系统对道具的管理【2 3 】。 4 1 在游戏中定义道具 在大型游戏过程中,往往有着成千上万的物品,它们各自有着独特的用途。 游戏设计时,每一类物品都必须仔细考虑,它们需要被设计为一个特定的用途。 增加攻击的武器和其他装备,增加防御的衣服和铠甲以及药物,所有这些都需 要明确的定义,包括他们的形式和功能。 形式涉及到了道具的外形和特征,即该道具具体什么样子、它的体积、重 量等。功能则是该道具的用途,每个道具都有一个特定的用途,金钱可以购买 东西,装备武器可以增加角色的攻击能力,一些特殊道具可以改变角色的状态。 4 1 1 道具形式和功能 对于游戏玩家来说,一个道具的外形是很重要的,简单的说,玩家大多希 望自己角色的武器和衣服漂亮夺目。但对于计算机来说,需要提供一个图像或 者一个三维模型来表示相应的道具。 游戏中的物件( 道具) 是被用来完成特定的功能的,一般来说道具可以是 以下分类中的一种( 这个列表并没有包含所有应有的道具,具体的道具类别应 该有具体的游戏内容来定) 。 武器。一般用来增加角色的攻击力。武器产生的破坏程度和有效性可以用 一些数值来表示,比如攻击指数和命中率指数等。武器往往有特定的用法和使 用限制,可以依据这些对武器进行分类。 护甲( 或称为防具) 。用来抵御相应攻击造成的伤害,这个抵抗力的数值称 为防御指数。如同武器一样。护甲也有特定的用法和使用限制,更有所归属的 2 l 武汉理工大学硕士学位论文 护甲分组( 比如头盔、护胸、腰带、护腿、护靴和手套等) 。 药品。用于补充生命值魔法值,甚至某些可以具有特殊使用效力。 任务物品。常常该类道具只是为了完成一个特定的主线或支线任务。 其他物品。往往可能没有多大实际用途,因为他们确实并没有被明确定义 用途。或许它们可以执行游戏引擎所定义的某种类型的行为。 4 1 2 设计道具类 首先,需要对每个道具进行分类,以便引擎可以正确的引用道具,按上一 小节所述,每种类别的道具都需要加以编号以确定类型。每种类型都有一个相 关的价值,如道具的等级指数,特定用途,治愈值或损伤值。 可以使用一个枚举类型的数值来表示类型: g l - l u mi t e m c a t e g o r i e s w e a p o n = 0 , a r m o r , s h i e l d , h b u 。i n g o t h e r ) ; 物件标志位,一些常见的物件标志如下所示。 s e l l a b l e 物品是否可以销售 c a n d r o p 物品是否能够丢弃 u s e o n c e 一次性使用物品 u n k o n w n 物品未知,必须确定一个物品的标志才能使用 游戏中的某些特定物品是有一定的使用限制的,为了表示一个道具的使用 限制,可在道具类中添加一个3 2 位变量来表示限制类型,每一位代表了一个限 制类型。如果一个物件在一个类别中是可用的,那么相应的信息位就会被设置; 反之,该为应被清除。 为了使物件能够更加灵活的使用,甚至可以为物件附加脚本,当游戏角色 使用某种特定的道具时,用脚本来触发一个小事件。比如玩家使用药品补充生 命值或打开一个宝箱却放出一个恶魔等。 最后玩家往往希望能够看到一个道具的逼真形象,这就需要为道具指定关 武汉理工大学硕士学位论文 联的一个图像或者三维网格模型以表示道具。 最终的道具类定义如下所示: t y p e d e fs t r u c ts i t e m ( c h a rn a m e 3 2 ;道具的简称 c h a rd e s c r i p t i o n 1 2 8 ;道具的描述 f l o a tw e i g h t ;道具质量 f l o a ts i z e ;尺寸大小 l o n gc a t e g o r y ;道具类别 l o n gv a l u e ;等级指数 l o n gp r i c e ;购买价格 l o n gf l a g s ;位标识 l o n g u s a g e ;使用限制 c h a rs e r i p t f i l e n a m e 1 6 ;对应的脚本 c h a rm e s h f i l e n a m e 1 6 ;网格模型 c h a ri m a g e f i l e n a m e 16 ;图片名称 ) s l t e m ; 4 2 基本道具表 在游戏中,每个道具都要被定义后才能使用,同时为了使程序简便,可以 使用一个基本道具表( m a s t e ri t e ml i s t ) 来记录描述所有物件。道具表就像一个 道具的索引目录,每个道具均进行编号以便索引,同时每种道具仅仅显示一个。 因此这个道具列表被称为基本道具表。 当需要一个新的道具时,或者需要检索指定道具的某些特征属性时,可以 搜索这个基本道具表。在一个基本的层面上,游戏中的基本道具表可以被存储 为一个道具类结构s i t e m 的数组,或者说是一个顺序存储文件,它有道具结构的 列表组成。该列表保存了游戏中所有道具的记录,每个道具数据的大小是一致 的,以确保当需要检索数据时可以快速地访问文件。 武汉理工大学硕士学位论文 图4 _ l 基本道具表保存了游戏中所有道具 对于一个已经定义好的基本道具表。如果希望将这个列表保存到文件中以 便以后的检索,可以使用一个单独的程序去创造m i l 文件。其关键代码如下, 它创建一个i t e m s m i l 文件,并把道具数组存储到该文件中: f i l e 幸f p = f o p e n ( ”i t e m s m i l , w b ”) ; f o r ( i n ti _ o ;i n u m o f l t e m s ;i + + ) f w r i t e ( & i t e m s i ,s i z e o f ( s l t e m ) ,助; f c l o s e o ; 在一个完整的角色扮演游戏中。道具描述往往需要包含更多的信息,而且 可能使用成千上万中道具,所以应该提供一个道具编辑器以便创建并维持基本 道具表。 4 2 1 道具编辑器 快速方便的管理道具需要创建一个道具编辑器。道具编辑器是一个编辑器 应用程序中的一部分,它允许玩家和游戏设计者操作基本道具表,编辑每个想 要的道具的属性特征。并可保存和加载基本道具表文件。 一个道具编辑器的主对话框如图4 2 所示。该对话框由一个包含所有组件的 武汉理工大学硕士学位论文 列表框,以及编辑物件信息以及保存和加载物件列表组成。 图4 - 2 使用道具编辑器创建和编辑游戏中的道具 在编辑器的主对话框中,可以执行随后的操作来编辑和添加道具,然后把 它们保存到磁盘中去。 1 在道具列袁中双击一个物件以选择它,或者单击“添加”按钮增加一个道 具,道具修改对话框将出现如图4 _ 3 所示: 图4 _ 3 修改道具详细信息对话框 武汉理工大学硕士学位论文 2 在道具修改对话框中适当的修改相应的道具属性。 3 完成编辑后,点击完成将应用修改的变化,并返回道具编辑器的主对话框。 4 为了使修改的内容持久保存到硬盘,在道具编辑器的主对话框中点击保存 按钮,在弹出的对话框中输入文件名,即可将道具模板文件保存。 加载一个道具模板文件时,点击道具编辑器的主对话框的l o a d 按钮,即可 选择需要打开的道具列表文件。 4 2 2 道具编辑器的使用 当存在一个道具模板文件时,可以使用如下代码将整个列表加载到一个 s i t e m 的数组中去: s i t e mi t e m s 1 0 2 4 ;s i t e m 数组 打开默认道具模板文件 f i l e 幸f p = f o p e n ( “d e f a u l t m i l ”, r b ) ; r e a di na l li t e m s f o r ( s h o r ti = 0 ;i - - f o p e n ( “i t e m s n a i l ”, r b ”) ; 根据s r e m 结构的大小和所加载物件的编号 将文件指针移动到文件中的适当位置 f s e e k ( f p ,s i z e o f ( s i t e m ) i t e m n u m ,s e e k _ s e t ) ; 武汉理工大学颈士学位论文 读入到相应结构 f r e a d ( & i t e m , l ,s i z e o f ( s l t e m ) ,勒; 关闭文件 f c l o s e ( f p ) ; 4 3 道具管理系统 游戏中的每个道具往往依附于不同的对象,或者存在于游戏角色的惫裹中, 或者存在于某个场景的某个角落等待玩家去发掘。这就需要游戏系统有一个良 好的道具管理系统来记录和管理每个道具。 道具可以依附予一张地图,一个角色,或者甚至可以时候另外一个道具( 例 如宝箱,可能有一些其它的道具存放在里面) 。所以道具管理系统需要指定每个 道具的依附关系。另外,一个道具的所有者可以拥有一个道具的多个实例,例 如一个玩家可以拥有两件相同的衣服等。 遵具所有者的收藏称为道具清单列表,经商道其的实例都可以归属到这个 列表中来。( 道具并不属于所有者,因为道具可以买卖,以及玩家阅相互交易, 可以认为,所有者收藏了道具。) 、 道具管理系统和道具编辑器应该协同工作。编辑器中只保存了游戏世界中 每个道具的唯一实例,或者说是一类道具的模板,两道具管理系统中则使用了 道具的多个实例。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 镀锌钢管施工方案
- 2025年司法考试(司法鉴定案例)专项练习卷
- 网络直播平台安全排查整治方案
- 2025年县乡教师选调考试《教育学》真题及参考答案详解(培优b卷)
- 2025年心理面试测试题及答案
- 道路养护工安全操作规程
- 乌鲁木齐市2026事业单位联考-综合应用能力A类综合管理模拟卷(含答案)
- 大连市2026省消防救援系统干部-安全生产知识考核试题(含答案)
- 松原市2026事业单位联考-综合应用能力E医疗卫生模拟卷(含答案)
- 林芝市2026国家开放大学法学-期末考试提分复习题(含答案)
- 牙周病概述(口腔内科学课件)
- 安全员《C证》考试题库
- 北京市文物局局属事业单位招聘考试真题及答案2022
- 医院财务制度专家讲座
- 2023年上海市杨浦区中考一模(暨上学期期末)语文试题(含答案解析)
- 甲状腺病变的CT诊断
- GB/T 8834-2006绳索有关物理和机械性能的测定
- 1.《郑人买履》课件PPT
- GB∕T 36110-2018 文物展柜密封性能及检测
- 甘肃省生态功能区划
- 模拟电子技术基础 第四章 放大电路的频率响应
评论
0/150
提交评论