赞 | 0 |
VIP | 9 |
好人卡 | 0 |
积分 | 1 |
经验 | 4660 |
最后登录 | 2015-6-25 |
在线时间 | 54 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 54 小时
- 注册时间
- 2007-7-3
- 帖子
- 60
|
2楼
楼主 |
发表于 2009-11-22 07:07:54
|
只看该作者
使用事件制作射击游戏(ARPG)的原理和方法
使用事件制作射击游戏(ARPG)的原理和方法
大家好啊,我是ivvavvavvi。我的游戏《生化危机-改 异域怪灵》相信很多的朋友都玩过了吧。这是一款ARPG游戏,这个游戏是我完全用事件制作的。有很多朋友希望了解ARPG游戏制作的原理和方法,那么就来说说我的一点粗浅的经验和心得吧。
我特别喜欢利用事件制作游戏,因为不需要特别的专业知识,更不用学习复杂的脚本语言和编程。但是同样可以做出来复杂的系统和华丽的特效。我个人认为相比较“脚本制作”而言“事件制作”来的更加直接和稳定,BUG产生的机会会低一些。这是因为事件制作只是涉及到“开关”,“变量”,和“条件分歧”等简单的事件选项,比较容易掌握和控制。当然了编辑脚本和制作编程的优势是毋庸质疑的,这两点是极其高超和专业的游戏制作手段,本人初学,段位不高不敢妄言,自然不在今天的讨论范畴之内了。
说了些个人的观点和想法。。。。我们开始讨论事件射击游戏制作方法吧。
制作事件射击游戏有两种方法:
分别是:“子弹移动攻击法”和“坐标计算攻击法”。
“子弹移动攻击法”简单一些,容易上手。只用五个事件就可以完成基本的框架,适合制作一般的枪械射击和刀剑攻击游戏,可以体现多种不同武器的攻击和伤害效果,游戏表现非常不错。
“坐标计算攻击法”复杂点,涉及到的控制事件多,比较难理解。这种方法很适合ARPG的制作,可以完成很多复杂的特效,游戏表现非常华丽。
两种方法都不难学习和制作,任何初学的朋友都可以轻松的掌控。不需要高深的知识只要发挥你的想象力就可以完成。
我们先来说说“子弹移动攻击法”的制作过程。
1 制作前的准备:
我们要制做 射击游戏(ARPG) 首先要准备好所需要的基本素材。
包括:角色素材和声音素材。
角色素材,主角的角色素材分为普通的行走图和举起武器后的战斗图,如果游戏制作的比较细致的话还需要角色动作图(受伤,推开敌人,开门,等等)。同样敌人角色也需要多张不同动作图片(攻击,中弹,死亡,等等)。
声音素材,主要是枪声,角色各种叫声,开门声等等。
以上的准备工作完成以后,还要在准备好的素材基础上制作相应的战斗动画。包括枪口火焰动画(分为:上,下,左,右,四个方向的动画。不同的枪械还要有不同的枪口火焰动画),刀剑的攻击动画,如果想制作华丽的效果的话,还要有角色受伤动画,敌人被击中时的伤害动画,枪械射击时后坐的动画,敌人攻击动画等等。
2 “子弹”事件制作:
下面我们来进行地图事件的制作,在地图上建立一个事件名为“子弹”
第一页
事件出现条件为:开关 0015举起枪("0015"为开关的序号,不是固定的可以任意指定。“举起枪”是你给这个开关起的名字),变量 0003射击按钮 数值5 同数值。
事件开始条件为:定期并列处理。(平行处理)
事件执行内容:设定事件位置 这个事件(V[0010],V[0011])。(设定这个事件的位置和主角的位置重合。V[0010],V[0011]是由命令事件检测的主角坐标,后面说明具体的制作方法)
条件分歧 主角面向上 开关的操作 0023子弹飞向上设为ON。
0024子弹飞向下设为OFF。
0026子弹飞向右设为OFF。
0025子弹飞向左设为OFF。
条件分歧 主角面向下 开关的操作 0024子弹飞向下设为ON。
0023子弹飞向上设为OFF。
0026子弹飞向右设为OFF。
0025子弹飞向左设为OFF。
条件分歧 主角面向左 开关的操作 0025子弹飞向左设为ON。
0024子弹飞向下设为OFF。
0023子弹飞向上设为OFF。
0025子弹飞向左设为OFF。
条件分歧 主角面向右 开关的操作 0026子弹飞向右设为ON。
0024子弹飞向下设为OFF。
0023子弹飞向上设为OFF。
0025子弹飞向左设为OFF。
(控制角色面对方向的四个开关,很重要哦)
第二页
事件出现条件为:开关 0023子弹飞向上
事件开始条件为:定期并列处理。
移动速度为 : 四倍速度(最快的速度了)
事件执行内容 : 战斗动画 枪口火焰-上 主角(在主角上方显示战斗动画 “枪口火焰-上”)
角色动作指定 这个事件 向上移动,向上移动,向上移动,向上移动......(移动距离自己掌握)
指定动作全部执行
开关的操作 0023子弹飞向上 off
第三页
事件出现条件为:开关 0024子弹飞向下
事件开始条件为:定期并列处理。
移动速度为 : 四倍速度
事件执行内容 : 战斗动画 枪口火焰-下 主角
角色动作指定 这个事件 向下移动......
指定动作全部执行
开关的操作 0024子弹飞向下 off
第四页
事件出现条件为:开关 0025子弹飞向左
事件开始条件为:定期并列处理。
移动速度为 : 四倍速度
事件执行内容 : 战斗动画 枪口火焰-左 主角
角色动作指定 这个事件 向左移动......
指定动作全部执行
开关的操作 0025子弹飞向左 off
第五页
事件出现条件为:开关 0026子弹飞向右
事件开始条件为:定期并列处理。
移动速度为 : 四倍速度
事件执行内容 : 战斗动画 枪口火焰-右 主角
角色动作指定 这个事件 向右移动......
指定动作全部执行
开关的操作 0026子弹飞向右 off
子弹事件做完了,你可以附上你喜欢的子弹的图片。注意这个事件是不能穿透障碍物的。(设定成:不与其他角色重叠)
3 命令事件(公共事件)制作:
我们来进行 命令事件(公共事件)的制作,命令事件是用来控制和监测地图事件的。
001举起枪按纽检测
事件开始条件为:定期并列处理。
事件执行内容 :输入按键处理[002 举起枪按纽](具体的设定是:结果存入变量 002举起枪按纽,等待按键,shift(7))。
开关的操作 0015举起枪 为on/off切换。(按一下shift键,举起枪,再按一下放下枪)
002射击按纽检测
事件开始条件为:定期并列处理。
出现条件开关 :0015举起枪
事件执行内容 :输入按键处理[0003射击按钮](具体的设定是:结果存入变量 0003射击按钮,等待按键,决定键(5))。
003主角位置(坐标)检测
事件开始条件为:定期并列处理。
事件执行内容 :变量的操作 [0010角色x坐标]代入 主角的X坐标
变量的操作 [0011角色y坐标]代入 主角的Y坐标
4 敌人事件制作:
在地图上建立一个事件名为“敌人”
第一页
事件出现条件为:开关 0023子弹飞向上
事件开始条件为:定期并列处理。
事件执行内容 :变量的操作 [0021 子弹位置x]代入 子弹的X坐标
变量的操作 [0022 子弹位置y]代入 子弹的Y坐标
变量的操作 [0013 敌人位置x]代入 这个事件的X坐标
变量的操作 [0013 敌人位置y]代入 这个事件的Y坐标
变量的操作 [0013 敌人位置y]加1
条件分歧:变量0021和0013相等,变量0022和0014相等(子弹的位置运动到敌人的下面一格时,因为子弹事件不能穿透敌人或与之重叠)变量的操作[0050敌人HP]加1
你可以加一些特效,比如惨叫声,喷血动画等等。
第二页
事件出现条件为:开关 0024子弹飞向下
事件开始条件为:定期并列处理。
事件执行内容 :变量的操作 [0021 子弹位置x]代入 子弹的X坐标
变量的操作 [0022 子弹位置y]代入 子弹的Y坐标
变量的操作 [0013 敌人位置x]代入 这个事件的X坐标
变量的操作 [0013 敌人位置y]代入 这个事件的Y坐标
变量的操作 [0013 敌人位置y]减1
条件分歧:变量0021和0013相等,变量0022和0014相等(子弹的位置在敌人的上面一格)变量的操作[0050敌人HP]加1
第三页,第四页和前两页差不多,略过。。
第五页
事件出现条件为:变量 0050敌人HP 数值10 以上。
事件开始条件为:自动开始
事件执行内容 :(自己看着办,可以加上敌人死亡的动画,音效等等。)开关的操作 [0051敌人死亡]设为on
第六页
事件出现条件为:开关 0051敌人死亡
事件执行内容 :空白
好了现在制作的差不多了,这个游戏运行起来的情况是这样的:主角的位置是时时刻刻被检测的,当你按shift键时开关0015(举起枪)打开,进入战斗状态。在战斗状态下你按决定键时,变量 0003射击按钮 数值为5 激活事件“子弹”的第一页,打开子弹的方向开关并且设定“子弹”的位置和主角重合,事件“子弹”根据方向开关对应的方向向前移动,同时事件“敌人” 被激活了开始计算子弹和自己的位置关系。当子弹的位置在敌人的位置外一格时,敌人事件第一到四页开始运行,敌人HP变化。重复上面的过程,一直到事件“敌人”的HP达到规定值时第五页激活,“敌人”“死亡”。
其实还有很多的细节控制事件需要大家来制作的,比如各种枪械的装备控制,角色射击动作控制,射击效果控制,射击距离控制,不同的伤害程度,弹药系统,刀剑攻击设定,敌人攻击设定,敌人攻击方式控制,场景情况记忆和恢复,选单系统制作和控制等等,还有很多的东西。。。
以上就是事件射击游戏制作的基本思路和方法。不是很复杂的,相信朋友们也很容易理解。“子弹移动攻击法”制作起来非常的简单,并不象想象的那么神秘和困难,很容易掌握。“坐标计算攻击法”和“子弹移动攻击法”的基本原理是一样的,但是“坐标计算攻击法”是没有固定的“子弹”事件的,它直接利用主角的坐标来控制并计算与敌人的位置关系,更加的准确和稳定。大家动动脑筋不难理解,“坐标计算攻击法”制作起来实际上比“子弹移动攻击法”要简捷和快速。“坐标计算攻击法”以后有机会再详细的和朋友们讨论。我只想告诉大家不一定要掌握高深的“脚本”和编程语言,好好的利用我们无限的想象力和巧妙的制作技巧,一样可以制作出了不起的华丽的属于我们自己的游戏。 |
|