Hey all. I'm in the process of creating an AI. Have been for a Loooong time now. It's a pretty epic task to write one from scratch. But I haven't made a TL post about it. And if it doesn't exist on TL then it doesn't exist, so here we are.
Having recently overcome frustrations and bugs related to scouting algorithms I decided to make a small teaser vid.
This is built ontop of my other project SALT as it utilizes a lot of the code that already existed in that project meaning that the two projects will be compatible and able to be used together in the future (whenever I actually finish).
I considered just posting this onto the SALT thread but I will probably release as a stand alone product. So people can play against the AI without all that SALT-y stuff.
Hopefully in the coming year I can add to this thread with further news until the day I am happy to release it.
If anyone knows how to mash together code and wants to help out I'm sure I could think of tasks to delegate to you. (the SC2 language is basically just a dumbed down version of C and it comes with an easy to use GUI).
yeah, you can combine with other mods. Starbow I'm guessing is mostly created in the data editor, while this project is mostly created in the trigger editor which means that it should, in theory, be not very hard to cram them both into the one box.
As I mentioned in the vid, I've tried to write it in a very modular fashion meaning that you could remove units or slot others in and it should still work. There would be a some amount of work to instruct the AI how to use special abilities and the like but that would be small.
Having said that, I don't know how different starbow is from vanilla SC2. If you completely changed the dynamics of the game then it might not transition well.
The builds that this AI uses it can grab from replays using replay tools that other people have created. I don't know if anyone has made any replay analysis tools for starbow. So creating builds to guide it would be harder, though not impossible.
Its nice to see that somebody is trying this. I always felt like the SC2 AI was very disappointing. It got better in HotS (still not very good though) but in WoL it was aweful.
On May 20 2015 10:37 Barrin wrote: You mentioned that it's not necessarily easy for different AI's to be compatible with each other without cooperation between their creators. But can the AI play itself (2 separate instances 1 game)?
It can play against itself. both sides would not have knowledge of the opponents forces except through scouting and would make descissions in isolation from eachother.
I could also alter it slightly to have the default Blizzard AI take control of one of the sides.
But if you wanted to build your own AI so we can battle it would be hard to do. We would have to make sure that there were no conflicts in the code, we would have to share our work with eachother and cooperate and we would probably need a knowledgable and neutral third party to go over our work with a fine tooth comb to ensure we weren't doing anything underhanded or giving ourselves an unfair advantage. In terms of organization and ensuring it is a fair fight I could see there being a lot of potential problems.
I have such a boner for AI's and emergence in general, love to watching the development of them, I still recall when I used go to nibbits to check the newer Green and Dark Tea AI's.
OK, so the mod is now OPEN SOURCE on the US server. Search for SALT. The latest version is v3.0.
It will not work out of the box, so you can either look at the source code and figure out how to get it running or watch this 3 minute video which will save you a lot of time.
I'm looking for partners to help develop the project, otherwise it will take me years to do alone. I've had a few people express interest. If you are also curious please PM me and I can add you to the skype group so you can see the discussion going on.
You don't have to be some coding genius to help make a contribution.
Even if you are just looking into the code for the sake of your curiosity you will undoubtably have a lot of questions so PM me anyway and I will be happy to help you understand whats going on, what I plan to do and why I've done things the way I did.
OK, so I've continued to tinker away in my spare time. DORFL is NOT near completion. It is SOOOOOooo far from being finalized.
But none the less... I decided to battle it against the Blizzard AI just for a laugh. And laugh I did, I also facepalmed... OK mostly facepalmed... a lot!
At one point DORFL is up in supply something crazy like 110 to 30 but it's actions were just so stupid that it couldn't possibly pull the victory. At one point it build an army out of observers
I am providing the replay for comedy purposes if anyone else wants to see. Ignore the first few seconds when it sets everything up. Also ignore all the text scrolling up the screen.
Player 1 in the bottom left corner is controlled by the Blizzard AI (I think it is on easy but not sure). The top right corner is player 2 which is controlled by DORFL.
before you laugh at me too much remember that this is the computers FIRST EVER game of SC2. I want you to think back to YOUR first ever game of SC2 and remember how bad you were in comparisson enjoy.
On July 16 2015 05:19 BrokenSegment wrote: Cool stuff! Please make more AI wars like that!
LOL. I doubt I will ever have another AI battle that is quite like that. At least I hope not
DORFL will be getting much MUCH less stupid in the coming months. Hopefully it can outcompete the very hard Blizzard AI by the end of the year. (Blizzards insane AI uses maphacks and income hacks to be stronger so that's not a legitimate fight)
On July 16 2015 05:19 BrokenSegment wrote: Cool stuff! Please make more AI wars like that!
LOL. I doubt I will ever have another AI battle that is quite like that. At least I hope not
DORFL will be getting much MUCH less stupid in the coming months. Hopefully it can outcompete the very hard Blizzard AI by the end of the year. (Blizzards insane AI uses maphacks and income hacks to be stronger so that's not a legitimate fight)
I'm coming for you Blizzard
Well, I am sure it will be better. I don't want to watch bad AI fights either. But the idea of AI dueling is very interesting to me, so I hope there will be more fights
Last time I pitted the AI I am writing against the might (lol) of the Blizzard AI on the easiest difficulty... and I failed miserably But simply competing was a benchmark in itself.
Almost exactly one month on and I continue to improve Dorfl. After many trial runs I have decided I have reached the next benchmark: being able to consistently defeat the Blizzard normal difficulty AI. Out of a bunch of matches Dorfl won most of them. Here is the most recent replay I have of the two AIs battling it out to the death:
That link is to the page on spawningtool.com (an awesome sc2 website tool thing). The download link is on the right.
I chose that replay because Dorfl came close to losing and there was a nice bit of back and forth before the Blizzard AI crumbled under a relentless stream.
Let me state right off the bat: Dorfl is only about 45% complete. Before you watch the replay think about trying to drive a car which is only 45% complete and imagine how far you're going to get.
at the moment Dorfl:
can play all 3 races but is more familliar with Protoss (hence the PvP replay)
does not micro, it simply attack moves and hopes for the best
does not know what units are suitable for what roles.
does not know how to use abilities like warpgates, charge nexus, forcefield, or gravitational beam (which is why in the replay it builds lots of phoenix and does not know how to make them do anything useful)
has a 4 second reaction delay
Does not know how to harass. Any time it wants to harass the units just go to the centre of the map and sit there
But these will all be changing as time goes on. By October I hope Dorfl will learn how to harass and micro. By November I hope for it to be familliar with all three races. By NYE I hope to have Dorfl competent enough to beat the Blizzard hardest (non cheating) AI with any race and to be suitable for mid-level players to play against. After that who knows? + Show Spoiler +
Enslave all humanity skynet/matrix style? It's worth a shot.
PLEASE DO NOT STOP CREATING THE BEST AI SC2 HAS EVER SEEN (that doesnt cheat).
I love stuff like this and I hate that I can't program an AI. I second the guy who wants AI vs AI battles, I would watch anytime. And I would watch AI vs Human too if it's an actual dynamic, reacting, and not cheating AI.
Please don't give up anytime like some of the other AI programmers. Only stop when your A.I. beats a GM player convincingly
Edit: I can't watch the replays :[[[ are the files corrupted or is it sth on my end?
Hi Leviance, that is strange that you can't watch the replay. I don't know why, I just downloaded it and played it to check and it works for me. ¯\_(ツ)_/¯
I don't think I'll be able to make it good enough to beat a GM. Maybe diamond players though. There's a reason lots of AIs cheat and that's because it's hard to do.
I will make a video in a month or so. Just because it beats the Blizzard AI doesn'tmean it plays a smooth game. Units are moving around the map eratically and it doesn't appear (at first glance) to have definite purpose. But when more work is done it will be smoothing out its play.
Getting someone to cast a game would be excellent but I would have to get in touch with a caster first.
No one expects a smooth game from an AI thats still in development. I would love to watch some games, but as I said, for some reason I cannot open these replay files (It says "map could not be opened" when I click on it to watch)
OHHH I think maybe I have an idea why that might be.
It says "map could not be opened" when I click on it to watch
The map I am playing around on is Derelict watchtower. It's just one that I use for consistencies sake because I had a copy of it lying around stored on my computer (also it's an average map with lot's of expos, XNT, rocks and wide open centre). However it's also very out of date (2013).
The replay files do not contain the map. So if you don't have the map on your computer (which is likely) maybe you can't see the replay file. That's my theory at least.
I'll make sure when I release replays I do it on up to date maps from now on. Thanks, glad I learned that lesson early.
On August 17 2015 09:59 turtles wrote: OHHH I think maybe I have an idea why that might be.
It says "map could not be opened" when I click on it to watch
The map I am playing around on is Derelict watchtower. It's just one that I use for consistencies sake because I had a copy of it lying around stored on my computer (also it's an average map with lot's of expos, XNT, rocks and wide open centre). However it's also very out of date (2013).
The replay files do not contain the map. So if you don't have the map on your computer (which is likely) maybe you can't see the replay file. That's my theory at least.
I'll make sure when I release replays I do it on up to date maps from now on. Thanks, glad I learned that lesson early.
I have that map, still it says can't open map file. Can you upload your map file?