动画与游戏设计陈俊.doc_第1页
动画与游戏设计陈俊.doc_第2页
动画与游戏设计陈俊.doc_第3页
动画与游戏设计陈俊.doc_第4页
动画与游戏设计陈俊.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

动画与游戏设计课程报告 中国矿业大学计算机学院 11 级本科生课程报告课程名称 动画与游戏设计 报告时间 2014.6.27 学生姓名 陈俊 学 号 08113493 专 业 计算机科学与技术 任课教师 张辰 任课教师评语任课教师评语(对课程基础理论的掌握;对课程知识应用能力的评价;对课程报告相关实验、作品、软件等成果的评价;课程学习态度和上课纪律;课程成果和报告工作量;总体评价和成绩;存在问题等):成 绩: 任课教师签字: 年 月 日中文摘要飞机大战是滚动屏动作类游戏的一种,其中融入了很多动作类游戏特有的技术,并且画面流畅、声音震撼。当今网络发展迅速,益智类游戏被广泛运用到网络各大平台上。但是编码对于一个编程能力较弱的人来说不太容易实现,可是这又是否意味着不能实现自己第一款游戏呢?Game maker的出现解决了这个问题。这款软件是可视化的操作,很容易上手,按照教程学习,一个星期就可以完全设计出一个属于你自己的游戏本文利用Game maker开发思想对飞机大战游戏系统的分析、设计及实现过程。本论文的前半部分将简要介绍系统相关的行业信息及基础的技术知识,后半部分将对本人在系统各模块中所使用的关键技术的实现进行了全面的介绍。关键词(字):Game maker,可视化,飞机大战ABSTRACTWorld War II aircraft is a scrolling action game, which are integrated into a unique many action games technology, and screen smooth, sound and shock. In todays rapid development of the network, puzzle games are widely applied to various network platform. But the code for a programming ability weak people is not easy to achieve, but it also means cannot achieve their first game? Game maker solved this problem. This software is visual operation, easy to use, in accordance with the tutorial, we can design a belong to your own game a weekIn this paper, using Game maker development thought analysis, and design of aircraft war game system implementation process. The first part of this paper will technology based on relevant industry information and gives a brief overview of the system, the second part will realize the key technology used in all modules in the system were introduced.Keywords (words): Game maker, visualization, World War II aircraft目 录1.前言62.Game Maker的背景介绍72.1 系统的可行性82.1.1经济可行性82.1.2技术可行性82.1.3法律可行性82.1.4市场可行性83.游戏素材83.1开始界面游戏素材83.2第一关游戏素材83.3第二关游戏素材104. 游戏功能114.1初始界面设计114.2 第一关游戏设计134.3 第二关游戏设计135.设计具体操作155.1创建精灵155.2创建对象155.2.1创建事件对象155.2.2创建对象中的事件165.2.3游戏动作的设计175.2.4游戏各个关卡中用到的触发器分析195.3设计游戏关卡256. 软件生成267.发游戏过程中遇到的瓶颈268 .实验总结279. 参考文献271.前言随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。操作系统正朝着高处理能力、多功能、智能化的方向发展。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展。现在,游戏的类型也由最初的动作游戏和简单益智游戏向更复杂、更高智力,更具真实性的游戏发展。目前的游戏种类繁多,包括角色扮演、仿真模拟类、人工智能、休闲渲染类、网络类等等,甚至有的游戏包含了好几种类型。机战类游戏一直以来都很多。但仿真模拟类的游戏却有不少,现在休闲类的技术广泛的应用到很多游戏里面等等。飞机大战游戏是广泛人士喜爱的游戏,通过WSAD键控制方向SPACE键发射子弹,游戏中有加血道具与子弹升级道具。并有关卡BOSS等着与你死战。鉴于游戏的对社会的巨大影响力和光辉的发展前景,以及我们自己对游戏爱好,这次我决定尝试设计和制作一个具有一定可玩性的游戏。期间,我收集相关资料、研究同类型的游戏、阅读有关这类型游戏和相关技术性的书籍,通过制作游戏项目来熟悉游戏的制作思路、过程,加深对面向对象编程语言的掌握,培养自己的耐心、细心和考虑问题的全面性,同时解决本课题要完成的问题,如游戏框架如何构建,如何完善游戏的各种功能,如何能让游戏有音乐和音效的实现,如何能让游戏过关,如何能让游戏界面美观,看起服的感觉。2.Game Maker的背景介绍 Game Maker是一款拥有图形界面,可灵活编程,以2D游戏设计为主的游戏开发软件。Game Maker软件由Mark Overmars使用Delphi语言开发,现最新版本为Game Maker 8.1。游戏制作工具GameMaker的开发商YoYoGames于日前推出了旗下游戏制作工具GameMaker的HTML5版本。(可在官方网站查看)该版本将支持用户在任何平台上开发出能在任意HTML兼容浏览器上可运行的游戏。此次新版本被命名为GameMaker:HTML5。GameMaker:HTML5将会输出游戏到与HTML5相兼容的JavaScript,无需额外的插件或者额外的安装。这个新版本采用了与前GameMaker版本相同的用户界面以及拖放功能。此外,新版本中还加入了一些新的功能,包括TeamCollaboration。TeamCollaboration将可以支持多团队成员同时进行一个项目开发。GameMaker 最大的价值在于其内置的一套编程语言 The Game Maker Language (GML)。GML 高度概括了 2D游戏设计能用到的共通编程语句,往往浓缩为一个简短灵活的函数,是“文字版的按钮”,使设计游戏更为灵活。其与图形界面中的按钮有对应关系。使用按钮入门游戏制作的用户,可以从“我熟悉的按钮所对应的 GML ” 来进阶学习。举例:我们要做一个跟踪导弹。只需在导弹的循环动作中添加一行 move_towards_point(Enemy.x,Enemy.y,Speed)这样便做好了对 Enemy 跟踪的导弹,跟踪速度为 Speed。GML的潜在价值是不可估量的。在世界游戏开发领域,我们经常碰到这样的事情:大家在设计同一种游戏,却用的是不同编程语言,怎么交流呢?如同真实世界中,人们出现语言隔阂,可以用手势、表情与图画表达心意,程序员之间也可以用大家都理解的“伪代码”交流。GML 与这种“伪代码”相似甚至相等。从某种意义上讲,用 GML 表述出来的程序逻辑已经简洁到极端。当从事复杂的游戏设计时,使用 GML 来描述结构,其明晰程度可谓首屈一指。随着独立游戏制作界整体水平逐步提高,这种潜在价值将愈加明显。这些特色,使得一个 GameMaker 高级用户,即便是应付复杂游戏,也能以难以置信的高速制作;即使把游戏设计作为业余爱好,也能相对轻松步入最高阶段 对游戏引擎结构进行优化调整。这都归功于 GameMaker 作者出色的设计才能。2.1 系统的可行性2.1.1 经济可行性 本程序设计游戏所需要的资源和图片都可以从网上免费下载,不需要成本。因此具有经济可行性。2.1.2 技术可行性本程序对操作系统没有什么要求,是XP系统,Window 7/8/8.1皆可,对技术操作要求不高,但是需要很好的逻辑思维,现在的技术能够很好的实现。2.1.3 法律可行性本游戏设计关卡模块都由自己独立开发,不会出现侵犯版权等问题。不存在不良资源,因此具有法律可行性。 2.1.4 市场可行性本程序全面免费,可以推广使用,具有市场可行性3.游戏素材3.1开始界面游戏素材l 名称:background5简单描述:作为游戏开始界面背景;l 名称:yinxingwuti简单描述:一个开始游戏的贴图,当玩家鼠标左击此图片时会自动跳转到第一关;3.2第一关游戏素材l 名称:wan jia fei ji简单描述:玩家所要操控的飞机,用于发射wanjiazian击毁敌机得分,与敌机子弹或者敌机碰撞会受到伤害;l 名称:diji1简单描述:从屏幕上方向向下移动,与玩家飞机碰撞会造成伤害并且销毁,速度为3.5,自动循环出现l 名称:diji2简单描述:从屏幕上方向向下移动,会自动向前发射direnzidan,与玩家飞机碰撞会造成伤害并且销毁,速度为2.5;l 名称:diji3简单描述:从屏幕上方向向下移动,会自动向前发direnzidan2,与玩家飞机碰撞会造成伤害并且销毁,速度为2.5;l 名称:wutibaozha简单描述:当敌机被摧毁的时候应用在敌机身上,产生爆炸的效果;l 名称:zijibaozha简单描述:当玩家飞机被摧毁时应用在玩家飞身上,产生爆炸效果,与敌机爆炸效果不同;l 名称:direnzidan简单描述:以速度7向下匀速运动,碰到玩家飞机会造成伤害;l 名称:direnzidan2简单描述:以速度7向下匀速运动,碰到玩家飞机会造成伤害;l 名称:background2简单描述:作为第一关的关卡地图背景,以速度1向下匀速滚动;l 名称:yinxingwuti简单描述:一个隐形物体,用于设置一个音乐播放器,循环播放背景音乐;l 名称:tirgger简单描述:作为第一关的一个触发器,在里面设计飞机循环调用,构建玩家飞机的生命值和血槽还有得分。除此之外还有什么时候开始游戏,什么时候结束游戏,什么时候重新开始游戏;l 名称:UI简单描述:用于存放显示得分,血槽和生命值等;3.3第二关游戏素材l 名称:wan jia fei ji 2简单描述:第二关中玩家所要操控的飞机,用于发射wanjiazidan击毁敌机得分,与敌机子弹或者敌机碰撞会受到伤害;l 名称:wan jia fei ji 3简单描述:第二关中玩家吃到绿色弹药时产生的飞机,用于发射wanjiazidan1和wanjiazidan2击毁敌机得分,与敌机子弹或者敌机碰撞会受到伤害;l 名称:diji11简单描述:从屏幕上方向向下移动,与玩家飞机碰撞会造成伤害并且销毁,速度为3.5,自动循环出现l 名称:diji22简单描述:从屏幕上方向向下移动,会自动向前发射direnzidan11,与玩家飞机碰撞会造成伤害并且销毁,速度为2.5;l 名称:diji3简单描述:从屏幕上方向向下移动,会自动向前发direnzidan22,子弹会自动追踪玩家飞机进行射击,与玩家飞机碰撞会造成伤害并且销毁,速度为2.5;l 名称:diji4简单描述:从屏幕上方向向下移动,会自动向前发direnzidan3,子弹会自动追踪玩家飞机进行射击与玩家飞机碰撞会造成伤害并且销毁,速度为2.5;l 名称:wutibaozha简单描述:当敌机被摧毁的时候应用在敌机身上,产生爆炸的效果;l 名称:zijibaozha简单描述:当玩家飞机被摧毁时应用在玩家飞身上,产生爆炸效果,与敌机爆炸效果不同;l 名称:direnzidan11简单描述:以速度7向下匀速运动,碰到玩家飞机会造成伤害;l 名称:direnzidan22简单描述:以速度7向下匀速运动,会追踪玩家进行射击,碰到玩家飞机会造成伤害;l 名称:direnzidan3简单描述:以速度7向下匀速运动,会追踪玩家进行射击,碰到玩家飞机会造成伤害;l 名称:xue简单描述:以速度2向下匀速运动,与玩家飞机碰撞会补充飞机的生命值。 l 名称:danyao简单描述:以速度2向下匀速运动,与玩家飞机碰撞会使玩家飞机升级成玩家飞机3,发射不同方位的子弹。 l 名称:background3简单描述:作为第二关的关卡地图背景,以速度1向下匀速滚动;l 名称:yinxingwuti2简单描述:一个隐形物体,用于设置一个音乐播放器,循环播放背景音乐;l 名称:tirgger2简单描述:作为第二关的一个触发器,在里面设计飞机循环调用,构建玩家飞机的生命值和血槽还有得分。除此之外还有什么时候开始游戏,什么时候结束游戏,什么时候重新开始游戏;l 名称:UI简单描述:用于存放显示得分,血槽和生命值等;4. 游戏功能4.1初始界面设计初始界面比较简单,就是利用文本框写了游戏的名字飞机大战,在开始游戏这个文本上方设计了一个隐形物体,设置为不可见的,当鼠标左键开始游戏,其实是隐形物体时,游戏就会自动跳转到下一关。4.2 第一关游戏设计 在本关中,玩家飞机可以通过WSAD键来进行控制玩家飞机的上下左右移动,按下空格键就会射击出子弹攻击摧毁敌机,当玩家子弹和敌机子弹发生碰撞时会相互抵消;这是敌机1,不会发射子弹,会以3.5的速度向下匀速飞行;这是敌机2,会自动向前发射子弹,以2.5的速度向下匀速飞行;这是敌机3,这是敌机2,会自动向前发射子弹,以2.5的速度向下匀速飞行;当玩家飞机与这三种飞机碰撞到时会摧毁这些飞机,但是自己会受到伤害。当玩家飞机被敌机子弹击中时也会受到伤害。玩家飞机击杀敌机1获得10分,击杀的敌机2获得20分,击杀敌机3获得30分。当玩家分数超过200分的时候,游戏将会自动跳转到关卡2.4.3第二关游戏设计在本关中,玩家所操控的飞机鸟枪换炮了,换上了新的外形,但是功能和第一关的飞机本质上是一样的。本关卡设计比第一关要复杂了有些,在其中加入了一些随机生成的道具,比如说血球和弹药球:当玩家吃到血球时可以增加之前因为受到伤害而损失的生命值,当玩家吃到弹药的时候,玩家飞机2将会变成玩家飞机3,此时的玩家飞机3不仅会向前发射子弹,还会向左上和右上方向发射子弹。第二关总体来说要比第一关要难一些,具体表现在现在的敌机3和敌机4不再只向前方发射子弹了,它会自动向玩家所在的位置发射自子弹,瞄准玩家射击。于此同时,敌机4不再像其他飞机一样一下子就会被打死,玩家需要攻击很久才会摧毁敌机4.同时为了美观,我还设计飞机阵列,当一定时间后,飞机将会排着整齐的队伍一起飞过来,很油没干当玩家积分超过1000以后,本游戏自动结束,又或者当玩家生命全都消耗完了游戏就会结束,显示高分榜。以下是部分游戏截图: 5.设计具体操作5.1创建精灵 右击Sprite可以创建精灵,点击load sprite选择你要导入的精灵图片,点击ok即可完成精灵的创建。5.2创建对象5.2.1创建事件对象右击objiect 事件对象,导入刚才创建的精灵5.2.2创建对象中的事件 在创建的对象中添加一个新的事件,操作如下:l 创建事件:创建时间是当对象的实例被创建时触发的时间。他是对象实例第一个执行的时间,一般用来为实例设定特定变量,定义实例开始时的动作。l 破坏事件:破坏事件是当对象实例被删除时触发的时间。l 计时器事件:每个势力可以有12个记事起事件,可以精确控制对象实例在某个时刻发生某个动作,可以给时钟设置一定的动作,再给使职工设置一个倒数计时的步数,当步数到达时开始触发相应的时钟中的事件。l 步事件:步事件发生咋游戏的每步。可用于防治在哪些连续执行的动作。例如如果要使一个对象总是跟随另一个对象,可以在步事件下的动作里设置。l 碰撞检测事件:当两个对象实例发生碰撞时触发撞击事件。碰撞检测是游戏中非常重要的一部分,比如玩家子弹和敌机碰撞后就要用得到碰撞检测事件,可设置玩家子弹消失,被碰撞的敌机消失。l 键盘事件:当按下键盘键时触发相应的事件。每个按键可设置不同的事件。注意:当按住键盘不放手时,按键事件下的动作会一直执行。在本游戏设计过程中用到的最多的就是碰撞检测事件了,因为飞机不可能无限制的在生成,玩家要做的是利用子弹击毁敌机得分,那到底什么时候才开始击毁敌机呢,玩家飞机又怎样吃到弹药补充生命和弹药呢,这时候利用的就是碰撞检测了。举个例子,我在敌机12身上就设置了两个碰撞检测事件,一个是敌机12与玩家子弹发生碰撞时,要做的事件就是销毁敌机12,同时把玩家的子弹也销毁,然后利用创建动作在敌机被销毁的时候在相对敌机位置创建一个爆炸效果,同时改变玩家的得分。5.2.3游戏动作的设计l 固定移动 方向:单击箭头按键选中某方向,按键由蓝色变成棕色,确定移动方向,该选项窗口中还有移动速度的设置,如图: l 朝制定方向移动:该动作使用可朝着指定的方位移动,在游戏中的第二关中用到过,让敌机的子弹朝着玩家飞机的方位发射,如图:l 随机函数:random(room_width) 以云朵为例,为加深游戏的美观性,添加两片云朵使得游戏美观。云朵向下移动,当云朵从游戏画面最下方消失后会自动销毁,然后在x坐标随意,y=0处随机生成,再继续周而复始的出现下降,具体如图:5.2.4游戏各个关卡中用到的触发器分析l 第一关trigger如图:l 创建一个事件,执行的动作是建立分数为0,建立生命值为3,建立血液值100,设置时钟0在15步后触发,触发后创建wanjaifeiji;设置时钟1在15步后触发,触发后建立diji1, 750步循环一次;设置时钟2在45步后触发,触发后建立diji2,1200步循环一次;设置时钟3在300步后触发,触发后建立diji3, 4000步循环一次。l 设置一个检测每步分数的事件,当分数大于200时就自动跳转到第二关。l 当没有生命值时:显示排分榜,然后重新开始游戏。l 如果飞机生命值为0时:删除玩家飞机,重新建立玩家飞机,地点相对于消失的飞机位置不变;同时生命值减一,血槽加满。l 建立血槽,计分板和生命值的位置。l 第二关trigger2如图:l 创建一个事件,执行的动作是建立分数为0,建立生命值为3,建立血液值100,设置时钟0在15步后触发,触发后创建wanjaifeiji2;设置时钟1在15步后触发,触发后建立diji12, 300步循环一次;设置时钟2在45步后触发,触发后建立diji22,300步循环一次;设置时钟3在800步后触发,触发后建立diji4, 300步循环一次;设置时钟4在500步后触发,触发后建立三架并排的diji22;设置时钟5在520步后触发,触发后建立两架并排的diji33。设置时钟6在100步后触发,触发后建立xue, 400步循环一次。设置时钟7在120步后触发,触发后建立danyao, 1500步循环一次。l 创建玩家飞机2,同时设置全局变量wanjiacunhuo为1:设置全局变量的作用是当玩家死亡时发射自动寻找玩家位置的子弹找不到玩家从而出现问题。l 如果分数大于1000分时执行结束游戏命令,游戏直接结束。 l 没有生命值时:显示排分榜,然后重新开始游戏。l 如果飞机生命值为0时:删除玩家飞机,重新建立玩家飞机,地点相对于消失的飞机位置不变;同时生命值减一,血槽加满。l 建立血槽,计分板和生命值的位置。5.3设计游戏关卡首先你得构建好你这个游戏要设置几个关卡,像我由于时间仓促只设计了两个关卡。右击rooms创建一个新的房间,作为你的关卡,然后需要将你之前设计那些精灵物体添加到关卡之中,你现在所添加的位置将会是到时候游戏启东时物体所在的位置,因此你可以考虑一下,控制好距离。由于我是利用的时钟来调用创建物体,所以在此关卡之中你是看不到我所设置的物体的。在此我说下利用时钟调用的好处,那就是你不必特意去设计物体位置,毕竟地图也就这么点大,你不可能一下子就将所有希望它出现的物体全部排列在地图上。比如像是一些boss机,大家也都知道boss机肯定要到游戏快要结束的时候才会出来的。如此一来,用传统的排列位置是实现不了这个功能的,因此只能使用时钟调用,你可以在触发器里面设计一个时钟0,在4500步也就是150秒以后调用该时钟,该时钟的作用是创建boss机,每3000步循环一次,也就是每100秒循环创建一架boss机,增加了游戏的可玩性。6、软件生成6.1软件生成单击“文件”菜单中的Create Executable命令,弹出保存文件窗口,在窗口中输入youxizhizuo,制作的游戏将会被自动生成为.exe的游戏程序。至此为止,一个完整的游戏已经设计好了。7.开发游戏过程中遇到的瓶颈当电脑游戏被称为第九艺术,也许我们可以因此期待手机游戏会得到一个冠冕堂皇的称号因为手机游戏已经渐渐成为游戏业继网络游戏之后,又一座富饶的“金矿”,成为游戏市场中一颗冉冉升起的新星。但是现在,用“简陋”一词来形容现今的手机游戏并不为过,因为玩家大多无法对那个手掌里的小屏幕集中太多的注意力,特别是手机游戏的分辨率还很低,很容易让人想到十几年前的红白机游戏时代。这是以时尚标榜自己的年轻人无法接受的。而且现在很多手机用户对于手机游戏的认识还停留在经典的“贪吃蛇”,所以那些所谓的手机游戏实在让人提不起什么兴趣来。虽然新手机还不是最理想的游戏平台,但它已经是个良好的开端。处理器、内存和色彩深度提供了游戏开发所需的因素。开发者正努力把其它游戏平台上的质量标准运用到这个平台上。当然了,一些问题仍然存在,然

温馨提示

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

评论

0/150

提交评论