the stream of bugs
At some point I opened the istream
of bugs, and now I can’t find the close method. I think the bugs are holding the valve open by force.
Yesterday I fixed a basic bug in choosing tech targets. I rewrote that code for current release version 1.4. It fixes a number of bugs, and in testing it came out better than the old version, especially in ZvP. After release, I started seeing puzzling mistakes in ZvT—Steamhammer refused to switch to lurkers after opening with mutalisks, no matter how much it needed them. Getting that decision correct was one of the reasons for the rewrite!
When I read the code closely, the cause was easy to see. A condition was reversed: Where it should have been “no need to do this step if we already have a hive,” it was written to mean “do this only if we have a hive.” I have to imagine that I made some late change and didn’t check it carefully. Quick tests show that the fix improves play in both ZvT and ZvP. With more experience, we’ll see how that holds up.
In other news, Steamhammer has been on a losing streak against Killerbot by Marian Devecka. I started to worry that I had introduced a bug, so I laid in a short match to find out. Steamhammer scored 11-4, good but not as good as in days past. I guess the losses were mostly due to a string of bad luck. I did spot a couple of contributing issues: The opponent model can sometimes cause a bad strategy reaction when it misdiagnoses Killerbot’s opening, and mutalisks which are busy destroying the enemy base are unable to return home to defend (due to a change that improves play on average, but harms it here). If I fix those plus a few longstanding defensive and tactical weaknesses, Steamhammer should score near 100% against Killerbot.
My list shows 18 improvements made for the next version 1.4.1 already, and yet I haven’t solved the uncommon crash bug. I’m thinking I’ll have to resort to dragnet methods.
Comments