百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

「从零开始」放置回合卡牌构建数值框架与战斗文档设计撰写教学

csdh11 2025-02-21 12:55 14 浏览

本文来自亲分 知乎专栏“游戏数值+战斗”

https://www.zhihu.com/column/c_1349527645441454080


私以为,战斗策划是游戏策划中最“快乐”的职位,你可以自由设计游戏技能、战斗规则、战斗逻辑和战斗表现等等内容,自主性远超打杂策划,很容易获得成就感。而对于许多游戏来说,战斗都是其最为核心的内容,所以成为一个战斗策划,不仅能获得职业成就感,还有“钱途”。


战斗策划做得好,完全能以最小的成本做出游戏差异化,可以让一个游戏由死转生,甚至成为爆款。


比如最近的《提灯与地下城》的战斗体系就很有意思。


  1. 人物技能固定升级。
  2. 游戏中宠物拥有技能,角色可以选择宠物出战,这样百变百搭,人物带不同的宠物就等于选择了不同的出战技能。
  3. 游戏中提灯技能也可以选择升级,人物战斗相关属性,技能也会随着提灯不同而不同。
  4. 游戏中绿色装备套装技能,传奇装备特殊技能。穿装备不同,人物就拥有了不同的额外的技能。


这样的设计就构成了极为有意思的战斗策略体验,让玩家随着游戏进程发展,开启新系统就是开启新的外挂技能,获得新的宠物,新的装备,新的提灯,其实核心就是获得了新的技能。这样的玩法设计,对于一个战斗策划来说,很容易设计,很容易实现。



我们再来看《率土》、《三国志战略版》和《鸿图之下》(鸿图可以看做特殊的回合)。


  1. 将领固定1个技能
  2. 剩余2个技能可以随意选择组合搭配,这样的设计,使得将领技能搭配成为了战斗的核心,将游戏的战前策略发挥到了极致,也使得此类游戏目前成为了回合类卡牌的策略巅峰。



而以上说的游戏,大家只要做了战斗策划就会了解,要实现相对来说是很容易的(暂时不讲平衡性)。下面就开始讲讲战斗文档如何撰写,相信大家看完本文就能了解以上游戏的战斗大约是如何做的,也能自己设计出自己喜欢的战斗规则逻辑系统了。


下面就简单写一个放置回合卡牌游戏的战斗文档范例,新人可以学习一下。


放置回合卡牌战斗文档撰写可以大约分为以下几点:


1、战斗综述。

2、属性大全。

3、战斗公式。

4、战斗规则逻辑。

5、攻击结算(瀑布圆桌)

6、战斗出手顺序与计算优先级。

7、战斗索敌规则

8、技能触发规则(触发点)

9、战斗胜负规则

10、法术效果文档(法术效果、法术生效规则等)

11、技能效果文档

12、游戏的特殊规则(怒气规则。神兽?)

13、技能升级装配相关文档。

14、战斗表现相关文档。


一、战斗综述


战斗综述在全文档开头,作用是让读者对游戏战斗有个整体概念。程序看了这个能够初步有个评估。大家游戏项目的战斗如果有原型,可以直接拿其他游戏贴图让程序看看。我们现在是在写一个放置回合卡牌游戏的文档,那么就可以画个图。画完图开始写。



  1. 本游戏攻击方与防守方最多各上阵5名英雄,固定站位,布阵如上。
  2. 游戏中战斗单位不仅有英雄会攻击,放技能,还可能有神器会技能,神兽放技能,所以需要布置一个场景对象(比如开场对全体敌人造成伤害,谁放技能,就是一个看不见的场景对象放的。)
  3. 本游戏有怒气值设定,怒气值达到一定数值英雄可以释放怒气技能,怒气技能释放可手动释放,也可以自动释放。
  4. 攻击顺序按速度值大小排序。
  5. 战斗时间单位、法术效果生效时间基本单位为回合。


好了,以上就是综述,详细的内容将会在其他地方写。


备注:如果你想做的游戏是自由换技能,或者连击连协攻击的体系,那么都要写出来。比如你写一个英雄只有1个固定技能,其他技能全都可以自由组合的话,那么也要写出来,虽然不写程序后期也能做出来,但是现在写让程序心里有个数,以后不会被骂。


二、属性大全


没有属性如何战斗?属性意义不明如何写战斗公式?比如《最强蜗牛》一点元素属性等于7点无视防御的伤害。如果你不写出来,程序怎么知道属性是啥意思呢。所以第一步,我们需要写个属性大全,把每一个属性是啥意思,全都写出来。另外还可以标注一下,哪些属性需要在角色面板显示,哪些不需要。


随着游戏属性越来越多,慢慢的属性有了1级属性,2级属性,3级属性。


