游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6385|回复: 6

[分享] 手机游戏设计要如何科学地计算战力?

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2015-7-8 16:52:02 | 显示全部楼层 |阅读模式
本帖最后由 小篱 于 2015-7-9 09:14 编辑

20130405_CC26E635007439505411810.jpg

  GameRes游资网授权发布 文 / 胡摆平(转载请注明作者和本站出处)

  一款手机游戏,有攻击、防御、生命三属性,伤害值=攻击-防御。该如何科学地计算战力呢?游戏中战斗力相等意味着两单位战斗回合数相等,所以战斗力确定应在模型差异化之后进行。
  我举个反例来说明一下:

1.jpg
图1

  这是你的原生模型。

  这个模型平衡的条件是:两两对A的战斗回合数必须是三回合。例如这样

2.jpg
图2

  但如果是6回合呢?就会变成这样

3.jpg
图3

  减法公式,经典战斗模型总会遇到这个问题。非限定战斗回合数的战斗可造成战斗力估值的偏差。而且在没有单回合美术表现时间作为设计依据的情况下,这个3回合是拍(脑袋)出来的。

  但,这还不是最虐的……最虐的是做三职业以上平衡的话,就会出现这样的情况……

4.jpg
图4

  模型对K战斗时长平了,但战斗力平不了。三组战斗回合数你最多保两组就不能再多了,剩下一组一定极其奇葩……附模型平衡九宫格(九宫格数字是回合数):

5.jpg
图5

  所以说,这个战斗力平衡的定义,很重要。我目前想到的有以下四个标准:

  1,战斗力以不同模型之间的战斗平衡为基础条件,先建立平衡再破坏平衡。

  2,战斗力是战斗数值中的一般价值量,即把所有战斗数值统一转换成一个代表角色实力的数值,恒定值方面最后得到的是一个连等式。

  3,战斗力分两种:一种是数值计算时用到的一般价值量,一种是给玩家看的战斗参考;前者要求非常精确,后者可以不精确但必须让玩家容易理解。(下面例子是数值计算)

  4,一个属性在不同模型中的战斗力可能是不同的,必要时可尝试手调。

  所以,根据以上四个标准,我的数值流程一般是这样的

  1,建立原生模型(图1)

  2,拆分差异化模型(图4)

  3,九宫格战斗配平(图5)

  4,设「战力=x攻击+y防御+z生命」,可得以下方程组





  解之得XYZ值为三项属性战斗力。

  但这里需要注意的是:

  1,方程一定写对,否则可能实数范围内无解

  2,技能型模型的生存能力部分是经过特殊处理的。别的模型中「1攻击 = 1防御 = 6生命」,但技能型模型中是「1攻击 = 1防御 = 4.8生命」所以最后成型的平衡模型是这样的

6.jpg
图6

  九宫格配平如图5。

  两两对冲全平,战斗力全等。

  一,暴击等数值的战斗力换算

  二,技能效果等战斗力测定(相对战斗力VS绝对战斗力)

  三,给玩家看的战斗力

  PS:这个模型是以对冲模式写出来的,所以看起来可能会比较拧巴,但实际玩起来很好理解:防御都一样,血多的就是T,攻高的就是DPS;这个也可以写成循环模型,例如「A克B,B克C,C克A」的形式,也能达成平衡。但这种模型个人感觉在应用层面很容易失控,其中一环倒掉经常产生连锁反应。

  PS2:其实这个模型还可以再次简化,去掉防御,看起来更直观一些。因为防御也是你的有效生命嘛,先要有最小模型,防御已经算扩展了。

  PS3:三职业九宫格平衡是有最优解的(没记错的话用到了积分),但那个最优解在感受上也比较奇怪,因为其实你要求的并不是三职业两两对冲的时候六个回合数完全相等。

69

主题

2031

帖子

2356

积分

金牌会员

Rank: 6Rank: 6

积分
2356
发表于 2015-7-8 22:18:50 | 显示全部楼层
这个不过是绕开防御的方式,如果要求防御不同,就呵呵了。
而且大部分游戏,都会要求防御不同。
给玩家看的战斗力,如果是减法公式里,用一拍脑袋的方式比较好,那个大多是为了做引导用的。
要计算精确战斗力,数值策划本身就可以根据等级换算出来,只不过那种不是什么一点攻击加多少点,一点防御加多少点的算法。

5

主题

120

帖子

745

积分

高级会员

Rank: 4

积分
745
发表于 2015-7-9 10:32:08 | 显示全部楼层
请教一下
攻100 防20 血240 = 战斗力200
这个是怎么给出来的

0

主题

59

帖子

328

积分

中级会员

Rank: 3Rank: 3

积分
328
发表于 2015-7-9 10:51:40 | 显示全部楼层
标题应该改成《减法公式下的战斗力建模方法》
然后看了一遍,实际上这个建模方法就是把防御力都固定
所以题目应该改成《减法公式下如何简化战斗公式并对战斗力建模》
恩,就是这样

0

主题

59

帖子

328

积分

中级会员

Rank: 3Rank: 3

积分
328
发表于 2015-7-9 11:13:17 | 显示全部楼层
chengxinkaka 发表于 2015-7-9 10:32
请教一下
攻100 防20 血240 = 战斗力200
这个是怎么给出来的

拍脑袋
10个字10个字

5

主题

101

帖子

1723

积分

金牌会员

Rank: 6Rank: 6

积分
1723
发表于 2015-7-10 17:41:59 | 显示全部楼层
跟知乎上的某个文章很像,很像

0

主题

7

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2015-7-22 11:41:12 | 显示全部楼层
BeerRabbit 发表于 2015-7-10 17:41
跟知乎上的某个文章很像,很像

这就是知乎上面的,抄了半截放过来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-29 15:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表