• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:30
CEST 19:30
KST 02:30
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 - RO4 & Finals Results (2025)10Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy4Code S RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3
Community News
Weekly Cups (June 9-15): herO doubles on GSL week0Firefly suspended by EWC, replaced by Lancer12Classic & herO RO8 Interviews: "I think it’s time to teach [Rogue] a lesson."2Rogue & GuMiho RO8 interviews: "Lifting that trophy would be a testament to all I’ve had to overcome over the years and how far I’ve come on this journey.8Code S RO8 Results + RO4 Bracket (2025 Season 2)14
StarCraft 2
General
Code S Season 2 - RO4 & Finals Results (2025) Nexon wins bid to develop StarCraft IP content, distribute Overwatch mobile game Rain's Behind the Scenes Storytime Firefly suspended by EWC, replaced by Lancer How herO can make history in the Code S S2 finals
Tourneys
RSL: Revival, a new crowdfunded tournament series SOOPer7s Showmatches 2025 SOOP Starcraft Global #22 $3,500 WardiTV European League 2025 [GSL 2025] Code S: Season 2 - Semi Finals & Finals
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers [G] Darkgrid Layout
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 478 Instant Karma Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target
Brood War
General
BW General Discussion ASL20 Preliminary Maps BGH Auto Balance -> http://bghmmr.eu/ Recent recommended BW games FlaSh Witnesses SCV Pull Off the Impossible vs Shu
Tourneys
[BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET [BSL20] ProLeague Bracket Stage - WB Finals & LBR3 [Megathread] Daily Proleagues [BSL 2v2] ProLeague Season 3 - Friday 21:00 CET
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile Beyond All Reason What do you want from future RTS games?
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread UK Politics Mega-thread Russo-Ukrainian War Thread Echoes of Revolution and Separation
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
A Better Routine For Progame…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 29895 users

[mod] Starcraft AI project - Dorfl

Forum Index > SC2 Maps & Custom Games
Post a Reply
Normal
turtles
Profile Blog Joined August 2011
Australia360 Posts
May 19 2015 14:32 GMT
#1
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.

Enjoy.

+ Show Spoiler +
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).
Xiphias
Profile Blog Joined May 2010
Norway2223 Posts
May 19 2015 16:58 GMT
#2
Very interesting. Would it be possible to add this AI to mods with other units than the default SC2 ones as well? (Once it's complete ofc).

We have an AI for Starbow, but it is very rough around the edges and basic. Would be nice to have some more "general" code to guide it.
aka KanBan85. Working on Starbow.
turtles
Profile Blog Joined August 2011
Australia360 Posts
May 19 2015 17:19 GMT
#3
Hi Xiphias,

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.
RoomOfMush
Profile Joined March 2015
1296 Posts
May 19 2015 21:51 GMT
#4
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.
Randomaccount#77123
Profile Blog Joined May 2010
United States5003 Posts
May 20 2015 01:37 GMT
#5
--- Nuked ---
turtles
Profile Blog Joined August 2011
Australia360 Posts
May 20 2015 14:26 GMT
#6
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.
Uvantak
Profile Blog Joined June 2011
Uruguay1381 Posts
May 20 2015 21:14 GMT
#7
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.
@Kantuva | Mapmaker | KTVMaps.wordpress.com | Check my profile to see my TL map threads, and you can search for KTV in the Custom Games section to play them.
turtles
Profile Blog Joined August 2011
Australia360 Posts
May 24 2015 12:14 GMT
#8
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.

Thank you.
turtles
Profile Blog Joined August 2011
Australia360 Posts
July 15 2015 17:34 GMT
#9
Let the AI battles BEGIN!


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.

Here is the replay file which I uploaded to spawningtool.com

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.
BrokenSegment
Profile Joined July 2015
36 Posts
July 15 2015 20:19 GMT
#10
Cool stuff! Please make more AI wars like that!
turtles
Profile Blog Joined August 2011
Australia360 Posts
July 16 2015 02:44 GMT
#11
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
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
July 16 2015 14:02 GMT
#12
You can try to use the same strategy that Matthew Fischer used with his bot back in WOL. His ot could defeat all but the cheating one.

If you cannot win with 100 apm, win with 100 cpm.
BrokenSegment
Profile Joined July 2015
36 Posts
July 17 2015 05:46 GMT
#13
On July 16 2015 11:44 turtles wrote:
Show nested quote +
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
turtles
Profile Blog Joined August 2011
Australia360 Posts
Last Edited: 2015-08-14 17:11:39
August 14 2015 16:56 GMT
#14
STAR(craft) WARS II : attack of the AI




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:

spawningtool.com/29988/

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.
Leviance
Profile Joined November 2009
Germany4079 Posts
Last Edited: 2015-08-15 22:43:05
August 15 2015 22:22 GMT
#15
Dear turtles,

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?
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
August 16 2015 11:19 GMT
#16
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.
Leviance
Profile Joined November 2009
Germany4079 Posts
August 16 2015 20:44 GMT
#17
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)
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
August 17 2015 00:59 GMT
#18
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.
Leviance
Profile Joined November 2009
Germany4079 Posts
Last Edited: 2015-08-17 22:18:47
August 17 2015 21:48 GMT
#19
sry double post
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
Leviance
Profile Joined November 2009
Germany4079 Posts
August 17 2015 22:18 GMT
#20
On August 18 2015 06:48 Leviance wrote:
Show nested quote +
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?

