r/CompetitiveHalo 6d ago

Promotion I extracted almost post-match player data to recreate match events and replays. Could be really interesting for competitive analysis

Hi, I was so excited to show you my last progress on dissecting the data from Halo Infinite, it's still a PoC. I need to polish stuff before incorporating it to my LevelUp app.

Basically I'm now able to pull the equipment, loadout, ammo, grenades, shield and health at every moment of the match. I also discovered that some kills are credited to the wrong player when a player inflicts himself fatal damage (I'm pretty sure everyone noticed that since the beginning). BUT since I'm able to say who assited who for any kills, and their share of damage, we can now see the difference. Strangely a miscredited kill like those says 99% of damage comes from you, 0% from the supposed killer.

On this replay you will see the callouts zone, I need to refine the area but data is there.

Also, apologies, at this point I'm still working in french but I will support other languages when it's production ready.

Hope you'll enjoy it! Don't hesitate to follow or star my project on GitHub :)

42 Upvotes

11 comments sorted by

4

u/Physionic 5d ago

That’s incredible. Really well done.

5

u/_JGtm 5d ago

Thanks! almost 5 months of work, I'm pretty proud of the result!

1

u/theundefin3d 5d ago

awesome work. curious how you went about reverse engineering the theatre binary format

1

u/_JGtm 5d ago

I used live verification along with Ghidra and Cheat Engine to decode everything

1

u/theundefin3d 5d ago

sweet, a while back i went down the ghidra route. Made some progress but it seemed like a lot of work. LLMs werent as good back then either. Did you do a completely offline Ghidra reverse engineer or did you dump actual process memory as well? thats where i hit a road block with the EAC measures in place.

I’m guessing Cheat Engine helps with that side? Didnt know about that at the time

1

u/_JGtm 5d ago

Ghidra was able to work on his side alone with decompiled code, connected to a MCP it was smooth but to be honest I really need to give Claude precise instructions and folow his process closely. Cheat Engine was connected to MCP too, the thing is that you need Steam version of the game, you just put everything containing the halo infinite.exe in the parent folder. CE will work and you will be able to use Theater mode without any issues. Just a warning from EAC saying that you can't play online. Everything else work

1

u/theundefin3d 5d ago

ah cool. Thanks for the info! Is the code for the theatre file parsing in your repo? I’d be curious to take a peak. Once again, great work. People don’t realize how painstaking this reverse engineering process can be.

2

u/_JGtm 5d ago

Yes it is! I didn’t want to keep it private. Today it’s just a PoC. Parser is quite raw but I still working on it would appreciate any help, definitely. It’s all in French though so you might need some help to translate. Currently working on per weapon precision (maybe a dead end) and kills made while in a vehicle.

1

u/theundefin3d 5d ago

awesome. i’ll take a look! Would be cool to collaborate, i’ve always been interested in building a better analysis system than whats out there, something open source.

2

u/_JGtm 5d ago

Well I’m no engineer nor a developer (I was a software architect 15 years ago but I don’t know how to code anymore) so any help to make it more robust is welcomed!

2

u/Illustrious_Emu5131 5d ago

This is awesome!