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. vmvare-centos7-vim

    centos7网络连不上问题 http://geekflare.com/no-internet-connection-from-vmware-with-centos-7/ http://www.jia ...

  2. 【题解】Inspection UVa 1440 LA 4597 NEERC 2009

    题目传送门:https://vjudge.net/problem/UVA-1440 看上去很像DAG的最小路径覆盖QwQ? 反正我是写了一个上下界网络流,建模方法清晰易懂. 建立源$s$,向每个原图中 ...

  3. 管理lnmp常用命令,lnmp重启,start|stop|reload|restart等命令

    LNMP状态管理命令: LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}Nginx状态管理:/etc/init.d/nginx ...

  4. linux 文件IO

    1.文件描述符 (1)文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表.(2)文 ...

  5. C11线程管理:线程创建

    1.线程的创建 C11创建线程非常简单,只需要提供线程函数就行,标准库提供线程库,并可以指定线程函数的参数. #include <iostream> #include <thread ...

  6. 【CodeForces】671 D. Roads in Yusland

    [题目]D. Roads in Yusland [题意]给定n个点的树,m条从下往上的链,每条链代价ci,求最少代价使得链覆盖所有边.n,m<=3*10^5,ci<=10^9,time=4 ...

  7. 【BZOJ】2120: 数颜色 带修改的莫队算法

    [题意]给定n个数字,m次操作,每次询问区间不同数字的个数,或修改某个位置的数字.n,m<=10^4,ai<=10^6. [算法]带修改的莫队算法 [题解]对于询问(x,y,t),其中t是 ...

  8. 2017ACM暑期多校联合训练 - Team 2 1001 HDU 6045 Is Derek lying? (模拟)

    题目链接 Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.Thi ...

  9. NYOJ 305 表达式求值 (字符串处理)

    题目链接 描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等.经过训练, ...

  10. flask插件系列之flask_celery异步任务神器

    现在继续学习在集成的框架中如何使用celery. 在Flask中使用celery 在Flask中集成celery需要做到两点: 创建celery的实例对象的名字必须是flask应用程序app的名字,否 ...