这里举个例子说明一下什么是1级属性,2级属性,N级属性:


MMO游戏中有力量,敏捷等属性,而在战斗公式中,力量敏捷并不直接进行计算,而是将力量转换为攻击力,血量;敏捷转换为闪避,速度、命中、暴击等等属性进行计算,比如1点力量等于4点攻击,那么这些属性(力量敏捷)我们可以看做1级属性,其衍生的攻击则为2级属性。


再举个老游戏玩家都了解的例子:《魔兽世界》中最早45级版本是没有暴击等级这种属性的,就只有暴击率属性,如暴击+1%。之后由于数值膨胀等原因,就加入了暴击等级这个概念,暴击等级转换成的暴击率受到玩家等级影响,所以在此,暴击等级看做是1级属性,暴击率可以看做其衍生的2级属性。


但是由于此处只是单纯的教学,就不那么多1级属性2级属性了,就简单的找个图吧。如下(此图少了一些信息,请加上显示规则,是否要在英雄面板或者哪里显示请写出来,加2列。)



我们需要明确属性数值类型,属性具体作用,以及显示规则,比如某些属性不需要显示在英雄属性面板,有的要显示)


备注:曾经的《冒险岛》游戏有出售双倍经验卡,双倍掉落卡,那么这算是属性吗?其实是属性!所以大家游戏假如有类似东西,也可以写上去。


三、战斗公式


有了属性,我们来看公式。公式包括了属性计算公式,战斗相关公式。以下简写一个吞卡升星放置卡牌游戏的卡牌属性公式。


  • 卡牌单项属性的总属性(如总生命值)=卡牌基础属性*千分比加成值+附加属性。
  • 卡牌基础属性(生命值、攻击力与防御力)=卡牌初始属性*卡牌等级系数*卡牌阶级系数*卡牌星级系数
  • 卡牌基础速度=卡牌初始属性+卡牌等级增加值+卡牌阶级增加值+卡牌星级增加值
  • 卡牌基础属性为:生命值、攻击力、防御力与速度


所以:


  • 卡牌基础生命值等于=卡牌初始生命值*卡牌等级系数*卡牌阶级系数*卡牌星级系数
  • 卡牌基础防御力等于=卡牌初始防御力*卡牌等级系数*卡牌阶级系数*卡牌星级系数
  • 卡牌基础攻击力等于=卡牌初始攻击力*卡牌等级系数*卡牌阶级系数*卡牌星级系数
  • 卡牌基础速度等于=卡牌初始属性+卡牌等级增加值+卡牌阶级增加值+卡牌星级增加值


那么卡牌初始属性从何而来呢?我们需要备注:导表是指配置表


  • 初始生命值=英雄导表初始生命值
  • 初始防御力=英雄导表初始防御力
  • 初始攻击力=英雄导表初始攻击值
  • 初始速度=英雄导表初始速度值


除此之外还有以下属性


  • 基础闪避率 = 英雄导表闪避率
  • 基础命中率 = 英雄导表命中率
  • 基础暴击率 = 英雄导表暴击率
  • 基础暴击伤害 = 英雄导表暴击伤害率
  • 基础抗暴率 = 英雄导表抗暴率
  • 基础破甲率 = 英雄导表破甲率
  • 基础增伤率 = 英雄导表增伤率
  • 基础减伤率 = 英雄导表减伤率
  • 基础免控率 = 英雄导表免控率
  • 基础控制率 = 英雄导表控制率
  • 基础技能增伤=英雄导表技能增伤率
  • 基础技能减伤=英雄导表技能减伤率


那么除了生命值、防御力、攻击力和速度外的属性如何计算变化值呢。我们继续写一个公式。


基础数值 + 数值附加 - 数值减少


例:导表闪避为50,现在装备加50闪避,被人放了一个减30闪避的DEBUFF。


那么闪避就是,50+50-30


也就是说,这个游戏属性计算其实只有2个公式,如下:


计算公式(1):int(基础数值 ) * (1 + 百分比加成)) + 附加数值


计算公式(2):基础数值 + 数值附加 - 数值减少


然后我们备注一下,每一个属性用哪种公式,如


生命值、防御、攻击、和控制率、免控率。计算使用公式(1)


速度,闪避、命中、暴击、暴击伤害、抗暴、破甲、增伤等全都使用公式(2)


以上就是简写的属性计算公式了,如果你的游戏中有一些奇怪的属性,计算方法还非常特殊的话,那么可以写出来让程序知道。


