游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7665|回复: 27

[讨论] 数值平衡问题,请大哥们指点一二~~~~~

[复制链接]

21

主题

1445

帖子

1449

积分

金牌会员

Rank: 6Rank: 6

积分
1449
发表于 2009-6-6 09:54:00 | 显示全部楼层 |阅读模式
回合策略类游戏

兵种 攻击 防御  有攻击防御的科技加成(百分比),有兵种相克 比如枪兵克骑兵~~

大概是这样子的~~~~求一份伤害公式作参考~~~最好能把规律说明白·~~


谦虚求学·~希望高人指点一二~~~小弟不胜感激~~~~~~昨天在数值策划区发了一贴·~现在都没人回~~希望大家能谅解~~~~~~希望大家能帮忙·~~~~

[em17] [em17] [em17]

21

主题

1445

帖子

1449

积分

金牌会员

Rank: 6Rank: 6

积分
1449
 楼主| 发表于 2009-6-6 10:05:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

小弟是新人,这个游戏其实有伤害公式,但是还是不平衡阶段,我也是第一次接到这任务,但是小弟完全没有这方面知识,小弟也只是文案系统策划方面的.......现在完全无力啊!!!!!!

哭求~~~一份文档·~~

149

主题

4781

帖子

5094

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5094
QQ
发表于 2009-6-6 10:19:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

楼主你这帖子就好象在问“我家要装修,请问大家有什么材料可以推荐啊,我家有厨房有厕所,还有一个客厅与他们相连”……

如果你自己都不知道自己要做的结果,又不能把问题完整的表述出来,别人怎么帮你?建议你先把“什么是公式”大致看一下,才能自己根据实际情况来推算公式,否则别人恐怕很难帮你分析到你的全局。我想数值区应该也是被你这种思考方式速冻住了,所以才没人回答吧……




数值设定——公式篇

——Written by Mervin

   数值设定的步骤很多,本文只讲公式类型、特点及应用;牵涉到数值设定中常遇到的几种类型的设定:几率、经验、属性、技能;

   本文由简入烦,主体以公式的类型、特色来划分章节,穿插几种类型的设定讲解。

   OK,Let’s Begin。

加减乘除
   线型为线性,变化稳定,比较容易找到规律,预期后面的发展;

   举几个例子:

每加一点力量,近战物理攻击加1;每射击一次,子弹数减少1;
每使用一次冰箭术,熟练度加1,达到2000时,升级为2级;
宠物近战物理伤害=宠物物理攻击-目标物理防御;宠物近战物理伤害=宠物物理攻击*目标物理吸收比;近战物理技能伤害=((武器伤害+技能附加)*技能增幅)*目标物理吸收;
血击(技能):在HP <50%时,将自己所有HP化为伤害,攻击目标,使用后生命值为1;伤害=(基本伤害+当前HP)*(1+技能等级调整值+10*当前HP/最大HP);

   总结:

加减的运算最为直观,一眼就可以发现规律,甚至潜意识;
乘除的运算容易简单、直接的对数据造成跳跃性,而常常是有意识、有规律的跳动;
混合运用时,可以实现很多有特色的功能;

幂函数
   幂函数f(x)=x^i;对比函数g(x)=x;

   当0<i<1时,[0,1]区间内,f(x)>g(x);[1,∞]区间内,f(x)<g(x);先急后缓;

   当i>1时,[0,1]区间内,f(x)<g(x);[1,∞]区间内,f(x)>g(x);先缓后急;

   当i<0时,[0,1]区间内,f(x)逼近无穷大;[1,∞]区间内,f(x)逼近无穷小;
   示例曲线图如下:


   举例应用:

升级经验=ceiling(1000*等级^(2/3),1);(ceiling=向上取整)
消除类休闲游戏(如宝石迷阵),COMBO得分=100*本次宝石个数*2^combo次数;
魔法攻击=智力值+[int(智力值/10)]^2;(int=向下取整)
f(x)=1/x的应用:
血击伤害Ver2.0=(基础伤害+当前HP)*[14*技能等级调整值*当前HP/(最大HP-当前HP)];
攻击速度=50/{200 -[(250-敏捷-灵巧/4)/50*(200-基本速度)]};
命中率=100/[1+(150-敏捷)];
魔法回复(点/秒)=2+(2+精神/50)^2;

   总结:

前期容易后期难是普遍的经验值递加设计原则,i<1时具有这种特性;
i>1造成的连锁递增效应是用来奖励的上好措施,但缺点是有限区间内拓展;
某些需要积累到一定程度才能体现出优越性的属性设定往往要用到f(x)=x^i(i>1)的先缓后急的特性。
f(x)=1/x常常以a/(b-x)的形式出现,常常用来实现具有临界值的属性设定,且x多有取值限制,需要很好的前期规划;
接上,1/x的x取值区间常定义在[1,max],有时也会进入[0,1]这一段,一般都是通过将[1,max]区间进行除算,得到新的[1/a,max];可以产生新的临界点;
幂数的计算相对复杂,不适合做心跳计算;指数函数极少应用;

数组、数列
   有限个具有相同变量名的相同类型的下标变量的有序排列,叫做一个数组;

   一元数组:{a1,a2,…,ai,…,an}

   二元数组:{a(1,1),a(1,2),a(1,3),a(2,1),a(2,2),a(2,3),…,a(3,3)}
   按一定次序排列的一列数,叫做数列;有穷数列;无穷数列;n项合Sn

   等差数列:ai-a(i-1)=n,Sn=(a0+an)n/2

   等比数列:ai/a(i-1)=n,Sn=a0(1-q^(n-1))/q,q=ai/a(i-1)

   斐波那契数列:a(i+1)=ai+a(i-1),a0=1,a1=1

   {1,1,2,3,5,8,13,21,34,55,89,144,233,…}

假设一对初生兔子要一个月才到成熟期,而一对成熟兔子每月会生一对兔子,那么,由一对初生兔子开始,12 个月后会有多少对兔子呢?144对。
二叉完全树的叶子数按斐波那契数列增长;
连续 10 个斐波那契数之和,必定等于第 7 个数的 11 倍。
   数列是函数的离散形式;数组是离散的值的集合;
   举几个例子:

1~5级升级每次获得3点属性点,而后每5级多获得1点,即6~10级4点,11~15级5点……,50级后,每4级一个跳跃;
本级升级所需经验=上级所需经验+本级等级数*10000;
休闲小游戏COMBO得分Ver2.0:Combo1=宝石数*c1,Combo2=宝石数*c2,Combo3=宝石数*(c1+c2),…,Combo(i)=宝石数*(c(i-2)+c(i-1));其中c1=2,c2=3;


   总结:

对于一些不方便、不必要用公式来表达的数值,采用数组直接存取方便快捷;(你也可以说这是索引表)
对等差、等比这种最基础的数列进行一些细节的改变,往往可以产生微妙的变化。例2就是一个递归的例子,曲线走势类似f(x)=x^2;(当然,你也可以说这本来就是递归)
数组、数列其本身并不是什么公式,更多的是一个看问题的角度;


正态分布
   正态分布的应用非常深、广,笔者实在是能力有限,只探讨下在几率问题上的正态分布;

   Random[]:在[0,1]上随机取数;

   Random[Integer,{1,100}]:在[1,100]上随机取整数;

   1d8=Random[Integer,{1,8}]:投一次8面骰;

   2d4=Random[Integer,{1,4}]+ Random[Integer,{1,4}]:投2次4面骰;

   …

   xdy= Random[Integer,{1,y}]+ Random[Integer,{1,y}]+…:投x次y面骰,设结果为s,结果s的几率为p′,那么,设p= p′*y^x,则为受x,y,s影响的3元函数,p(x,y,s):

1/(y^x)为p′的最小单位;
s∈[x,xy],s为整数;
x=1时,分布曲线为平行线y=1/y;x=2时,分布曲线为折线,示例图如下(实际为散点图):横轴为s,纵轴为p;

x>2时,s的出现几率p(s) B[n,m]为Binomial[n,m]的省略,为组合;n≥m)
   p(x,y,s)={B[x,1]*p(x-1,y-1,s-y)+B[x,2]*p(x-2,y-1,s-2y)+…+B[x,3]*p(x-i,y-1,s-i*y)}+{B[x,1]*p(x-1,y-2,s-y)+B[x,2]*p(x-2,y-2,s-2*y)+…+ B[x,i]*p(x-i,y-2,s-i*y)}+…+ B[x,i]*p(x-i,y-j,s-i*y)+…

   (i,j,x,y,s∈integer, 1≤i<x, 1≤j<y;)

上式中,B[x,i]*p(x-i,y-j,s-i*y)有解的条件是:
x≤i*(y-j)+x-i≤s-i*y

曲线总为对称图形,s=(xy+x)/2时的p(x,y,s)值最大,s为整数,唯一最大,为小数,上下取整,两个最大值;
必须注意的是,x,y是一常量,i,j是变量;请勿混淆;
给出示意图一张(5d4) ,横轴为s,纵轴为p:

p(a,b,a)=1,p(a,b,ab)=1;∑p′=1;
另外一种计算p的方式较为容易理解,我称之为冒泡法;见示意图,讲述的是p(5,4,7)的求解过程;

   于是,这个问题转化成:将s-x个球放入x个口袋中,每个口袋最多能装y-1个球,有多少种分法?
   举几个例子:

某盗贼的闪躲为20%;即Random[integer,{1,100}]≤20时,闪躲成功,否则失败;
某盗贼的闪躲为20%,格挡为10%,两者优先级等同;即 Random[integer,{1,100}]≤20时,闪躲成功,21≤Random[integer,{1,100}]≤30时格挡成功;
某盗贼的闪躲是20%,格挡是10%,完全闪躲是25%,优先级完全闪躲>闪躲=格挡;即Random[integer,{1,100}]≤25时,完全闪躲,否则,Random[integer,{1,100}]≤20闪躲,21≤Random[integer,{1,100}]≤30格挡;
弓的攻击是2-10,弩的攻击5-7;便是2dy1和5dy2(y1>y2)的简化应用;(当然,实际效果是1d9+1和1d3+4);

   总结:

我将例1、2中的随机数称为部分随机数,因为存在部分的无用数;
骰子是随机数的一种特殊情况,总是有解,我称之为完全随机数;
几率都可以用p(x,y,s)表达;
p(x,y,s)中的x控制曲线的坡度,y控制曲线的左右跨度,s决定几率大小,x*y决定曲线的成长性;x:y决定曲线的整体走势;
接上,当1←x<y时,趋于平缓;y<x→xy时,趋于陡峭;
任意一种随机数的随机事件都受到收益递减的影响,见下图,表示的是在闪躲提高时,闪躲成功:不闪躲的比例:

p(3,y,s)在s∈[3,y+3-1]上递归增长(一元递归),规律如下(x=3):
   1,x,2x,3x+1,4x+2,…,ix+(i-2),…,

   或者表达为(将上式看做一个数列)

   {p2-p1,p3-p2,…,pi-p(i-1),…}为等差数列,首项p1=2,等差d=1;

p(4,y,s)有类似规律,为二元递归;
若y1<y2,p1(3,y1,s)在s∈[3,y1+3-1]和p2(3,y2,s)在s∈[3,y2+3-1],p1和p2在s∈[3,y1+3-1]上相等;
[3,y+3-1]区间存在一个递归减少的对称区间,对称轴s=(xy+x)/2;

21

主题

3926

帖子

5142

积分

论坛元老

索尼已经断气了.jpg

Rank: 8Rank: 8

积分
5142
发表于 2009-6-6 10:27:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

楼上不错的

做数值3个步骤
1 构思目标
2 运用公式和方法来实现目标
3 检验自己的公式和方法是否真的达到目标

21

主题

1445

帖子

1449

积分

金牌会员

Rank: 6Rank: 6

积分
1449
 楼主| 发表于 2009-6-6 10:32:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

额。。。看不懂。。。。。。

其实是这样的~~~

兵种名:民兵
生命:150
攻击:5
防御:10
射程:10
速度:180
负重:200
粮饷:2
人口:1


伤害公式为 (攻击X攻击)/(攻击减去防御)X 军队数量 = 最终伤害。

这是现在正在用的.....我也不知道是否合理...................

21

主题

3926

帖子

5142

积分

论坛元老

索尼已经断气了.jpg

Rank: 8Rank: 8

积分
5142
发表于 2009-6-6 10:38:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

用EXCEL表全局验算

21

主题

1445

帖子

1449

积分

金牌会员

Rank: 6Rank: 6

积分
1449
 楼主| 发表于 2009-6-6 10:43:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

真心谢谢LS~~真心谢谢2L~~我 先去试试~~~~话说·~留着血泪的研究啊~~~完全不懂数值方面~~~~

149

主题

4781

帖子

5094

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5094
QQ
发表于 2009-6-6 10:45:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

那你可以问问你的组长,为什么要你做做不好的事情,除了问题他负责还是你负责

21

主题

1445

帖子

1449

积分

金牌会员

Rank: 6Rank: 6

积分
1449
 楼主| 发表于 2009-6-6 10:51:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

其实是参与策划的人都能拿出一份方案,由于我是新人,工作能力还不强,可以做的事情不多,所以让我参与尝试做出方案..............

我总不能什么都不做吧.....5555........只好开始研究这些了,话说这游戏已经是封测状态了,文案系统能做的很有限,我只是新人~没赶上开发阶段.....我只希望能出一份力.......55555

21

主题

3926

帖子

5142

积分

论坛元老

索尼已经断气了.jpg

Rank: 8Rank: 8

积分
5142
发表于 2009-6-6 10:52:00 | 显示全部楼层

Re:数值平衡问题,请大哥们指点一二~~~~~

楼主油箱给我
发你个平衡结构表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-13 19:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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