加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用2DFM制作自己的格斗游戏(下)

(2007-10-25 23:53:46)
标签:

游戏部落

东东不死传说

街头霸王

格斗游戏

同人游戏

游戏开发

 (本文刊登于《电脑爱好者》2007年10月刊,版权为《电脑爱好者》所有。阅读本文的时候点击图片可以看到原始分辨率图。)
 
 

(接上文)

值得注意的是,这里的方位规则和系统里有所不同。制作者在框选了人物图片之后,该人物的坐标点被定为最下面的中间点,图中白色的十字架正是用来调整位置的中心轴线,正中间的点为00。由于软件在00的设置了一套阴影图,软件这样设计的目的是为了让角色默认状态下便可以站在正确的影子上。

接着,我们可以细调三张图片的位置,有时候并非所有动作都可以很连贯地结合在一起,因此部分图片也许要向下移动一个象素点,或者向左移动一个象素点……调整完位置之后再调整“东东”的动作速度,系统默认设置为5,这时候我将5改为15。很显然,三张图片以0.15秒的速度交替变更显得非常自然。

这里还有一个细节需要大家注意,东东的动作我们假设为1帧、2帧、3帧。如果玩家不进行任何操作,那么系统将会以123——123……的方式无限循环下去。请注意循环的首尾相接,“3帧”和“1帧”的衔接有点不连贯,于是针对这样的情况,我们便必须将“2帧”复制,粘贴到“3帧”的后面。这样系统会以123212……的方式无限循环下去。

 

用2DFM制作自己的格斗游戏(下)

 

接着,我们再给该动作加入“防”,2DFM这款软件有个制作准则:只要在编辑栏里加入某属性,那么该属性的作用将一直持续到最后。也就是说,我们只需要在该栏目的最前面加一格防御判定,那么该栏目里的所有图片都具备防御判定了。

 此时可以用鼠标拉出一个范围框。之后点选“碰撞属性”、“受伤属性”。如果单独是“碰撞属性”框为绿色,如果单独是“受伤属性”框为蓝色。两者皆有那便是深蓝色。同时勾选两项表示该动作具有了阻挡以及可以被攻击的特征。在游戏中,除了倒地起身、死亡、开场等动作不需要设置“防”,其余全部动作都要设置“防”。在游戏运行中程序“只认框不认人”。如果框挨打了,那便表示人挨打,程序便会自动进入挨打的动画。结合后文讲要讲到的“攻”。“防”和“攻”的设计是2DFM这款软件的精髓所在。

 

用2DFM制作自己的格斗游戏(下)

 

接着,我们依样画葫芦把其余动作都载入到软件中。在制作“前行”的时候,大家可能会第一次用到“移”这个功能。“移”的意思自然是指移动,也就是说,只要玩家按住了“→”键,那么系统就会播放“前行”的动画,为了让角色真的行走起来,要给这组图片一个移动的属性。笔者在6帧图片的最前面,加插了一个“移”。移动速度设置为“X=2.50Y= 0X这个数字越大便移动得越快,在预览框里可以很直观地看到角色的移动效果。大家可以多测试几次。

制作完“前行”之后,可以在前行的栏目标题那里点鼠标左键选“复制招式”,然后在“后退”那里选“插入招式”。接着把移动属性由2.50改为-2.50。再把6张图片的顺序由“123456”改为“165432”,这样便可以很顺利地把“后退”的动画制作完毕。

也许会有人问,为什么不是改为“654321”,而是要“165432”?这是因为从东东的动作上看来,不管是前进还是后退,他的第一个动作都是微抬脚的,这让第1张拍摄的走路照片注定了要担任“前行”和“后退”的第一帧。

 

刚好要制作跳跃,因此顺便讲一下“移”里面XY的含义, X是指在水平地面上左右移动,而Y则是指上下移动,也正是“上跳”里需要用到的。我们先把“上跳”的所有图片都载入,然后在起跳图片的后面插入“移”,设置数值时将Y设置为“-13.00”,即向Y的上方以13.00的速度移动,不要忘记给重力Y那里设置为“+0.70,这个数值的意义在于让角色产生重力作用,跳到最高点之后从空中掉下来。那样在视觉上便成了跳跃了。如果这里不进行设置的话那么角色将会无限向空中飞行,或者如果重力Y错设成“-0.70”的话,角色将会以加速度的方式飞向太空……

