初入江湖
- 麒麟币
- 44 枚
- 任务币
- 0 枚
- 威望
- 0 点
- 贡献
- 0 点
- 主题
- 2贴
- 在线时间
- 2 小时
|
本帖最后由 StickGame 于 2018-8-28 19:36 编辑
前言:
原本这文章的标题是“价值千万的战斗系统设计流程”,后来觉得太像标题党了,就变成了5毛钱…. 其实从不同角度来说,都是对的。
我是鬼人,《火柴人联盟》制作人,接下来我将从“根源”去阐述一套战斗系统的设计流程,如果你对动作类游戏感兴趣,那么我相信这篇文章会让你有不少收获的。
(上)篇主要是理论基础,较为枯燥,请在合适的时间点进行阅读,那么我们就开始吧~
—————————————————————————————————————
1. 先来了解下,战斗系统为何物?
战斗系统其实只是一种叫法,往往是针对动作游戏而言,但其实每个游戏都有这么一套东西,如果要给个通用点的叫法,我觉得“操作系统”会比较合适,虽然有点别扭。
我们先来看看下面这几个游戏~
价值5毛钱的战斗系统设计流程(上)(一)
《超级玛丽》
价值5毛钱的战斗系统设计流程(上)(一)
《三国志》
价值5毛钱的战斗系统设计流程(上)(一)
《侍魂》
价值5毛钱的战斗系统设计流程(上)(一)
《极品飞车》
价值5毛钱的战斗系统设计流程(上)(一)
《TapSonic Top》
价值5毛钱的战斗系统设计流程(上)(一)
《黑暗之魂》
你会发现,这些游戏虽然类型差异巨大,但其根本都是需要通过“操作”来进行游戏的:有的是通过键盘操作,有点是通过点击屏幕,有的则是用手柄、或者方向盘~
基于类型的不同,操作对象的反馈也会有所不同,最终表现在“视听效果”的差异上。而这一过程的根本,就是这些游戏都有着自己的一套“操作系统”。
价值5毛钱的战斗系统设计流程(上)(一)
战斗系统实际上是针对ACT而言更具代表性的名称,它本身就是一套操作系统,虽然这是一篇主讲战斗系统的文章,但你可以直接将文中的一些观点和技巧运用到其它类型的游戏中,因为它们的本质没有很大区别。
2.战斗系统的结构
结构化是一种非常重要的思路和手段,也是本文的一个重点思路,因此,在设计战斗系统之初,我们的首要任务就是分析它的【结构】。
当我们准备做一个动作游戏的时候,策划会根据项目的需求设计出一些战斗系统相关的“东西”,我们假设今天要做一个《三国志》的手游版:
价值5毛钱的战斗系统设计流程(上)(一)
(就不写的太细了,请自行脑补~)
我们假设上面的文档已经足够清晰了,那程序基本可以开始工作了,不同的程序根据自己的经验往往会有不同的“写”法,而不同“写”法导致的差异往往是巨大的,这些差异主要表现在当策划要修改需求,或添加新功能的时候。
举个例子,现在要实现【移动】和【跳跃】的操作:
价值5毛钱的战斗系统设计流程(上)(一)
上面的代码属于“直观条件式”的写法,即严格的按照实际使用条件来实现功能,使用这种方法可以很快的实现基本操作,如果是做一个俄罗斯方块,或者坦克大战,那么这种写法没什么问题,甚至是非常方便,但如果用在战斗系统上,就不是特别好了。
因为多数情况下,策划是会修改需求、或者添加新功能的,而这个过程就是最容易产生问题的过程,并且随着代码和功能的复杂化,维护也是一个问题。就像这样…
价值5毛钱的战斗系统设计流程(上)(一)
(我觉得这图对于游戏开发来说...很形象...)
那么,什么样的做法更好呢?
首先,不要将焦点停留在表面(那些文字或者描述,多数都是表面产物),而要花一定的时间去分析其“根本”,去分析它的“结构”。
结构分析是一项技巧性工作,其最大的特点就是要通过“表”,看到“里”。
·“表”就是文档中罗列的那些“行为”
·而“里”就是这堆行为的共性
现在就让我们来看看这些“行为”的共性是什么:
价值5毛钱的战斗系统设计流程(上)(一)
(之所以标记“主动”和“被动”,是为了避免大家将“指令输入”认为是共性之一)
1:这些“动作”本质上就是各种动画的播放 ;
2:与动作关联的就是各种位移,也许不只位移;
经过简单的分析可以得出结论,战斗系统的结构主要是:
·动画控制:负责控制对象的载入、动画播放、暂停、跳转、移除等
·属性控制:负责控制对象的各种属性值的变化,比如坐标、颜色、角度、缩放等
价值5毛钱的战斗系统设计流程(上)(一)
推导过程很简单,结论也很简单,但却很重要,因为这种思路会围绕着后续每个点。
现在我们来以《拳皇97》的一些例子来验证一下这个结构的正确性:
价值5毛钱的战斗系统设计流程(上)(一)
·跳跃
1:按下跳跃,播放跳跃动画,带上一定的位移,既有动画控制,也有位移控制;
2:代码一直在判断人物Y轴是否小于地面Y轴,如果是,则播放落地动作,属于动画控制;
价值5毛钱的战斗系统设计流程(上)(一)
·陈国汉抡铁球,左右方向键控制移动
1:通过快速连续输入指令(在一段时间内输入5次),播放抡铁球的动作,属于动画控制;
2:此时,通过按下左右方向键,来控制移动,属于位移控制;
(这里你会发现,按键不仅用来改变动画,同时也可以单独用来改变位移)
价值5毛钱的战斗系统设计流程(上)(一)
·草薙攻击,命中陈国汉
1:草薙下前C,播放攻击动画,并附带位移,同时有动画控制和位移控制;
陈国汉被先是被推挤,产生向后的位移,因为这里存在body的碰撞检测,从而产生推挤效果,属于位移控制;
2:陈国汉被击中,播放受击动作,身体颜色产生变化,并且有向后的位移,有位移控制和颜色控制;
3:击中时播放受击特效,并且坐标是攻击区域于受击区域集合的范围内,既有动画控制,也有属性控制(坐标、颜色);
4:在击中的瞬间还发生了对象层级的变化,层级也属于属性的一部分,生命值同样也是属性的一部分,因此都是属性控制;
价值5毛钱的战斗系统设计流程(上)(一)
·草薙攻击,陈国汉闪避
1:闪避的效果就是让攻击的碰撞检测,和body的碰撞检测无效化,因此各自播放各自的动画
2:当动作结束,回到stand,发现没有面对敌人时,就会播放trun(转身)的动画
你可以随意去套游戏中的任何“行为”(无所谓游戏类型),最终你会发现都会满足以上所说的动画和属性的控制,即便是镜头特写、镜头震动,也是一样的道理。
“动画控制”和“属性控制”也有自身的特殊结构,接下来我们就要逐步拆解它们。
价值5毛钱的战斗系统设计流程(上)(一)
由于论坛字数控制,只能将价值5毛钱的战斗系统设计流程(上)分拆为两个帖子发表,下半部分请移步
价值5毛钱的战斗系统设计流程(上)(二)
最后,如果你觉得这文章还不错,可以分享下,有不同观点,也可以留言~
顺便关注下我的小号,偶尔会有些不错的东西~
价值5毛钱的战斗系统设计流程(上)(一)
谢谢观看!
另外,我们新项目正在招聘【动作】、【特效】,有兴趣的可以点击:http://www.cgylw.com/plugin.php?id=mini_job:index&mod=view&sid=765
或官网:http://www.sticksgame.com
|
-
价值5毛钱的战斗系统设计流程(上)(一)
-
价值5毛钱的战斗系统设计流程(上)(一)
-
价值5毛钱的战斗系统设计流程(上)(一)
-
价值5毛钱的战斗系统设计流程(上)(一)
|