骰点,就是让骰子来决定我们的各个属性数值。
而购点则代替了这个过程,让我们每个人都拥有了相仿的骰运,不会因为时辰的错造了张可悲的卡。
在这个概念的指导下,就会产生一个问题,究竟怎样从骰点转化到购点呢?
当然,这时我们可以选择拿出一个购点表,或者是别人口胡的一个购点表。如果有啥不好的,就改改这个表。
现在让我们看看这个表(掏出pf购点
属性 | 购点 |
7 | –4 |
8 | –2 |
9 | –1 |
10 | 0 |
11 | 1 |
12 | 2 |
13 | 3 |
14 | 5 |
15 | 7 |
16 | 10 |
17 | 13 |
18 | 17 |
大概就是,选择一个骰子点数会花费一些购点点数,而较大的骰子点数意味着较多的购点消耗。
那么如果现在我们需要创造一个购点,例如属性骰是2d6的,又该如何做呢?
dnd系的属性其实存在一个特殊性,最终使用的调整值是要除以二再取整的,这让偶数属性会获得更大的价值。
为了简便起见,我们的2d6购点不存在这种阶段性,多一点就是实实在在的赚到。
一、创造一个2d6属性购点这里假设人们会想要更高的属性,所以越高的属性就应该消耗越高的购点。
这时候我们很容易想到,设2d6的结果小于等于X的概率为P(2d6<=X)(X为整数),P(2d6<=X)显然是一个满足我们要求的,X越高值越大的函数。
下面给出2d6的P(2d6<=X)结果
2 | 0.027778 |
3 | 0.083333 |
4 | 0.166667 |
5 | 0.277778 |
6 | 0.416667 |
7 | 0.583333 |
8 | 0.722222 |
9 | 0.833333 |
10 | 0.916667 |
11 | 0.972222 |
12 | 1 |
没错,这已经是一个购点表了。
但光有这个还不够,我们还需要知道购点有多少总点数。
对,我们还需要一个将属性的购点综合起来的办法。
假设我们现在需要由2d6决定3个属性,这三个属性本身的分布是相互独立的。
这里设三属性结果分别为
(x,y,z)。
显然
(x-1,y,z)是劣于
(x,y,z)的,因为我们已经假设了人们会想要更高的属性。
所以我们计算得到的总购点里,
(x,y,z)的购点必然大于
(x-1,y,z)的购点。
那么简单一点,我们直接把三次2d6分别小于等于x,y,z的概率作为购点综合结果。
即购点结果为
P(2d6<=x 且 2d6<=y 且 2d6<=z)=P(2d6<=x)*P(2d6<=y)*P(2d6<=z)注:什么你的规则里属性可以随意组合?!那这个就不等了呢(叹气~这样问题就非常明显了,我们已经知道
P(2d6<=x)是怎么回事儿,就是购点值。
如果我们想让角色们成为社会群体中的前50%。
那么他们的购点应该满足三属性的购点相乘的结果=1-0.5 = 0.5。
也即三个属性的对应购点相乘要等于0.5。
当然要求等于是不可能凑够数的,所以我们只要求小于等于0.5。
也即P(2d6<=x)*P(2d6<=y)*P(2d6<=z)<=0.5
二、什么鬼我要整数加法在上文所述的最后购点中我们遇到一个问题,这最后的购点居然不是加起来的,太过分了!让我手算小数乘法,不如要了我的命!
那么接下来我们就来解决这个问题。
第一步是把最后的乘法变成加法。
我们知道对数计算有乘法变加法的特性,即
ln(ab)=ln(a)+ln(b)这里我们直接对最后那个乘法式子两边取对数。
由于使用的自然对数的导数在x>0时恒大于0,所以不等号方向不变。
我们得到:
ln(P(2d6<=x)*P(2d6<=y)*P(2d6<=z))<=ln(0.5)即
ln(P(2d6<=x))+ln(P(2d6<=y))+ln(P(2d6<=z))<=ln(0.5)这很容易发现ln(P(2d6<=x))就是变换成加法后我们所需的购点函数。
ln(P(2d6<=x))的值在下表中给出
x | P(2d6<=x) | ln(P(2d6<=x)) |
2 | 0.027778 | -3.58352 |
3 | 0.083333 | -2.48491 |
4 | 0.166667 | -1.79176 |
5 | 0.277778 | -1.28093 |
6 | 0.416667 | -0.87547 |
7 | 0.583333 | -0.539 |
8 | 0.722222 | -0.32542 |
9 | 0.833333 | -0.18232 |
10 | 0.916667 | -0.08701 |
11 | 0.972222 | -0.02817 |
12 | 1 | 0 |
而
ln(0.5)=-0.693147181所以如果我们把上表的第三列作为购点值,那么如果要角色们属于50%的优秀者,只需要令购点值加起来小于等于-0.693147181。
接下来我们再解决令人头疼的小数问题。
假设上面那个购点表的对应的函数是
S(x),也即
S(x)=ln(P(2d6<=x))那么购点公式可以写作
S(x)+S(y)+S(z)<=ln(0.5)我希望在新的公式中,平均值7对应的购点是0。
然后最终的购点结果应该是小于等于一个有意义的整数,就取100好了。
那么首先两边都减去3*S(7)
(S(x)-S(7))+(S(y)-S(7))+(S(z)-S(7))<=ln(0.5)-3*S(7)再两边都乘以
46/(ln(0.5)-3*S(7))。
由于
46/(ln(0.9)-3*S(7))>0,所以不等式方向不变。
46/(ln(0.5)-3*S(7))*((S(x)-S(7))+(S(y)-S(7))+(S(z)-S(7)))<=46这里已经可以看出来,我们最新的购点函数是
S'(x)=46/(ln(0.5)-3*S(7))*(S(x)-S(7))当然这玩意儿也不是整数,我们这里四舍五入取整就可以了。
取整后的
|S'(x)|值在下表给出
x | P(2d6<=x) | ln(P(2d6<=x)) | |S'(x)| |
2 | 0.027778 | -3.58352 | -330 |
3 | 0.083333 | -2.48491 | -211 |
4 | 0.166667 | -1.79176 | -136 |
5 | 0.277778 | -1.28093 | -80 |
6 | 0.416667 | -0.87547 | -36 |
7 | 0.583333 | -0.539 | 0 |
8 | 0.722222 | -0.32542 | 23 |
9 | 0.833333 | -0.18232 | 39 |
10 | 0.916667 | -0.08701 | 49 |
11 | 0.972222 | -0.02817 | 55 |
12 | 1 | 0 | 58 |
这里的
|S'(x)|便是一个我们直接从骰子分布转换来的购点表。而标准购点值为100。
三、负购问题上面的表格中,低于平均值的点数有非常大的负购点。
这是非常容易理解的的,如果你把购点乘以-1,它甚至可以视为骰点的时候.r2d6=2所带来的痛苦程度。那可是六个.r2d6=12才能弥补回来的苦闷。
但是在购点的过程中人们并不会把它当做苦闷,一项属性2能够换来六个12?这简直赚飞了啊。
这时候对负购的限制就显得尤为重要。那么接下来的问题是,那些负购部分需要被砍掉?
这里首先假设平均值购点为0,如果不为零就集体增减购点把它们调到0。
如果平均值是小数,你随便选向上还是向下取整吧,或者两个各算一遍。
这里使用的方案会涉及到实际游戏和对游戏的理解,所以请根据实际游戏的情况来决定如何做。
利用上面的购点函数|S'(x)|。
在这个三属性游戏里,每个角色会有一项主要属性,一项次要属性,一项有用但也可以放弃的属性。
而且当我们骰点时,只有当主要属性和次要属性都非常高的时候,放弃属性就算是2也能忍下去。
我们的变量是最低购点|S'(min)|。
那么根据上述情况,负购点必须要能满足
55+55+|S'(min)|<=100同时,由于负购点膨胀严重,我们希望它刚好到这个程度就够了,也即
55+55+|S'(min+1)|>100那么有
|S'(min)|<=-10
|S'(min+1)|>-10得到S'(min)=-36
砍掉不需要的负购点后,最终的购点表为
x | P(2d6<=x) | ln(P(2d6<=x)) | |S'(x)| |
6 | 0.416667 | -0.87547 | -36 |
7 | 0.583333 | -0.539 | 0 |
8 | 0.722222 | -0.32542 | 23 |
9 | 0.833333 | -0.18232 | 39 |
10 | 0.916667 | -0.08701 | 49 |
11 | 0.972222 | -0.02817 | 55 |
12 | 1 | 0 | 58 |
四、6#3d6的情况下表展示了六项3d6属性的情况,总购点则为400。
另外,在上文中取的S(7)作为0点,这里使用的是S(10)。
x | P(3d6<=x) | ln(P(3d6<=x)) | |S'(x)| |
3 | 0.00463 | -5.37528 | -540 |
4 | 0.018519 | -3.98898 | -380 |
5 | 0.046296 | -3.07269 | -275 |
6 | 0.092593 | -2.37955 | -195 |
7 | 0.162037 | -1.81993 | -130 |
8 | 0.259259 | -1.34993 | -76 |
9 | 0.375 | -0.98083 | -33 |
10 | 0.5 | -0.69315 | 0 |
11 | 0.625 | -0.47 | 26 |
12 | 0.740741 | -0.3001 | 45 |
13 | 0.837963 | -0.17678 | 60 |
14 | 0.907407 | -0.09716 | 69 |
15 | 0.953704 | -0.0474 | 75 |
16 | 0.981481 | -0.01869 | 78 |
17 | 0.99537 | -0.00464 | 79 |
18 | 1 | 0 | 80 |
你也许会问,这和你平时用的购点点数怎么差别这么大啊,甚至考虑了阶段性也不会差这么远吧。
这也许可以说明,
骰点中产生的格差社会,差别就是这么大。