How can I obtain in-game data from Warcraft 3 from an external process?
- by Slav
I am implementing a behavior algorithm and would like to test it with my lovely Warcraft III game to watch how it will fight against real players.
The problem I'm having is that I don't know how to obtain information about in-game state (units, structures, environment, etc.) from the running WC3 game. My algorithm needs access to the hard drive and possibly distributed computing, that's why JASS (WC3's editor language) isn't appropriate; I need to run my algorithm from a separate process.
Direct3D hooking is an approach, but it wasn't done for WC3 yet and a significant drawback of that approach would be the inability to watch how the AI performs online, since it uses the viewport to issue commands.
How I read in-game data from WC3 in a different process in a fastest and easiest way?