游戏BUFF设计
游戏中的BUFF/DEBUFF我们见过很多,我见到的玩得比较泛滥的就属WAR3、魔兽世界、九阴真经、仿DOTA类的如LOL。
总体上来说,BUFF/DEBUFF都属于“临时的技能效果”,因此它们可以沿用绝大部分的技能逻辑对角色进行程序处理。
设计一个BUFF/DEBUFF机制,需要考虑这么几个要点
(没有需求,就没有设计的方向性指导,没有需求,功能再好,都是没有存在的必要的)
内部运算
1、是否包含技能效果?(提高/降低 攻击 命中 闪避 移动速度 群体伤害 替换技能ID 等 )
2、是否包含阶段效果?(BUFF分为多个阶段,不同的阶段有不同的效果,比如影之哀伤)
3、是否包含计时器?(持续时长计算、叠加时长计算 总之所有关于持续性时间的问题 都丢这里)
4、是否包含计数器?(用来计算阶段、剩余生效次数、比如影之哀伤 LOL电刀)
5、是否具备分类规则?(魔法效果 诅咒效果 中毒效果 用于进行归类 方便程序进行的 驱散筛选判断)
6、是否可以被驱散? (魔法效果只能用祛除魔法解除 中毒效果只能用解药祛除)
7、是否具备优先级?(附加优先级,低等级BUFF会被高等级BUFF替换,低等级BUFF无法附加给高等级怪)
8、是否保留母体信息?(比如传染性的DEBUFF,感染者传播一次,母体会获得额外巴拉巴拉。。。多个项)
9、是否共享同步规则?(比如多个角色共享一个BUFF状态,一个人的BUFF被祛除则其他人也被祛除)
10、以上功能可以进行再补充,没有需求则可以逐个剔除。
外部表现
1、是否显示BUFF图标?(传奇里道士的BUFF是不显示图标的)
2、是否不同阶段表现不同的图标?
3、是否显示计时器?
4、是否显示计数器?
5、是否显示BUFF文字说明?(对BUFF类型、效果的描述)
6、是否改变角色外形?(DNF里的冰冻、WOW里的变形)
7、以上表现功能可以进行再补充,同上。
设计一个新的BUFF机制后对其功能进行扩充,有时候无异于对整个技能模块的数据结构进行改写,所以更多的时候,我们通常用脚本去实现它,只让程序提供接口。
当一个策划在设计BUFF机制的过程中,务必先弄清楚自己需要的是什么,脑海里它的逻辑框架可以支持多大的扩容性(你懂的)。在设计这套技能机制的时候,务必要亲力亲为与程序部门紧密配合,而不可让程序员凭着自己的经验乱动。(程序员的通病,手里有活就闲不住,完全不顾及设计需求)
游戏BUFF设计的更多相关文章
- 游戏buff设计参见
其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时候,它就滚一边去了. 废话不多说切入正题: 游戏中的BUFF/DEBUFF我们见过很多, ...
- 【转】游戏buff设计参见
其实这类帖子并没有多少的设计理论,对于策划的提升和帮助也并不大,原因其实在于其适用性太窄,当我要设计XX象棋的时候,它就滚一边去了. 废话不多说切入正题: 游戏中的BUFF/DEBUFF我们见过很多, ...
- H2Engine游戏服务器设计之属性管理器
游戏服务器设计之属性管理器 游戏中角色拥有的属性值很多,运营多年的游戏,往往会有很多个成长线,每个属性都有可能被N个成长线模块增减数值.举例当角色戴上武器时候hp+100点,卸下武器时HP-100点, ...
- h2engine游戏服务器设计之聊天室示例
游戏服务器设计之聊天室示例 简介 h2engine引擎建群以后,有热心网友向我反馈,想尝试h2engine但是没有服务器开发经验觉得无从入手,希望我能提供一个简单明了的示例.由于前一段时间工作实在忙碌 ...
- Unity《ATD》塔防RPG类3D游戏架构设计(二)
目录 <ATD> 游戏模型 <ATD> 游戏逻辑 <ATD> UI/HUD/特效/音乐 结语 前篇:Unity<ATD>塔防RPG类3D游戏架构设计(一 ...
- Unity《ATD》塔防RPG类3D游戏架构设计(一)
目录 <ATD> 游戏简介 <ATD> 整体结构 <ATD> 游戏机制 Buff机制 Skill机制(技能机制) 仇恨机制 <ATD> 游戏模型 策划案 ...
- 游戏数值——LOL篇 以LOL为起点-说游戏数值设计核心思路
附 文 文档在今年三月份我动笔写了一小部分,但当时思路凌乱,行文梗阻,于是丢在一边构思了半年,现在又回过头来慢慢写,希望能写好写完吧,初衷是希望即时萌新也能看懂,但是好像并不能行——本 ...
- 基于cocos2d-x的游戏框架设计——李成
视频:http://v.youku.com/v_show/id_XMzc5ODUyMTI4.html?f=17330006 网易科技讯 3月31日,第四届CocoaChina开发者大会暨Cocos2d ...
- Elixir游戏服设计五
在<Elixir游戏服设计一>里提到,按照系统功能划分成app要保证原子性很难, 现在想想也没那么难.保证原子性,无非就是需要某个单点去完成操作.那么选择玩家进程去做原子性工作就可以了. ...
随机推荐
- 如何保持自己 fork 的项目和原始项目同步
首先先通过 github 的 web 页面 fork 目标的项目 前提是自己已经设置好了git,并且配置了相应的权限 然后使用git clone命令在本地克隆自己 fork 的项目: git clon ...
- 常见linux命令释义(第五天)——shell变量学习
由于时间有限,我写这篇博客的时间上限为30分钟.仅作为学习笔记而用,内容会尽量的讲清楚.如果讲的不清楚,你来打我啊! 玩笑开过,正式开始今天的学习. linux系统的中一些命令是在/bin下,这个是一 ...
- SMO推导和代码-记录毕业论文4
SMO的数学公式通过Platt的论文和看这个博客:http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html,大概弄懂了.推导以后 ...
- 转:遗传算法解决TSP问题
1.编码 这篇文章中遗传算法对TSP问题的解空间编码是十进制编码.如果有十个城市,编码可以如下: 0 1 2 3 4 5 6 7 8 9 这条编码代表着一条路径,先经过0,再经过1,依次下去. 2.选 ...
- wifi-mac
//18:a6:f7:12:0b:8b //18:a6:f7:1e:a9:57 //18:a6:f7:1f:8e:69 //18:a6:f7:12:0b:9c //18:a6:f7:1f:cd:d4 ...
- Numerical Optimization: Understanding L-BFGS
http://aria42.com/blog/2014/12/understanding-lbfgs/ Numerical optimization is at the core of much of ...
- 隔离click事件
有一些应用,不需要我们自己的定义的click函数,例如: $(document).on('click', '#inp', function(e){ alert('hello world!'); }); ...
- yum -y install与yum install有什么不同
yum -y install 包名(支持*) :自动选择y,全自动 yum install 包名(支持*) :手动选择y or n yum remove 包名(不支持*) rpm -ivh 包名(支持 ...
- Yii2 高级版新建一个 Api 应用
原文地址:http://www.getyii.com/topic/28 先在项目的根目录下复制一份 backend 为 api: cp backend/ api -r 拷贝 api 环境 cp -a ...
- JBoss7 安装配置
一.下载安装 1.下载地址: http://www.jboss.org/jbossas/downloads ,下载Certified Java EE 6 Full Profile版本. 2.解压 jb ...