On May 25 2007 13:10 jtan wrote: Would be really cool but I doubt it's going to happen with sc2
Maybe they include some free ai-editing in the editor though, that wouldn't be a hard thing to do.
I they will provide SC2 with editor similar to this you can find in WC3 then you will have the option to edit AI there (I remember one day when I fought my brother, my AI vs his AI, was fun to obs ^_^).
On a more serious note; these are some small ideas I think would make the AI alot better.
UNITS: Micro control; The AI needs to be able to perform micro. Have the AI assess individual battles across the board, work out what units it has vs its enemy and tell the right units to attack the right enemys. None of this attack move stuff... It would be a hell of a calcution, but todays computers can crunch a hell of alot.
Macro control; all that said.. the computer also needs to be able to look at what units it has across the board to work out when to send what backup to a situation. If for example there is a small battle going on in the middle of the map and a toss team of zealots starts gettting owned by tanks, the toss AI needs to think 'i should get some immortals over there' and either decide where it can spare them from or where to make em.
BUILDINGS: We all know its all about where you setup your choke points and using high ground/narrow areas to our advantage. Fortifying areas that stop enemy expansion etc. The AI needs to know the same.
The other building based chance is the AI needs to understand walling, and also use it at times. We do so it should too.
What if this is like Ender's Game, and we haven't been playing each other, but against real people and aliens off on some distant planet? And we're the AI for an intricate system designed to be alien killers for some even more advance race. I sense the Xel'Naga using us here to do their dirty work.
No, I'm kidding. This topic is a lot of what if's and etc. I don't really see any of this happening. I doubt anyone here is getting their MS or PHD in Computer Science researching Artificial Intelligence.
And if someone were here reading all of this with such pedigree, they'd probably scoff at our ideas since they're probably a bit off.
On May 25 2007 13:10 jtan wrote: Would be really cool but I doubt it's going to happen with sc2
Maybe they include some free ai-editing in the editor though, that wouldn't be a hard thing to do.
I they will provide SC2 with editor similar to this you can find in WC3 then you will have the option to edit AI there (I remember one day when I fought my brother, my AI vs his AI, was fun to obs ^_^).
oh they did include it in wc3? Thats great!
Only problem with those kinds of ai, assuming it's the same type that you could modify with that scaiedit program, is that it only gives a buildorder. They should evolve it to include more variables like the opponents current unit numbers and what his armies consists of, how many expansions he has etc.
Code, I too have considered implementing an external AI system for BW for a while, but me being lazy as usual, it never took off. Computer vision for bw isn't as trivial as you say, there's an issue with overlapping sprites, so e.g. it can be difficult to count stacked muta groups. It's doable nontheless, but still even just the front-end (UI control adapter, real-time screen grabber and vision component) aren't exactly trivial piece of work. It would take considerable technical effort even if there's nothing complicated about it at the algorithmic level. You have to remember even something as simple as "2D string matching" over the entire screen can be quite heavy on the CPU; consider also that bw will not render enough frames to allow you to scan the entire visible area on the map (say if you need to watch 10 screens worth of area, you would need 10 frames from bw, which is a considerable fraction of a second, I guess that's still way better than human players kek). I think a more realistic approach is to read the game state directly from the engine (doesn't mean the AI cheats, the engine tells you what area on the map is visible to you), but that's more difficult to reverse engineer, while the UI itself is basically operated with window message, so there is a trade-off there. In any case it's not really that easy.
I think AI can perform evaluation of a tactical situation based on what it sees, run a simulation where it controls both sides at the micro level, and see if its attack is beneficial. The flaw in this is that it must know exactly what the enemy has. It's difficult for the AI to "imagine" how many tanks are sitting behind the front line of a terran slowpush for instance, so these simulations based on incomplete information could make it behave too aggressively in PvT.
On May 26 2007 10:40 EmS.Radagast wrote: Code, I too have considered implementing an external AI system for BW for a while, but me being lazy as usual, it never took off. Computer vision for bw isn't as trivial as you say, there's an issue with overlapping sprites, so e.g. it can be difficult to count stacked muta groups. It's doable nontheless, but still even just the front-end (UI control adapter, real-time screen grabber and vision component) aren't exactly trivial piece of work. It would take considerable technical effort even if there's nothing complicated about it at the algorithmic level. You have to remember even something as simple as "2D string matching" over the entire screen can be quite heavy on the CPU; consider also that bw will not render enough frames to allow you to scan the entire visible area on the map (say if you need to watch 10 screens worth of area, you would need 10 frames from bw, which is a considerable fraction of a second, I guess that's still way better than human players kek). I think a more realistic approach is to read the game state directly from the engine (doesn't mean the AI cheats, the engine tells you what area on the map is visible to you), but that's more difficult to reverse engineer, while the UI itself is basically operated with window message, so there is a trade-off there. In any case it's not really that easy.
I think AI can perform evaluation of a tactical situation based on what it sees, run a simulation where it controls both sides at the micro level, and see if its attack is beneficial. The flaw in this is that it must know exactly what the enemy has. It's difficult for the AI to "imagine" how many tanks are sitting behind the front line of a terran slowpush for instance, so these simulations based on incomplete information could make it behave too aggressively in PvT.
i was just thinking about skinning all the people in CS to be completely red, and then making a external AI to automatically target and snipe anything that is red, right in the head. code like this shouldn't take more than a day to do.... if i actually play CS...
I noticed, that in the game trailer, AI was updated, and I think units will be much more intelligent in sc2.
Look in the beginning when the zealots are running down the ramp, you'll notice that the front ones move just enough so as to let the ones in the back in, without running around randomly. Very nice.
I am with the skeptics saying that there's no real point in connecting 'self-learning' ai to sc2 right now. On the other hand, I do believe ai can be much more competitive in 1v1 etc than was in broodwars. All it takes is some more time/effort, and to work on it even after the initial release (via patches) as new unforeseen strategies become popular.
I think making an AI that adapts over the course of multiple games is probably more work then it is worth. However it should be reasonable to expect Blizzard to make an AI closer to the AMAI AI that people made for WC3.
The AI used perfect build orders based on the build orders used in ladder play and picked the strategies that would best counter the opponents unit composition. It also perfectly microed all the units of its army.
Ofcourse the AI used maphack to do this but I think it's better to have a dumb challenging AI that uses maphack then a genius AI that isn't that hard to defeat since it doesn't use map hack.
The AMAI AI on the insane difficulty is basicly impossible to defeat even 2v1 (Mostly because the insane ai gets 2x resources).
If you're bored of playing against the weak Starcraft 2 computer opponents, or you want to practice your builds and timings offline use this AI script!
I heard that Blizzard are planning on having a "pro league" featuring, invited, all the best players. As well as this, I believe they're also going to make all replays from this ladder available for public viewing.
Wouldn't it be possible for them to develop a program that analyses the most common build orders from the league and adds them to the AI? Considering the way the replay formats + AI formats work I can't see it being too difficult to implement.
On May 25 2007 13:08 no.1 wrote: blizzard please, we need comps with unbeatable artificial intelligence.. they should learn from our game play and adapt to it. is it possible?
Yeah, it's called Skynet from the movie Terminator. Judgement day is upon us!
perfect play imo would require either tons and tons of information or lots of computation with perfect evaluation (or approaches). And even that, would result in pretty standard play.. most likely. Learning from others would require even more shit as youve to analyze everything.
Still, I think it could be much better than it is now.
If you're bored of playing against the weak Starcraft 2 computer opponents, or you want to practice your builds and timings offline use this AI script!