lichifeng / MgxParser

A C++ aoe2 records parser. Developed for aocrec.com, tested with 200000+ records.
https://aocrec.com
8 stars 2 forks source link

作者您好,该项目可否支持解析AoE2DE v101.102.44203.0版的.aoe2record回放文件 #10

Closed Jankin-Wu closed 4 months ago

Jankin-Wu commented 4 months ago

我使用最新的0.5.2版尝试解析AoE2DE的.aoe2record文件,发现status为valid,只能获得很少的信息,我现在有个需求需要拿到比赛的胜负数据,麻烦大佬对最新的回放文件做一下支持 image

lichifeng commented 4 months ago

我使用最新的0.5.2版尝试解析AoE2DE的.aoe2record文件,发现status为valid,只能获得很少的信息,我现在有个需求需要拿到比赛的胜负数据,麻烦大佬对最新的回放文件做一下支持 image

你试试mgz库吧。DE的录像文件结构变化太频繁了,我跟不上 T。T

Jankin-Wu commented 4 months ago

mgz那个库也试过,也不支持最新的回放文件,主要还是我觉得你这个项目用docker打包直接放到云服务器上调用起来跑很方便,如果您这边不支持的话,我就只能换种方式去获取获胜信息了,比如OCR(´-ι_-`)

lichifeng commented 4 months ago

mgz那个库也试过,也不支持最新的回放文件,主要还是我觉得你这个项目用docker打包直接放到云服务器上调用起来跑很方便,如果您这边不支持的话,我就只能换种方式去获取获胜信息了,比如OCR(´-ι_-`)

我没有录像格式的文档。如果有我会更新一下,因为我的网站也想支持最新的版本。 不知道你的项目是做什么的?我对帝国时代相关的项目都很有兴趣。

Jankin-Wu commented 4 months ago

我是做帝国时代2弹幕互动游戏的,现在玩家有个需求,想看到自己的胜率,最近就在研究如何能从录像文件中解析出胜负的信息。你的意思是说如果想支持最新版的录像文件的解析,必须得要有关于最新录像文件格式的文档,才能知道如何去解析新版的录像文件是吧,这个文档可以从哪找到,官方应该不会公布吧

lichifeng commented 4 months ago

我是做帝国时代2弹幕互动游戏的,现在玩家有个需求,想看到自己的胜率,最近就在研究如何能从录像文件中解析出胜负的信息。你的意思是说如果想支持最新版的录像文件的解析,必须得要有关于最新录像文件格式的文档,才能知道如何去解析新版的录像文件是吧,这个文档可以从哪找到,官方应该不会公布吧

是的。 官方没有公布,目前网上的解析器,都是基于一些大神早年间对帝国录像文件研究。 现在一些老的版本格式基本是清楚的,但是DE版本和老版本的游戏结构不一样,而且经常发生变动,所以没有好的参考资料我也没有办法。 mgz的作者应该有一些比较新的资料,你可以在discord上找到他。https://discord.gg/kJCYnqbV

录像文件里面是没有胜负信息的。而且同一盘游戏,8个人的录像都有所区别。要完全准确地推断胜负不太可能,只能大致猜一下。

比如A玩家投降早,它的录像就只有截至他投降之前的信息,如果A投降后他的队友赢得了游戏呢?除非一个录像文件里面能够包含了某队玩家每个人的投降时间,否则就很难判定哪队真的输了。

在我的库里,我用一些简单的逻辑推测胜负,但是这不是录像文件中包含的原始信息。

如果是DE的版本,官方网站上的个人页面可以看到最新的录像,那里会有胜负信息,如果能够对接起来,可能还比较现实。 比如:https://www.ageofempires.com/stats/?profileId=251265&game=age2&matchType=3

Jankin-Wu commented 4 months ago

我明白你的意思,不过我的弹幕游戏只有两方玩家互相战斗,所以只需要知道一方玩家的胜负信息就可以了,其实用ocr也可以做,但是如果能从录像文件中解析出更多信息的话,这将极大丰富我们的互动游戏的内容,然后我们这个游戏是通过局域网建的大厅,所以官网个人资料并没有我们的对战信息,不过还是很感谢您提供的这些提示,对我后面的开发工作很有帮助

lichifeng commented 4 months ago

You are welcome. :)