本多RuRu 发表于 2006-2-6 13:39:59

冠军足球经理0102球员数据分析 (一)

不要相信你的眼睛
                                                             ——冠军足球经理0102球员数据分析



引言:很多玩家往往会问,为什么我的xx前锋射门才15却比某些20的前锋要好用呢?为什么我的球员数值很高,表现却很差呢?我可以笑笑回答:不要相信你的眼睛,你看见的20并不是事实的真相!~

让我们先来看看游戏在内存里的表示:
内存里,球员的基本属性和精神属性是分开储存的。
先看基本属性
内存里的显示和修改工具(游戏自带的以及savegameeditor)的排序是一样的,都是按字母排:
图1:
http://img72.imageshack.us/img72/4452/1savegameeditor1rd.jpg
很多板油可能看见20,还有255,表急,后面道来。

这些基本属性在内存中的表现形式:
图2:
http://bbs.fmfans.cn/attachments/1_CmCu8X2ubUXj.jpg
从be0 4一直到c20 9,都是球员的基本数据。采用的是16进制运算。

这些70个字节的数据所代表游戏中的能力:
图3:

非常幸运,在playcm找到了这张图,稍做修正就能直接用了。
在开档前,(1,6)位置是01,(1,7)置是00,存档中这2个字节分别是00,01,游戏时则存储为00,00。
(1,8)位置是球员默认的球衣号码,没设定则是00。
(5,9)位置是士气,开档前统一为02
球员编号,当前国内国际声望这些占双字节的换算起来记得是后面的字节在前,比如显示是34 21那么换算的时候输入21 34换算下来则是8500(10进制) 这个换算我再废话下,大虾表打我。

再看精神属性,adaptability——temperament,在内存里是存在另外处(0-20),这8个字节后面有球员编号。
没什么用处,不贴图了。




下面进入正题,图1中怎么会有255出现?图2中16进制的内存中,游戏里0-20的能力换算怎么有00-ff(10进制的0-255)应该是00-14才对啊?图3的黑色区域的能力怎么和save game editor的那些有0-255修改的属性相符?

没错!~外国人早就发现这个属性并加以修改了。SI其实就是这么设计的,它在游戏里将这18个和位置有关的数据是按0-255来计算的,用上1套公式再换算成我们所见的1-20。
当然这边要先纠正下,实际计算机的字节表示范围是 -128 —127(补码)因为修改器的作者没有辨认符号问题(或者是为了方便理解故意的实际差别不大)把最高位的1没有换算成-号,所以修改器里的128—255换算成计算机语言的二进制后实际表示的范围应该是10进制换算的-128 — -1。为了方便我们讨论ra一般取值范围用0—255
  
      先做一下名词解释:
  RA:球员各项属性的实际能力;范围:-128—127(修改器显示0-255内存同)  
      FA:球员各项属性的最终体现值,也就是我们所看见的球员属性,范围:1-20
  CA:球员的当前能力,范围:1-200
  PA:球员的潜力,范围1-200 我们可以用表示FA=f(RA,CA)表示这三者之间的函数关系。f是一个二元二次函数(if fa > 20 then Result:=20)具体公式可以在0304区的精华贴找,本文后注贴名。RA在内存里是取0-255,实际在这个函数里ra是取到[-128 -1] (128-255对应到了区间-128— -1)。这个函数在2个区间内都是递增的,注意并不对称。(-1-0)不在ra取值区间内
通过取点法我画了个函数简图(摸办法,用自带的画图做的,将就吧)
图4:
http://img214.imageshack.us/img214/1896/49bv6rv.jpg
说明:因为ca相对固定,所以我将它看为了个系数
横轴是ra,纵轴是fa.
红色曲线(上面那根)是ca取200时的图象,C(-128,5)D(-7,20) 当ra在248(-7)时,fa就取到了极值20,其后就是ra在区间(-7—127)内fa>20,fa=20
兰色曲线(下面那根)是ca取1时的图象,A(-128,1)B(93,20) 当ra在93(93)时,其后fa也稳定在20
当ca在1-200内变化时,区域也就是图中绿色部分。
当ca不变,ra递增8的时候,fa递增1,是微分的内容了,我学文的早忘了如何表示了。
当然fa的增加也并非完全ra的缘故,大致ca增加12,fa增加1.
fa的变化实际是ra,ca互相影响的结果,单独的运算并不全面。正如我前面所说,因为ca相对稳定,所以我才将他看为一个系数。
一个ca200的,当ra取127时,fa实际要将近37远远超过我们所看到的20。

