浅谈BUFF设计
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设计的更多相关文章
- [UWP]浅谈按钮设计
一时兴起想谈谈UWP按钮的设计. 按钮是UI中最重要的元素之一,可能也是用得最多的交互元素.好的按钮设计可以有效提高用户体验,构造让人眼前一亮的UI.而且按钮通常不会影响布局,小小的按钮无论怎么改也不 ...
- 浅谈UI设计中妙用无穷的深色系背景
英文:medium 译者:优设网 - 陈子木 链接:http://www.uisdc.com/ui-benefits-of-dark-background# --------------------- ...
- 浅谈API设计
为什么需要了解一些API设计? 只要你编程,你就是API Designer 一个好的设计,模块之间的耦合应该也是API级别的 一个程序,如果你独立开发,那你既是API的Designer,也是API的U ...
- Redis系列六 - 浅谈如何设计秒杀系统
前言 设计一个系统之前,我们肯定要先确认系统业务场景是怎样的,下面就以某电商平台上的秒杀活动为场景,一起来探讨一个秒杀系统改如何去设计. 场景 我们现在要卖100件纸尿布,按照系统的用户量及以往经验来 ...
- mybatis缓存源码分析之浅谈缓存设计
本文是关于mybatis缓存模块设计的读后感,关于缓存的思考,关于mybatis的缓存源码详细分析在另一篇文章:https://www.cnblogs.com/gmt-hao/p/12448896.h ...
- 开源项目 PM 浅谈如何设计官网
有用户反馈进入官网首页光秃秃的一片,大家忙着做产品,忽略了官网的建设,惭愧惭愧. 确实,极简风格和极其简单还是有很大区别的. 旧的 Web 端 除了极其简单之外,它还有一个小问题, ...
- 【WebApi系列】浅谈HTTP
[01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi如何传递参数 [04]详解WebApi测试和PostMan [05]浅谈WebApi Core ...
- 【WebApi系列】浅谈HTTP在WebApi开发中的运用
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
随机推荐
- ctsc2009 移民站选址
分析:非常非常好的一道题! 首先需要对问题进行转化: 行列无关,对于行单独处理,对于列单独处理 必然存在一个最优方案使得每一个新站与旧站重合. 转化1很显然,对于转化2,是一类非常经典的“中位数问题” ...
- Land of Farms HDU - 5556 二分图匹配
Farmer John and his brothers have found a new land. They are so excited and decide to build new farm ...
- Mongodb 备份 还原 导出 导入 等批量操作
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. 一,mongodump备份数 ...
- Bootstrap 文件上传插件 FileInput的使用问题
: 在使用bootstrap的文件上传插件fileinput http://plugins.krajee.com/file-input的预览功能时,删除预览图片在 bootstrap 模态框中没有用, ...
- org.hibernate.HibernateException: getFlushMode is not valid without active transaction
Spring & Hibernate 整合异常记录: org.hibernate.HibernateException: getFlushMode is not valid without a ...
- ArrayList和Array区别
1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array([]):最高效:但是其容量固定且无法动态改变: ArrayList: 容量可动态增长:但牺 ...
- 2017北京国庆刷题Day4 afternoon
期望得分:100+100+0=200 实际得分:5+0+0=5 每加入一个数,x的因数位置++ 注意:根号x枚举时,如果x是完全平方数,根号x会重复累计2次,要减去 考场上没减,5分 /(ㄒoㄒ)/~ ...
- HDU 1452 欧拉定理
让你求$2004^x$所有因子之和,因子之和函数是积性函数$\sigma(n)=\sum_{d|n}d=\prod_{i=0}^{m}(\sum_{j=0}^{k_i}{P_i^{j}})$可用二项式 ...
- [php]apache虚拟主机配置
1.所谓虚拟主机的配置,即url与磁盘目录的绑定 2.在httpd.conf中查询Virtual host,发现有注释说明需要在conf/extra/httpd-vhosts.conf中进行配置. 3 ...
- HTTP、HTTPS
http是一种无状态协议,通过短暂保持浏览器核服务器间通信可以有效减少为保持连接而耗费的额外开销.无状态意味着浏览器和服务器完成一次通信后,连接会释放.在下一次会话发起时,浏览器核服务器端不会记录上一 ...