Buff在游戏中无处不在,比如WOW、DOTA、LOL等等,这些精心设计的BUFF,让我们击节赞叹,沉迷其中。

问:BUFF的本质是什么?

BUFF 是对一项或多项数据进行瞬间或持续作用的集合。(持续的改变对象某些属性的效果)

问:设计BUFF的要点有哪些?

1:有用还是有害:

也就是我们常说的BUFF/DEBUFF,有可能我们有个技能可以驱散角色身上所有的Debuff(dota净化)

2:持续总时间:

指定时间段 或 无时间限制(在时间上面是永久的,比如Dota小小的变大)

3:作用间隔:

瞬间(传奇里面的太阳水),持续作用(传奇里面的红药)

4:作用属性:

Buff要影响对象的哪个属性?

5:单次作用量  或者 总作用量:

每次Buff触发时,作用于属性的增量值

或者指定总量,比如DOTA龙鹰的大招,指定范围内,总计造成1000伤害

1:更深入点讨论,我们可以得出要设计一个Buff体系,可能需要涵盖以下元素

1:使Buff趋于触发的元素(量变)

最简单的比如:计数器或者计时器

打个比方:LOL里面的电刀,触发之后,清零;然后重新开始计数,到100再触发;再比如某些累计点数之后,再触发的技能。

2:使Buff瞬间触发的元素(质变)

这个触发点非常之多,灵活混合使用,可以创造出很多不可思议的效果,我能想到的,按照Buff生命周期全部罗列到下面,供大家头脑风暴

1:Buff创建的时候

2:Buff持续作用时间内,每隔XX秒,被触发的时候(喝药、谜团的憎恨)。

3:载体攻击的时候(电刀)

4:载体被攻击的时候(刃甲,反弹伤害;传奇魔法盾,吸收伤害)

5:载体死亡之前(蛮王,6秒真男人,就死死不了)

6:载体死亡后 (LOL里面那个什么法师,死亡之后,尸体还可以继续攻击)

7:Buff消失时(Dota死亡领主的盾,破裂时将被攻击时吸收的的伤害反馈给范围内的玩家),再来个LOL里面的李青(天音波 Buff消失,回音击解锁)

3:叠加还是覆盖?

Dota里面蝙蝠的油大家知道吧?这个就是叠加。“叠了20层油,就切回基地把钱花光吧”

覆盖就很普遍了,基本上我们看到的技能都是这个,比如毒蛇的中毒,再中一次毒,就只是把剩余作用时间重置一遍;但是这里有个优先级还是要提下的,低优先级无法覆盖高优先级的

4:包容还是互斥?

乍一看和第3点容易搞混,最明显的区别是覆盖会减少buff的计数,互斥则不会。打个比方,Dota里面,月之骑士Luna的大招就是用到了这点,先来个技能介绍:

  以月亮之名,召唤10(12)道月光,随机选择周围的目标造成伤害。任何单一目标不会受到多于4(∞)道月光的打击。

  在0~4道月光的时候,是包容,4道以后就是互斥了;当我们装备了蓝杖的时候,将Buff由互斥改为包容,就可以实现蓝杖的效果了(12道全中还不死?)

5:施放者

Dota里面你最恨啥?沉默术士的沉默遗言肯定能上榜,在这个Buff里面死亡的玩家,会被沉默术士永久窃取一点智力。这样的需求,我们就需要记录Buff的施放者

6:不同阶段,不同惊喜

这个一时找不到合适的对象,就随便说个,比如有个技能开启之后根据计数器开始叠加层数,0~10层获得攻击力增加,10~20层对10%血量以下的怪物,造成一击必杀的效果(程序里可以造成9999999伤害,必死啊)

2:Buff的表现一定要明显

Buff一定要明显,比如LOL里面电刀就是有层数数字显示的,当累积到100时,我就知道,“哦,我可以给对面的小子狠狠的电一下了”

那么如果没有这个数字显示呢?“我掐着时间算着,好像累积到100了,该不该去试试呢?”,这个可能导致2个问题:1:没累积100,玩家没电到人,被人搞死 2:累积到了100,玩家不知道,导致产能浪费

再比如说Dota里面的黑皇杖,当我们看到一个又粗又大的英雄,冲入到我方法师阵营里面,肯定是一阵鸡飞狗跳,“那家伙开硬又黑了,兄弟们风紧扯呼”

如果没有变大模型这个提示呢?看到一个地方英雄冲了过来,我从1000套搞死他的方案里面挑选出了最凶残的方案NO1,结果技能点到对方身上,准备秀的飞起的时候,“无效选择对象”

拿LOL来说:(截图难找,各位看官请结合自身经验进行适量脑补)

喝药:角色身上旋转着一堆绿色的粒子特效,告诉我,角色的生命正在恢复中

蛮王6秒真男人:首先播放声效,然后蛮王身上冒出不明黄色液体,然后身上显示“不灭愤怒”4个字