简单说来这些其实都可以忽略,唯一要重视就是RA这个游戏关键能力真正运算的数据。(这些能力看fa,ca无用)
V32的射门永远不会比tmd的射门强!~哪怕v32射门值的ra提升到20,显示fa早到了20,而tmd的ra降到60(ca65),fa才显示是19。有ra值的fa其实不能直接拿来互相比较,真正比较的应该是这些值的ra.(tmd在高级别联赛并不那么突出,自然因为表现取决于多方面数据,比如还有弹跳无球等)
fa只不过是游戏结合ca换算出来提供玩家参考的一个数据。唯一起作用的是ra


ca也不是简单的能力叠加算出来的综合,具体如何换算,i donot know。我的理解为ca仅仅是数据库1个单纯的设定值,它的增长是根据开档后球员通过训练后ra的增长部分换算的。比如中场球员,当进攻和防守多个数据都在15左右时,他的ca往往高的惊人,要比单纯的进攻值数个20的amc或者防守值数个20的球员的ca高很多。一个ca200,ra127的并不比1个ca1,ra127的强.
ca的作用主要在于参与单项能力(fa)的换算。

pa的作用则是决定ca的增长空间,ca仅仅是数据库的设定(它的增长取决ra增长值的汇总),最终结合ra决定各个单项能力显示的fa的漂亮程度。



知道如上这些有什么意义。
如果单纯从数据方面理解,玩家没有必要了解这么深入。
但是我们可以用来做很多事


1:用来选材,尤其是年轻队员。(实用功效)
我们可以以ca100为个界限(大多数年轻球员目前能力在这个区间左右。21岁以下较好,23-21比较难练),然后只要挑选他们的关键能力1般来说11-13以上就可以了,为了取得相对较好的效果,16更加恐怖。比如aml vendrame这个球员买来训练,传球和传中将轻松到20,dc espin也相当实用。
射手:射门,盘球再加不错的身体(速度,加速,灵活,弹跳)霸道的屠龙刀在手了,将对方防线砍劈的七零八落。
进攻型前卫:盘带+技术20,有11-13的传球和传中和不错的速度,加速,灵活。锐利的倚天剑也有了,于前场蛟龙游走,势不可挡。
防守型前卫:选位+铲断+较高的工作投入足以令人放心。天龙盾?汗!~就美杜莎的那块盾吧,于后场石化对方将球断走。
中后卫:选位+铲断+不错的身体(速度,加速,灵活,弹跳)可堪大任了。总归搞不过前锋的,不予评论。
门将:其实什么门将都难以放心。游戏就是这样纸糊的后防线,鼓励进攻。

以前选材为什么要选潜力高?因为潜力高的球员,pa减ca的空间大,ca上涨空间大,ca取得较高值时,结合固定的ra(游戏中大多数球员的开档ra在230左右,ra一般通过训练的提升是20点,基本在255左右浮动),换算出来的fa就比较高,也就相当的好看了. 实际游戏各项ra能力的汇总成ca,有着一个广阔的ca空间对ra的整体迅速提升也有利的多.


2:用来修改,供玩家YY。(娱乐功效)
在这里比较推荐fpe2001,cmgod只能98用且不稳定。
好,下面开始修改.用到的工具是fpe2001
  1)运行游戏,选定想要修改的球员。
  2)打开fpe,新建个任务,目标游戏选定cm0102
  3)输入分析目标的数据,从加速开始到勇敢6个数据比如15,12,13,?(预制是0-255不确定,记得用?代替),12,15          (数据之间用,号格开)
  4)选择“Data Type“为“8 bits“,点击“开始“进行查找
  5)选定这个地址,按“F10“进入内存编辑界面,这个地址就是这次修改的起始地址,加速值。各种值位置如图3所示。记得内存的数据用16进制表示。7f为127,14为20。