在属性计算公式完成之后,我们还需要什么呢?需要战斗公式。战斗公式分为减法公式与乘除法公式,现在使用乘除法公式的游戏越来越多,加减法的游戏大多是传奇,青云决,老版卡牌游戏、微信小游戏等。以下我们在网上抄一个公式,如下。


  • 攻击系数=攻击力*技能系数
  • 防御系数=1/(1+(攻击系数/(防御力*4))
  • 最终伤害=攻击系数*(1-防御系数)*(1+增伤减伤系数)*(1+种族系数)
  • 暴击最终伤害=攻击系数*(1-防御系数)*(1+增伤减伤系数)*(1+种族系数)*暴击系数


大家注意,一些新名词,程序可能不知道是什么意思,所以有的名词需要解释一下:


  • 技能系数:技能伤害倍率,如技能为300%攻击伤害,则技能系数为3。由于配置表填的是千分比,所以技能系数就是配置表数值除以1000。
  • 增伤减伤系数:包括怒气增伤,职业克制增减伤与增伤率,减伤率,前排后排站位增减伤等。
  • 种族系数:种族克制增减伤


那么战斗公式是否就这样完了呢?当然没有,我们的游戏中不仅有伤害,还有治疗。所以得有治疗恢复公式。


  • 恢复量 = 攻击系数*(1+恢复增减系数)
  • 暴击恢复量 = 恢复量*暴击系数
  • 恢复暴击率=暴击率(与攻击技能不同的是此处只计算恢复者暴击率,受恢复者的抗暴不进行计算)
  • 恢复暴击伤害率=暴击伤害率


继续名词解释:


恢复增益减系数:恢复效果百分比加减增益+技能增伤加成 此处直接用加减法(公式2)计算,如施法者恢复效果提高10%,被恢复单位受到恢复效果提高10%,那么一共就是提高20%效果


然后我们又会想到一些特殊情况,比如吸血,比如按生命值最大值加血的恢复,到底要不要加恢复增益系数呢?如果算的话,公式如下。


按最大生命值比例恢复的效果


恢复量=目标生命最大值*恢复千分比*(1+恢复效果增减系数)


按造成伤害的千分比恢复生命值的效果


恢复量=造成的总伤害*千分比吸血*(1+恢复效果增减系数)


战斗公式写到这,差不多快要完了,我们再加上一些程序可能不太清楚的公式,其实就是上面的公式1与公式2。


最终命中率=攻击方命中-目标方闪避


最终暴击几率 = Math.Max(0, 攻击者暴击率 - 目标者免暴率)


最终暴击伤害率=施法者暴击伤害加成-目标暴击伤害倍率降低


最终控制率 = 攻击者的技能控制率 * (1+控制率-免控率)


最后再来个战斗力计算吧。


战斗力=属性1 * 系数1+属性2 * 系数2+.........属性N* x系数N


战斗力计算是许多新人纠结的点,但是其实没有必要纠结,因为战斗力设计出来的原因是让玩家知道自己实力与其他人的差距,似乎这个最早是在游戏《激战》中出现。既然出现原因只是为了对比出差距,那么我们就不需要完全真实,只要尽量真实就行。


具体系数计算请使用标准木头人进行1V1战斗,战斗要使用游戏中的战斗规则与公式,然后计算出各个属性的价值,就可以得出大约系数了,不过可以明确的说,在游戏不同阶段,不同的属性,价值不同。所以得出的属性也不会是完全“真实”的,但是只要我们始终控制属性投放比,那么就不会有问题。就可以完美达成战斗力设计出来的目标,既然目标达成了,我们也不需要计算最准确的战斗力数值了,而且事实上也算不出,我曾经研究了好久动态战斗力计算,结果就是敌人属性不同,我的战斗力就不同,这样变动的战斗力,不仅麻烦没用,玩家还理解不了。


备注:战斗数值是依附于战斗逻辑,战斗规则,战斗公式的。如果没有这些,那数值属性毫无意义。如果有人在没有了解任何系统规则,战斗规则,战斗公式的前提下跟你讨论战斗数值,那么不用讨论,因为可能没有意义。再拿《最强蜗牛》蜗牛举例,1点元素值假如你不知道他的公式,你觉得这属性是强是弱,能判断出来吗?假如1点元素不是7点伤害,而是100点呢?总之就是在不知道规则,战斗公式之前,你无法准确判断任何属性的实际作用。


大家有时候也可以多多参考优秀游戏的战斗公式设计,比如回合MMO游戏《梦幻》中战斗时出手顺序并不严格按照速度排序,而是有乱敏设计,其速度在每回合开始前会随机乘以一个系数,比如(0.98-1.02),这样在战斗时,速度快的单位不一定先出手,给战斗带来了一点随机性。



再次提醒切记,讨论战斗数值不能脱离战斗系统,战斗公式,脱离系统规则公式讨论战斗数值几乎没有意义。


四、战斗规则逻辑


不同的游戏战斗规则可能大有区别。战斗规则这里不能随便想想,必须考虑完善,甚至是在项目立项时就要考虑清楚,我们到底要做一个什么游戏。因为任何以战斗为核心的游戏在战斗框架搭建完毕之后,都不是那么容易修改的。这里不仅涉及程序,还涉及前端表现。


从实现的角度讲,要仔细研究设计,从游戏游戏性来讲,战斗要做出差异化,更是要好好设计。当然,要简单设计也没关系,游戏其他部分做好就行,比如我们做一个战斗规则很简单,但是技能效果,法术效果多样,技能搭配多样也很好,比如《提灯与地下城》,战斗就极其简单,做的吸引人的是技能体系。


下面画一个普通的回合游戏的战斗逻辑。



现在一般回合游戏都有“指挥”技能,此技能在战斗前发动,那么不同技能如何发动,谁先谁后,在优先级文档写。另外,一般持续性恢复效果和持续性伤害效果都是在下一回合开始前进行计算。


五、攻击伤害结算


这个相信大家都很熟悉了,就是那个瀑布和圆桌,这里实在是没啥好说的,毕竟太过简单了,我们在网上搜一个类似的图,如下(下图逻辑图用的图形用错了,但是能理解就行)。



稍微要注意点的就是以下这点:一般瀑布逻辑中最先进行判断的事件,概率才是真实的,在此之后进行的判断,概率都是缩水的。另外有的游戏判断之后可以连续判断,比如又暴击又格挡,这个看规则设计了。


六、战斗出手顺序与优先级


疑问:


  1. 在战斗时,速度相同的英雄谁先出手?
  2. 指挥技能和被动技能谁先生效?
  3. 一个技能触发点同时触发了神器技能、英雄技能和神兽技能、谁先出手?
  4. 一个持续3回合的恢复效果和一个持续3回合的持续伤害效果(灼烧)在回合末尾谁先进行计算?


以上所有可能让程序产生疑问的内容,我们都需要进行说明。下面举例1:


英雄出手顺序:


  1. 当同一方英雄速度相同时,按站位顺序从小到大出手。如1号位与5号位速度相同,那么1号位先出手。
  2. 当不同方英雄速度相同时,攻击方先出手(攻击方优势,鼓励进攻)。


程序不知道位置序号,我们来标一下。



需要注意的是,这里的出手顺序是常规行动出手顺序。


名词解释:英雄按速度排序每回合固定进行1次的行动。


在游戏中技能的各种触发点会打断此顺序,举例:被攻击反击,A攻击B,下一个按速度是C行动,但是B被攻击会反击,那么B先反击,C才会行动。


举例2:


恢复与持续伤害DEBUFF谁先结算?


我们可以设想一下,如果先计算持续伤害会出现什么情况?


会出现掉血之后,英雄死亡,恢复效果无效的情况。


所以现在一般游戏设计都是先恢复后DEBUFF掉血。


七、战斗索敌规则


战斗索敌,简单理解就是,英雄放一个技能,到底打谁(对谁生效),是打后排长头发的男性?还是前排血量最低的拿刀的青蛙呢?


如果我们要在回合游戏中做一个双子BOSS,其中一个死亡,另外一个会将他复活,那么要如何做?相信很多玩过《wow》的朋友都记得血色要塞的“苟男女”,其实在回合游戏中,也能做到同样的效果。这也是做战斗好玩的一点,其实所有的,你见过的,你能想象到的符合目前游戏战斗框架技能,程序其实都能做(请别乱想,太难做了程序不想做,不符合游戏目前框架的设想会让程序觉得你是傻子,所以在设计游戏战斗框架时,你就要想想这些事情)。


那么索敌规则文档如何写呢?以下简单举例1:


索敌规则1:攻击血量最低的目标


  1. 血量最低按生命值千分比计算(不是按值),场上当前血量与最大血量的比值最低的目标。
  2. 当攻击目标个数是多个时,如攻击2个血量最低的目标。那么在敌方存活单位进行血量“最低”排序,选2个进行攻击。
  3. 当血量最低目标个数小于攻击目标个数时(攻击2个血量最低目标,但是敌人只活着一个),那攻击全体存活目标。


索敌规则2:攻击后排目标


  1. 攻击敌方站位在后排的目标。
  2. 当攻击目标个数小于后排存活单位个数时,随机攻击目标个数的单位。(如后排3个人,你攻击1个,就随机选一个进行攻击)
  3. 当攻击目标个数大于后排存活单位个数时,优先攻击后排目标,多余目标个数从前排选取。(也可以设计为不攻击前排,不够就不够)
  4. 当后排没有单位时,攻击前排目标。


所以如果是策划定配置表的话,那么这个索敌至少得有以下字段


  1. 目标类型(后排,前排,血量最低,攻击最高,女性,男性,拿刀,拿剑,带步兵,战士,法师。)这里注意,某些目标类型,也许可以直接放在参数里。
  2. 目标个数:打几个
  3. 目标参数:比如我们要做一个双子BOSS,可能需要在参数处填目标ID。此参数可以需求的字段,比如职业,种族。这样就不需要在目标类型里加新的索敌类型了。


备注:如果你设计一个打后排带帽子的拿刀女性法师。那么你在其他表里肯定要有这些字段(女性、法师、拿刀等),所以设计的时候请注意。


八、技能触发规则


技能触发规则是战斗中极为重要的一点,可以说一个游戏战斗要做得有意思,除了从系统上改变和法术效果上做文章之外,就是技能触发规则了。


那么技能触发规则是啥呢?相信大家玩游戏都见过反击技能,被攻击之后反击,或者被暴击之后反击,或者闪避敌人攻击之后反击,这些技能可不单纯的是用于回合战斗游戏,也就是说 这个技能触发规则运用的范围是非常广的。下面举例触发点。


  1. 主动释放:怒气技能专用,触发后无概率计算
  2. 学习时触发:如被动技能,触发后无概率计算,加属性的话会在英雄属性面板显示。
  3. 生命值低于N%时触发:血量千分比,可设置概率,需要字段参数,填写千分比,需要配置有动作与无动作2种触发点
  4. 与谁一起上场时触发:可设置概率,需要字段参数配置英雄IP(用于羁绊技能)
  5. 死亡时触发:可设置概率
  6. 技能替换普攻触发:设置概率,替换普通攻击,参数填写替换技能ID


触发点设计得越多,游戏可设计的技能就越多,平衡性就更难做,程序就更忙。


一般技能配置表设定以下与触发点相关的字段


  1. 触发点类型(点触发点)
  2. 触发概率(填概率)
  3. 触发参数(比如和某英雄一起上场触发,填英雄ID)


文档写到这,一个放置回合卡牌的技能也就有模有样了,现在是不是觉得做战斗开始变得有意思了呢,大家心里是不是已经想了几十种技能触发点让游戏战斗更好玩了?比如某个技能在草地上才有用?比如某个技能在下雨时才有用?比如当我方上阵5个男性时,全体女性敌人攻击下降50%?


别急,我们还有法术效果等文档需要撰写,法术效果实在是多如繁星:变羊,变身,隐身,连击,无敌,召唤怪物,灵魂连接,时光回溯,各种法术效果配合技能触发点,就可以做出极具策略性的回合卡牌游戏。


当然,由于本文写的只是一般的常规的回合卡牌,所以可能游戏性的上限不高,要想提高上限需要从战斗规则逻辑上入手,那个另说了,这里只是简单介绍战斗文档撰写。


关于法术效果等文档如何写,写什么,下面介绍给大家。



有趣新奇的法术效果与各式各样的技能效果,让游戏战斗变得无比精彩。


而设计是设计,实现有时候策划心里也要有个数。所以在此提醒诸位策划,您需要有一点点程序逻辑思维,要知道你的游戏战斗大概的程序逻辑是怎么样子的,你越了解程序代码逻辑,你就越容易设计技能,不会造成程序的困扰,从而降低公司研发成本。


这里介绍一下,卡牌回合战斗游戏的程序基本逻辑是:排序。谁先行动,谁后行动,怎么行动,都是严格排序的,这里排序的不仅是行动速度,还有各种触发点排序,结算排序等等,你弄懂了排序规则,对你做法术效果与技能效果有很大好处。


在法术效果文档之前先来个胜负规则。


九、战斗胜负规则


敌我双方对战,谁输谁赢。是否有特殊规则呢?这些都需要让读者知道。


  1. 常规战斗持续15回合,15回合数内(包括15回合)任意一方全体死亡,则失败。15回合之内,双方均有单位存活,则防守方胜利(或者胜利方胜利,总之你写个规则就行)。
  2. 会有特殊场景战斗回合数不为15.
  3. 会有特殊场景胜负规则可以自由设定,比如5回合内全员存活胜利,上阵3个水系英雄获得胜利才算胜利等等。配置表可能需要有特殊配置。



除此之外呢,还有各种竞技场,3V3胜负规则可能都不同,不过这些也不用写在这了,什么系统案有,就写那系统案里吧。


十、法术效果及相关文档。


你砍我一刀,我砍你一刀,直到一方死亡的游戏可能不是很好玩。



我们需要给这种攻击加一点BUFF,比如我砍你一刀,有概率让你每回合流血,有概率让你恐惧无法行动,有概率让你被变成小动物,这样是不是看起来就有意思一点了。


可以这么说,游戏中除了攻击造成直接伤害外的所有额外效果都是法术效果,但是回合游戏中把按回合生效的效果叫做法术效果,把立即产生效果的法术效果分出去,叫做技能效果。以下举例:


  • 法术效果:每回合降低目标20点怒气,持续2回合。
  • 技能效果:本次攻击降低目标20点怒气。


技能效果会在法术效果讲完之后再讲,现在讲法术效果。


法术效果相关文档,需要介绍清楚法术效果生效单位回合,与优先级。除此之外就是法术效果的具体需求案了。


生效单位回合:回合开始到敌我双方进行完所有行动算作一回合,所有法术效果结算时间为在下一回合开始之前。


结算顺序优先级:先结算恢复,再结算DEBUFF伤害。必定命中效果优先于必定闪避效果等。


这些东西解释完之后,我们就开始写法术需求文档了。这个极端耗费时间,大家有个心理准备,我直接以配置表如何定字段开始,让大家对法术效果需求有个最直接的理解。下面序号代表excel列。


  1. 法术效果ID:ID不用多说,但是请记得ID命名规则一定要有拓展性,充分考虑后续ID以及方便。比如我们将1000-2000设定为BUFF,2001-3000设定为DEBUFF,3001-4000设定为永久性BUFF等等,实际情况更为复杂,此处只是举例。
  2. 法术效果名称:如眩晕1级。为什么要写1级呢,因为我们要考虑同类BUFF覆盖情况。
  3. 法术效果备注:如攻击力提升法术,备注写,参数0填写千分比,按千分比提升。
  4. 法术效果分类:此处用于相同法术效果 叠加还是替换,比如都是眩晕效果,那么是替换关系还是叠加关系。因为1级眩晕和2级眩晕ID不同,但是我们可以在法术效果分类这把1级眩晕、2级眩晕、3级眩晕和N级眩晕分在1个类。再比如流血123级,将它们的分类定为一类,这样它们就可以使用叠加规则了。
  5. 法术效果图标:是否要图标,图标如何现实,相同叠加图标是在图标下面显示叠加层数还是咋地,用哪个图标?
  6. 法术特效:这个法术效果是否有特效,特效是材质特效还是状态特效?特效之间覆盖叠加关系?这个也可以放到战斗表现文档。这里需要注意的是,有特效的法术效果是不会很多的,大家也别设计太多。我做的游戏目前法术特效上限是32个。为什么不要太多了,大家可以想一想,如果一个模型身上挂着几十种特效,你还能看到模型长啥样子吗?你还能看出到底他中了什么法术吗?其实现在某些游戏都没做法术特效了,只做了技能特效。
  7. 法术效果替换还是叠加:你设计的流血效果可以叠,眩晕不能叠,你就在这填个参数,让程序识别。
  8. 替换叠加规则:前面填了替换还是叠加之后,总得有规则吧。是3级眩晕替换1级眩晕,还是如何,设计一下。
  9. 是否保存到数据库:此条解释起来的意思是这个法术效果是不是永久效果,比如我们英雄有被动技能,升级之后血量提高10%,这个被动技能提升属性后,英雄属性面板是能够看到的。
  10. 法术性质:此法术效果是正面BUFF还是负面BUFF还是中性BUFF。作用是游戏中有驱散,或者偷取BUFF的技能,你驱散正面效果还是负面效果?中性BUFF是什么呢?我们有的游戏会有一些与战斗无关的属性,比如获取经验提高100%,比如装备爆率提高100%等等,如果游戏中有设计这些东西,并且把这些当做属性的话,那么就是中性BUFF.
  11. 是否可驱散偷取:不可驱散与可驱散。
  12. 死亡是否删除:死了之后此BUFF是否继续发挥作用。致死(禁止复活),涅槃重生(死了之后复活),被动加属性永久BUFF,死了也不消失。
  13. 法术效果计时方式:一般就是3种,1、回合。2、永久,永久性被动技能。3、毫秒,双倍经验12小时。
  14. 各种参数:为了方便策划配置,程序不用写死,出现的参数。什么法术效果会需要参数呢,比如叠加印记,叠3层目标眩晕,等等,其实有时候也不用在这填,看程序如何设计。


好了,相信到这,大家也对法术效果有个大概了解了,下面写法术效果需求文档,以下简单的写几个:




以上只是简单的法术效果,可以通用模板写,一些非常奇怪的法术效果可能要专门为其写个文档,比如召唤怪物。


假如设置了召唤怪物的话,那么召唤怪物如何上场,在上面情况下上场,如何行动,如何死亡,是否有血条等等全都要写上。


大家想到的法术效果能否实现?这个其实可以不考虑,尽量往有趣,好玩,让人印象深刻去设计,而什么法术效果让人印象深刻呢,那当然是有美术表现的,比如变羊,变身,召唤。我们这里需要考虑的主要问题是做这个是否值得。就是做了这个法术效果,是否真的有用,是否真的有趣,如果没用,又浪费时间的话,那也许可以选择不做。


关于法术效果的实现是程序的问题,当然你做为策划也可以了解他们如何实现,比如变身,其实就是换了模型ID。比如变大,就是法术效果让模型变大了。当你知道实现方法之后,对你填配置表,对你设计法术效果会有较大帮助。毕竟战斗相关配置表格都是战斗策划配置的,这个可能没办法找执行策划配置,因为有点麻烦,有点难填。


所以希望战斗策划对程序逻辑有所了解,这样填表快一点,未来你还要负责调整技能,要经常改动技能表格,了解得多,增加了效率。


那么法术效果文档就介绍到这,总之我们写文档的目的就是让程序清楚我们想做什么,写的越清楚,程序越好做。


十一、技能效果文档。


技能效果可以看做固化了的即时法术效果(不完全是),毕竟回合游戏法术效果基本单位是回合,有时候不好处理。


技能效果依附于技能,那么什么是技能呢?在游戏中,普通攻击也是一个技能。和其他攻击技能没啥大区别,就是动作表现,技能伤害倍率,技能效果的区别而已。而技能打出伤害,也可以看做一个技能效果,效果就是打伤害。治疗也是技能效果,效果就是加血。



那么下面简单写几个技能效果,大家就有了直观的了解。


  1. 普通攻击效果:参数1填伤害率,千分比。
  2. 怒气攻击效果:参数1填伤害率,千分比。与普通攻击区别是,怒气攻击伤害受到怒气加成。
  3. 复活友方:参数1填复活后血量千分比。
  4. 治疗友方:参数1填千分比,增加攻击力千分比的血量。
  5. 加BUFF:就是给友方或者敌方加个法术效果。
  6. 怒气改变:改变目标怒气值,参数填正数增加,填负数减少。


这个技能效果文档,如果程序是老手的话,他知道技能效果有哪些,他也许会自己就写好了,如果他不知道的话。那战斗策划就要多想想了。


十二、游戏的特殊规则。


有的游戏有合击技能,有的游戏有怒气值,那我们就要写合击技能规则,怒气值规则之类的文档。


下面写一个怒气规则。


怒气规则:


  1. 所有英雄初始怒气值50点。
  2. 怒气最大值为150点,超过150点英雄怒气值不再提升。
  3. 所有英雄释放任意技能后,会获得或者减少怒气,获得与减少量在配置表配置(这种自由配置,大家可以设计出很多技能,比如有的英雄50点怒气就可以放怒气技能,有的75点,有的N点。获取怒气随意配置也可以设计出特殊英雄,比如某英雄打一下加100点怒气。不过一般游戏都是100点怒气放技能,我们就用100点吧。)
  4. 英雄怒气值达到100,即可释放怒气技能,释放怒气技能会消耗英雄所有怒气。超过100怒气后,每一点怒气提升0.02技能伤害,具体请看战斗公式。
  5. 技能未命中目标,英雄依然会依据技能配置增减怒气。
  6. 被攻击会提升怒气:被普通攻击加10点,被暴击加20点。某些特殊技能不增加目标怒气,如反击。


还是那句话,我们写文档只是为了让程序清晰的了解策划意图,所有程序应该明白,但是不明白的内容,策划都可以写个文档,让程序明白。


十三、技能升级装配以及其他战斗相关文档。


游戏中英雄技能能够升级,升级规则是什么。


游戏中装备附带技能,怎么生效。


游戏中宠物技能会附加到人物身上,如何生效。


以上可以根据游戏自由写文档,目的还是让程序了解意图。


以上文档就是服务端程序需要的大部分内容了。如果大家觉得还不够详细,还可以根据项目自己加内容,比如攻击事件文档(反击、暴击、未命中等等)。


在此更诸位新人说一下技能、技能效果与法术效果之间的关系。


1个技能必定带有1个技能效果,而法术效果它是依附于技能的,我们1个技能可以附带N个法术效果。比如我这一刀砍下去,可能眩晕、变羊、冰冻。


如果我们需要1个不攻击只加BUFF的技能,那么我们技能效果就选加BUFF,然后填N个BUFF。


总之,法术效果要通过技能释放到目标身上。


最后呢,不推荐策划定战斗相关配置表的表头,让后端负责战斗逻辑相关的程序与前端负责战斗表现的程序配合定制比较好。因为策划考虑的东西可能不够完善。策划写好需求案,让程序做就行。


下面将简单讲讲关于战斗表现设计的内容,因为本人是数值策划,兼职做战斗,所以对于表现也不在行,所以也不深入讲表现了,只讲一些新人都能轻松看懂的东西。


好,最后一篇战斗相关内容了,写完就开始数值框架了。


十四、战斗表现相关文档。


非常基础的内容,但是这些很基础的,很浅的坑,竟然也有许多人会踩,为了避免大家踩这些低级坑,可以稍微看看,本文绝对并不高深,大家都看得懂。


我们做的是一个回合放置卡牌游戏,这样的游戏一般是多种族的。所以我们可以设定某些种族相关标准,这绝对不是思想固化的问题,而是关系到新玩家对游戏的认知。


1、统一标准


  • 英雄(卡牌)外观统一标准


统一原因:无IP游戏,要让玩家快速对游戏英雄种族有直观感受,降低理解成本,认知难度。同时较为一致的外观看起来也比较舒服。


统一目标:玩家能通过英雄外观(卡片头像)判断出英雄种族,并对该种族英雄形象有基本理解。


统一标准:


  1. 同种族英雄画风风格统一。
  2. 同种族英雄配色近似,有相同标志性颜色。
  3. 饰品、武器,装饰物,技能图标风格统一。(技能图标不强求)


TIPS1:游戏中后期,出售皮肤装扮时可突破以上限制。

TIPS2:精英特殊英雄,可以突破以上限制。











  • 各个种族技能特效统一标准


如果一个水系种族放出了火焰技能,而火系放出了蓝色的水系技能,会让人觉得很奇怪且造成认知障碍。


统一原因:无IP游戏,要让玩家快速对游戏英雄种族有直观感受,降低理解成本,认知难度。同时较为一致的战斗技能特效看起来也比较舒服。


统一目标:希望玩家能通过英雄战斗时的技能特效快速看出英雄的种族,加深对某一种族的印象理解。


统一标准:


  1. 技能特效颜色符合种族外观标准。
  2. 技能特效颜色应该尽量一致。
  3. 技能特效效果应符合种族设定。
  4. 技能特效包括了所有技能,普通攻击也是一种技能,特效也要统一。比如潮汐族普通攻击刀光,水光一律使用蓝色或者近似色。


TIPS1:游戏中后期,出现特殊情况可以考虑突破限制。

TIPS2:精英特殊英雄,可以突破以上限制。








  • 状态特效统一标准


统一原因:状态特效如果与技能特效颜色风格差距大,战斗画面会显得很奇怪,比如技能特效是蓝色,敌人却受到了灼烧效果,那么感觉很不对。


统一目标:状态特效要与技能特效颜色大致相符,让战斗体验更加舒服。(如水系不应出现红色状态特效)




除此之外,还有战斗动作统一标准等,与玩家认知统一,举个例子,假如游戏中有兽族,那么大家认知兽族可能就会用爪子攻击,牙齿攻击或者原始巨型武器攻击。举个例子《魔兽争霸》中的牛头人酋长拿的是巨大的木柱,如果游戏中牛头人酋长拿一把毫无特点的匕首对敌人进行背刺,大家会觉得很奇怪。


2、状态特效统一标准。


在此解释一下什么是技能特效,什么是状态特效。


技能特效就是依附于技能动作的特效,比如普通攻击,刀光是蓝色,蓝色的刀光就是技能特效。比如英雄释放火雨,火雨就是技能特效。


状态特效则是持续效果,不会立马消失,比如火雨对敌人造成了灼烧,如果灼烧有表现,那么就是状态特效,除此之外常见的状态特效有眩晕,冰冻等。


状态特效除了配色应与技能特效搭配之外,还有表现的标准,比如眩晕,冰冻如何表现。如果英雄又被眩晕,又被冰冻,那么表现哪一种。


如果状态特效太多,那么我们可以订立以下标准。


一般情况下,不做在战斗中会遮挡模型的状态特效,遮挡血条的状态特效。材质特效替换关系,不多做,状态特效最多不超过N种。


其实常见的做法有以下几种:


  • 不同状态表现分开挂点,位置不同。



  • 不做状态特效。(其实现在有不少游戏不做状态特效,只做技能特效了)


如果要做状态特效的话,那么直接把位置标好,送给美术。要不很多美术不玩游戏,也不知道怎么做。


最后呢一些设计可以减少玩家理解成本,比如一些有明显状态特效的BUFF,我们就不做图标了。比如眩晕了,石化了,那么就不做图标了,毕竟玩家看模型就能看出中了DEBUFF。


除此之外,还有很多内容,比如死亡如何表现,连击如何表现,血条如何表现,怒气满了如何表现,怒气头像在不同情况下如何表现等等等等。


但是说实话,大家想的大部分点子,目前市面上的游戏都有范例,大家可以尽情的借鉴学习。


好了,战斗表现就不多讲了,毕竟数值策划,十分不专业。

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...