I was wondering if it would be possible to program a perfect computer player for sc2. I'm talking perfect economy, building placement, scouting, position, composition, strategy, micro, macro, etc. I'm assuming it'd have to be written differently for each map but it'd be nice to see the most optimal play conceivable for sc2.
I already see the issues since some races are more rewarding for perfect micro but I'm sure those variables could be tweaked until a balance is found.
It'd be a blast watching two computers play each other. I dare say it could probably be even more entertaining than GSL and other pro leagues.
There was an AI released that had perfect unit control that basically made marines super imbalanced. It could split near perfectly and avoid banelings like no one's business. Zerglings spread out to reduce splash damage from tanks and basically overran everything.
I think it'd be interesting if we could set a cap on what the AI can do with mechanics, and make it somewhat equatable to human play. Maybe a 300-400 APM limit? Someone in AI please let me know if this is possible.
I think there's a realm for super AI's to battle it out there. Does perfect zergling control or perfect marine control win out at the end of the day?
On November 11 2012 12:53 AbideWithMe wrote: Perfect mechanics and micro with predefined build orders yes ofc.
Perfect strategies and scouting with dynmaic BOs not so much.
With certain pefectly executed timing pushes A.I. could beat every human for sure though.
This. I could see Automaton 2000 having a ludicrously high win rate within the first ten minutes of the game by executing a marine timing attack with impossible micro.
If there were a major research project for a Starcraft Deep Blue as there was in Chess, we would have a Deep Blue for Starcraft probably within 15-20 years max.
On November 11 2012 12:56 shindigs wrote:Maybe a 300-400 APM limit? Someone in AI please let me know if this is possible.
You can put a limit on it, but the way those AIs are made, putting a limit like that on them would make them completely useless. Not that it'll happen exact this way, but it might do something like start to split a bunch of marines individually with move command, and then because it ran out of actions after the first few marines, it'll "forget" to a-move with them and leave them move command random places or something while the rest of them stay bunched and die to banelings.
On November 11 2012 12:56 AirbladeOrange wrote: People have discussed perfect micro before but more with Brood War. Some people have actually done some impressive programming.
Micro is really not the question here. I believe everybody has seen Automaton or Ursadak Micro. The Question is how you train an A.I to play PvP for example. Or the standard answer to Protoss Forge Fast Expand with an immidiate third base for Zerg.
I mean it would probably take a while, but couldn't you program the AI to scout and build the correct units and buildings based on what they see, in addition to program it to have perfect macro and micro?
On November 11 2012 12:56 shindigs wrote: There was an AI released that had perfect unit control that basically made marines super imbalanced. It could split near perfectly and avoid banelings like no one's business. Zerglings spread out to reduce splash damage from tanks and basically overran everything.
I think it'd be interesting if we could set a cap on what the AI can do with mechanics, and make it somewhat equatable to human play. Maybe a 300-400 APM limit? Someone in AI please let me know if this is possible.
I think there's a realm for super AI's to battle it out there. Does perfect zergling control or perfect marine control win out at the end of the day?
On November 11 2012 13:07 Ettick wrote: I mean it would probably take a while, but couldn't you program the AI to scout and build the correct units and buildings based on what they see, in addition to program it to have perfect macro and micro?
Absolutely, 100% never.
There is an impossible amount of variables to ever, ever take into account that an A.I. will simply never be able to handle.
For example, protoss does a standard FFE and Zerg can't punish it. Zerg is either programmed to All In or get a 3rd hatch.
Easy enough.
What happens if the 3rd base is cannon rushed and the A.I. didn't scout it until it may or may not be too late to save.
How does the A.I know what to do? Do you know how hard it is to program a response to something so simple that a human will be able to decide instantly just through practice?
Do I let the hatch die? Do I build lings to save it? How many lings? Does it depend on the amount of cannons? What if my Zerglings get walled off AFTER they are already on the way or in production in a way that a computer cannot possibly forsee that makes it impossible to stop? Do they send the lings anyways?
If I don't save it and I have no scouting information, how does the build proceed? What if I have zero scouting, when as a programmer do I set my A.I to rebuild that 3rd base with zero information? When do I build enough units to clear out the cannons? When is it plausable to take your 4th instead of the 3rd base location? Is it possible to make this move on every map?
There are THOUSANDS of scenarios from the first 5 minutes of a game that can throw an A.I. off it's set pattern. Even the best of the best Chess computers don't determine their openings, they have a vast opening book with variations made by top GMs because the options early game are simply too vast for the computer to realistically figure it out.
People can make these "Easy" decisions because of common sense. Computers can't.
You'd have to teach a computer to scout which be difficult to put it lightly. Why not just train it to do one build for each matchup? You all have seen now what the automatron 2000 bot can do with micro. Any AI can have perfect macro. Perfect micro and macro with a safe general build that is ok against anything for a player=unstoppable for a microbot.
On November 11 2012 13:07 Ettick wrote: I mean it would probably take a while, but couldn't you program the AI to scout and build the correct units and buildings based on what they see, in addition to program it to have perfect macro and micro?
Absolutely, 100% never.
There is an impossible amount of variables to ever, ever take into account that an A.I. will simply never be able to handle.
For example, protoss does a standard FFE and Zerg can't punish it. Zerg is either programmed to All In or get a 3rd hatch.
Easy enough.
What happens if the 3rd base is cannon rushed and the A.I. didn't scout it until it may or may not be too late to save.
How does the A.I know what to do? Do you know how hard it is to program a response to something so simple that a human will be able to decide instantly just through practice?
Do I let the hatch die? Do I build lings to save it? How many lings? Does it depend on the amount of cannons? What if my Zerglings get walled off AFTER they are already on the way or in production in a way that a computer cannot possibly forsee that makes it impossible to stop? Do they send the lings anyways?
If I don't save it and I have no scouting information, how does the build proceed? What if I have zero scouting, when as a programmer do I set my A.I to rebuild that 3rd base with zero information? When do I build enough units to clear out the cannons? When is it plausable to take your 4th instead of the 3rd base location? Is it possible to make this move on every map?
There are THOUSANDS of scenarios from the first 5 minutes of a game that can throw an A.I. off it's set pattern. Even the best of the best Chess computers don't determine their openings, they have a vast opening book with variations made by top GMs because the options early game are simply too vast for the computer to realistically figure it out.
People can make these "Easy" decisions because of common sense. Computers can't.
So little faith ~
Go is probably similar. Sure is hard as hell to program an AI for it, but we've got a 6dan AI so far.
omg those automatons video are sick lol. Zergling micro like that is literally impossible rofl (and I guess marine micro too but much more possible ^^)