计算机毕业论文---基于RMXP的RPG游戏设计与实现.doc_第1页
计算机毕业论文---基于RMXP的RPG游戏设计与实现.doc_第2页
计算机毕业论文---基于RMXP的RPG游戏设计与实现.doc_第3页
计算机毕业论文---基于RMXP的RPG游戏设计与实现.doc_第4页
计算机毕业论文---基于RMXP的RPG游戏设计与实现.doc_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

届 别 2011届 学 号 200714070225 毕业设计(论文)基于RMXP的RPG游戏设计与实现姓 名 曾 灏 靺 系 别 、专 业 计算机科学系、计算机科学与技术 导 师 姓名、职 称 李 军(讲 师) 完 成 时 间 2010年 月 日 目 录摘要Abstract 1 绪论11.1 选题背景和国内外动态11.2 游戏设计方法和实现的主要目标1.3 后续章节的编排2 游戏开发平台和主要技术简述 2.1 Ruby语言 2.1.1什么是RGSS/RGSS 2? 2.1.2脚本(Script) 2.1.3 RGSS/RGSS 2中的脚本 2.3 Rpg MakerXP介绍2.4 Photoshop介绍2.5 Particleillusion介绍3 RPG游戏设计技术及目标3.1 RPG游戏的概念3.2 RPG游戏的特性3.3 游戏的策划 3.3.1 游戏的主题 3.3.2 游戏的风格 3.3.3 游戏的剧本3.4素材的选取和动画设计 3.4.1 素材的处理3.4.1.1 场景地图的选取3.4.1.2 音乐的选取 3.4.2 动画的制作4 少年行游戏系统的设计与实现 4.1 系统概述 4.1.1 故事梗概 4.1.2 游戏美工 4.2 系统功能的实现5 游戏系统的测试总结参考文献致谢摘要现今电脑游戏已经成为了人们休闲娱乐的主要方式之一,角色扮演游戏(Role Playing Game-RPG)更是为人们提供了远远超出现实生活之外的广阔的虚拟世界,玩家能够在游戏中扮演各种不同的角色并以该角色的身份去经历和体验各种不同的人生旅程,参与那波澜壮阔或悬疑奇幻的历史当中。因而深受人们的喜爱。论文首先对RPG游戏进行概述,并介绍了选题背景和国内外动态,游戏的设计方法和主要实现的目标。然后介绍了整个RPG游戏的制作流程,包括了游戏策划,素材的加工和动画制作等。在游戏策划方面,通过游戏主题的确立、风格、剧本设计三个方面对其进行阐述。最后通过一个具体的RPG游戏系统的设计与实现来对本课题的关键技术进行阐述,并引用了一些实例来详细介绍RGSS脚本系统在游戏制作中的作用。关键词:RPG 游戏制作 脚本 RMXPABSTRACTToday computer games have become a one of the common way of peoples main entertainment, role-playing games (RPG) is provided for people outside of real life, far beyond the vast virtual world, players can be in the game and a variety of different roles to play to the role and experience as to experience a variety of lifes journey, in that magnificent historical fantasy or suspense among. And therefore very popular. Firstly, an overview of the RPG games, introduces the research background and the domestic and international trends, game design and the main goal. Then introduced the RPG game of the production process, including game design, material processing and animation. In the game planning, the establishment of the theme through the game, style, script design elaborates three aspects. Finally, an RPG game system specific design and implementation to on this topic describes the key technologies, and cited some examples to detail RGSS script systems role in the game production. Keywords: RPG game production script RMXP 1 绪论1.1选题背景及国内外动态随着当今社会的发展,工作学习压力大成为了一个不可忽视的问题。而很多人选择玩游戏来调剂心情,疏解压力。一款好的游戏不仅能放松玩家的心情,同时也能或多或少地在玩家的心中留下点什么。而纵观现今的主流游戏,RPG-角色扮演游戏绝对是游戏界的常青树.最古老的游戏类型。也最具生命力。一个RPG游戏由故事主线、人物角色.特定环境及完整情节等组成。一部优秀的RPG作品.可以使玩家全身心投入.领略其深刻内涵。这绝非如小说和电影般仅给观众带来视觉的享受和冲击。不久前.听到有人说RPG(角色扮演游戏)将要退出历史的舞台.因为现在的网络游戏几乎完全代替了RPG游戏.对此.我绝对不赞同.说这话的人实在是太低估了RPG在玩家心目中的地位.或者说根本就不了解RPG。纵览当今的商业大作,厂商基本上把大量的人力物力投入到了游戏引擎的开发和画面的渲染上,而往往忽视了游戏最重要的东西,那就是内涵。我认为这是游戏制作过程中必须考虑并深思的,游戏不要把所有的重头都放在消遣上,应该在游戏里多注入一些知识,地理.历史.人文都可以涉及到!这样玩家在游戏的同时也能增长自身学识,同时也大大地丰富了游戏的内容。其次就是要有详细人性化的操作系统,不要让玩家觉得枯燥,要让玩家有种只有想不到,没有做不到的事情.一个游戏的故事背景也很重要,因为它决定了这款游戏的发展方向,是武侠,魔幻,还是神话,当然这要有新颖的构思,要不然也是吸引不到眼球的.最后就是游戏最基本的东西了,例如:制作,画面,音乐 等。对一个游戏来说,画面界面的好坏决定了玩家入手时的第一感觉,其次音乐也是一个非常重要的元素 ,良好的音乐能大大加强游戏的表现能力,这也玩家评价一款游戏是经常提及的。1.2 游戏设计方法和实现的主要目标本课题选取了rpgmaker这款独立游戏制作工具来实现一rpg(Role Playing Game)角色扮演游戏的设计,他拥有高精度的画面以及灵活及强大的脚本系统。用 RMXP 制作完成的游戏,脚本是以 Ruby 语言编写的。预先编写的脚本可以制作十分独特和有趣的游戏,Ruby Game Scripting System(简称RGSS),中文意思就是:Ruby游戏脚本系统,是一个脚本性质的游戏编程系统,它是为了更高级的游戏制作需求准备的,使用它可以进行画面设计、编写战斗系统,以及一切的游戏要素。而本论文中就详细介绍RGSS脚本编程系统在游戏中的应用,它涉及到了游戏制作各个方方面面。还有Photo Shop和Particleillusion等软件的运用,利用PS处理一些商业素材以应用到游戏中,灵活运用Particleillusion制作战斗动画等。本课题的重点就是用rpgmaker 制作一款剧情动人,画面精美的小型rpg游戏。利用rmxp强大的事件管理系统制作出情节丰富的游戏内容。独立制作并借鉴一些商业素材,利用ps的图像处理工具加工美化游戏内容。借用rmxp强大的脚本编辑系统对游戏的各方面进行处理,力求做出一款情节丰富,设计独到,画面精美的新颖rpg游戏。1.3 后续章节的编排本论文根据RPG游戏设计的常用步骤,分几个章节详细介绍和分析了整个游戏的制作过程。各个章节的安排如下:第一章为论文的绪论部分。这部分介绍了选题背景及国内外动态,并介绍了游戏的设计目标和所走的技术路线。第二章主要介绍了游戏设计所采用的技术,主要包括对Rpgmaker软件,ruby语言及RGSS脚本系统及PS等图像动画处理工具的介绍。第三章根据游戏设计的特点,结合现实主流游戏,着重介绍了RPG游戏设计的技术与目标。第四章为少年行整个游戏系统与实现,对整个系统进行了分析,并给出了大部分功能实现的方法。第五章为整个游戏的测试与总结,主要介绍了游戏制作后期的测试和对整个制作过程的总结。2 游戏开发平台和主要技术简述本游戏是采用Rpgmaker XP(即游戏制作大师)这款软件来进行设计的,制作过程中主要运用了Ruby语言,RGSS脚本编程系统,Photo Shop和Particleillusion等技术和软件。下面就这些内容进行细致大的介绍。2.1 Ruby语言Ruby是一种功能强大的面向对象的脚本语言,它可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C+这样正式的面向对象语言来开发一些小项目显得有点小题大做,而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程.Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了.简而言之,你以像使用Perl一样方便快捷地进行面向对象的开发.Ruby是由松本行弘开发的免费软件. 作为一款年轻的语言,Ruby有这它区别有其他语言的优点: 语法简单 普通的面向对象功能(类,方法调用等) 特殊的面向对象功能(Mixin,特殊方法等) 操作符重载 错误处理功能 迭代器和闭包 垃圾回收 动态载入(取决于系统架构) 可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上 2.11什么是RGSS/RGSS 2 Ruby Game Scripting System(以下简称RGSS),中文意思就是:Ruby游戏脚本系统,是一个脚本性质的游戏编程系统,并不是整个游戏都用它来生成,RGSS所能做的只是一些有限的功能,而这些功能,是由厂家也就是EnterBrain所规定的,我们只能在自己力所能及的范围内来挖掘RGSS的潜力,RGSS 2则是在RGSS的基础上扩充和删减了一部分形成的,也可以称之为RGSS的换代版本,是RMVX所使用的 2.1.2脚本(Script): 脚本这个概念应用的范围很广,Windows系统里就有VBScript,JavaScript,WScript等脚本程序,Unix系统也有很多Perl,C等脚本程序,脚本可以解释为是一种系统内用来实现一些特定功能的有着局限性的编程环境.有的脚本可以触及到系统底层,有的却只是完成一些运算或者控制流程的功能,这取决于脚本系统的权限,也可以说取决于脚本系统所提供的库函数功能. 2.1.3.RGSS/RGSS2中的脚本: 在RPG Maker XP/RPG Maker VX(以下简称RMXP/RMVX)中,按F11就可以打开脚本编辑器,不过RM2003或更早的版本却没有这个功能,左边的窗口是脚本列表,右边的窗口是脚本内容,左下角可以修改脚本名称. 在RMXP/RMVX中,游戏开始运行后,总是从最上边的脚本开始运行,依次往下,所以,经常把变量声明、类声明、函数声明、函数定义的脚本放在上面,而MAIN脚本总是放在最后.2.3 Rpg MakerXP介绍RPG Maker XP 是由日本 Enterbrain 公司开发的一款 RPG 游戏制作软件。它可以使一个不懂编程的人也能做出精美的 RPG 游戏来。新的 XP 版本中强化了画面的表现对素材已经没有限制了完全真彩色的画面。另外加入了 RGSS 脚本系统,可以独立定义更改游戏的系统。RMXP的主要特点:高精度的画面 支持 640480 像素分辨率 32 色真彩色图像。完全对应 Alpha Channel(每个像素的透明度),光滑的透过处理,柔和的半透明表现。画面的合成方法也增加了通常的半透明合成、加算合成和减算合成。而且字型自动映射,粗体不再引人注目。使用软件的音乐播放 作为 BGM,主要使用 DirectMusic Synthesizer 的 MIDI 播放。因为以软件播放,所以不能用其它格式代替,音乐素材的制造人没必需考虑对各种 MIDI 音乐的对应。在制作过程中能被正常播放的 MIDI 文件,同样可以在其它环境中正常播放。灵活且强大的脚本系统 用 RPGXP 制作完成的游戏,脚本是以 Ruby 语言编写的。预先编写的脚本可以制作十分独特和有趣的游戏,它是为了更高级的游戏制作需求准备的,使用它可以进行画面设计、编写战斗系统,以及一切的游戏要素。运用脚本制作 RPG 以外类型的游戏也是可能的。2.4 Photoshop介绍Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。从功能上看,Photoshop可分为图像编辑、图像合成、校色调色及特效制作部分。 PHOTOSHOP界面图像编辑是图像处理的基础,可以对图像做各种变换如放大、缩小、旋转、倾斜、镜像、透视等。也可进行复制、去除斑点、修补、修饰图像的残损等。这在婚纱摄影、人像处理制作中有非常大的用场,去除人像上不满意的部分,进行美化加工,得到让人非常满意的效果。图像合成则是将几幅图像通过图层操作、工具应用合成完整的、传达明确意义的图像,这是美术设计的必经之路。photoshop提供的绘图工具让外来图像与创意很好地融合,成为可能使图像的合成天衣无缝。校色调色是photoshop中深具威力的功能之一,可方便快捷地对图像的颜色进行明暗、色编的调整和校正,也可在不同颜色进行切换以满足图像在不同领域如网页设计、印刷、多媒体等方面应用。特效制作在photoshop中主要由滤镜、通道及工具综合应用完成。包括图像的特效创意和特效字的制作,如油画、浮雕、石膏画、素描等常用的传统美术技巧都可藉由photoshop特效完成。而各种特效字的制作更是很多美术设计师热衷于photoshop的研究的原因。而本游戏制作中主要采用了Photoshop中的图像编辑和特效制作功能,美化及制作素材。2.5 Particleillusion介绍particleIllusion(官方简称为pIllusion;中文直译为粒子幻觉),是一个主要以Windows为平台独立运作的电脑动画软件。pIllusion的唯一主力范畴是以粒子系统的技术创作诸如火、爆炸、烟雾及烟花等动画效果。Particle illusion 是一套分子效果系统及合成影像工具,不同于一般所看到的罐头火焰、爆破、云雾等效果,其快速、方便的功能及有趣、多样化的效果,其所创造的视觉效果,可让您叹为观止。Illusion 现已大量的应用在电影制作、电影特效上,身为动画师及制作人的您,绝对不可错过的好工具。Illusion的2D工作接口非常的容易操作 - 其完善的工作区显示您现在所进行的操作。其中新增的效果,您可以直接从放射 (Emitter) 数据库中选择任何的效果并放入工作区中。您多少希望改变一些不同的效果,没问题! 决大多数的放射 (Emitter) 的属性都可以让您从工作区中改变参数并立即显示出其结果。或是您希望进一步的更改其属性,在其属性对话框中您可以找到所有放射 (Emitter) 效果的属性;同样的,您所作的任何更改都可以实时的预览。Illusion 中所见即所得的窗口,并不因 2D 的工作环境而限制其效果。Illusion 支持多阶层及其相关的功能,可让您整合其效果至您的 3D 环境或影片中。除此之外,Illusion 还可以建立 alpha channel 影像,您还可以跟其它的软件进行影像合成。Illusion 的快速! 并不像一般 3D 软件在产生火焰、云雾或烟等效果时,需要大量的运算时间。Illusion 在产生相同的效果时,可节省您许多的时间。主要是 Illusion 是利用一个分子影像来仿真大量的分子,如此一来可节省您的计算及着色的时间。利用这样的影像式分子效果,其所产生出的效果,可让您叹为观止! 好比说,利用一只小老鼠 ,来产生一大群小老鼠的动画。或是使用公司的名称或标志,来产生各种的分子运动。Illusion 可支持 OpenGL。Illusion 的强大功能并不需要特别的 3D 绘图加速卡,但若是您的显示卡有支持 OpenGL,您更可将 Illusion 发挥的淋漓尽致。 particleIllusion新增了许多新的粒子效果,动感的线条尤其出色。3.RPG游戏设计技术及目标3.1 RPG游戏的概念RPG游戏首先是一种娱乐性行为,在自由竞争愉悦的条件下调动玩家的兴趣,使玩家为达到预期的目标而努力的行为。世界观和规则是游戏的先决条件。设计游戏就是设计另一个世界,创造一个世界的法则。游戏之所以能让玩家感到兴趣,源自生物体征的自我奖励机制。游戏是基于本能的无意识的学习并和娱乐联系起来,通过这种愉快的娱乐性行为逐步培养丰富的知识和强健的体魄,学习各种生活技巧和生存的策略,游戏是生物的一种本能,也是一种有效的生存途径,游戏很容易被理解和吸收,是一种强有力的学习工具,甚至影响人的性格,人生观和价值观的形成。游戏的本质是生物体本能的无意识的产生,经由不同的社会环境和生存环境产生的适应性的行为,以求得平和和顺应的一种结果。成功的游戏在故事的各个方面都具有高度的完整性,世界组成上包括:故事背景、政治、经济、道德、法律、阵营、派别、种族、国家。此外,游戏要具备高度平衡,也就是具有完善的游戏规则:职业平衡、阵营平衡、收益平衡、技能平衡等。还要具备强烈的感染性:抓住玩家心理,使玩家沉浸于游戏之中,玩家应该能够体验到游戏主人公在游戏里体验到的一切。3.2 RPG游戏的特性游戏的特性简单来讲分为以下几个方面:游戏性:游戏性是指激发游戏特有乐趣与体验的必要元素的集合,是用来衡量、评判玩家在某一特定游戏中的体验的指标。交互性:游戏区别于其他媒体的特征就是交互性,它可以指人与人的交互和人与机器的交互,还可以指交互过程中彼此的影响。交互设计直接影响到玩家对于游戏的感受,直接影响到游戏的核心概念能否完全传达给玩家,交互性属于媒介的部分。趣味性:凡是能够获得快乐的事物,均含有趣味性特征。在游戏特性里,它可以被看作是一种基于游戏而产生的体验和情感,是一种自发的乐趣。教育性:游戏是一种原始而有效的学习机制,在人类成长的过程中,游戏影响着他们的性格塑造和技能养成,同时也会影响人生观和价值观的形成。游戏的教育性具有不可忽视的力量。可玩性:可玩性可以理解为游戏具备可操作性,也可被认为是游戏系统的可用性,即实现游戏系统的娱乐意图。基于游戏的这几个特点,我们在设计游戏的进行策划时候就要重点考虑着几个方面的内容,这样才能获得更好的市场。3.3 游戏策划制作游戏大致可分为美工、程序还有策划,假如把一款游戏比作是一个人体。简单的来说,美工是人体的皮肤,程序是人体的骨架,那么策划就应该是人体的灵魂了。举个例子,一个人好不好看,吸引吸引人,首先要看他的皮肤,其次是骨架,最后才是灵魂。美工的工作就是要根据不同“人物”的灵魂画出不同的皮肤来给玩家观看。如果这个人缺胳膊少腿,那么可能会嫌弃它,更不愿去接受。当然,如果一个“人”没有灵魂,毫无生气,我想没有一个玩家愿意与这样的“人”交朋友吧?所以,游戏策划是游戏制作中的一个十分钟的的步骤,能赋予一个“游戏”以灵魂。游戏策划是一个游戏最基本也是最先要考虑的。一款游戏是否迎合市场的需要,到底该怎么设计,如何才能吸引玩家,开发所需要的成本等等,这都是游戏策划时应当考虑的问题,而一款游戏是否受到欢迎,其实很大程度上取决于这款游戏的策划是否成功精彩。3.3.1 游戏的主题 设计一款游戏时,一般首先要考虑的是确立游戏的主题。即故事发生的背景,游戏所要表达的一些东西等等。譬如国产角色扮演游戏仙剑奇侠传,它选取了仙侠传说的背景,而基本上讲述的都是主角仗剑走天涯而引发的一系列恩爱情仇。而仙剑每一代的主题也不尽相同,例如一代的宿命,二代的宽恕,三代的轮回.好的游戏主题能更大的激发玩家的兴趣,也是一款游戏是否有内涵,玩过之后是否值得回味的重要所在。3.3.2 游戏的风格不同的游戏基本上都是有着不同的风格的,这也是他们的区别之所在,风格包括很东西,首先给我们第一印象的当然是画风,其次是音乐,然后还有各种各样的细节,这样不同方方面面就组合成了一款游戏的风格。我们在设计游戏的时候应当注意整个作品的风格走向。例如假如我们游戏的背景设定在中国古代,那么我们最好采用水墨风格的画面,选取一些古色古香的背景音乐,而且设计对话的时候也尽肯能的少出现现代词汇等。3.3.3 游戏的剧本 在现今的角色扮演游戏中,游戏剧情在游戏中的比重越来越大,游戏剧本也渐成为游戏的灵魂和骨架,剧情引人入胜,感人至深一直都是各大游戏厂商吸引玩家的常见手段。所以选取一个好的吸引人的剧本也是十分重要的。3.3.3 游戏的剧情有些人会问了,剧本和剧情有什么区别吗,为什么要分开写,在我看来,剧本那其实就是一个本子,里面写了一些对白以及对场景的基本布置,而剧情则更为细化,或许这些在拍戏的时候分的不是很明显,但游戏里却必须抑扬顿挫,分别鲜明。首先,游戏会按照剧本的要求,设置好对应场景,建立人物位置的初始化,以及对应事件页的内容,然后突出的就是一个“情”字,你要尽量的通过生硬的图片“演员”来演绎你脑中的一幕幕悲伤或者快乐,关键字为-细节,人物表情的某个动作,某一帧的等待时间,再或者音效的搭配,这些都需要一遍一遍的导演知道你满意为止。如上所示,这就是剧情。 3.4 素材的选取和动画设计 设计一款游戏,需要各种各样的素材,例如人物头像,地图,物品图标等图像素材,战斗动画中需要的大量的动画素材。我们一般在网上很难找到匹配或者满意的东西,这样我们就需要对现有的素材进行加工,或者自行制作。游戏的良好的界面风格和效果华丽的动画能给人留下深刻的印象。3.4.1 素材的选取游戏的制作离不开素材,而素材至少可分为和图像素材和声音,我们现在在这里讨论下游戏中场景地图的选取和声音素材的选择。3.4.1.1 场景地图的选取就场景地图而言,应该与游戏的剧情以及人物所处的历史环境联系起来,譬如,宋朝的人不能出生高楼大厦里面,这样就与实际不符。当然古代的某些时候历史的衔接是不大明显的,如果你的游戏的题材属于玄幻类,那么我觉得朝代的差异就可以反应的更模糊一些,但是一定要是古代的场景才可以。另外地图与地图的风格一定要相同,最起码也要相近,现在在玩一些小游戏的时候,往往会碰见上一张还是写实风格的地图,鸟语花香,下一张就变成水墨风格了,这样的游戏在玩的时候会给人一种急转直下的感觉,所以说,地图之间的风格差异太严重的话会让人玩起来不舒服不连贯,同时会显得太业余。最后说一下接口入口的问题,例如,当前场景地图1的出口是冲南的,那么进入下一张地图的时候人物出现时就应该处于地图2的北方,面朝下,这才符合空间的逻辑性,这里也是关键。一款好的游戏就是这样的细节慢慢的堆砌起来的。3.4.1.1 音乐的选取对于游戏中声音素材的选择,音乐一定要融合于当前游戏的历史背景以及当前的剧情,不能说正在进行的是感伤压抑的剧情,音乐响的却是欢快激昂的。然后就是音乐素材的选取,素材的音质要尽量的高,压缩尽可能好,最好能选择占空间小的格式的音乐。如同一首曲子,选MP3格式要比MIDI格式的大好几十倍。游戏不是越大越好,而是制作的越精越好,而且音乐的风格自始至终也要有所联系,同样的古典音乐,开始的时候是民族乐器演奏后期却变成了交响乐来衬托,这样也是不行的。另外音乐不要过分的多样化,一场剧情就好比一场戏,基本上基调符合就行了,没有哪个电影会在一场戏里为了体现演员的心情而上气不接下气的播放好几种背景音乐的,游戏也如此,听觉疲劳有时候比视觉疲劳还可怕。3.4.1 动画的制作就游戏中的动画而言,分为战斗动画和动作动画等,战斗动画可以设计成效果华丽的全屏动画,也可做成细致精巧的类型。但关键的是整个动画看起来流畅,不要给人十分生硬的感觉。对particleIllusion的粒子库的合理运用,能满足动画设计的绝大部分需求。4 少年行游戏系统的设计与实现4.1 系统概述 4.1.1 故事梗概少年行游戏背景发生在以斗气、斗技功法为主的斗气大陆,斗气大陆由四个帝国组成,分别是伽玛帝国、出云帝国、落雁帝国、幕兰帝国。不同属性的斗气、功法斗技,可施展出不同的华丽的招式,在斗气大陆上,斗气大陆之人通过修炼及搜集功法、斗技,来提升自己的实力,人人都追求更高境界的功法和斗技。本作在原著的世界背景下进行了详细的深化,就如小说介绍的世界一样:这里是属于斗气的世界,没有花俏艳丽的魔法,有的,仅仅是繁衍到巅峰的斗气!在斗气大陆,真正的强者都是用实力说话的!根据斗气等级的不同,分别有11个阶段为:初阶(斗之气凝聚前),斗者、斗师、大斗师、斗灵、斗王、斗皇、斗宗、斗尊、斗圣、斗帝。每一阶段分别有1-9星,代表其实力等级,并将功法的等级,由高到低分为四阶十二级:天、地、玄、黄,每阶分初、中、高三级。游戏之初,玩家所在斗气大陆便是硝烟四起,各种大大小小的势力进行着猛烈的扩展与灭亡。游戏中玩家扮演的正是一名处在冲突顶端的小说主角萧炎,通过不断冒险、修炼与收集的方式提升自己实力,为了儿时的梦想与少年的承诺,去挑战横亘在面前的一座座高峰险阻。 4.1.2 游戏美工游戏在制作工程中,很多地方时需要用一些图像处理工具区进行修饰和美化的,下面就几个实例配合图片进行说明。比如我们先载入游戏中的一幅城镇图:假如我们想要下雪之后城镇的特点,我们可以用PS进行简单的修饰来达到想要的效果。这里处理方法非常简单。我们以大树为例:用Photoshop打开,用RGB模式,复制一层大树,然后使用“图像调整阈值”,把你希望下雪的部位变白。然后用魔棒选中全部黑色部分删掉。然后对所有图像上的原件进行相似的处理,大致可以得到如下效果:4.2 系统功能的实现下面详细分析几个实例来介绍RGSS在游戏制作中的运用:一动态背景我这里介绍的动态背景是利用平面类(PLANE)也就是通常用来做远景的类来实现游戏菜单动态显示的效果。1。首先我们打开RMXP的脚本编辑器,找到Scene_Menu在def initialize(menu_index = 0)里,END之前添加两句脚本back = Plane.new back.bitmap = RPG:Cache.panorama(003-StarlitSky01,0)back只是一个变量名,随意取即可,选择panorama,就是用远景图,后面里的是文件名,XP的还要带一个参数0,是色相,我们在这里就没必要调节了。2。释放在 # 释放窗口 的下面加上 back.dispose因为我们在上面新建了一个变量back,所以在下面的脚本中需要它释放。3.移动这个是最关键也是比较简单的一步,找到def update加一句back.ox += 1,即可实现背景的横向移动#移动方法很多种把oy参数也加进去,基本可以实现朝各个方向移动,至少8方向不是问题甚至可以制作两个背景同时朝不同方向移动,这样我们就可以做出不同显示方式的动态背景。4。调整做到这一步的时候我们一般还看不到效果因为原本的菜单挡住了背景这里有很多种方法可以去掉窗口,自制漂亮的菜单也可以降低窗口的透明度,使背景显示出来,完全个性的操作这里我们选择把所有窗口透明度下降到0找到 # 生成状态窗口 status_window = Window_MenuStatus.new status_window.x = 160 status_window.y = 0这几句在其下面加上 command_window.back_opacity = 0 playtime_window.back_opacity = 0 steps_window.back_opacity = 0 gold_window.back_opacity = 0 status_window.back_opacity = 0保存游戏。进入菜单看一看,我们就可以得到动态显示的游戏背景。二探索地图有的玩家在游戏中以探索地图为乐,这样我们设计脚本来查阅已探索地图的百分比,显示角色到过的地方(角色没有到过的地方),这样对玩家就有更好的激励和指导作用。 1,基本思路 将移动过的坐标放到一个数组中,然后看看当前坐标是否存在于数组中。 2,方法 #先选取一个已经生成的类生蛋,我用的是class Game_Variables attr_accessor:ma ma= def 当前坐标 #数组中是否有当前坐标 x=$game_player.x y=$game_player.y if $game_variables.ma.include?(x,y) = true #如果已经移动过的地方 return $game_variables.ma#以数组来返回,方便数组的调用 end else #如果不包括这个坐标 $game_variables.ma.push x,y#就把坐标推到数组中 end3,实验 1,在一个并行处理的事件上写“$game_variables.当前坐标” 2,做个道具,连接公共事件“$game_variables.ma” 说明:“$game_variables.当前坐标”是方法,$game_variables.ma是这个方法的情况。我们只要看看$game_variables.ma这个数组中是否有角色移动过的坐标,然后看看有没有重复的坐标,如果是的,实验就成功了。我们就可以通过道具,获得我们去过什么地方,走的路线是什么。三怒气槽表示现在许多游戏都引入了怒气系统,就是主角在受到伤害时能增加怒气,进而用怒气释放出强大的技能,下面就介绍游戏中的怒气系统的表示方法。主要代码如下:def draw_hp_store_bar(actor,x,y)width = 100w = actor.hp_storewhite = Color.new(225,225,225,225)black = Color.new(0,0,0,200)self.contents.font.color = Color.new(225,-215,-225,200)#描绘白色框条self.contents.fill_rect(x+40,y,width,1,white)self.contents.fill_rect(x+40,y+12, width, 1,white)self.contents.fill_rect(x+40,y,1,12,white)self.contents.fill_rect(x+139,y,1,12,white)#描绘黑色条 self.contents.fill_rect(x+42,y+2,width-4,10,black)#描绘怒气槽 val = 245*actor.hp_store/100 green = 255 - val blue = 255 - val color = Color.new(255,green,blue,200) top_color = Color.new(255,green+10,blue+20,200) back_color = Color.new(255,green-10,blue-10,200) self.contents.fill_rect(x+41,y+5,w-2,3,color) self.contents.fill_rect(x+41,y+1,w-2,4,top_color) self.contents.fill_rect(x+41,y+7,w-2,5,back_color) #描绘文字 self.contents.draw_text(x+120,y-10,20,20,怒)end下面是描绘前后的对比: 四被动技能的实现现在许多游戏中都有许多强大而华丽的需要主动释放的技能,一般需要消耗魔法值或者体力等,我想能不能做出像魔兽中的那种被动技能,即不需要触发即自动生效的技能,思路是在类Game_Battler定义一个技能变量skill,建立一个数组存放变量skill,然后返回变量skill的值。class Game_Battler def skill?(skill_id) skills|= return skills.include?(skill_id) endend上面的只是实现被动技能脚本的核心部分,假如我们想实现自动回血这个功能,class Game_Battler def skill?(skill_id) skills|= return skills.include?(skill_id) endendclass Scene_Battle def update_phase4_step1 # 隐藏帮助窗口 help_window.visible = false # 判定胜败 if judge # 胜利或者失败的情况下 : 过程结束 return end # 强制行动的战斗者不存在的情况下 if $game_temp.forcing_battler = nil # 设置战斗事件 setup_battle_event # 执行战斗事件中的情况下 if $game_system.battle_interpreter.running? return end end # 强制行动的战斗者存在的情况下 if $game_temp.forcing_battler != nil # 在头部添加后移动 action_battlers.delete($game_temp.forcing_battler) action_battlers.unshift($game_temp.forcing_battler) end # 未行动的战斗者不存在的情况下 (全员已经行动) if action_battlers.size = 0 # 开始同伴命令回合 start_phase2 return end # 初始化动画 ID 和公共事件 ID animation1_id = 0 animation2_id = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论