CG游麟网官方站
查看: 8239|回复: 38

[原画教程] 价值5毛钱的战斗系统设计流程(上)(一)

[复制链接]

2

主题

2

帖子

46

积分

初入江湖

Rank: 1

麒麟币
44
任务币
0
威望
0
贡献
0
主题
2
在线时间
2 小时
发表于 2018-8-27 18:27:44 | 显示全部楼层 |阅读模式
本帖最后由 StickGame 于 2018-8-28 19:36 编辑

前言:
      原本这文章的标题是“价值千万的战斗系统设计流程”,后来觉得太像标题党了,就变成了5毛钱…. 其实从不同角度来说,都是对的。
      
我是鬼人,《火柴人联盟》制作人,接下来我将从“根源”去阐述一套战斗系统的设计流程,如果你对动作类游戏感兴趣,那么我相信这篇文章会让你有不少收获的。
      
(上)篇主要是理论基础,较为枯燥,请在合适的时间点进行阅读,那么我们就开始吧~
—————————————————————————————————————
1. 先来了解下,战斗系统为何物?

      战斗系统其实只是一种叫法,往往是针对动作游戏而言,但其实每个游戏都有这么一套东西,如果要给个通用点的叫法,我觉得“操作系统”会比较合适,虽然有点别扭。
     
我们先来看看下面这几个游戏~

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《超级玛丽》

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《三国志》

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《侍魂》

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《极品飞车》

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《TapSonic Top》

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

《黑暗之魂》

      你会发现,这些游戏虽然类型差异巨大,但其根本都是需要通过“操作”来进行游戏的:有的是通过键盘操作,有点是通过点击屏幕,有的则是用手柄、或者方向盘~
      基于类型的不同,操作对象的反馈也会有所不同,最终表现在“视听效果”的差异上。而这一过程的根本,就是这些游戏都有着自己的一套“操作系统”。

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

      战斗系统实际上是针对ACT而言更具代表性的名称,它本身就是一套操作系统,虽然这是一篇主讲战斗系统的文章,但你可以直接将文中的一些观点和技巧运用到其它类型的游戏中,因为它们的本质没有很大区别。

2.战斗系统的结构
      结构化是一种非常重要的思路和手段,也是本文的一个重点思路,因此,在设计战斗系统之初,我们的首要任务就是分析它的【结构】。
      当我们准备做一个动作游戏的时候,策划会根据项目的需求设计出一些战斗系统相关的“东西”,我们假设今天要做一个《三国志》的手游版:

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

(就不写的太细了,请自行脑补~)
      我们假设上面的文档已经足够清晰了,那程序基本可以开始工作了,不同的程序根据自己的经验往往会有不同的“写”法,而不同“写”法导致的差异往往是巨大的,这些差异主要表现在当策划要修改需求,或添加新功能的时候。
      举个例子,现在要实现【移动】和【跳跃】的操作:

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

      
上面的代码属于“直观条件式”的写法,即严格的按照实际使用条件来实现功能,使用这种方法可以很快的实现基本操作,如果是做一个俄罗斯方块,或者坦克大战,那么这种写法没什么问题,甚至是非常方便,但如果用在战斗系统上,就不是特别好了。
      
因为多数情况下,策划是会修改需求、或者添加新功能的,而这个过程就是最容易产生问题的过程,并且随着代码和功能的复杂化,维护也是一个问题。就像这样…

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

(我觉得这图对于游戏开发来说...很形象...)

      那么,什么样的做法更好呢?

      首先,不要将焦点停留在表面(那些文字或者描述,多数都是表面产物),而要花一定的时间去分析其“根本”,去分析它的“结构”

      结构分析是一项技巧性工作,其最大的特点就是要通过“表”,看到“里”
      ·“表”就是文档中罗列的那些“行为”
      ·而“里”就是这堆行为的共性
      现在就让我们来看看这些“行为”的共性是什么:

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

(之所以标记“主动”和“被动”,是为了避免大家将“指令输入”认为是共性之一)
1:这些“动作”本质上就是各种动画的播放 ;
2:与动作关联的就是各种位移,也许不只位移;

经过简单的分析可以得出结论,战斗系统的结构主要是:
·动画控制:负责控制对象的载入、动画播放、暂停、跳转、移除等
·属性控制:负责控制对象的各种属性值的变化,比如坐标、颜色、角度、缩放等

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

推导过程很简单,结论也很简单,但却很重要,因为这种思路会围绕着后续每个

现在我们来以《拳皇97》的一些例子来验证一下这个结构的正确性:

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

·跳跃
1:按下跳跃,播放跳跃动画,带上一定的位移,既有动画控制,也有位移控制
2:代码一直在判断人物Y轴是否小于地面Y轴,如果是,则播放落地动作,属于动画控制


价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

