• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Replay tool - where to start?

Status
Not open for further replies.
Level 1
Joined
Oct 9, 2016
Messages
2
So, I noticed that Back2Warcraft has a cool bar that shows units on the field, upgrade researching, gold, lumber and supply.

YHkGiz8
d8TQErp
KoKKs3L

KoKKs3L

Apparently, it's not publicly released and they're the only ones allowed to use it. Being the stubborn envious person I am, I must have a tool like this. So, I thought this could be a side project to attempt to make something like it and dip my feet into the programming world.

The problem is, I'm not experienced at all with programming... well, I guess I took a JavaScript class once :p. Anyways, I have no idea where to even start with something like this. I'm GUESSING it functions like a replay parser tool but it shows the information in real-time inside of the client. Again, I actually have no concrete idea.

Would I be reverse engineering the replay section of the game? Should I start with documentation and learning assembly? Are there any worthwhile general guides that I should read? Are there any other questions I should be asking?
How hard would it be to have it supported on multiple versions of the game?

So, if anyone could give me a jumping off point for this vanity project, it'd be greatly appreciated!

PS
If I'm stepping on anyone's toes at Back2Warcraft with this project, then I'll drop the idea after being mildly sad about for a day.


Edit: Image links:
Imgur: The most awesome images on the Internet
Imgur: The most awesome images on the Internet
Imgur: The most awesome images on the Internet
 
Last edited:

Ralle

Owner
Level 77
Joined
Oct 6, 2004
Messages
10,110
Hey,
Your image links don't work, just attach them to your post instead.

I am not sure a replay parser is the way to go. You would have to make sure that the replays are actually saved to disk in realtime, I kind of doubt that they are.

Instead you should probably do something like they do with Maphack and other in-game minglers. They read the memory of Warcraft (or modify it). So you would navigate the Warcraft memory space and find the resource counts and display them on screen or in some HUD. That's one way at least.

Perhaps @TriggerHappy has a few ideas.
 
Level 2
Joined
Sep 23, 2016
Messages
7
ralle is right, its nothing like a replay parser but reads your memory - which is of course a reason to get banned.
i'd love a great observer tool for everybody and i have plenty of ideas that could be implemented. though but with the version we use, it's not save to say that it won't be abused as the most powerful maphack i've ever seen.

I think it's written in c++ if i remember correctly

e\ neo here btw
 
Level 1
Joined
Oct 9, 2016
Messages
2
After my 30 seconds of research on Google, I found this on the Blizzard site. "A replay is a simulation of a previously played game, for which we store only the user interface commands that took place in the game." So I guess the replay file doesn't contain the information needed to show when a unit is alive or dead. It just re-enacts the fight using the players' inputs. It doesn't seem possible to work with that sort of information. Also, if that sort of information were made available in the replay files, the parser makers would have put that information in their tools, I'm sure. So, along with what you guys have said already, this further confirms that a replay parser is not the way to go.

It seems like the only way to go is to have it read the memory and display it in game. Which could be used for malicious reasons and add to the hacking problem in this game. That's a little scary. I would not want to be responsible for that sort of thing. So, I guess I'm looking at making this for my personal use. That's too bad.

Thanks for the responses guys, they were really helpful. I now have a direction. I'm off to find some map hack creation guides and get my hands dirty!

If someone has any ideas on safeguarding it in some way for public use, then I'm all ears. Or eyes.

@Jannes Tjarks
I'd be interested to hear your ideas.


Also, I'll re add the image links a little later, in case someone wants to see what I'm talking about.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,206
It is possible to get some idea of what units are alive via a replay file looking at what orders get issued. Units that are issued orders obviously still exist so cannot have decayed or been removed.

Triggers inside the map could be used to force sync commands with the required data. Sync commands and their accompanying data should get saved in replays (I hope). As such if one streams the game state via such commands then one can get some idea of what is happening just from the replay. I know some RISK map did the streaming approach for a realtime minimap update of games currently in progress on one of the robots.
 
Status
Not open for further replies.
Top