一句话概括就是,在进行角色跳跃设计的时候,即要给他一个向上的力,又要给他一个向下的力。两个数值的结合将表现出正常人跳跃的情景。这个招式大家有兴趣的话反复测试,最终一定可以得出一个最满意的设置方案。

 

用2DFM制作自己的格斗游戏(下)

 

讲完了“移”,这里开始讲“招”,在角色上跳的瞬间,也就是在“移”图标的前面,大家要加入“插入条件分支”,然后选择“招式分支”。分支设置的第一项选“着地后”,第二项为链接选项,这里可以选择“从下蹲站起”。接着,我们还需要在跳跃的最后一格,设置“插入脚本移动”——“跳转”,然后在指定跳转项里选择跳跃的最后一帧画面。

这样一系列设置的目的是为了告诉系统两个信息“1.只要角色还在空中,那么动画将持续播完,播到最后一帧后无限循环,角色将以后一帧的状态朝地面落下。2.只要该角色从空中落到地面后,则播放‘从下蹲站起’的动画”。这两条准则,正是“招”和“跳”的作用,之所以一定要这样设置,是因为我们无法判断东东会跳到多高,或者说他会在空中保留多久,所以这些运算留给系统好了。我们给跳跃动作设置两个条件,游戏则一定会老老实实地按照这两个条件办事。

 

用2DFM制作自己的格斗游戏(下)

 

其他动作的制作方法大同小异,这里就不多费口舌了。接下来我们该检查检查目前的工作成果了。首先要保证游戏系统的标题那里设置有DEMO(就算是空白的也行),然后场景也必须是有的(场景的制作方法请看下文)。这样便可以选择2DFM窗口上方的“测试”了。之后弹出的界面里,角色分别都选“东东”(如果以后制作了多个角色,便可以选择不同角色了)。操作方式可以是“角色操作”,也可以是“CPU”。场景选择制作好的场景,运行方式选“从战斗开始”。如果这里选“从最初开始”,那便是从游戏片头动画等DEMO开始了,由于目前没有制作那些DEMO,而仅仅是为了测试人物动作,所以直接选“从战斗开始好了”。最后点击“运行”,游戏画面终于出现在大家眼前了。

 

用2DFM制作自己的格斗游戏(下)

 

这张游戏画面包含了之前制作出来的所有图素。体力槽,角色头像,能量槽,胜负数、能量数、角色、场景……基本上该有的都已经看到了。这时候,大家可以接上手柄,简单的针对角色行走、跳跃做一些测试。目前玩家只能做出“前行、后退、上跳、下蹲、前跳、后跳”六个方向的动作。

 

  深入制作角色★

角色的基本动作制作完毕之后,接下来便要制作最为刺激的部分了。那便是打斗。打斗动作笼统地讲分为“打别人”和“被别人打”两部分。我们先把后面的“被别人打”这一部分做完,因为系统里默认有六种挨打动作、六种防御动作需要设置。等设置完这部分之后,我们再来考虑“打别人”。(传说中的先苦后甜么,汗……)

 

用2DFM制作自己的格斗游戏(下)

 

我们先回到“游戏系统”的“中招反应”这部分,这里有12种系统默认的被打动作选项,选项的后面都是空的,这表明需要我们制作完动作之后再回来这里勾选。

和角色的待机动作的制作方法一样,我们依次将东东的挨打动作导入到“命中弱站立”的项目里。从这里开始,图片的时间长度将紧密地影响到游戏的平衡性。以东东为例子,他的“命中弱站立”一共采用了8张图片,其中前6张是重复的,每张时间长度为2。利用左右位置的循环不同,造成晃动的效果。后面两张时间长度分别为882+2+2+2+2+2+8+8=28,也就是说东东在受到轻攻击的时候会出现0.28秒的受伤硬直时间。这个时间长度非常重要,长了的话别人可以无限连,短了的话别人打不出连续技。同样的,重攻击受伤我给东东设置了0.36秒硬直时间。这些时间大家都可以修改,主要得根据攻击速度来决定受伤时间。同理,大家可以把防御的动作全部做完。

 

用2DFM制作自己的格斗游戏(下)

 

