zoukankan      html  css  js  c++  java
  • 游戏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机制的过程中,务必先弄清楚自己需要的是什么,脑海里它的逻辑框架可以支持多大的扩容性(你懂的)。在设计这套技能机制的时候,务必要亲力亲为与程序部门紧密配合,而不可让程序员凭着自己的经验乱动。(程序员的通病,手里有活就闲不住,完全不顾及设计需求)

  • 相关阅读:
    2.5 tensorflow2.3--变量Variable声明和初始化
    2.4 tensorflow 2.3学习--- 矩阵
    2.3 tensorflow 2.3学习--向量
    C++11最新特性总结
    c++多态和虚函数表实现原理
    Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
    Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理9
    Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理7
    Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理5
    Vue快速学习_第一节
  • 原文地址:https://www.cnblogs.com/damowang/p/5799967.html
Copyright © 2011-2022 走看看