一个简单的角色属性成长系统范例
首先声明,这是一个精简的、理想化的、带有个人BT主义的、随手性极强的、绝对YY产物的数值系统,在不考虑过多过复杂诉求的情况下产生,因此在严格诉求时应当会产生差异,请观者在这个基本原则下观看,欢迎讨论。诉求:这是一个宠物战斗系统中宠物的平衡(口袋妖怪!?),宠物强度被分为四级——A、B、C、D,并且其强度为A>B>C>D,假设宠物有三个基本属性,每个属性的上限为100,于是我们将宠物的强度简单的归结于总属性点的差异(在这里问为什么的请重新阅读第一自然段>_<),宠物等级上限为50级。
设计:根据诉求不难看出,如果A级宠物最强,则A级宠物的总属性点数应当小于等于300,我们在这里假设等于300,则B、C、D级宠物都应当不足于300。
根据诉求中“将宠物的强度简单的归结于总属性点的差异”一句话,我们得到了下边这条数轴:
http://www.chinagcn.com/bbs/images/Style_VC_01/attachimg.gif http://www.chinagcn.com/bbs/attachments/month_0710/20071030_06145ff208a3218d68aaJZCr5Rj6najW.jpg http://www.chinagcn.com/bbs/images/attachicons/image.gif 轴.jpg (21.76 KB)
2007-10-30 10:46
如上图所示,轴的方向代表了能力的增长,四个点代表了四个等级宠物的能力,下面,我要开始无耻的偷换概念,假设各种宠物每次成长量是相同的,那么各等级宠物能力的差异就要归结于宠物的等级。我们知道所有宠物的等级上限为50级,于是,我们以一个D级宠物的眼睛来看世界,D级宠物50级以后不能升级了,C级宠物的属性点比它多,于是可怜的D级宠物觉得C级宠物是一个55级的宠物,同样在它的眼中B级宠物是一个60级的宠物,而A级宠物那么多的属性点显然就是65级的嘛>_<。(有人没看懂的话请这样思考,假设所有宠物的成长状况都是一样的,那么为什么A级宠物最终的属性点为什么比D级宠物多呢?这里请先抛弃上限50级,我们先讨论好各位宠物之间的差异后再把他们变回50级。)
Oh yeah!偷换概念后我们觉得世界好美妙,A级宠物当做65级看的话,我们有了一个数字300/65=X=4.615。这是什么东西?请注意我们偷换概念时的前提,假设各种宠物每次成长量是相同的,这意味着我们可以算出B、C、D三个点分别代表什么数字了。
B=300-5x=277
C=300-10x=254
D=300-15x=231
这三个数就代表了B、C、D级宠物总属性上限了。下面开始把它们压回50级,并且在这个过程中加入某BT策划的BT诉求。
某BT策划的BT诉求:四个等级的怪物如果都以相同的规律去成长那就没人玩C、D级宠物了,我不能歧视它们,所以我决定,它们要是早熟型的,前期能力成长之快让人觉得它们才是最强的,而A、B级宠物要是晚熟型的,前期入手时大家就觉得它们是垃圾,只有坚持把它们练起来才觉得它们厉害!
设计:好了,明确了这个BT诉求以后,我们有了设计的目标,下面开始干活!
中学解析几何给我们讲解了一条非常实用的曲线:aX∧2+bX+c=Y,我用它来表现宠物的成长状况,那么晚熟型宠物的成长曲线应当是a>0时第一象限内的曲线,而早熟型处理比较麻烦点,应当是a<0时将第四象限的曲线部分移动至第一象限。
先来晚熟,这个比较简单一点。A级宠物,在X=50时,Y=300,也就是说它经过(50,300)这个点,其他的随意。需要注意的一点是:宠物的级别是从1开始的,而这个坐标轴(0,0)点开始的,也就是说,我们连为宠物设计初始属性都省了,X=1时的Y值就是初始属性了(我承认我是懒人)。于是:2500a+50b =300两个未知数怎么解决捏?别问我,根据个人偏好去设计,具有很大的随意性,为了让A级宠物在早期就是垃圾一只,我选择了一个好玩的点:(30,100),也就是说,在30级时,A级宠物只成长了1/3,于是生成了一个二元一次方程:2500a+50b=300……(1)
900a+30b=100……(2)
得出2/15X∧2-2/3X=Y
这东西对计算机难了点(我一向认为计算机是白痴),具体情况可以再作修改,我就是给大家一个例子,其他几个级别宠物的大家自己思考
页:
[1]