接着,可以顺便把攻击光效,防御光效一起制作完毕。这些光效可以自己绘制,也可以去网上下载一些素材,制作方式和人物动作相同,利用时间的不同来达到动画的效果。这时候,大家会初步接触到“音”。即插入声音的意思。攻击特效光有画面是不够的,还必须伴随有刺激的拳击声音。针对不同的光效依次载入不同的声音。

 

用2DFM制作自己的格斗游戏(下)

 

 

 

设置完毕之后,切记要回到系统的“中招反应”项目里,把相应的受伤动作和光效联系到一起就行了。

 

用2DFM制作自己的格斗游戏(下)

 

 

现在,光有了挨打动作以及防御动作还不够,还必须制作打人动作。我们以东东的轻拳为例,这个动作的制作方式原理也是一样的,将预先排好的攻击图片一张张地导入到软件里。首先记得在所有动作的最前面设置一格 “防”,这表示就算角色处于攻击状态,也是很有可能被敌人攻击到的。接着在攻击瞬间的图片左边一格,鼠标右键导入“声”。将挥拳的音效加进去。如果想让角色这时候发出呼喝的声音,建议到别的位置新建一个“轻攻击发声”的模板,然后在攻击图片附近以“物”的形式导入进去。这样做的目的是让两组声音处于不同的栏目里,因为如果在同一个栏目下系统很可能不可以同时播放两种声音。

之后再加入一个“攻”,系统默认会在“攻”之前增加“敌”。“敌”在这里代表的是敌人反应,也就是说你的这套攻击对敌人所可能产生的所有后果,都在“敌”里面设置。

 

用2DFM制作自己的格斗游戏(下)

 

而“攻”自然是代表攻击,和“防”的设置有些类似,“攻”是拉选红色框。这表示红色部分是具备攻击功能的。然后攻击力我暂时定为102DFM这款软件的判定准则为:只要红色碰到了蓝色,即表示击中对方。由于之前设置了东东的体力为400,也就是说用这样的轻拳连续攻击40拳,东东就会倒地。

这里有一点特别要提醒大家,由于攻击红框的作用是一直持续下去的,也就是说攻击图片之后的所有图片都具备攻击能力。所以这时候我们需要在攻击瞬间的图片右边加入另一个“攻”,不过这次我们不拉红框,也不设置攻击力。这样它便成了一个空白“攻”,这样做的目的是让角色收拳的时候不具备攻击能力。

 

用2DFM制作自己的格斗游戏(下)

 

 

轻拳制作完毕之后,我们可以到“角色”——“指令”这里来设置按键了,如图中所示,我让A键负责“轻拳”的出招。然后在四种状态下设置角色的反应。只要玩家在游戏中按A键,角色将会作出相应的动作。指令受理时间是指限定的按键时间,只要在规定的时间内做出按键动作,系统则承认操作成功。普通攻击的指令受理时间一般设置为10-20。必杀技可以设置为20-40,超必杀技可以设置为50-100

在指令的设置中,还有一个规则。那就是系统会优先处理上面的动作。如果玩家按了“↓→A”,那么东东该做烈焰掌还是轻拳呢。照常理,这时候东东就不应该放出轻拳了,所以软件用这个简单的方式来判定出招。总之一定要把具有组合键操作的必杀技放到上面,而单独按键的普通技放到下面。

 

用2DFM制作自己的格斗游戏(下)

 

 

到目前为止,我们便可以检查一下工作成果了,在运行测试游戏的时候勾选“碰撞判定范围”,这样便可以在测试的时候观察到角色的攻击和防御范围。

 

用2DFM制作自己的格斗游戏(下)

 

其他必杀技和超必杀技的做法基本都差不多,这里篇幅有限,就不详细解说了。大家可以用2DFM编辑器打开其他人的作品,学习他人的设计思路。还有2DFM软件附带的说明文件也是非常好的学时资料。相信有兴趣的朋友一定可以快速掌握制作技巧。

   敌人AI设计★

当东东这个角色已经可以正常对战的时候,这时我们便要考虑电脑该如何控制东东了。点击“角色”——“CPU”,这里便是进行角色的AI设计。大家可以点击鼠标右键加入新的AI指令。在图中,最左边的边界线是指我方角色位置,而图中的色块则是指敌人范围。这些黑块是通过数值输入来达成的。

以图中的“档15”为例子,我将敌人位置数值设置为160-370,确率为45%,出招为“转转腿重”,也就是说,当敌人距离我在160-370的象素位置时,他将有45%的可能性出“转转腿重”。