·陈国汉抡铁球,左右方向键控制移动
1:通过快速连续输入指令(在一段时间内输入5次),播放抡铁球的动作,属于动画控制
2:此时,通过按下左右方向键,来控制移动,属于位移控制
(这里你会发现,按键不仅用来改变动画,同时也可以单独用来改变位移)

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

·草薙攻击,命中陈国汉
1:草薙下前C,播放攻击动画,并附带位移,同时有动画控制位移控制
     陈国汉被先是被推挤,产生向后的位移,因为这里存在body的碰撞检测,从而产生推挤效果,属于位移控制
2:陈国汉被击中,播放受击动作,身体颜色产生变化,并且有向后的位移,有位移控制颜色控制
3:击中时播放受击特效,并且坐标是攻击区域于受击区域集合的范围内,既有动画控制,也有属性控制(坐标、颜色);
4:在击中的瞬间还发生了对象层级的变化,层级也属于属性的一部分,生命值同样也是属性的一部分,因此都是属性控制

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

·草薙攻击,陈国汉闪避
1:闪避的效果就是让攻击的碰撞检测,和body的碰撞检测无效化,因此各自播放各自的动画
2:当动作结束,回到stand,发现没有面对敌人时,就会播放trun(转身)的动画

你可以随意去套游戏中的任何“行为”(无所谓游戏类型),最终你会发现都会满足以上所说的动画属性的控制,即便是镜头特写、镜头震动,也是一样的道理。
“动画控制”和“属性控制”也有自身的特殊结构,接下来我们就要逐步拆解它们。

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)


由于论坛字数控制,只能将价值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毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)

价值5毛钱的战斗系统设计流程(上)(一)
楼主热帖
回复

使用道具 举报

22

主题

5247

帖子

1万

积分

无人不晓

Rank: 12Rank: 12Rank: 12

麒麟币
9418
任务币
0
威望
0
贡献
0
主题
22
在线时间
3 小时
发表于 2018-8-27 18:32:21 | 显示全部楼层
不错,支持下楼主
回复 支持 反对

使用道具 举报

0

主题

5584

帖子

6079

积分

四方传颂

Rank: 9Rank: 9Rank: 9

麒麟币
366
任务币
0
威望
0
贡献
0
主题
0
在线时间
0 小时

最佳新人

发表于 2018-8-27 19:32:34 | 显示全部楼层
小手一抖,积分到手!
回复 支持 反对

使用道具 举报

0

主题

5550

帖子

5903

积分

誉满一方

Rank: 8Rank: 8

麒麟币
258
任务币
0
威望
0
贡献
0
主题
0
在线时间
0 小时

最佳新人

发表于 2018-8-27 21:12:56 | 显示全部楼层
前排支持下分享
回复 支持 反对

使用道具 举报

0

主题

5258

帖子

5097

积分

誉满一方

Rank: 8Rank: 8

麒麟币
-268
任务币
0
威望
0
贡献
0
主题
0
在线时间
7 小时
发表于 2018-8-27 22:23:05 | 显示全部楼层
学习了,谢谢分享
回复 支持 反对

使用道具 举报

7

主题

1万

帖子

2万

积分

苍生崇拜

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

麒麟币
10276
任务币
370
威望
0
贡献
0
主题
7
在线时间
576 小时

最佳新人忠实会员

发表于 2018-8-28 07:52:06 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

1

主题

21

帖子

45

积分

初入江湖

Rank: 1

麒麟币
24
任务币
5
威望
0
贡献
0
主题
1
在线时间
3 小时
发表于 2018-8-28 08:00:55 | 显示全部楼层

日常回复,谢谢
回复 支持 反对

使用道具 举报

0

主题

659

帖子

9334

积分

名下无虚

Rank: 10Rank: 10Rank: 10

麒麟币
8667
任务币
0
威望
0
贡献
0
主题
0
在线时间
167 小时
发表于 2018-8-28 08:26:06 | 显示全部楼层
厉害了,游戏开发者进阶必备啊
回复 支持 反对

使用道具 举报

0

主题

5200

帖子

7943

积分

四方传颂

Rank: 9Rank: 9Rank: 9

麒麟币
2627
任务币
0
威望
0
贡献
0
主题
0
在线时间
1 小时
发表于 2018-8-28 10:05:05 | 显示全部楼层
便宜一点,寡人的麒麟币已经饥渴难耐了!
回复 支持 反对

使用道具 举报

22

主题

5247

帖子

1万

积分

无人不晓

Rank: 12Rank: 12Rank: 12

麒麟币
9418
任务币
0
威望
0
贡献
0
主题
22
在线时间
3 小时
发表于 2018-8-28 11:15:17 | 显示全部楼层
前排支持下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
客服QQ:
47413829
新QQ群:
418757022
在线时间:周一至周五
9:00-22:00 Email:
47413829@qq.com
举报:网盘资源失效
在线客服
快速回复 返回顶部 返回列表