加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)

(2014-08-22 21:47:36)
标签:

数值

战斗

减法公式

函数

游戏设计分享平台

分类: 数值

       http://s11/mw690/003PYARvgy6LrYbYv3Aea&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

       导言:

游戏的战斗公式分三大类:

1、减法公式:基于核心公式【伤害=f(攻击-防御)】

2、乘法公式:基于核心公式【伤害=f(攻击) x g(防御)】

3、除法公式:基于核心公式【伤害=f(攻击)÷g(防御+攻击)】

下文正是BeerRabbit对传统减法公式一个修正方案,请阅读:

 

 

对一般化的攻防公式,实际上都可以用如下的形式进行表达:

                                          伤害=f(攻击,防御)

 

 

而一个理想的减法公式所需要满足的条件:

1)、f(攻击,防御)>0 ,即没有不破防的情况;

2)、攻击 > 防御、当 时:

                        http://s9/mw690/003PYARvgy6LrVpSw0o98&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

 

即此时,攻击-防御 是伤害值的主要成分。

如果把防御作为一个参数(用 d表示),而攻击作为自变量(用 x表示),伤害值为因变量(用y表示)。那么:

                                  y=f(x,d)

 

进一步,根据d 的绝对大小进行单位标准化处理(缩放线性变换),得到:

                   y=f(x)=f(x,1)

 

 

对函数f(x) 应满足的条件进行严格的描述如下:

1)、f(x) 在定义域 [0,+ ∞)上单调增加,且f(0) =0

2)、f(x)  以直线 y=x-1  为渐近线;

3)、 f(x) 尽可能靠近直线y=0 和直线y=x-1

其图形应该如下图的蓝色曲线所示:


         http://s12/mw690/003PYARvgy6LrVpUZ7Bbb&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

考虑两条边界函数组成的分段函数 g(x)
http://s16/mw690/003PYARvgy6LrVpXxzFff&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 http://s5/mw690/003PYARvgy6LrVq0zOI94&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

转载请保留(BeerRabbit):http://blog.sina.com.cn/u/3516433013

 

而其与两条边界直线的靠近程度可以通过调节 k值来实现,k 越大,靠近程度越高。此靠近程度可以用



                http://s2/mw690/003PYARvgy6LrVq2rOV71&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />


的数值大小进行度量,下面给出几个数据作为参考:

k

f(1)

1

0.212752

2

0.135300

3

0.096694

4

0.074259

5

0.059913

6

0.050082

7

0.042976

8

0.037620

9

0.033445

10

0.030102

11

0.027366

12

0.025086

13

0.023156

14

0.021502

15

0.020069

16

0.018814

17

0.017708

18

0.016724

19

0.015844

20

0.015051

 

 

因此,利用如下这个函数:

 
http://s6/mw690/003PYARvgy6LrVq519X05&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

只需增加k 值,便可以达到任意的近似程度。图示举例。

 

(1)、防御=500,k=2 :



http://s10/mw690/003PYARvgy6LrVq7EI9d9&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

2)、防御=500,k=4
http://s15/mw690/003PYARvgy6LrVqa0nc0e&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

3)、防御=500,k=8
http://s4/mw690/003PYARvgy6LrVqclXl13&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

(4)、防御=500,k=16 :
http://s10/mw690/003PYARvgy6LrVqhwmd19&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />

 

 

 

相关文章:
http://blog.sina.com.cn/s/articlelist_3516433013_0_1.html

 

【游戏设计分享平台】分享优秀的设计方案,传递个人的设计思想!欢迎关注、交流、投稿!

博客:http://blog.sina.com.cn/u/3516433013
微信公众号:游戏设计分享平台
投稿邮箱:yxsjfxpt@163.com
交流QQ群:98843713

关注公众号:
http://s6/mw690/003PYARvgy6LrYm2H53f5&690原创)" TITLE="【数值】专业知识·对游戏中减法战斗公式的一个修正方案(BeerRabbit 原创)" />


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有