Today I’m going to discuss how I measured the mining speed in my previous post, because I didn’t use a stopwatch like some others have. No, no, these results are far to important to be tainted by human hand eye coordination errors. What I did, as usual, was to utilize the map editor. The map editor will allow functions to be triggered when orders are given, such as those given to SCV’s. Here’s a picture of the map I used:
In this map each of the SCV’s is adjacent to a point, which allows me to assign each of the SCV’s to its own varible, which ultimately makes it possible for me to track which SCV’s are doing what. The mineral node in the green the circle is the node that I ordered them to mine from. So after I order the SCV’s to mine, the game will naturally order the SCV’s back and forth from the command center and the mineral patch. The map I created has a function that gets triggered every time an SCV uses its harvest ability. When triggered, the function records which SCV caused the trigger, what “stage” the SCV is in, and the current mineral count and game time.
The actual event I used in my trigger was “Unit Uses Ability”, and the “Harvest” ability has many stages such as “Approach Resource”, “Wait at Resource”, and “Harvest”. In my previous experiment, I dumped data to a list box in the UI. This experiment lead to a lot more data, and so I wanted a way to write the data to a file. It turns out that it is entirely possibly to do that using “Bank” functionality of the map editor. Data stored in the bank is written to file after a custom game is saved and closed. I used the bank to store the data from each event as as comma separated value (csv) row, which was stored as big string in the bank. After the games is saved I opened the bank file, which on my computer was in “C:\Users\Sean\Documents\StarCraft II\Banks”. The bank files are stored in XML format, so I just had to get rid of all that formatting, and afterwards I was able to load the data in Excel. The rest just consisted of finding a fair way to choose a beginning and starting event in that data, calculating the differences in minerals and time, and dividing the two:
I still have the map if anyone wants to inspect/and/or use it. Email firstname.lastname@example.org, which I occasionally check.
Also, it was pointed out in a comment, that someone else has done some more testing on the mining speed issue, and I highly recommend checking this post out from the Team Liquid forums if you are interested in the topic: http://www.teamliquid.net/forum/viewmessage.php?topic_id=140055