HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

The Map Meta Data Library

02-12-2009, 12:48 AM#1
Strilanc
Suppose you want to run a league for your map. How do you do it? There are currently no standard tools to do this, and a major reason is the fact that it is so difficult to look at a replay file and even figure out who won.

This system allows your map to place readable data in replays. You can output who won, who killed who, etc. It also does its best to deal with potential security issues like hackers trying to inject false data. The general goal is to make it possible to have a tool which can run leagues for any implementing map. If you output the information, they will come.

The format used is called MMD v1.0. The popular GHost hosting bot supports this standard.

Known Issues
- The game cache sync actions (used by MMD) can cause TriggerSleepAction to terminate early. This can't be fixed except by avoiding straight TriggerSleepAction calls. TriggerSleepAction already has a bunch of known problems [affected by game speed, lagging, pausing ...] so you should already be using PolledWait or timers instead. [GUI: use Wait (Game-Time) instead of Wait].

Expand JASS:
Attached Images
File type: pngmmd simple.PNG (4.0 KB)
Attached Files
File type: w3xMapMetaDataLib.w3x (28.6 KB)
File type: txtMMD standard v1.0.txt (10.5 KB)
02-12-2009, 03:14 AM#2
TriggerHappy
Looks sort of useful.
02-12-2009, 08:41 AM#3
DioD
This is useless, completely, there is no replay parsers to parse "this" format of replay data.

You shoud copy dota system, or provide some settings file for existing parser or new parser.
02-12-2009, 03:10 PM#4
Strilanc
Quote:
Originally Posted by DioD
This is useless, completely, there is no replay parsers to parse "this" format of replay data.

You shoud copy dota system, or provide some settings file for existing parser or new parser.

Right, and if you read my post you would see that I mentioned that. I'm posting this system prematurely so you can COMMENT on the format and the library. But of course you can still use it to emit meta data instead of writing your own library.

You apparently don't know what the dota system currently is. It is *not* generalizable to more maps. It's messages are mostly of the style "8_1", which means nothing unless you know what 8 and 1 mean (it's an item slot I think).

I'm not sure what you mean by a settings file. I'm writing a parser for my bot. Varlock will write a parser for his bot. I'll also include the system in some of my maps. You have to start somewhere.
02-12-2009, 04:15 PM#5
Rising_Dusk
Quote:
Originally Posted by Strilanc
I'm posting this system prematurely so you can COMMENT on the format and the library. But of course you can still use it to emit meta data instead of writing your own library.
Then why is this a resource submission? Moved to the T&S forum.
02-12-2009, 04:27 PM#6
Strilanc
Quote:
Originally Posted by Rising_Dusk
Then why is this a resource submission? Moved to the T&S forum.

The unofficial first phase of submitting a resource is taking comments, suggestions, and flak on it. I don't see why stating it explicitly makes it not a resource submission.

But whatever, does anyone have any actual comments on how the system should be changed or improved?
02-12-2009, 04:44 PM#7
Rising_Dusk
Quote:
Originally Posted by Strilanc
The unofficial first phase of submitting a resource is taking comments, suggestions, and flak on it. I don't see why stating it explicitly makes it not a resource submission.
Quote:
Originally Posted by Submission Rules
Do not submit things to the database only to receive feedback on them. If feedback is all you want, post it in the respective forum of the site for that type of resource. The resource submission queue is for 'completed' work and any feedback received there should ideally only be for touch-ups. Do not submit WIPs.
02-12-2009, 05:13 PM#8
Strilanc
You were correct to move it.

What do you think of the system?
02-12-2009, 05:42 PM#9
Rising_Dusk
I'm trying to figure out exactly what it's supposed to be for in the first place. I read the first post and get that its application is for replays and the like, but I don't actually do any of that sort of thing so I wouldn't honestly know.
02-12-2009, 05:51 PM#10
Strilanc
Quote:
Originally Posted by Rising_Dusk
I'm trying to figure out exactly what it's supposed to be for in the first place. I read the first post and get that its application is for replays and the like, but I don't actually do any of that sort of thing so I wouldn't honestly know.

Well, suppose you had a relatively popular map and you wanted to set up a ladder. There are hosting bots you can use to do this, but they have no reliable way of tracking things like who had the most kills.

Even knowing who won and lost is not reliable, because if a player leaves between the time play ends and the game ends (for example, while an end-of-game scoreboard is being shown) there is no way for a bot to know if they won or lost. Replay and network traffic simply don't carry that information.

This system is a way to output information of that nature. Any map can communicate to any bot, as long they use the standard. Currently bots need to be hard coded for the meta data a map gives out, and essentially no maps do it because unless you're as big as DOTA, who's going to bother coding a bot for you?
02-12-2009, 06:16 PM#11
Rising_Dusk
Okay, yeah, so my guess was correct then. So you're trying to make some sort of standard for this type of thing that all maps can take advantage of? And then mapmakers would have to implement these libraries into your map in order to output the proper meta data for the bots to retrieve?

I agree that a standard is an important thing, but you'd probably want to communicate that with the bot program authors rather than to us.
02-12-2009, 06:55 PM#12
Strilanc
Quote:
Originally Posted by Rising_Dusk
Okay, yeah, so my guess was correct then. So you're trying to make some sort of standard for this type of thing that all maps can take advantage of? And then mapmakers would have to implement these libraries into your map in order to output the proper meta data for the bots to retrieve?

I agree that a standard is an important thing, but you'd probably want to communicate that with the bot program authors rather than to us.

I am communicating with bot makers. I have Varlock on board [maker of GHost]. Some bot programmers might wait until maps actually use it before adding support, so its important to push on both fronts.
02-13-2009, 01:22 AM#13
MaD[Lion]
MaD Balls Arena is being hosted alot on a 100mbit bot on bnet, im trying to contact the hoster. Cus i got no idea why he host my map :P
If mba somehow become more popular i will implement this system for ladder. CUs mba is truely a ladder game
02-13-2009, 02:22 AM#14
fX_
What is this script and what does it mean?
02-13-2009, 02:58 AM#15
Blackroot
Stop caring what the values are thrown at it; let bots worry about it. The reason being this requires wc3 to take precious processing time and the least of it you can use the most likely to be standardized.

Don't use strings; use integers. If someone needs alot of information passed this will eat memory and bandwith. Also; how are you bots reading this information? It's possible you could use an array as a stack of pending things to be parsed and have it emptied every packet <not sure how you'd dump it every packet though; some sort of sync trick?>

Anyways; I can see why this would be useful. Right now though I think it still needs work.