Since I don't want to reply to various other topics with this, I thought it deserved its own thread. This is about the StarCraft Human 'N' AI League (SCHNAIL), a platform that enables you to play against custom Brood War AIs. I intend to post updates here, and engage the community better. I think it's time, and the project is in a state that it is worthwile to talk about it.
About me
My name is Sonko, and I have a site called Making Computer Do Things, dedicated to Brood War AI. I'm a software developer by trade. Originally, I started with writing my own AI, and wrote some articles about that (31, to be exact). Then I started to do the Undermind podcast, which was about talking with bot authors. I decided that I will try to make our scene a bit more public, and
Things I also do: - Every two weeks, I cast games on the SSCAIT (Student Starcraft AI Tournament) channel. - I'm writing a book about BWAPI (How to write a bot, basically) - I do the (almost) weekly "AI news for gamers"segment for the Pylon Show. - I help out with BSL (Bombastic Star League) development a bit. - I host live bot coding streams on my Twitch channel.
The story so far...
We started with an idea that we want people to play against Brood War bots. DropLauncher exists, but it kinda works, kinda not with many bots, and it is not maintained anymore. I decided that I will make something that is presentable, and friendly to the average gamer. I think it's unreasonable to expect an hour of tinkering so you can play against a bot that might or not work. So first the idea was born, and we named it... Bladder (short for bot ladder). Yes, that was fun, but I soon decided that it will be something else, thus SCHNAIL was born. Alphastar have raised the awareness about AI, and StarCraft AI in general, and this is the time to give something to Brood War players as well.
Here are the videos documenting the early stages (in chronological order): First iteration:
A quick update after:
Redesigned alpha version:
And with this, we had an awesome stream with ZZZeroPL. A recurring theme was people getting surprised that yes, these in fact are AIs, and generally, fun were had. I wrote a summary about it too.
And the most recent news...
And now we come to our present day. I have a small, but dedicated group of people who help me out on a regular basis, and we are almost there. We still have a lot of kinks to work out, but the path is clear. I decided that I will make the development roadmap accessible for the public. I detailed my decision in the article below. Also, I added some benefits to the Patreon of my site: Among other things, you can vote on, and propose new features!
I'm determined to make this happen, and your support definitely helps with that. I want to move to open beta in 2-3 months, then release this to the general public.
Feel free to ask me anything about the project in this thread.I intend to keep this topic up to date.
I love the idea of worthy AI opponents. Used to love practicing against the BWAILauncher AI before remastered came out, so I'm excited to see what kind of progress is happening with current AI development.
Thank you for all the contributions for the community, much respect!
I would be super down to play with an AI, the idea of practicing builds and strategies against a worthy opponent that also adapts and doesn't just do 1 base all-ins is a welcome one for sure.
Thanks for the kind words! I forgot to post the release notes so far, so here they are - this is the stuff we have up and running.
RELEASE NOTES:
0.2.2: ------
Bugfixes: - Updating bots no longer causes multiple entries in the bot list - Bots with spaces in their name sometimes caused problems when exiting the game, and trying to save the replay. This has been fixed
New features: - Added LF3 (latency frames) for bots. From the player side, this does not affect gameplay. - Added proper management of learning files - Added a schnail.env file to the bwapi-data/read folder. The existence of this file signifies that this is the SCHNAIL environment. It contains key-value pairs of properties. Currently only the version property is present1" - Added localization. In the settings tab, there is a language selection dropdown. Currently supported languages: English (default), German, Dutch, spanish, Chinese (Simplified), Chinese (Traditional), Hungarian, Swedish. Some texts might be missing, translation is not in sync with relases yet. - Added a functioning Quit, and a placeholder Log Out button to the Settings tab.
Enhancements: - Added a message when bot files are being cleaned up - Some bots were missing config files, and now they've been re-enabled. - Adjusted alphabetical sorting to be case insensitive
Translation is an effort by a group of volunteers - special thanks to them! Namely: Hao Pan, Hannes Bredberg, Johan de Jong, Dennis Waldherr, Javier Sacido, and Micky Holdorf.
0.2.1: ------ New features: - Increased launcher size to 1200x900 - Added changing username functionality: Username, and settings are saved. - Added a skip downloads button to the loading screen. This finishes downloading the current bot, then skips to the Game screen - Added some margins around buttons - Added alphabetic sorting to the bot list - Added a bot name search field - Added logging - Added UI element "Enable logging" - currently logging cannot be actually disabled
Enhancements: - Game automatically launches for 2+ player maps
Bugfixes - Corrupted bots.dat file no longer causes the launcher to quit
Was waiting for this, awesome work! I think it could make for a new pastime for people who want to play 1v1 broodwar but with a pre-defined challenge and without the stress of laddering.
It's great to see that development has already come so far; I remember discussing this with you earlier this year, and I still think that this is a great thing for the community.
To anyone who may be suspicious about the AI's capabilities, as a player that peaked at ~1950/A rank on the remastered ladder, I have dropped many games to various AI which I am sure will be featured in this service. It's definitely interesting to play with them. GL to everyone!
I was on a bit of a vacation, but now I'm back to working on SCHNAIL. A quick preview from the release notes:
Bugfixes: - Fixed a bug where bot sorting wasn't working after switching tabs, and after deleting text from the bot search bar
New features: - Added icons
Currently I'm working on setting up a server, so beta can begin soon.
Also, I'm coordinating with ZZZero (the organizer of BSL), and we will have human vs. bot showmatches for Chobo League players - details to follow when we worked them out
Bugfixes: - Fixed a bug where bot sorting wasn't working after switching tabs, and after deleting text from the bot search bar
New features: - Added icons
Currently I'm working on setting up a server, so beta can begin soon.
Also, I'm coordinating with ZZZero (the organizer of BSL), and we will have human vs. bot showmatches for Chobo League players - details to follow when we worked them out
Happy new year, and stay tuned for updates!
Showmatches would be amazing indeed. Happy new year to you too, looking forward to the beta!
This is amazing, what is the highest rank one of your bots has reached on remastered ladder?
These bots work under SC 1.16 - it is unfortunately not our decision. We are hoping that Blizzard decides a go-ahead on the remastered BWAPI (the interface used by these bots) for Remastered. We don't have technical obstacles for that. Also, these bots are only on bot vs. bot ladders at the moment, the SCHNAIL will be the first human vs. bot one.
Finally, the bots won most of the matches Pro gamers make it seem so easy do defeat these AIs, but someone with less experience might have trouble with them. I think it will achieve one of the goals we want, which is to provide a meaningful practice tool.
On January 06 2020 22:26 Sonko wrote: And yesterday, there was another stream with nice__username, you can watch it here: https://www.twitch.tv/videos/531508179
Finally, the bots won most of the matches Pro gamers make it seem so easy do defeat these AIs, but someone with less experience might have trouble with them. I think it will achieve one of the goals we want, which is to provide a meaningful practice tool.
Those are relative to each other. We currently don't have any human vs. bot rankings (One of the features is to have one. I have updated the Development Roadmap accordingly)
Those are relative to each other. We currently don't have any human vs. bot rankings (One of the features is to have one. I have updated the Development Roadmap accordingly)
Sorry for not being clear, I meant nice__username's MMR.
I've been invited to the Pylon show next week (2020 Jan 15th) to talk about the SCHNAIL project, and StarCraft AI in general. I'm very excited for this opportunity, and to represent the whole Brood War AI community.
Until then, I'm not releasing any updates - I guess you just have to watch the show
And here is the Pylon show episode with me, where we talk about SCHNAIL, and a lot of cool things about BW AI in general. It was a great experience, and we just started to scratch the surface.