文档详情

动画与游戏设计陈俊

wuli****0220
实名认证
店铺
DOC
2.33MB
约27页
文档ID:166850901
动画与游戏设计陈俊_第1页
1/27

中国矿业大学计算机学院 11 级本科生课程报告课程名称 动画与游戏设计 报告时间 学生姓名 陈俊 学 号 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 today's 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. 参考文献 27    1.前  言随着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:HTML5GameMaker:HTML5将会输出游戏到与HTML5相兼容的JavaScript,无需额外的插件或者额外的安装这个新版本采用了与前GameMaker版本相同的用户界面以及拖放功能此外,新版本中还加入了一些新的功能,包括TeamCollaborationTeamCollaboration将可以支持多团队成员同时进行一个项目开发GameMaker 最大的价值在于其内置的一套编程语言 —— The Game Maker Language (GML)GML 高度概括了 2D游戏设计能用到的共通编程语句,往往浓缩为一个简短灵活的函数,是“文字版的按钮”,使设计游戏更为灵活。

其与图形界面中的按钮有对应关系使用按钮入门游戏制作的用户,可以从“我熟悉的按钮所对应的 GML ” 来进阶学习举例:我们要做一个跟踪导弹只需在导弹的循环动作中添加一行 move_towards_point(Enemy.x,Enemy.y,Speed)这样便做好了对 Enemy 跟踪的导弹,跟踪速度为 SpeedGML的潜在价值是不可估量的在世界游戏开发领域,我们经常碰到这样的事情:大家在设计同一种游戏,却用的是不同编程语言,怎么交流呢?如同真实世界中,人们出现语言隔阂,可以用手势、表情与图画表达心意,程序员之间也可以用大家都理解的“伪代码”交流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.开发游戏过程中遇到的瓶颈当电脑游戏被称为第九艺术,也许我们可以因此期待游戏会得到一个冠冕堂皇的称号——因为游戏已经渐渐成为游戏业继网络游戏之后,又一座富饶的“金矿”,成为游戏市场中一颗冉冉升起的新星 但是现在,用“简陋”一词来形容现今的游戏并不为过,因为玩家大多无法对那个手掌里的小屏幕集中太多的注意力,特别是游戏的分辨率还很低,很容易让人想到十几年前的红白机游戏时代这是以时尚标榜自己的年轻人无法接受的而且现在很多用户对于游戏的认识还停留在经典的“贪吃蛇”,所以那些所谓的游戏实在让人提不起什么兴趣来   虽然新还不是最理想的游戏平台,但它已经是个良好的开端处理器、内存和色彩深度提供了游戏开发所需的因素开发者正努力把其它游戏平台上的质量标准运用到这个平台上当然了,一些问题仍然存在,然而这些问题终将被解决,就像PC平台游戏开发者使用不断改进的DirectX一样 开发移动游戏与传统游戏的开发有很多不同,想开发有吸引力的移动游戏尤其困难。

这比开发控制台游戏或PC游戏更困难,因为众多的设备具有不同的存贮器、声音和显示性能这个平台有许多种硬件和软件的组合,并且在硬件厂商之间没有多少共同点像我自己在设计游戏过程我也遇到一些问题,比如说像BOSS机怎么才能和其他飞机不同,不可能被玩家一发子弹就销毁了吧按照常理来说,boss机一般都要被攻击很久才会被销毁这个问题困扰了我很久,后来我在和同学讨论过以后有了解决方案,我可以设计一个时钟,当玩家飞机子弹与boss机碰撞时立即销毁玩家子弹,但是不销毁敌机,这个时候时钟就发挥作用了,在90步也就是3秒以后调用该时钟,时钟功能是销毁boss机,并且给玩家得分,这样就完美的解决了这个问题除此之外还有个问题是敌机的跟踪子弹朝玩家飞机设计的方向并不是玩家飞机的方向,这个我查阅过书籍,我设置方法没错,但是就是实现不了,后来偶然情况下我发现是我子弹的速度设置小了,引起了偏差,最后在我增大了子弹设计速度以后问题就迎刃而解了在开发过程中遇到的小挫折不计其数,但是当你成功将这些问题解决了,你又会体验到另一种快感8.实验总结通过本次课程设计,我学到了很多东西谢谢学校和老师们能给我们这次机会,让我们能够将理论应用到实际中,而不再是一直空泛的学习理论知识。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础在这次设计过程中,体现出自己单独设计游戏的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补在此感谢我们老师,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪由于本人的设计能力有限,在设计过程中难免出现错误,有什么需要改进的地方以后我还会继续努力改进,争取把它做的更好希望通过本次设计,我了解到自己编程的薄弱,我会尽力去学习,多锻炼,这样才能有进步9.参考文献红黑联盟 Game Maker使用教程 Andy Zhu。

下载提示
相关文档
正为您匹配相似的精品文档