游戏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要保证原子性很难, 现在想想也没那么难.保证原子性,无非就是需要某个单点去完成操作.那么选择玩家进程去做原子性工作就可以了. ...
随机推荐
- 我的WCF Data Service 系列 (一、为什么要有WCF Data Service)
开篇先说两名题外话, 在博问上,经常看到有个问性能问题,比如Entity Framework的性能行不行啊之类的. 其实这个行不行,关键还是看对象,一夜家族的老七可能勉强吃点蓝片片,也就行了,可真要让 ...
- python字符编码(二)
一.什么是字符编码 计算机要想工作必须通电,也就是说‘电’驱使计算机干活,而‘电’的特性,就是高低电压(高低压即二进制数1,低电压即二进制数0),也就是说计算机只认识数字 编程的目的是让计算机干活,而 ...
- 精通javascript(看书笔记)
变量的类型检查 //检测类型 var str = "Hello World"; if (typeof str=="string") {//使用typeof来判断 ...
- hibernate----(Hql)查询
package com.etc.test; import java.util.List;import java.util.Properties; import org.hibernate.Query; ...
- [转发]dsdt解决睡眠唤醒死机
登录 注册 首页 热门话题 最新发布 简单模式 详细模式 dsdt解决睡眠唤醒死机 Leave a reply 首先,感谢x5115x提供了一个相对比较完整的THINKPAD T410在MAC下的 ...
- python--文件删除、判断目录存在、字符串替换
昨晚笔试了金山WPS的测试开发卷,做个笔记(但不是答案,只是我的想法),关于文件和字符串的处理正在写入与完善至上一篇的博客中,现在题目如下: 1.使用脚本语言删除E:\abc目录下的所有文件: 利用o ...
- Linux下安装setup tools小工具
1, 最小化的linux系统(centos\redhat)默认都是没有安装setup图形小工具的,你输入setup命令会提示 command not found . 如果要使用这个命令安装方法 1.安 ...
- Ubuntu下apt-get命令详解
在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu通过新立得安装软件的常用工具命令. 本文列举了常用的APT命令参数: apt-cache search pack ...
- Centos 6.0将光盘作为yum源的设置方法
在使用Centos 的时候,用yum来安装软件包是再方便不过了,但是如果在无法连接互联网的情况下,yum就不好用了. 下面介绍一种方式,就是将Centos安装光盘作为yum源,然后使用yum来安装软件 ...
- centos nc命令安装
yum install nc.x86_64 nc命令的参数 参数 作用-i 设置数据报传送时间间隔-l 以服务器方式运行-k 重复接收并处理某个端口上的所有连接,必须与-l选项一起使用-n 使用ip地 ...