"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
August 18 2015 04:11 GMT
#21
Argh. OK I know what the problem was now. Explanation at the end of the post.

For the moment you REALLY want to watch AI battles! Thanks for your patience. I can do one better than a single replay. I uploaded the mod to battlenet and tested it online. just follow these steps:

  1. make sure you are on the NA servers (uploading takes time, I only upload to NA unless I make big releases)

  2. go into custom games, select map (I tried with coda, I would recomend a map with 2 spawn locations as I'm not sure what will happen if there are more), and click on "create with mod" button.

  3. find and select the mod call "testing dorfl not playable"

  4. you need to remove yourself as a player and make yourself a spectator. right click on your icon and click "make spectator" [image loading]

  5. add 2 AI players. Make sure to set the difficulty to medium and the races to Protoss. [image loading]

  6. start the game. Player 1 will be controlled by the Blizzard AI and player 2 will be controlled by Dorfl. Dorfl will introduce itself a few seconds after the game starts so you will know which one it is. There will be a few seconds pause at the start of the game while everything gets set up. [image loading]


Watch dorfl fight against the Blizzard AI as much as you want. I only got half way through its first game before the Blizzard servers shut down for maintanence (stupid Bnet) but it all seemed to be good.

Insert disclaimer about how this is only the begining and there is a long road ahead. Dorfl has never even played on any of these maps before and doesn't know WTF it is doing, but it can hold its own in a fight.

Also the code is available for anyone who wants to have a look for themselves. just download the mod using the map editor.

+ Show Spoiler +
explanation of the problem with the replay:

Doesn't really matter any more but FWIW, I was playing offline while testing Dorfl as it saves a lot of time. I was also setting up the player slots so that there would be two AI opponents. This however counts as a modification to the map as the map determines the player slots. So I was actually playing on a slightly modified version of the map which only exists on my computer. Hence why it worked fine for me but no one else.

To fix this I can just use online replays from Bnet from now on if I want to share a replay
Leviance
Profile Joined November 2009
Germany4079 Posts
August 30 2015 18:20 GMT
#22
this is awesome!!!! thank you very much! I'll try it immediately
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
September 06 2015 02:46 GMT
#23
Hey you!

Somebody casted a game of Dorfl vs Blizzard AI and stuck it on youtube!

Thank you to GamerSteed for the cast. I stuck the replay file up on /r/castit, a subreddit for players to get their games cast and for aspiring casters in the community to source replays.

In the blue corner (left) is Blizzard AI - created by Blizzard Entertainment, one of the heaviest hitters in gaming and worth $18.9 billion.

In the orange corner (right) is Dorfl - created by me in my spare time and worth about $400.

"Lets get ready to rrrruuuuuummmmmmmmbbbbbblllllllleeeeee"



He said it in the video but let me repeat. This is only the framework of a fully functioning AI. It doesn't use warpgate, the stalkers don't know how to blink, the unit pathing glitches and the units sometimes spaz out (or dance ), I wrote the script for unit kiting in a single afternoon with a lot of coffee... you get the idea. But every few weeks Dorfl takes a few more baby steps towards being a good AI player.

Those of you who are likewise fascinated by watching a computer "make it's own decisions" will enjoy watching this AI vs AI battle.
Leviance
Profile Joined November 2009
Germany4079 Posts
September 13 2015 21:28 GMT
#24
Is the dorfl that is uploaded also being updated regularly like the version you work on?
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
September 14 2015 01:51 GMT
#25
On September 14 2015 06:28 Leviance wrote:
Is the dorfl that is uploaded also being updated regularly like the version you work on?


Hi, the version I work on is my local version. Keeping the online version up-to-date and making sure it is not broken is a lot more work and stress. Just keeping it to myself and doing an update every few weeks / a month allows me to spend more time doing productive work on it.

Next change is going to be big which means it's going to take a long time. I think I'll be back in probably a month but I will have redone some of the macro and probably got it playing all 3 races.
Leviance
Profile Joined November 2009
Germany4079 Posts
September 17 2015 18:06 GMT
#26
so will you post here when it's a new version?
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
DSK
Profile Blog Joined February 2015
England1110 Posts
September 17 2015 19:14 GMT
#27
Keep up the good work, turtles, it's nice to see someone taking the time to do something with the AI of SC2
**@ YT: SC2POVs at https://www.youtube.com/c/SC2POVsTV | https://liquipedia.net/starcraft2/SC2POVs @**
turtles
Profile Blog Joined August 2011
Australia360 Posts
September 18 2015 07:23 GMT
#28
so will you post here when it's a new version?


That's the idea. putting the replay up on /r/castit to get a community member to cast the game was a great solution for me as it saved me a lot of time and headache and was a fun way for people to view the progress. So I'm definitely going to go that route from now on. Also I've got a well known SC2 personality lined up who said he would like to cast a Dorfl game in the future. So that will be fun :D

I'll post here periodically whenever there is an update so people can subscribe to this thread and know what's happening, but it will often be weeks/a month in between updates. That does not mean there is no progress happening behind the scenes though.


Keep up the good work, turtles, it's nice to see someone taking the time to do something with the AI of SC2


Thanks, I'm excited to be working on it
TheBalanceIssue
Profile Joined June 2015
Singapore41 Posts
November 07 2015 01:46 GMT
#29
Hi turtles,

Are you still working on it? I was wondering if Micro AI can be implemented into your AI.

Referring to this AI:

Leviance
Profile Joined November 2009
Germany4079 Posts
November 08 2015 11:56 GMT
#30
Is this still being worked on? Or are youwaiting for LotV to come out?
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
turtles
Profile Blog Joined August 2011
Australia360 Posts
November 09 2015 16:23 GMT
#31
Hey guys. Still working on it. I was just exploring a new way for the AI to make high level descisions. I managed to implement a genetic algorithm to find and make good descisions, not by following a script but by generating it's own ideas about what moves it should make.

Maybe the details would be boring to other people but I find it so fascinating I'm going to talk about it anyway! Genetic algorithms attempt to solve a complex problem by a process of imitating the natural process of evolution. They start out with different candidates and then evolve a solution by removing weak candidates and producing offspring which inherit the capabilities of their parents. Interestingly enough for a process based on evolution they often come to solutions which are strangely animal like. Here are some examples of virtual creatures created to solve problems:





The same approach can be used for an AI to "learn" how to play starcraft. This approach is not unique and is the same technique others have used before to create build order optimizers. For example the 7 roach rush? That was not a human build order, that was a build order designed by a computer using genetic algorithm techniques and later copied by humans.

But those people were using genetic algorithms outside of starcraft, AFAIK I'm the first person to try and use techniques like that within the game to guide an AI. The good news is that it WORKS! but the bad news is that it works very slowly The time it takes for the AI to come up with a solid game plan seems to be taking too long and I can't make it run faster without lagging the game out.

My computer is about 10 years old, so it's no spring chicken, I'm sure other people would have faster computers. But I need to find a way to optimize it and make it run a LOT faster if this is going to work. Unfortunately I do not think I will succeed at speeding it up enough. I will make a bit more of an attempt but I suspect that it will forever be too slow to be practical and I will have to abandon that approach (after showing it off a bit just so I can say I did it :D ).

Whether I get it to work and move forwards with that approach or abandon it and go back to my previous approaches I will be making progress once again soon.
turtles
Profile Blog Joined August 2011
Australia360 Posts
November 09 2015 16:34 GMT
#32
Oh and TheBalanceIssue,

Thanks for the suggestion. I have already talked with the creator of Micro AI, I messaged him over reddit to ask about the possibility of joining forces. Unfortunately though the creator does not have an interest in creating an AI that can play a whole game. He seemed like a nice enough guy but the two of us have very different goals in mind:

He is interested in creating a perfectionist AI. One which behaves 100% perfectly within very narrow situations (such as the marines + bunkers vs adept). This is flashy and interesting to watch but it would not be able to actually play starcraft.

Where as I am interested in creating an AI which needs to be good enough at EVERY situation so that it can play a full game.

Sort of specialist vs jack of all trades. Both of us think our goals are not compatible enough to compromise on where we want to go.
PurpleStreak
Profile Joined July 2015
2 Posts
Last Edited: 2015-11-09 19:40:35
November 09 2015 19:39 GMT
#33
Wouldn't it be possible to keep the current state of the AI between sessions using Banks, so it doesn't have to relearn everything from scratch every time? I don't know how complex you've made the structures describing it, and whether or not the storage provided by Banks will suffice to store them completely (as I've never worked with them), but even a partial save should speed up the process.
turtles
Profile Blog Joined August 2011
Australia360 Posts
Last Edited: 2015-11-10 03:45:18
November 10 2015 03:44 GMT
#34
Hi turtles,

Are you still working on it? I was wondering if Micro AI can be implemented into your AI.

Referring to this AI:


TheBalanceIssue!

I just realized that you ARE the creator of Micro AI? I talked to you ages ago and you weren't interested. lol.

I'm trying to find our email correspondances but I can't find them... maybe I was thinking about a different AI creator and got them mixed up with you? I'm very confused now :p

But yeah I would love to talk over the possibility of if we could help eachother out or contribute parts to eachothers projects. Even if we don't find a middle ground I'd be curious to know where you're going with what your doing.
TheBalanceIssue
Profile Joined June 2015
Singapore41 Posts
Last Edited: 2015-11-10 11:42:09
November 10 2015 11:27 GMT
#35
On November 10 2015 12:44 turtles wrote:
Show nested quote +
Hi turtles,

Are you still working on it? I was wondering if Micro AI can be implemented into your AI.

Referring to this AI:


TheBalanceIssue!

I just realized that you ARE the creator of Micro AI? I talked to you ages ago and you weren't interested. lol.

I'm trying to find our email correspondances but I can't find them... maybe I was thinking about a different AI creator and got them mixed up with you? I'm very confused now :p

But yeah I would love to talk over the possibility of if we could help eachother out or contribute parts to eachothers projects. Even if we don't find a middle ground I'd be curious to know where you're going with what your doing.


Hmm... I dont remember saying I wasn't interested lol. Will PM you in reddit.
pure.Wasted
Profile Blog Joined December 2008
Canada4701 Posts
November 12 2015 01:38 GMT
#36
Very cool stuff. I'll keep my eyes open for more videos from this AI. GL!
INna Maru-da-FanTa, Bbaby, TY Dream that I'm Flashing you
HeadBangaa
Profile Blog Joined July 2004
United States6512 Posts
November 12 2015 12:58 GMT
#37
Hi Turtles. I'm glad to have found this thread; I've been using SALT for a while now, and recently started my own AI project. It has different goals than yours, so I'll probably continue to work alone.

I can't seem to find SALT mod on Battle.net anymore. I only see the "SALT lotv macro" version, but I need the HotS version. Did you unpublish it for some reason? It's a super useful tool.
People who fail to distinguish Socratic Method from malicious trolling are sadly stupid and not worth a response.
turtles
Profile Blog Joined August 2011
Australia360 Posts
November 12 2015 15:25 GMT
#38
Hi HeadBangaa,

With all the chaos from LOTV being released I was rushing to get a SALT verion out for LOTV. I just published the LOTV version last night and put it on all servers today. In my rush I was not considering the people who still use SALT for HOTS and did not consider that adding the new units would make it no longer available for you.

I appreciate everyone who uses SALT, so I appologise for overlooking some of you in my haste.

I've got tomorrow off work and plan on doing a bunch of starcraft stuff so I'm putting "HOTS compatibility" on the top of the list. Probably be done by tomorrow evening. (I'm feeling like Blizzard lately. I keep using the word "SOON" over and over.)

What kind of AI project are you making? It's a shame AI battles are impractical in SC2 but I love seeing what people come up with.
turtles
Profile Blog Joined August 2011
Australia360 Posts
November 12 2015 15:55 GMT
#39
On November 10 2015 04:39 PurpleStreak wrote:
Wouldn't it be possible to keep the current state of the AI between sessions using Banks, so it doesn't have to relearn everything from scratch every time? I don't know how complex you've made the structures describing it, and whether or not the storage provided by Banks will suffice to store them completely (as I've never worked with them), but even a partial save should speed up the process.


Hi PurpleStreak.

The plan the genetic algorithm tries to come up with a plan which is suitable to the current game state (and only bothers looking 10 minutes ahead). So at the begining the current plan might look like "10 supply depot, 12 rax, 14 refinery...." as the game progresses the current plan will look more like "50 thor, 55 starport, 60 banshee...".

I COULD keep a record of what it builds and save it in a bank and use it to seed the genetic algorithm next time around but then it becomes like a script. I may as well just feed it a list of predetermined build orders. It's more that it is slow to figure out how to adjust what it's doing to the game state, so I could feed it the plan from last game but if this time the opponent goes for mutas instead of roaches it will adapt only very slowly.

I'm sure there is a lot of ways I could make it better but I don't want to go increasing the complexity too much considering how slow it is already.

It's frustrating because I'm having trouble getting the function profiler working. The SC2 editor comes with the ability to tell you how much processing time each function is taking up but it keeps giving me nonsensical answers so I'm not sure if it's broken or I'm just stupid :/
HeadBangaa
Profile Blog Joined July 2004
United States6512 Posts
Last Edited: 2015-11-14 11:05:28
November 14 2015 10:48 GMT
#40
On November 13 2015 00:25 turtles wrote:
Hi HeadBangaa,

With all the chaos from LOTV being released I was rushing to get a SALT verion out for LOTV. I just published the LOTV version last night and put it on all servers today. In my rush I was not considering the people who still use SALT for HOTS and did not consider that adding the new units would make it no longer available for you.

I appreciate everyone who uses SALT, so I appologise for overlooking some of you in my haste.

I've got tomorrow off work and plan on doing a bunch of starcraft stuff so I'm putting "HOTS compatibility" on the top of the list. Probably be done by tomorrow evening. (I'm feeling like Blizzard lately. I keep using the word "SOON" over and over.)

What kind of AI project are you making? It's a shame AI battles are impractical in SC2 but I love seeing what people come up with.

Thank you so much for republishing the HotS version of SALT! It cuts my development cycle down dramatically. Would love to buy you a beer, PM me your paypal.

My project is just for fun; I'm creating a series of user-centric intelligent agents. They use the mouse and keyboard interface, throttled to human speed, and scrape the screen for visual information to make decisions. This is an external program, and does not read program memory or "cheat" in any way. It's basically a game-long, dynamically constructed macro. I'm in the process of building out the API which drives basic game activities, and have already programmed a user agent which just does a 2 rax reaper rush (as a test model). I'm using Autohotkey for the programming and the GDI+ Windows API for fast screen scraping and bitmap analysis.

The Broodwar AI scene was pretty well-developed. They ran myriad games on private servers and had tournaments. It's not just technically difficult, but illegal to run a private server for SC2. Blizz really has their platform locked down; the EULA is absolutely brutal too.
People who fail to distinguish Socratic Method from malicious trolling are sadly stupid and not worth a response.
turtles
Profile Blog Joined August 2011
Australia360 Posts
November 14 2015 11:00 GMT
#41
My project is just for fun; I'm creating a series of user-centric intelligent agents. They use the mouse and keyboard interface, throttled to human speed, and scrape the screen for visual information to make decisions. This is an external program, and does not read program memory or "cheat" in any way. It's basically a game-long, dynamically constructed macro. I'm in the process of building out the API which drives basic game activities, and have already programmed a user agent which just does a 2 rax reaper rush (as a test model). I'm using Autohotkey for the programming and the GDI+ Windows API for fast screen scraping and bitmap analysis.


Damn! Everytime I think I'm doing something cool I find someone pushing boundaries even further! I look forward to seeing what you can do
HeadBangaa
Profile Blog Joined July 2004
United States6512 Posts
November 14 2015 14:32 GMT
#42
On November 14 2015 20:00 turtles wrote:
Show nested quote +
My project is just for fun; I'm creating a series of user-centric intelligent agents. They use the mouse and keyboard interface, throttled to human speed, and scrape the screen for visual information to make decisions. This is an external program, and does not read program memory or "cheat" in any way. It's basically a game-long, dynamically constructed macro. I'm in the process of building out the API which drives basic game activities, and have already programmed a user agent which just does a 2 rax reaper rush (as a test model). I'm using Autohotkey for the programming and the GDI+ Windows API for fast screen scraping and bitmap analysis.


Damn! Everytime I think I'm doing something cool I find someone pushing boundaries even further! I look forward to seeing what you can do

I know what you mean, I had the same thought when I saw this project There is ample space for both projects, each having their respective trade-offs.

I've never created a mod or used the map editor, but Dorfl has piqued my interest. I'll play with it and maybe surf the code. Thanks for open sourcing it.
People who fail to distinguish Socratic Method from malicious trolling are sadly stupid and not worth a response.
fluidrone
Profile Blog Joined January 2015
France1478 Posts
November 24 2015 13:46 GMT
#43
The open source has always been the way to save the world!

i want an ai too

"not enough rights"
Leviance
Profile Joined November 2009
Germany4079 Posts
November 28 2015 20:11 GMT
#44
any news? plz make new videos
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
November 29 2015 02:55 GMT
#45
On November 14 2015 19:48 HeadBangaa wrote:


My project is just for fun; I'm creating a series of user-centric intelligent agents. They use the mouse and keyboard interface, throttled to human speed, and scrape the screen for visual information to make decisions. This is an external program, and does not read program memory or "cheat" in any way. It's basically a game-long, dynamically constructed macro. I'm in the process of building out the API which drives basic game activities, and have already programmed a user agent which just does a 2 rax reaper rush (as a test model). I'm using Autohotkey for the programming and the GDI+ Windows API for fast screen scraping and bitmap analysis.

The Broodwar AI scene was pretty well-developed. They ran myriad games on private servers and had tournaments. It's not just technically difficult, but illegal to run a private server for SC2. Blizz really has their platform locked down; the EULA is absolutely brutal too.


That API sounds a lot like the DirectX interception that Matthew Fischer did: https://graphics.stanford.edu/~mdfisher/GameAIs.html

Here is a video of it in action:
https://www.youtube.com/watch?v=FBZT2ukipkc
If you cannot win with 100 apm, win with 100 cpm.
HeadBangaa
Profile Blog Joined July 2004
United States6512 Posts
December 04 2015 19:38 GMT
#46
On November 29 2015 11:55 LetaBot wrote:
Show nested quote +
On November 14 2015 19:48 HeadBangaa wrote:


My project is just for fun; I'm creating a series of user-centric intelligent agents. They use the mouse and keyboard interface, throttled to human speed, and scrape the screen for visual information to make decisions. This is an external program, and does not read program memory or "cheat" in any way. It's basically a game-long, dynamically constructed macro. I'm in the process of building out the API which drives basic game activities, and have already programmed a user agent which just does a 2 rax reaper rush (as a test model). I'm using Autohotkey for the programming and the GDI+ Windows API for fast screen scraping and bitmap analysis.

The Broodwar AI scene was pretty well-developed. They ran myriad games on private servers and had tournaments. It's not just technically difficult, but illegal to run a private server for SC2. Blizz really has their platform locked down; the EULA is absolutely brutal too.


That API sounds a lot like the DirectX interception that Matthew Fischer did: https://graphics.stanford.edu/~mdfisher/GameAIs.html

Here is a video of it in action:
https://www.youtube.com/watch?v=FBZT2ukipkc

Wow! Skynet level stuff. This is very closely aligned to what I'm trying to do in creating automation in general. He gets fast, detailed info from the DX pipe. I'm envious of those graphics programming skills! While he's coded up a parser for SC2 (and is kind enough to share it), I wouldn't be able to apply that to other applications, so I'll continue with my naive, primitive GDI+ interface. Really impressive though, thanks for the link.
People who fail to distinguish Socratic Method from malicious trolling are sadly stupid and not worth a response.
summerloud
Profile Joined March 2010
Austria1201 Posts
December 08 2015 10:09 GMT
#47
im currently making a huge mod that changes a lot and introduces new races etc

prolly gna be far enough to think about implementing AI around january

could i build on your project?
turtles
Profile Blog Joined August 2011
Australia360 Posts
December 09 2015 01:47 GMT
#48
I'm back now! I went on hollidays for > 2 weeks. I spent a week of that time in a tent away from civillization with dolphins swimming right past my campsight, catching fish, reading books and getting sunburnt!

could i build on your project?


Yeah, sure. Just make sure to give credit where due. In the credits section, when announcing the mod, as a footnote on the splash screen, tattood on your body. One of those should suffice.

You would no doubt have a lot of questions about the structure of the AI and how to incorporate new units. I must warn you that it will be a hard job and require a good understanding and experience of writting software. It would be no small task, though it would be a much smaller task than writting an AI completely from scratch.


any news? plz make new videos


I figured out why my genetic algorithm stuff was running so slowly. + Show Spoiler +
It is based on strings and so it was some low level string manipulation which I had to write functions for but which were not as efficient as they could have been. Also I have discovered some more inbuilt SC2 string functions which can probably run faster due to having more direct low-level access to the data. Now that I know what the problem was I could replace the string indecies with integers and get another large improvement... but we'll see.


So that means that genetic algorithms are back on the menu. I'll post a video of it working soon(TM). It won't be visually impressive but it is cool to watch it formulate a build order on the fly by it's own processes and not being simply told what to do.

I need to be working on the sister project SALT as well so unfortunately my attentions will be divided for the next month or so. However I have some cool collaborations set up for SALT when that is finished. + Show Spoiler +
(announcement of an announcement complete)
Leviance
Profile Joined November 2009
Germany4079 Posts
December 27 2015 14:06 GMT
#49
Any news? Any new videos?
"Blizzard is never gonna nerf Terran because of those American and European fuck" - Korean Netizen
Normal
Please log in or register to reply.
Live Events Refresh
Next event in 1h 31m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 457
RotterdaM 305
Nina 194
UpATreeSC 77
ProTech73
RushiSC 27
StarCraft: Brood War
Britney 30051
Calm 1408
Bisu 864
EffOrt 804
Stork 434
Hyuk 246
firebathero 238
Mong 123
Soulkey 103
PianO 96
[ Show more ]
Dewaltoss 72
Barracks 52
sas.Sziky 50
sSak 46
hero 46
soO 31
Rock 28
TY 28
Movie 24
Aegong 24
JulyZerg 15
Yoon 13
yabsab 5
Dota 2
Gorgc6855
qojqva3100
Counter-Strike
ceh9472
kRYSTAL_35
Heroes of the Storm
Liquid`Hasu249
Khaldor214
Other Games
Dendi768
C9.Mang0402
elazer356
markeloff249
crisheroes209
Fuzer 199
ArmadaUGS193
KnowMe93
Trikslyr59
QueenE43
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 20 non-featured ]
StarCraft 2
• StrangeGG 96
• HeavenSC 15
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• blackmanpl 35
• Rasowy 5
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
League of Legends
• Nemesis7212
• Jankos4020
• TFBlade1088
Counter-Strike
• Shiphtur282
Other Games
• imaqtpie559
• WagamamaTV190
Upcoming Events
BSL: GosuLeague
1h 31m
Hejek vs Aeternum
Semih vs TousaN
Replay Cast
6h 31m
The PondCast
16h 31m
RSL Revival
16h 31m
Harstem vs SHIN
Solar vs Cham
WardiTV Invitational
18h 31m
ByuN vs Reynor
Clem vs MaxPax
OSC
19h 1m
Replay Cast
1d 6h
RSL Revival
1d 16h
Reynor vs Scarlett
ShoWTimE vs Classic
uThermal 2v2 Circuit
1d 21h
SOOP
2 days
Cure vs Zoun
[ Show More ]
SC Evo League
2 days
Road to EWC
2 days
SOOP Global
2 days
Future vs MaNa
Harstem vs Cham
Circuito Brasileiro de…
3 days
BSL: ProLeague
3 days
Sziky vs JDConan
Cross vs MadiNho
Hawk vs Bonyth
Sparkling Tuna Cup
3 days
Road to EWC
3 days
BSL: ProLeague
4 days
UltrA vs TBD
Dewalt vs TBD
Online Event
6 days
Liquipedia Results

Completed

Acropolis #3 - GSC
2025 GSL S2
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
BLAST Open Fall 2025
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.