new bot Stardust
New bot Stardust (here is its BASIL stats page) is a development of Locutus by another name, by the same author, Bruce Nielsen. I don’t know why the name was changed, especially since the DLL name is still Locutus.dll, the name configured in the config file is still “Locutus”, and the SSCAIT comment says “it will only play as Stardust on SSCAIT. If downloaded it will play as Locutus.” That seems like a confusing choice. It is entered as Stardust in CoG 2020, though. Locutus classic is disabled on SSCAIT.
The most immediate change is that Stardust is updated to BWAPI 4.4.0. The DLL became smaller, perhaps due to dropping libraries.
It is usually difficult to notice changes in a bot’s play by watching games; a change may be obvious if you know what to look for, but invisible if you aren’t ready to see it. Nevertheless, I watched some Locutus and Stardust games and saw an unmistakable difference: Army maneuvering has been improved from UAlbertabot-style moving back and forth along a line to tscmoo-style keeping a constant distance from the enemy front. Keeping a constant distance means that you automatically form up into a concave when possible; when combat starts, whether in attack or defense, units are able to open fire almost simultaneously, with no maneuvering into position, so you do more shooting and less moving and kill enemies faster. It’s a big change and I expect it must have been in gestation for a long time.
There are disadvantages to the tscmoo style, but overall, Stardust’s formed-up armies should outdo Locutus’s jumble of units by far. I expect Stardust to reach a higher elo.
With a big change like that, there are likely smaller changes too that I did not see. I didn’t archive a recent Locutus version to compare, so I can’t draw a final balance. Comparing with the CoG 2019 version from a year ago, I can see some of the features added in the past year: Center proxies, a dedicated squad to chase down the enemy scout, the choke (as opposed to the wall) as a building location. But I don’t think any of those are recent additions.
My forecast: We used to think Locutus was scary. Now we’ll learn better.
Comments
Antiga / Iruian on :
Jay Scott on :
Antiga / Iruian on :
Bruce on :
The explanation for the DLL is that I wanted to publish the bot so people could see it play, but didn't want my competitors to be able to do offline training against it until after the AIIDE submission deadline. So the bot uploaded to SSCAIT is Locutus with the Stardust DLL included as an embedded (and encrypted) resource - if the decryption key is in the read directory (as it is on SSCAIT), the Stardust DLL is extracted and used, but otherwise it plays as Locutus. So if you've looked at games played locally, you are seeing Locutus, while games on BASIL (and SSCAIT, when it's online again) are Stardust.
You noticed one of the big changes, unit movement. Stardust is using boids for a lot of movement, which includes keeping moving or retreating armies together (flocking), holding chokes more intelligently, and providing the fan-out / keep distance goon micro. This seems to make the most difference when containing an enemy with static defense and siege tanks, as Stardust is already much better at this than Locutus despite not really understanding splash damage or bunkers yet.
Under the hood there is an entirely new production system that is not based on build orders. The strategy engine tells the producer what units it wants in what order and the producer figures out what to build and when to fulfill this. I suppose this is similar to BOSS, but it is using a different approach that is much faster so everything can be recomputed every frame. This allows the bot to shift gears very quickly in reaction to what the enemy is doing without floating resources, though often the build orders will be a bit suboptimal (e.g. not delaying a probe slightly to get the first zealot out earlier).
This version is still quite primitive in unit composition and strategies (similar to Locutus in this respect), and there are features from Locutus that haven't been ported yet (like forge expand walls), but the strong reactions instead of relying on learned counter-openings has I think already made it stronger than Locutus. It likely won't change much for AIIDE with the deadline only a month or so from now, but should soon be ready for some higher-tech units.
Jay Scott on :
Quatari on :
Jay Scott on :
Bruce on :
My motive for uploading to SSCAIT in this way is purely to support the stream, as it would clearly have been easier for me to just upload it to BASIL and leave it at that. If the general consensus is that this is an underhanded move, I’ll of course take it down again. Certicky has previously indicated he didn't have a problem making download optional, so I don’t think he would oppose this, but the opinion of the community is just as important.
The bigger dilemma for me has been deciding what and when to release. I was burned a bit by being too open in 2018, which both caused the explosion of forks at AIIDE and cost me the chance of a top three result (CSE played a specific opening to counter Locutus' reactions, and I think I would have been more competitive against SAIDA and CherryPi if they didn't have a recent version to train against). So from a purely competitive standpoint there is an argument to only make the bot public at the AIIDE and SSCAIT submission deadlines and leave it at that. But on the other hand I think it hurts the community to have bots only updated once or twice a year, so I went for the compromise solution of making it public, just not for offline training. After the AIIDE submission deadline I will of course make it available for download as usual and upload it to SCHNAIL.
Quatari on :
Personally I think a note should be added to the SSCAIT Rules page to make people aware that it is acknowledged that some bots might play differently depending on the environment, so might play differently when run locally than on SSCAIT. E.g. because they are coded to play differently based on files that the author uploading has uploaded to the read folder, or because the bot checks what environment it is running on. CoG has rules that attempt to minimize the ability of authors to do this kind of thing, by having rules that forbid retrieving system or user info. Most other competitions/ladders don't have rules like that though. It would be almost impossible to enforce for closed-source competitions/ladders like SSCAIT though.