大家可以把游戏里默认的20身体等能力改到127(游戏里也会这么显示),对方后卫和你比都是小人国了,无数的跳过对方,改速度,无数的用速度就把xx 远远甩开。或者把球员的位置能力改为7f
当然这是强制修改,BT娱乐。呵呵,这样得出的球员的确可以用超人来形容,他们的能力已经非人了,叫神仙都可以。不想那样,想体验下妖人?就把球员那几个黑色区域与自身位置相关的属性改成127,享受下tmd似的疯狂。
图5 在正常范围内修改的妖人。几个黑色值只改到100。

图6 强制修改绿色区域的超人。(位置属性没改到7f)
http://bbs.fmfans.cn/attachments/1_hviOIH5rhGOc.jpg


3:用来测试看修改的效果。(研究功效)
比如来看看一些位置的发挥主要和哪几个数据有关。改了后看游戏里的发挥
这类的研究比如有:
1),改位置和左中右属性(淡蓝色数值),强制改为7f,据说就会有超级发挥。这样可以得出结论:球员的发挥要符合他所的擅长位置。
2), 改球员的灵活性,据说研究结果是这个数据只和门将有关。
3),训练对RA的影响
and so on...

最后再废话下,球员的能力要远大于阵的作用。球员才是基础,一味的研究阵只会是空中楼阁。



注:
1:实际ra255(-1)是可以通过训练提升到0以上的。只不过-1-0过程不稳定比较容易反复(,反应为球员的能力总是反复)函数图中也是空白区,需要通过训练来引发质变。具体证明可以通过观察开档球员,以及1年后他们的ra.比如montella v32等。
2:开档前,通过打开index来看数据库内的球员,实际是没有ra值的,至于开档的时候如何产生的ra值,不得而知。这时感觉和存档里预先的设定ca,fa有关。如何设定初始档,让开档的球员关键值的ra高,我大概有些数,可惜表达能力有限,不写了。提示:要注意削减非关键的ra值,最好设定这些fa是初始档ca和ra128换算出来的fa最低值。可以用savegame editor来轻松换算。
3:唠叨了这么多,最后附送一个奖品。RuRu猜想:球员的成长倾向和决心有关。涨快涨慢涨多涨少球员数据能到达什么个高度和这个关系比较大。欢迎大家讨论这个猜想。

参考资料:cmfans的CM0304区 - 关于CM的源代码研究(回答ZHAOHAN的问题) 原贴不明
                           CM0304区 - 刚刚看到的“妖牛”贴,只看个半懂。
               playcm的cm3区 - 续:北图马和南斯卡的十年争雄(2001-2011)
               天邻的cm3区 - 真正的超人,只会在内存中诞生
               天邻的cm3区 - 极品超人制造方法
               天邻的cm3区 - 左右开工的球员为什么强1些
               天邻的cm3区 - 灵活性——最被误解的素质

[ 本帖最后由 本多RuRu 于 2007-8-8 11:22 PM 编辑 ]

我是佐拉 发表于 2006-2-6 15:31:48

慢慢的看完了
RURU研究精神强
MMD,有些地方没看懂,不管了

diffsta 发表于 2006-2-6 18:10:20

太深奥了。。。

fishfish 发表于 2006-2-6 20:39:36

靠,看了我快哭出来了。。。。RURU,你是火星人么?

ouhaikun 发表于 2006-2-6 22:22:39

不明白。。。。太深奧。。。

水天一线 发表于 2006-2-6 22:30:29

http://bbs.ngacn.com/attachment/7_86687.jpg

machina 发表于 2006-2-6 23:33:58

那把能力能到255的项改成127,以后127这个值以后还变吗?

七夜 发表于 2006-2-7 00:01:24

楼上的 还是会变的 ca和ra存在近似线性的函数关系制约

banxian 发表于 2006-2-7 08:51:18

vruru 暴强!

Samsam 发表于 2006-2-7 11:09:32

神啊~~~疯顶 疯顶...
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 冠军足球经理0102球员数据分析 (一)