BUFF对于玩家来说,其实是一个考验“辨认能力”的游戏玩法(我早期提出的游戏三类型)。比如“玩家A身体变红了,集火它可以造成额外伤害;玩家B身体变大了他要爆发了,请速度给其减速或打晕然后逃离他;玩家C感染了病毒全身发绿,应该远离他不要被传染”。

  正是如此,所以在设计短时间的BUFF或DEBUFF的时候,应该遵循“该状态可以给玩家造成深刻印象”的原则,该大气表现的时候就该大气表现,技能效果要与外在形态形成正比。

浅谈BUFF设计的更多相关文章

  1. [UWP]浅谈按钮设计

    一时兴起想谈谈UWP按钮的设计. 按钮是UI中最重要的元素之一,可能也是用得最多的交互元素.好的按钮设计可以有效提高用户体验,构造让人眼前一亮的UI.而且按钮通常不会影响布局,小小的按钮无论怎么改也不 ...

  2. 浅谈UI设计中妙用无穷的深色系背景

    英文:medium 译者:优设网 - 陈子木 链接:http://www.uisdc.com/ui-benefits-of-dark-background# --------------------- ...

  3. 浅谈API设计

    为什么需要了解一些API设计? 只要你编程,你就是API Designer 一个好的设计,模块之间的耦合应该也是API级别的 一个程序,如果你独立开发,那你既是API的Designer,也是API的U ...

  4. Redis系列六 - 浅谈如何设计秒杀系统

    前言 设计一个系统之前,我们肯定要先确认系统业务场景是怎样的,下面就以某电商平台上的秒杀活动为场景,一起来探讨一个秒杀系统改如何去设计. 场景 我们现在要卖100件纸尿布,按照系统的用户量及以往经验来 ...

  5. mybatis缓存源码分析之浅谈缓存设计

    本文是关于mybatis缓存模块设计的读后感,关于缓存的思考,关于mybatis的缓存源码详细分析在另一篇文章:https://www.cnblogs.com/gmt-hao/p/12448896.h ...

  6. 开源项目 PM 浅谈如何设计官网

      有用户反馈进入官网首页光秃秃的一片,大家忙着做产品,忽略了官网的建设,惭愧惭愧.   确实,极简风格和极其简单还是有很大区别的.     旧的 Web 端   除了极其简单之外,它还有一个小问题, ...

  7. 【WebApi系列】浅谈HTTP

    [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi如何传递参数 [04]详解WebApi测试和PostMan [05]浅谈WebApi Core ...

  8. 【WebApi系列】浅谈HTTP在WebApi开发中的运用

    WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...

  9. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

随机推荐

  1. POJ 3260 完全背包+多重背包+思维

    传送门:https://vjudge.net/problem/20465/origin 题意:你有n种钞票,面值为c[i],数量为v[i],便利店老板有无数张面值为c[i]的钞票,问你买一个价值为T的 ...

  2. 对于redis框架的理解(四)

    上一篇讲述了eventloop的结构和创建,添加文件事件删除文件事件,派发等等. 而eventloop主要就是调用不同网络模型完成事件监听和派发的. 这一篇主要讲述epoll网络模型,redis是如何 ...

  3. z-index详细攻略

    概念 z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. 层级关系的比较 1. 对于同级元素,默认(或position:static)情况下文档流后面的 ...

  4. 优先队列 逆向思维 Gym 101128C

    题目链接:http://codeforces.com/gym/101128/my 具体题目大意可以看这个人的:http://blog.csdn.net/v5zsq/article/details/61 ...

  5. Parencodings(模拟)

    ZOJ Problem Set - 1016 Parencodings Time Limit: 2 Seconds      Memory Limit: 65536 KB Let S = s1 s2 ...

  6. 用setTimeout模拟QQ延时提示框

    很简单的代码,不多解释,一看就懂. <!DOCTYPE html> <html> <head> <meta http-equiv="Content- ...

  7. 巧用Javascript将相对路径地址转换为绝对路径

    这里介绍的其实本质上是两种方法,通过创建DOM或通过JavaScript计算: 1)通过新创建的Image, 经测试会发送一个Aborted的请求,并且IE6不支持, 将new Image改成docu ...

  8. jquery 事件对象属性小结

    使用事件自然少不了事件对象. 因为不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异, 导致我们很难跨浏览器使用事件对象. jQuery中统一了事件对象, 当绑定事件处理函数时, 会将jQue ...

  9. Liunx 下载文件夹下所有文件

    136down voteaccepted You may use this in shell: wget -r --no-parent http://abc.tamu.edu/projects/tzi ...

  10. ES6核心,值得驻足花一天时间来学习

    1.let 和 const 命令 在es5时,只有两种变量声明,var 和function.在es6中新增了四种let和const,以及另外两种声明import和class. 我们先讲解let和con ...