So I haven't been around this game for that long, but I've always been curious why there doesn't appear to be an apm tool for recorded games. I thought maybe it was just because no one ever made one, so I tried to look into making one for myself.
Well, technically I have a computer science degree and should be able to do these things, but I haven't done any serious programming in many years, and I'm missing a lot of documentation on parsing recorded game files due to language barriers, or lack of information, or whatever else.
What I did seem to be able to piece together from sifting through the information that is out there, is that it is not possible to extract apm from a recorded game file in aoc. Apm, or actions per minute, is the average number of keyboard stroke or mouse clicks made by a player per minute. It's frankly often an over-rated statistic that unfairly gets too highly correlated with speed, and thus skill, but it still has it's uses.
The issue though is that aoc recorded game files seem to record not actions performed by each player, but only commands given by each player. This may seem like semantics, but what it means is that a recorded game file does not include, for example, selection of a unit or building, using a hotkey to select buildings, creating control groups, selecting control groups, moving screen focus to your selection, etc. So, for example, if you have a bunch of TCs you want to make villagers from, you might hit h-c-h-c-h-c-h-c, or whatever your appropriate hotkey is. Apm would count both the hotkey to select each TC, and the hotkey to train a villager; the recorded game file only seems to record the train a villager command. If what you are doing would not be noticeable to an outside observer, the recorded game doesn't care.
So while apm doesn't seem possible to calculate, there is another thing we could calculate. Commands per minute. Actions performed that actually have a physical, noticeable effect on the game. In some ways, it's an improvement over apm: we're ignoring potentially inefficient selection of units; a lot of people I played warcraft 3 with would try to artificially inflate their apm by just spamming 1234 over and over during "downtime" for no reason, other than to increase their apm. If it serves no purpose, cpm wouldn't pick it up (for the most part).
The point is, I'd like for this tool to exist. It seems it doesn't, but there appears to be code that is very very close to being able to calculate it, such as the php code this site and others use to parse recorded games to pull out chat, player names, tech research times, etc. But I simply do not know enough myself to make this happen. There are people, I think, who know enough to make this a possibility fairly easily. So I'm wondering if there's anyone familiar with mgx/mgz files, or the php recanalyzer code who would be interested in taking on this project, or helping me try to figure it out for myself?
Well, technically I have a computer science degree and should be able to do these things, but I haven't done any serious programming in many years, and I'm missing a lot of documentation on parsing recorded game files due to language barriers, or lack of information, or whatever else.
What I did seem to be able to piece together from sifting through the information that is out there, is that it is not possible to extract apm from a recorded game file in aoc. Apm, or actions per minute, is the average number of keyboard stroke or mouse clicks made by a player per minute. It's frankly often an over-rated statistic that unfairly gets too highly correlated with speed, and thus skill, but it still has it's uses.
The issue though is that aoc recorded game files seem to record not actions performed by each player, but only commands given by each player. This may seem like semantics, but what it means is that a recorded game file does not include, for example, selection of a unit or building, using a hotkey to select buildings, creating control groups, selecting control groups, moving screen focus to your selection, etc. So, for example, if you have a bunch of TCs you want to make villagers from, you might hit h-c-h-c-h-c-h-c, or whatever your appropriate hotkey is. Apm would count both the hotkey to select each TC, and the hotkey to train a villager; the recorded game file only seems to record the train a villager command. If what you are doing would not be noticeable to an outside observer, the recorded game doesn't care.
So while apm doesn't seem possible to calculate, there is another thing we could calculate. Commands per minute. Actions performed that actually have a physical, noticeable effect on the game. In some ways, it's an improvement over apm: we're ignoring potentially inefficient selection of units; a lot of people I played warcraft 3 with would try to artificially inflate their apm by just spamming 1234 over and over during "downtime" for no reason, other than to increase their apm. If it serves no purpose, cpm wouldn't pick it up (for the most part).
The point is, I'd like for this tool to exist. It seems it doesn't, but there appears to be code that is very very close to being able to calculate it, such as the php code this site and others use to parse recorded games to pull out chat, player names, tech research times, etc. But I simply do not know enough myself to make this happen. There are people, I think, who know enough to make this a possibility fairly easily. So I'm wondering if there's anyone familiar with mgx/mgz files, or the php recanalyzer code who would be interested in taking on this project, or helping me try to figure it out for myself?