archive by month
Skip to content

Steamhammer 3.0 game record format

Steamhammer 3.0 is nearly ready, but I’m immoderately busy and don’t know how long it will take for the last adjustments. I can at least slip in short posts to show off some of what’s coming.

Steamhammer 3.0 changes the format of game records in the learning files of the opponent model. The original version 1.4 game record format has been in use since early 2018. The learning file for an opponent is simply a list of game records. Here is the new 3.0 game record format.

meaningitem
game record version3.0
matchupZvP
map(3)Longinus_200.scx
base ID of Steamhammer's start5
base ID of enemy start, 0 if unknown at end of game12
openingOver10Hatch2SunkHard
predicted enemy planHeavy rush
recognized enemy planUnknown
0 for loss, 1 for win0
frame of our first combat unit4382
frame we first gathered gas6814
frame the enemy scouted our base3134
frame the enemy got a combat unit3838
frame the enemy first used gas5162
frame the enemy got an air unit5182
frame the enemy got static anti-air (0 means never)0
frame the enemy got mobile anti-air5182
frame the enemy got a cloaked unit5182
frame the enemy got static detection0
frame the enemy got mobile detection18686
frame the game ended28553
skill kit data (2 skills)gas steal: 0 0 0
unit timings: 60 6161 61 9565 64 2435 65 3815 66 13383 84 18696 154 3240 156 3240 157 3217 160 3263 163 5172 164 3194 165 6575 167 5195
end of the recordEND GAME

As before, the frame number of an event is the frame when Steamhammer first noticed it, not when it happened. They are sometimes very different.

The game record version number can be “1.4” for old records or “3.0” for new records. Steamhammer can read them both and use the data; changing the format doesn’t mean I need to clear out existing learning files. Of course fresh records are written in 3.0 format.

Including the base IDs of the starting positions of the 2 sides means that Steamhammer can pay attention to starting positions. You have to know the map to interpret what the ID numbers mean. The information about enemy gas usage is new and helps with gas steal decisions. The gas steal items from version 1.4 records are moved into the gas steal skill.

There was no gas steal in the example game, so the gas steal recorded 0 0 0 for its data. The skill kit can record data for any number of skills; it is extensible. Each skill’s data is [name of skill]: [data for skill] on one line (the line can be arbitrarily long). The skill needs to know how to write one line of its own data and how to read it back, and that’s all; the central skill kit code takes care of everything else, including rewriting old records without change.

Trackbacks

No Trackbacks

Comments

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.