【反编译】所有位置总评的属性权重
pes2020吧
全部回复
仅看楼主
level 1
🐑PEStat 楼主
2020年06月23日 01点06分 1
level 1
🐑PEStat 楼主
这是我在reddit上发表的原文,标题为"weight of overall attributes"
身份证明
2020年06月23日 01点06分 2
传送门
2020年06月23日 01点06分
level 1
🐑PEStat 楼主
针对每个部分,我会先把原文贴上来,然后再进行翻译。
2020年06月23日 01点06分 3
level 1
🐑PEStat 楼主
background
The C code of overall algorithm is encrypted in X300.cpk file.
With decompiling practice, it can be extracted in a "black box" status.
The inputs (attributes) can be manipulated.
An output (overall rating) is returned.
The internal process is not accessible, however.
Further decompilation will result in garbled code.
2020年06月23日 01点06分 4
level 1
🐑PEStat 楼主
背景
总评公式的C代码加密在X300.cpk文件中。
通过反编译技术,可以以 "黑盒 "状态提取。
可以对变量(属性)进行控制,并返回结果(总评)。
但内部过程是无法查看的,再反编译会导致乱码。
2020年06月23日 02点06分 5
level 1
🐑PEStat 楼主
preparation
To continue, mathematics is required.
A basic html is created as test environment.
The output is responsive to invalid attributes.
i.e.
if the attributes are assigned an invalid value in game (less than 40 or greater than 99), the extracted algorithm remains responsive. The overall rating is still calculated and returned.
This allows better control on inputs.
e.g. 1
assign the constants to 0 to eliminates their effects of coefficient, leaving only the variable equal to the overall rating (not achievable at 40, the valid floor).
e.g. 2
assign the variable to a large enough number for a small coefficient to become observable (not achievable at 99, the valid ceiling).
2020年06月23日 02点06分 6
level 8
这个有点牛,持续关注
2020年06月23日 02点06分 7
level 1
🐑PEStat 楼主
【前置】
想要继续,需要进行数学实验。
首先创建一个基本的html作为测试环境。
输出会对不合法的属性进行响应。
即,
如果属性的赋值在游戏中不合法(小于40或大于99),算法仍然会作出响应,计算并返回总评。
这样可以更好的控制变量。
例1
将常量赋值为0,以消除它们的系数影响,只留下相等于总评分的变量(40时无法实现)
例2
将变量赋值到一个极大值,使小的系数变得可以观察(99时无法实现)
2020年06月23日 02点06分 8
level 1
🐑PEStat 楼主
【 验证|validation 】
2020年06月23日 02点06分 11
level 1
🐑PEStat 楼主
Random data are backtested to validate the extracted algorithm.
If the return matches the overall rating displayed in game, the extracted algorithm is valid for that set of data.
If it is valid for multiple random sets of data, it is confidently identical to the one applied in the game.
definition
position suitablity
attribute
overall rating
2020年06月23日 02点06分 12
level 14
有那么多球员样本,用矩阵应该可以算出来吧?用不用搞反编译那么复杂?
2020年06月23日 02点06分 13
理论上可以,实际上不可能,因为游戏里的样本数值只在40-99之间浮动,无法透过赋值为0去排除系数,在这个前提下,想单靠martix regression去解决一个25元1次公式,就算用脚本也实现不了
2020年06月23日 03点06分
通过线性回归可以吧
2020年06月23日 04点06分
用现场的小数点问题怎么解决
2020年06月23日 04点06分
你倒是算啊[滑稽]
2020年11月16日 03点11分
level 14
表格看不太明白,hd应该是头球吧?为啥对于CB是21权重,而前锋只有2? 其他位置头球完全没用?
2020年06月23日 02点06分 14
在科乐美设计的公式里,就是这样,所以原文底下也有很多人留言批评科乐美的设计不合理
2020年06月23日 02点06分
不能说没用,只是不能提升总评,也就是说总评无法正确反映一个球员的实战表现,这也是为什么会出现一些高分低能,或者低分高能的球员
2020年06月23日 02点06分
level 8
牛逼,能不能反编译一些很多人争议的玄学问题,比如战斗精神的作用,红卡抽的概率会不会受垫卡等方法影响等等
2020年06月23日 02点06分 15
这个我连相关代码放在哪个文件里都还没找到,不过可以进行统计学实验,再用CE去读取相关的数值,比如球员在场上的体力值,应该也可以得出结论
2020年06月23日 03点06分
level 1
🐑PEStat 楼主
利用随机数据进行回测,以验证被提取算法的真确性。
如果返回的结果与游戏中显示的总评吻合,则提取的算法对该组数据有效。
如果对多组随机数据有效,则它与游戏中应用的算法相同是可信的。
为了进行量化,需要先对部分概念进行定义。
位置适合性(position suitablity)
---
0 = 灰色
1 = 浅绿色
2 = 深绿色
3 = 深绿色(初始位置)
---
{P}
= 位置适合性的集
= {在GK的适合性,
在CB的适合性,
...
在CF的适合性}
---
P():
返回一个球员的{P}的函数。
---
例:
P(C.Ronaldo)
= {0, 0, 0, 0, 0, 0, 2, 2, 1, 3, 2, 2, 2}
属性(attirbute)
---
{A}
= 属性集
={进攻意识,
控球,
盘球,
...
GK位置感}
---
A():
返回一个球员的{A}的函数。
---
例:
A(C.Ronaldo)
= {93,91,89,88,83,80,91,93,82,83,88,88,94,97,86,84,84,49,55,67,40,40,40,40,40}
总评(overall rating)
---
{R}
= 总评集
={在GK的总评,
在CB的总评,
...
在CF的总评}
---
R():
返回一个球员的{R}的函数。
---
例:
R(C.Ronaldo)
= {40,67,78,78,81,79,86,86,87,94,88,90,93}
2020年06月23日 02点06分 16
level 11
速度对中锋总评的影响只有4%?这也太扯了
2020年06月23日 03点06分 17
科乐美的设计师对于足球的理解确实有问题
2020年06月23日 03点06分
这么说确实是,所以pes玩起来感觉怪怪的也不奇怪,人家设计师就这么理解的
2020年06月23日 03点06分
1 2 3 4 尾页