archive by month
Skip to content

more findings on the new SparCraft version

Most of my attention is going to bugs, but I’m still poking at the new SparCraft version too (I also ran a few tests). My latest conclusions:

1. I’m still worried whether it will be fast enough. It feels slow. I’ll have to try a test on the SSCAIT server to find out.

2. It’s lying when it claims to support scourge. The provided UnitTypeSupported() call returns true, but with scourge in the sim it throws and you don’t get a result. I modified UnitTypeSupported() to exclude scourge, so that at least it’s honest about what it can do.

3. It also doesn’t support spore colonies correctly. I’ve seen it be startlingly accurate in predicting a small-scale fight of marines versus a sunken and a few zerglings (attacking with barely enough marines and scraping a win with 2 bleeding survivors), but in a fight of mutalisks versus spores it says “sure, 1 mutalisk can win, no problem.” This is the map to Suicide City; enter here and do not exit.

I decided to compensate with a crude adjustment. Don’t add enemy spore colonies to the combat sim. And for every enemy spore not added, drop 6 of our mutalisks (pro rated to the hitpoints of the spore colony). That’s about the number you need to beat a spore safely. In initial tests the adjustment seems not too silly. In reality 6 is too large a number, especially if there are separated spores, but I’m tired of the one-way trips to Suicide City.

Out of the huge range of unit combinations in the combat sim, I have hardly tested any. I expect to find more that SparCraft gets wrong.

Trackbacks

No Trackbacks

Comments

Arrak on :

Hey Jay! Appreciate the work you've done on Steamhammer and all. I'm quite frustrated with the (old) combat simulator myself. I have been simulating spore cannons, missile turrets, and also bunkers as photon cannons for armies with allied air units -- this seems to work a "little" better, although as a side effect, hydralisks can sometimes be a little too scared of terran bases. Mutalisks somehow still die by the thousands to turrets. But by far the most problematic case has been medics. It's OK for mutalisks, but zerglings and hydralisks totally underestimate how strong medics+marines are.

I was thinking it might be nice if we could extract the "final unit state" shown in debug display and examine the economic/unit loss separately, to get a better idea of by what margin the battle can be won or lost. Most units could afford to err on the side of caution...

Jay Scott on :

Well, you can extract it, it’s right there. :-) I thought of that too, but I think the results are already incorporated into the score you get back, so the first step would be to use that in a more nuanced way (don’t just compare it to zero). The advantage is that you could see which units lived. For example, in zerglings and mutas versus sunkens and mutas, if all the zerglings die then you might as well not send them in at all.

Jay Scott on :

At some point (if no better alternative appears) I want to dig into the code and fix the errors that make the simulations inaccurate. When sunkens work well and spores work poorly, that’s a neon sign saying BUG. It may be a while before it gets to the top of my priority list, so if somebody else solves the bug....

krasi0 on :

Aside from the mentioned bugs, if it's also slow, then it might be worth it starting a new project from scratch. Competition drives innovation :)

MicroDK on :

In CombatSimulation::getSparCraftUnit there is a hack... the code exchanges medics with marines 1 to 1... so maybe change that will help...

Jay Scott on :

It’s worth a try. The older SparCraft knows about healing as an action and understands that medics can carry it out. I don’t know how well it works, or whether it is in fact supported at all. The new SparCraft no longer has a HEAL action. It rejects medics on input (like all other spellcasters) and I don’t see any sign of support for healing or repair.

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.