分享基于深度神经网络计算得到的球员属性效用
本帖最后由 C·Gunners 于 2021-12-30 14:36 编辑基本介绍:
1、我们是一个篮球经理游戏开发团队,开发过程中参考研究了大量FM设定,包括比赛引擎。
从爆棚学习了很多游戏知识,此贴目的就是为了回馈社团
2、为了分析FM的比赛引擎的机制,以及科学程度,我们设计了一套系统,用于衡量FM中每个球员属性对最终胜负的影响程度。
3、fm-arena.com给出了在FM2021和FM2022中球员各项属性和胜负关系的初步测试,对我们工作有一定参考价值和启发
但由于其只是业余爱好者的非专业工作,从严谨性看,存在以下问题
1)其仅给出了对所有球员而言,哪些属性比较影响胜负,哪些属性对胜负影响较小,但实际上,不同位置的关键属性显然是不同的,其测试结果显然只能是那些对所有位置都比较重要的属性会显得比较重要,而仅对某些位置重要的属性会在其测试中显得不是那么重要。比如其测试结果射门对胜负几乎没有影响,而爆发力对胜负影响很大,真实情况是射门对前锋很重要,其他位置不重要,而爆发力所有位置都比较重要。
2)其测试样本不足,其每个属性的测试仅进行了900场左右的比赛模拟,但对于一个正态随机分布的序列,一般而言需要在10000次随机才能够比较好的收敛到均值。
3)属性对胜负的影响是非线性的,其测试仅扣除属性4点来研究是否对胜负有影响,但有时候,4点没有影响不表示8点也没有影响,也有可能2点的影响和4点却又是接近的。
4)属性对胜负的影响存在相关性,其测试仅每次改变一个属性来测试对胜负的影响,会被相关性干扰。比如,突破可以躺球变向加速过人,依靠身体素质而不依靠盘带,也可以依靠盘带。如果一个球员身体素质和盘带都优秀,那么减少其盘带并不会明显影响其突破效果,因为他可以用躺球变向加速过人来代替盘带。
5)不同战术对每个位置的球员属性要求是不同的,离开具体战术谈哪些属性对胜负有影响是不严谨的。
4、我们采用人工智能的方式来进行属性重要性研究,人工智能技术采用了类似围棋Alpahgo的深度神经网络。
我们本次试验将战术固定为fm-arena.com上最强战术ZaZ-Blue DM,以分析在此战术下每个位置的球员哪些属性对胜负影响较大。
我们构建了一套人工智能系统,训练AI在全队每个球员CA不变的情况下,设计出每个位置战绩最佳的属性分配。
大概的过程如下,首先,每个位置的每个属性均为相同值,然后神经网络会尝试改变某些位置某些属性的值(保持CA不变),看这一次改变对胜负的影响是正面的还是负面的,以此在多层网络上不断迭代,知道迭代出AI认为的最佳11人组合。
我们大概通过140台机器持续3星期的训练,模拟了4千万场比赛,得到了收敛结果。
5、为了验证AI给出的最佳11人属性分配是否是真的最佳,我们又进行了结果验证性测试
设计三组球队,一组球队的球员属性是均匀分配的,另一组是由资深玩家根据其游戏经验人工给出的最佳11人属性分配方案,最后一组是AI给出的。放入测试联赛中进行10万场比赛的测试,结果AI给出的方案明显由于人类玩家给出的方案,远超均匀分配方案。
结论:
对于ZaZ-Blue DM战术,各位置我们得到的属性重要性程度如下(为了方便玩家查看,我们对数值进行了归5处理,对于游戏而言,这个精度应该足够了):
GK:
出击 40 才华 20 爆发力 70
传球 45 防守站位 40 弹跳 45
大脚开球 35 工作投入 10 灵活 100
反应 80 集中 65 耐力 10
拦截传中 40 决断 50 平衡 20
拳击球 0 领导力 10 强壮 70
手控球 50 侵略性 40 速度 50
手抛球 30 视野 40 体质 10
停球 30 团队合作 20 非习惯脚 10
一对一 45 无球跑位 0
意外性 20 意志力 20
指挥防守 30 勇敢 30
制空能力 60 预判 40
镇定 40
中后卫:
传球 55 才华 10 爆发力 90
传中 1 防守站位 55 弹跳 65
盯人 55 工作投入 55 灵活 60
罚点球 10 集中 50 耐力 30
技术 35 决断 50 平衡 35
角球 5 领导力 10 强壮 50
界外球 5 侵略性 40 速度 90
盘带 40 视野 50 体质 10
抢断 40 团队合作 20 非习惯脚 25
任意球 10 无球跑位 10
射门 10 意志力 20
停球 35 勇敢 30
头球 55 预判 50
远射 10 镇定 80
边后卫:
传球 45 才华 20 爆发力 100
传中 25 防守站位 30 弹跳 40
盯人 45 工作投入 90 灵活 60
罚点球 10 集中 45 耐力 100
技术 45 决断 45 平衡 25
角球 30 领导力 10 强壮 25
界外球 30 侵略性 45 速度 90
盘带 50 视野 25 体质 10
抢断 50 团队合作 45 非习惯脚 20
任意球 10 无球跑位 70
射门 10 意志力 20
停球 30 勇敢 20
头球 20 预判 45
远射 10 镇定 30
后腰:
传球 65 才华 50 爆发力 65
传中 10 防守站位 65 弹跳 15
盯人 20 工作投入 90 灵活 45
罚点球 10 集中 50 耐力 70
技术 50 决断 65 平衡 35
角球 10 领导力 10 强壮 35
界外球 5 侵略性 50 速度 70
盘带 45 视野 55 体质 10
抢断 35 团队合作 65 非习惯脚 50
任意球 30 无球跑位 40
射门 20 意志力 20
停球 50 勇敢 30
头球 10 预判 55
远射 40 镇定 60
边锋:
传球 50 才华 20 爆发力 100
传中 65 防守站位 35 弹跳 10
盯人 35 工作投入 75 灵活 50
罚点球 15 集中 35 耐力 75
技术 50 决断 35 平衡 15
角球 30 领导力 10 强壮 30
界外球 30 侵略性 35 速度 100
盘带 55 视野 35 体质 10
抢断 35 团队合作 40 非习惯脚 20
任意球 10 无球跑位 40
射门 15 意志力 20
停球 30 勇敢 15
头球 10 预判 45
远射 10 镇定 30
前腰:
传球 50 才华 20 爆发力 100
传中 5 防守站位 10 弹跳 10
盯人 5 工作投入 80 灵活 30
罚点球 15 集中 25 耐力 80
技术 65 决断 40 平衡 50
角球 5 领导力 10 强壮 30
界外球 1 侵略性 50 速度 80
盘带 65 视野 30 体质 10
抢断 15 团队合作 35 非习惯脚 20
任意球 30 无球跑位 35
射门 65 意志力 20
停球 40 勇敢 20
头球 10 预判 70
远射 20 镇定 35
前锋:
传球 40 才华 25 爆发力 100
传中 5 防守站位 5 弹跳 20
盯人 1 工作投入 60 灵活 30
罚点球 20 集中 5 耐力 65
技术 65 决断 45 平衡 50
角球 5 领导力 10 强壮 25
界外球 1 侵略性 50 速度 70
盘带 75 视野 20 体质 10
抢断 5 团队合作 35 非习惯脚 20
任意球 5 无球跑位 45
射门 80 意志力 20
停球 50 勇敢 20
头球 25 预判 50
远射 25 镇定 35
使用意义:
1、玩家可根据以上表格得到每个位置的关键属性,100是最关键的属性,而1是最不关键的属性,从而指导选材。
2、也可将以上表格的数值作为属性权重,计算属性的加权均值,然后计算“战术真实CA”
战术真实CA = 属性的加权均值 * 20 - 121
通过和球员CA相比,如果战术真实CA高于球员CA则表示此球员非常适合ZaZ-Blue DM战术,战术真实CA越高表示越适合
以此来进行球员选择
为了方便以后这样玩的玩家,我们上面给出的表格是按照球员界面的属性显示顺序排列的,即使不写程序,也可在excel里面搞成三排快速手动输入属性数值后得到“战术真实CA”
3、对训练的指导意义,属性是占用CA的,为了培养得到战术真实CA最高的球员,我们可培养属性性价比最高的属性
每个位置每个属性的培养性价比可用 属性战术真实CA权重 / 属性CA权重 来衡量,此项值越高,表示增加此属性在增加相同CA情况下会让球员的属性战术真实CA更高。
主要限制:
目前实验成本较高,具有不可复制性,引擎版本更换,战术更换,在没有迁移学习的情况下,需要重新训练AI,因此我们下阶段的重点是迁移学习,在某个版本某个战术的情况下迭代训练得到的结果作为新引擎和新战术的基础,快速迭代得到新环境下的结果。
说句实话,这套系统做出来对玩家毫无意义,甚至可以说对玩家来说是巨大的打击,你们想研究FM的算法也好,想自己做研发也好,可以自己在底下做测试,没必要公布出来,本来FM就是个游戏,一堆程序代码,对FM这个游戏来说这么多年一直追求的就是接近真实足球,现在通过机器程序的方式来解答机器程序,这个游戏会瞬间失去意义,就跟以前的什么金手指,金山修改器一样的道理,但那些至少是RPG游戏,有了无敌的挂,打怪没了意义,但至少还有情节可看,这种经营类游戏直接给了最优解,存在的意义是什么?当然有些人喜欢破解电脑程序的当我没说,我只是讨论,没其他意思 本帖最后由 回头就是一炮 于 2021-12-30 10:07 编辑
根据楼主的数据整理出来了个表格,方便大家看 本帖最后由 C·Gunners 于 2021-12-30 11:14 编辑
我想对楼主,提出几点质疑:
1、 文中提到“我们大概通过140台机器持续3星期的训练,模拟了4千万场比赛,得到了收敛结果。”
请问:“一台机器一天13605.4422场,一个小时566场”是怎么做到的。保守估计大概是12代I5的CPU的运算力吧。作为一个开发团队,140台电脑满载运行,请问投资商是如何同意的,又有哪个游戏开发组,在先期投入上就能做到拥有140台电脑?
2、本人本科专业为数学,接触到算法的机会较多。我想请问一下,您的算法是无监督学习、监督学习还是强化学习?为什么会用到收敛,另外用到了的话,方便透露收敛误差吗?这应该也不是什么关键数据。
3、作为一名篮球经理的游戏开发团队,也许我并不方便探究贵团队的立项和项目进展,但我想保守的提问一下,你们是如何认为FM引擎可以比较好的对篮球比赛进行模拟与开发,以至于你们愿意投入140台机器满载运转3星期来获取大量数据,来帮助进行游戏开发的?我个人认为,篮球和足球的区别还是比较大的。即使你们获取大量数据得到属性,离得到SI引擎的底层代码的距离大概还有一个筋斗云那么远。 xulili0605 发表于 2022-1-5 00:11
说句实话,这套系统做出来对玩家毫无意义,甚至可以说对玩家来说是巨大的打击,你们想研究FM的算法也好,想 ...
其实人工智能就是有这个“问题”,本质上是生产力的提高,随之而来是会带来社会生活的巨大变化。
之前打车,顺风车司机说,国家真的脑残,搞无人驾驶,真搞出来,有多少人要失业,然后前几天,北京无人驾驶出租车已经全面开放了。。。
记得Alphago出来,多少职业围棋选手迷茫痛苦,自己多年领悟的围棋真理,结果一文不值,完全错误,所谓的9D高手,其实对感觉对围棋还没有入门。。
我们这个研究,你的担忧,其实也是反应了这个历史大趋势中的一环。
新技术的产生,必然会导致游戏原有的玩法一定程度上失去意义,同时,在新的技术的支撑下,又会产生更高端的新的玩法。
FM玩法很好,但是放在人类历史长河中,可能也就是不值得记忆的东西了。。。
总有一天,在新的技术下,FM当前的玩法,必然会失去意义。。。。比如系统自动设计最优战术买最优球员已经泛滥成灾,对目前的游戏体系确实是一种巨大的冲击。。但我们相信,真到了那一天,必定有比目前FM更好玩的FM出现,只是我们现在的想象力受到生产力束缚想象不出来而已。。
当然,现在所谓的工业革命3.0只是刚刚开始,我们仅仅只是在担忧和期待,还没有到达真正实现那一天。
活在当下,享受现在的乐趣是好事。但用开放的态度拥抱变化,拥抱新的东西,这可能对年轻人来说,也是走在时代前列的比较健康的心态。 ZaZ 发表于 2021-12-31 10:03
Hi!
I'm the author of the tactic used in the experiments. I don't understand a single word of chi ...
Basic description.
1, we are a basketball manager game development team, the development process reference study a lot of FM settings, including the game engine.
We have learned a lot about the game from the bursting shed, and the purpose of this post is to give back to the community
2, in order to analyze the mechanism of FM's game engine, as well as the degree of science, we designed a system for measuring the degree of influence of each player's attributes on the final victory or defeat in FM.
3. fm-arena.com gives a preliminary test of the relationship between player attributes and wins and losses in FM2021 and FM2022, which is of some reference value and inspiration for our work
However, as it is only the non-professional work of amateurs, from the point of view of rigour, there are the following problems
1) It only gives the results of which attributes have a greater and lesser impact on winning and losing for all players, but in reality, the key attributes are obviously different for different positions, and the results of the test clearly show that only those attributes that are important for all positions will be more important, while those attributes that are important only for certain positions will be less important in the test. For example, its test results show that shooting has almost no effect on winning, while explosive power has a big effect on winning and losing.
2) Its test sample is insufficient, its test for each attribute was only carried out for about 900 matches simulated, but for a normally randomly distributed sequence, in general it needs to be randomized at 10,000 times before it converges relatively well to the mean.
(3) The effect of attributes on wins and losses is non-linear, and the test only deducts 4 points from the attribute to investigate whether it has an effect on wins and losses, but sometimes, just because 4 points have no effect does not mean that 8 points also have no effect, and it is also possible that 2 points have an effect that is close to 4 points.
4) There is a correlation between the impact of attributes on wins and losses, and its test of only changing one attribute at a time to test the impact on wins and losses can be interfered with by the correlation. For example, a breakthrough can lie on the ball to change direction and accelerate past a player, relying on physicality but not on discography, or it can rely on discography. If a player is good at both physicality and discography, then reducing his discography will not significantly affect his breakthrough effectiveness, as he can accelerate past people with a lie-back change of direction instead of discography.
5) Different tactics require different attributes for each position of the player, and it is not rigorous to talk about which attributes have an impact on winning or losing away from specific tactics.
4, we use artificial intelligence to conduct attribute importance research, artificial intelligence technology used a deep neural network similar to Go Alpahgo.
We fixed the tactic as the strongest tactic on fm-arena.com, ZaZ-Blue DM, for this experiment in order to analyse which attributes of players in each position have a greater impact on wins and losses under this tactic.
We built an artificial intelligence system and trained the AI to design the best attribute assignment for each position's performance with the same CA for each player in the whole team.
The approximate process was as follows: first, each attribute at each position was assigned the same value, then the neural network would try to change the value of certain attributes at certain positions (keeping CA constant) to see if the change had a positive or negative impact on wins and losses, and thus iterate over the multi-layer network to know what the AI thought was the best combination of 11 players.
We obtained the convergence results by training roughly 140 machines for 3 weeks and simulating 40 million games.
5. To verify whether the best 11-player attribute allocation given by the AI is really the best, we conducted another result validation test
Three groups of teams were designed, one with evenly distributed player attributes, another with the best 11-player attribute assignment given manually by experienced players based on their gaming experience, and the last group given by the AI. Put into a test league for 100,000 games, the AI's solution was significantly better than the human players' solution and far superior to the even distribution.
Conclusion.
For the ZaZ-Blue DM tactic, for each position we obtained the following levels of importance for the attributes (the values were normalized by 5 for ease of viewing, which should be sufficient accuracy for the game).
Significance of use.
1, players can get the key attributes of each position according to the above table, 100 is the most critical attribute, while 1 is the least critical attribute, so as to guide the selection of materials.
2. The values in the above table can also be used as attribute weights to calculate the weighted average value of the attributes and then calculate the "Tactical True CA"
Tactical True CA = Weighted average value of attributes * 20 - 121
If the Tactical True CA is higher than the Player CA it means that the player is a good fit for the ZaZ-Blue DM tactics, the higher the Tactical True CA the better the fit.
This is used for player selection
For the convenience of future players playing in this way, the table we have given above is arranged according to the order in which the attributes are displayed in the player's interface, even if you don't write the program, you can also get the "Tactical True CA" in excel after quickly and manually entering the values of the attributes in three rows
3. For guidance on training, the attributes take up CA, so in order to train the players with the highest tactical true CA, we can train the attributes with the highest cost effectiveness
The cost effectiveness of each attribute for each position can be measured by the attribute Tactical True CA Weight / Attribute CA Weight, the higher the value, the higher the attribute will make the player's attribute Tactical True CA higher if it increases the same CA.
Main limitations.
The current experiments are costly and non-replicable, engine versions are changed, tactics are changed, and the AI needs to be retrained without migration learning, so our next phase will focus on migration learning, where the results obtained from iterative training in the case of a certain version of a certain tactic are used as the basis for a new engine and a new tactic, and rapid iterations are made to obtain results in a new environment. 15392424198 发表于 2021-12-30 11:02
我想对楼主,提出几点质疑:
1、 文中提到“我们大概通过140台机器持续3星期的训练,模拟了4千万场比赛, ...
HI,
1、我们游戏已经搞了4年了,不算前期拉,算后期在申请版号了。这次是跑了自己游戏的相关结果后,利用剩余资源,再加跑了FM以作对比。
140台机器大部分是租用的腾讯云服务器集群,租用时间有剩余,公司自己有20多台参与,都是至少10代I7,其中几台AMD的5900X
5900X大概1场比赛要打3秒左右,其他机器弱一些。测试性能和赛制安排有关系,需要保证比赛在同一时间开始,FM编辑器中需设置尽可能多的比赛在相同年月日和相同时间开打,这样才能充分利用多核优势,否则极慢。
2、这次实验是采用的是标准的无监督学习,收敛是我们口头禅术语,用来表示什么时候可停止训练。这里指跑了3星期以后,再跑若干天后发现结果没有明显变化了,得到各个位置的属性权重值变化平均在0.01以内了,由于属性权重最大为100,可简单认为误差在万分之一内了,因此认为可结束训练,也就是我们说的收敛啦。
3、我们的目的并非是得到FM引擎代码或者分析其机制啦,那个是前期参考时候的重点。现在我们的目的是测试我们的人工智能推荐球员算法的通用性和正确性。基于深度神经网络的人工智能模型有一定的通用性,就像Google搞的Alphago是针对围棋的,最后升级到了AlphaZero应用到任何棋类AI,其搞完围棋后又用相同的模型搞了其他几个棋类以验证总体方案的通用性和正确性。而根本上来说,其研究棋类AI本身就是为了应用到其他领域,可见普适性还是较强的。
对于神经网络AI而言,其实篮球和足球的差异他根本不知道,因为它连自己跑的是否是足球都不知道,引擎对其完全是黑盒的。训练的任务有高度相似性,因此模型也有很大通用性。当然,实践中,肯定有一些明显的不同,主要体现在模型参数调整上以及网络结构差异上。具体来说,我们自己的游戏训练中会快速收敛但其实是陷入到了局部最优陷阱,难以得到最佳的全局解,而FM用同样的训练参数和网络结构在我们测试中更少出现类似问题。 xulili0605 发表于 2022-1-5 00:11
说句实话,这套系统做出来对玩家毫无意义,甚至可以说对玩家来说是巨大的打击,你们想研究FM的算法也好,想 ...
不不不,SI那么多年在引擎上混吃等死躺在那里,直到今年才有一个相对优秀的引擎出来,
一是贴近现实(fm-arena榜上前五3个标准433,一个433小改),即便是榜首的ZAZ442大菱形,跟使用内切边后卫的高压短传433(类似瓜在曼城的战术)几乎没有强度上的差异。
二是多半该位置需要的属性都发挥作用(详见LZ的AI跑分)。
你以为是SI突然开窍?不可能的,还不是去年的1CA碾压英超和FMarena的属性测试(跟LZ这个比是原理一致的粗糙简易版),一下子把SI的底裤扒光了,逼得SI不得不大幅度更新引擎 Hi!
I'm the author of the tactic used in the experiments. I don't understand a single word of chinese and for that I apologize, but someone brought my attention to this post and I decided to register just to say how much I appreciate your work. I'm also a researcher of a similar field (optimization), so I really appreciate what you did there and it has high value to me. Thank you for your contribution!
If anyone can translate the table to english, I would gladly add it to the tactic main page and reference the authors of the study. Have a happy new year! 整理了下表格 没有校正可能数值有抄错的 大概看下就可以 ahstzl1989 发表于 2021-12-31 12:01
Basic description.
1, we are a basketball manager game development team, the development process...
太感谢了! 本帖最后由 支持值 于 2021-12-30 03:18 编辑
谢谢楼主 感觉这个工作量很大了
另外话说楼主有没有用ai跑战术的想法能跑出来神阵吗 支持值 发表于 2021-12-30 03:12
谢谢楼主 感觉这个工作量很大了
另外话说楼主有没有用ai跑战术的想法能跑出来神阵吗
用AI跑战术是可以的,并且在我们的计划中。
等我们开发完成自己游戏中的这块功能,可能会在FM中再次做一下类似试验以佐证AI模型的科学性。但优先级不高。
目前重点还是在助教推荐阵容这块。
我们的出发点是设计游戏中可以用的高级人工智能职员,在战术确定情况下,助教可以帮助玩家推荐阵容推荐购买哪个球员,以及自动安排训练等。基本功能类似FM现在这样,而我们游戏采用更加先进的AI来改善FM中职员的智力都比较低的问题(包括最好的职员)。
职员自动推荐设计战术这块可能要到我们游戏上线后再开发。 不同战术对球员的要求也不同。尽管大部分高分战术和ZaZ-Blue DM用了同样的设置,但是玩家自己设置的战术,可能角色完全不同,但是也有中等的胜率。这个系统怎么针对玩家的战术推荐呢? 本帖最后由 cheteau 于 2021-12-30 05:48 编辑
从这个排版来看 你们这个ai系统 似乎 不太聪明啊
好好编辑下啊 看着太难受了 测试的内容很有意思,就是这排版显示哈哈有点美中不足! 多谢分享,通用的关键属性都知道了,就是各位置的一些不知道,学习了。 开起来速度和爆发力是各位置不可或缺的关键能力,而决心无关紧要 这是版本问题吗? 现在 耐力和 工投除了门将, 各位置 优先指数都很高啊。 前5 甚至前3 1、门将和中后卫的属性权重颠覆我的认知啊,门将的爆发、强壮居然那么重要;中后卫双速居然比弹跳重要的多…
2、每个位置的盘带都很重要啊…
3、前锋位置要求的盘带和射门这么重要吗?都超过了速度和平衡,仅次于爆发;
4、看上去,工作投入比决心重要,嗯,骂人涨工投不涨意志不会不满意了。 好厉害,感觉这个工作量好大啊,可以抄作业了,哈哈 厉害了 这么大的工作量 感谢分享 篮球经理,准备上steam吗
回头就是一炮 发表于 2021-12-30 09:49
根据楼主的数据整理出来了个表格,方便大家看
感谢整理,看起来舒服多了 与之前大家的共识又出现了部分的偏差 后腰就是要精神拉满的才好用。。。。精神一栏基本全部都重要 见鬼,后腰双顺足那么重要,中后卫抢断并没有那么重要 lyndon825 发表于 2021-12-30 08:57
这是版本问题吗? 现在 耐力和 工投除了门将, 各位置 优先指数都很高啊。 前5 甚至前3
体力掉了之后技术会变形,这一代的设定
所以耐力的重要性很高
至于工投,应该是高强度战术都需要的 这个大概只适用于高压体系下的球员选择
只看中卫,要求最高的竟然是速度和加速,分数要求竟然高达90,这明显是要求高压防守下的中卫快速转身
而门将也是速度的要求高于弹跳,这明显就是选择清道夫门将
那么对于我这种喜欢蹲坑防守的人来说,就完全不合理了。
但是这个大数据的思路很赞,可以考虑用几个默认的经典阵型,如平行442、4231、433、352等常用的阵型,分别按照快速防反、灵活防反、两翼齐飞、密集短传等球队常用风格进行测试,可能得出的结果不一样。