大家千万别觉得这样的设计很单调,一点都没有智能的感觉。事实上,当你设置出大量的不同反应时,一个鲜活的角色就这样诞生出来了。你可以让这位角色擅长空战,只需要不断地让他跳跃攻击即可。或者让他擅长防守,只要设置好几个防守型的动作,他便在游戏中不断的防御了。

 

用2DFM制作自己的格斗游戏(下)

 

同理,电脑华丽的连续技也是可以这样设置出来的,只需要在动作设置那里不断的牵引出新的动作即可。例如可以设置为重拳——浮空技——必杀技——超必杀技,一旦敌人中了第一拳,那么后面的动作都将顺利的发出来,这便是电脑AI的设置。这部分内容需要大家反复测试,一定可以找到很多乐趣。

  场景的制作★

2DFM支持640X480大小的场景,最大可支持1280X960。在制作场景前需要考虑好采用什么背景。例如是室内场景还是室外场景,场景里人物是否会动。最好可以用PHOTOSHOP新建一张图,然后把游戏主界面放到里面观察。以图中场景为例子,笔者制作了一张1280X960的场景,而图中的小框正是游戏标准画面大小。换句话说里头角色可以打斗的范围还是蛮大的。

 

用2DFM制作自己的格斗游戏(下)

 

将拍摄好的图片转成索引格式,BMP位图。然后在2DFM里面的场景项目里导入。在“角色位置”鼠标点击右键新建脚本,这样在“角色位置”上面则生成了一个脚本,在这个脚本里将所需要的场景图导入即可。由于系统默认的场景范围大小为640X480,因此要在滚轴的选项里将横向和纵向都勾选,并分别设置为100。这样一来场景便初步制作完毕了。

 

用2DFM制作自己的格斗游戏(下)

 

如果想增加一些特效,例如天上有东西飞过,或者角色身前有阻挡,都可以在“角色位置”的上或下新增脚本来实现。例如笔者制作的二横路口场景,背景上重复行驶的车辆便是依靠移动属性已经循环播放方式来实现的。只需要将车辆设置好,放到角色的背后层即可。同样的,游戏每一关的背景音乐也正在在这里载入的。

 

用2DFM制作自己的格斗游戏(下)

 

  故事的制作★

故事模式也就是单机模式,这是格斗游戏的一个基本模式。点选“角色”——“故事”,然后勾选“故事”,这便表示东东这个角色有故事模式了。(这软件也真是奇怪,默认状态都是没故事的,难道大家都玩对战去了?)

随即在空白处点鼠标右键可以有“新建战斗”、“新建DEMO”、“新建分支”、“新建结束”。其中“战斗”和“结束”是必须设置的,在战斗栏目里。大家要设计战斗场景、战斗时间、敌我双方开场时所站的位置、CPU级数等等信息。一场战斗对应一次战斗设置。如果想游戏中他要依次挑战12位选手,那便是表示要设置12次战斗。特别提醒一下大家的是,2DFM是支持多人混战,例如东东在同一个场景里要和2个敌人战斗,这时候便要在CPU1CPU2那里选择两个人了。有关战斗的数值设计,大家可以参考图例中的数据。

 

用2DFM制作自己的格斗游戏(下)

用2DFM制作自己的格斗游戏(下)

 

 

 

 

 

  文末★

当部分人物、场景都设计完毕,已经可以正常试玩,而游戏系统也已经相当完善的时候。这时候可以选择打包,将游戏发给朋友一起分享了。

 

用2DFM制作自己的格斗游戏(下)

 

2DFM这款软件设计得相当开放,许多文中没有提及的设计都可以在2DFM里实现,例如《街头霸王3.3》里的BLOCKING系统,《格斗之王2000》的援护系统,这些优秀的思路通过合理的设置都可以在游戏中一一实现。由于篇幅问题,许多使用上的小细节都来不及在文中一一提及。希望这篇拙文可以抛砖引玉,带动大家的2D格斗游戏开发热情。同时,如果大家在2DFM的使用过程中还有不懂的地方,可以到笔者的博客里交流,地址为——http://blog.sina.com.cn/T850。我们一起努力,做出精彩的2D格斗游戏!

 

看完本文后,如果大家对2DFM开发感兴趣。可以到morleyBLOG里查看更高阶的详细教程——http://blog.sina.com.cn/ali213

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有