|
On November 13 2009 09:45 CaptainPlatypus wrote:Show nested quote +On November 13 2009 09:03 AssuredVacancy wrote: I'm thinking if you're playing against T as zerg or protoss, you just rush in the beginning with 5 workers and do perfect hit and run micro on the scvs. More realistic examples of this, such as perfect vulture-versus-zealot micro when you have 20 vultures instead of 2, perfect storm placement, perfect muta micro, et cetera, will probably be the only thing that allows a non-learning AI to compete with a skilled (Flash-level) player. The real challenge, in my mind, would be teaching things like anticipation; a human player can draw a lot of information from something as subtle as what direction a unit is coming from or how many zerglings he sees or whether a cybernetics core is spinning. How do you teach an AI to make the same judgments? On a similar note, how do you teach an AI when to tech switch to carriers, or when to go with ultras instead of defilers, or how many factories to add?
Alot of Bw AI is hard coded, so no you can't have perfect micro. Infact you can't really change the way the AI micros at all.
edit: well with the new BWAPI it may be possible
|
I probably won't submit an entry to this (although I might change my mind if I take an AI course between now and the deadline), but I'll definitely be grabbing their example code and having some fun. I had no idea BWAPI gave you that level of control.
|
On November 13 2009 11:26 Shivaz wrote:Show nested quote +On November 13 2009 09:45 CaptainPlatypus wrote:On November 13 2009 09:03 AssuredVacancy wrote: I'm thinking if you're playing against T as zerg or protoss, you just rush in the beginning with 5 workers and do perfect hit and run micro on the scvs. More realistic examples of this, such as perfect vulture-versus-zealot micro when you have 20 vultures instead of 2, perfect storm placement, perfect muta micro, et cetera, will probably be the only thing that allows a non-learning AI to compete with a skilled (Flash-level) player. The real challenge, in my mind, would be teaching things like anticipation; a human player can draw a lot of information from something as subtle as what direction a unit is coming from or how many zerglings he sees or whether a cybernetics core is spinning. How do you teach an AI to make the same judgments? On a similar note, how do you teach an AI when to tech switch to carriers, or when to go with ultras instead of defilers, or how many factories to add? Alot of Bw AI is hard coded, so no you can't have perfect micro. Infact you can't really change the way the AI micros at all.
That is true of current scripting, which is very limited, but BWAPI http://code.google.com/p/bwapi/ is able to go beyond these limitations.
|
Gah testing my code is so annoying. It takes 3 min just to compile the DLL, then I have to drag that DLL into the BWAPI folder, then I have to set up a match in sc to see the results. Sometimes SC crashes because of a runtime error but I have no idea what caused it.
|
Any kind of modding in Starcraft demands of one the utmost patience and tranquility of mind. Modding starcraft is not a hobby, it's an art of which demands from you the ultimate sacrifice of your soul and mind. This is not like Supreme Commander or Source - Starcraft is out to get you. It will drain you of all will to live and all things that are good and majestic in the world will be drowned away by a sea of suffering and despair.
Master your zen, and you may master Starcraft.
|
Hong Kong20321 Posts
thats so sweet i would love to play against an awesome AI.
any AIs' to occupy my time for now though? :D
|
On November 13 2009 13:49 alffla wrote: thats so sweet i would love to play against an awesome AI.
any AIs' to occupy my time for now though? :D
Entropy is a good place to start, available at www.broodwarai.com . There's a few more on the forum as well if you feel like having a look around.
It won't challenge you if you're a good player, so it's recommended to play 1v2, 1v3 or so, due to the hardcoded limitations mentioned previously.
|
Yea, it's pretty much the same as the default except with a less terrible build order and more units (or worse in same cases -_-) It still can't handle walls or luring its workers away at the beginning. The worst is that it can't handle neutral buildings/mineral blocks so a lot of new maps are out of the question.
Most people here are probably better off playing BWAI's Gold Racine Rebels if you want a 1v1. Yes it cheats, but at least it'll be a bit more challenging.
|
It seems like in a lot of the micro maps for this there would be a lot of stalemates. Surely a good AI wouldn't engage when it knows it will lose, and with perfect pathfinding (which I mean, they have a year to write) it seems like they could go on forever.
|
a computer that plays extremely safe and has perfect macro (never misses pylons/depots/ovies, spends all the money right away, etc) would be so imba...
|
|
|
On November 13 2009 08:00 toopham wrote: This competition is a little unfair isn't it?
To make a good AI for starcraft you would need to know build orders for each match up. scout and detect what your opponent is making. Then play accordingly to what your opponent is doing.
This requires you to be at least D+ just to make good AI for starcraft. So the people who play SC competitively have an advantage.
That's not always true. The optimal actions are searched and maxed over sometimes, instead of hard coded in and directed.
When I coded my AI pacman for class, he had some incredibly ingenius manuvers that a human could never top, yet nowhere in the Pacman's code explicitly indicated that such manuvers should be executed.
Pacman simply played 1000 games of pacman and understood the environment and came up the moves himself.
I'll see if I can enter, it looks mad fun. If anyone else want to do it with me I'm very interested. I am currently taking algorithm and artificial intellegence and I'm a pretty good problem solver.
Hit me up, we should form a TL team and rape those UC santa cruz fools
|
My problem with the AI is that they just don't play like humans so you learn nothing ( except mechanics ) when you play against it. It is more interesting to play a D guy than the [l33t]haxorEntropy 15.0 version.
|
The tournament looks doable, the things to consider pretty much stops at zealot/dragoon.
I have a feeling as long as you have a robust BO to churn out massive units you'll be fine
|
I think you guys are overthinking how complicated the best player will be.
The goal here is not to write an AI that beats a person - it's to write an AI that beats other AIs. It's really a completely different ballgame when you know your opponent will also be an AI.
It's easy to imagine an AI that has perfect standard play until the 9 minute mark. It's a lot harder to imagine this AI handling the various cheeses that other AIs will undoubtedly attempt to execute - I mean even HUMANS have trouble with that.
Being aggressive and playing a simple strategy will have a higher expected win rate in my opinion. Reason being, if you're aggressive in AI, you dictate the flow of the game and accomplish the following: 1) decrease the likelihood of a surprise 2) increase the likelihood of a disastrous surprise for an AI
Point 2 is really important - unexpected things that are trivial to people can be absolutely disastrous in AI. You will never cover all the edge cases no matter how much testing you do. Can you imagine a standard Protoss AI reacting to a Drone Drill (which wouldn't be that hard to code)?
|
On November 13 2009 17:51 Bill307 wrote:Fascinating. The level of control offered by BWAPI sounds promising (assuming it offers the same level of unit control as a human player will have). I can guarantee that in the complete-game competition, 99% to 100% of ones time will be spent making an AI that can survive, if not win in, the first few minutes of the game. If you're not confident in your AI's ability to survive the opening of the game, then any time you spend on its abilities beyond that is a waste of time. The first step in making a winning AI will be to either: a) execute a well-timed, well-microed 4-pool, or b) defend against such a 4-pool with good micro. If you can't do one of these, then you might as well not bother entering (unless you assume all the other entrants will similarly incapable  ).
I didn't see this at first but I agree.
I expect 9 pool (which also sufficiently counters 5 pool) speed to dominate, with a possible Lurker or Muta followup. Basically an all-in build that is resistant to other early all-in builds, and which dictates the flow of the game at virtually all times.
|
On November 13 2009 19:06 evanthebouncy! wrote:Show nested quote +On November 13 2009 08:00 toopham wrote: This competition is a little unfair isn't it?
To make a good AI for starcraft you would need to know build orders for each match up. scout and detect what your opponent is making. Then play accordingly to what your opponent is doing.
This requires you to be at least D+ just to make good AI for starcraft. So the people who play SC competitively have an advantage. That's not always true. The optimal actions are searched and maxed over sometimes, instead of hard coded in and directed. When I coded my AI pacman for class, he had some incredibly ingenius manuvers that a human could never top, yet nowhere in the Pacman's code explicitly indicated that such manuvers should be executed. Pacman simply played 1000 games of pacman and understood the environment and came up the moves himself. I'll see if I can enter, it looks mad fun. If anyone else want to do it with me I'm very interested. I am currently taking algorithm and artificial intellegence and I'm a pretty good problem solver. Hit me up, we should form a TL team and rape those UC santa cruz fools Hey the pacman thing is pretty cool O_O
Quote from slashdot: "Instead of an AI that can win at Starcraft, maybe they ought to try to build an AI that can finish Starcraft 2.
Apparently, that's a much greater challenge."
|
Does anyone know if the starcraft AI have knowledge about what a player is doing without needing to scout? If they do, it would make programming alot easier. No need to interpret actions
|
United States17042 Posts
On November 13 2009 21:37 JFKWT wrote:Show nested quote +On November 13 2009 19:06 evanthebouncy! wrote:On November 13 2009 08:00 toopham wrote: This competition is a little unfair isn't it?
To make a good AI for starcraft you would need to know build orders for each match up. scout and detect what your opponent is making. Then play accordingly to what your opponent is doing.
This requires you to be at least D+ just to make good AI for starcraft. So the people who play SC competitively have an advantage. That's not always true. The optimal actions are searched and maxed over sometimes, instead of hard coded in and directed. When I coded my AI pacman for class, he had some incredibly ingenius manuvers that a human could never top, yet nowhere in the Pacman's code explicitly indicated that such manuvers should be executed. Pacman simply played 1000 games of pacman and understood the environment and came up the moves himself. I'll see if I can enter, it looks mad fun. If anyone else want to do it with me I'm very interested. I am currently taking algorithm and artificial intellegence and I'm a pretty good problem solver. Hit me up, we should form a TL team and rape those UC santa cruz fools Hey the pacman thing is pretty cool O_O Quote from slashdot: "Instead of an AI that can win at Starcraft, maybe they ought to try to build an AI that can finish Starcraft 2. Apparently, that's a much greater challenge."
You could probably get away with watching a few key games, and reading liquipedia. Although I don't think that would help you very much in defending 4-9 pools.
edit: you get perfect macro, decent micro, and you might be able to use scv stacking (to defend against 4 pools). Mines vs goons don't matter, zeals vs vults don't matter in earlygame (vults win with perfect micro), and then you should be able to have vults meatshield for tanks. I'm not sure how you would deal with mineral blocks, without sending out units scouting basically randomly. Especially 0 mineral blocks, 16 mineral blocks, or neutral building blocks. Medusa and, more notably, monty hall could be very difficult. Also, Sin peaks/other maps with differential pathing could be fairly difficult. The saving grace would be that the other ai would have a lot of trouble as well.
|
This problem is so much harder than a lot of you are giving credit for. In fact the more I think about it, the more I'm convinced that an AI developed by anything less than a full-time development team of really good players would have any semblance of a chance against a top human player.
StarCraft is such a bad game to try to develop an AI for in the sense that there's just way too much knowledge required to play the game. Add to it the element of scouting and fog of war just makes the game unbelievably difficult for AI to play.
On November 13 2009 17:51 Bill307 wrote:Fascinating. The level of control offered by BWAPI sounds promising (assuming it offers the same level of unit control as a human player will have). I can guarantee that in the complete-game competition, 99% to 100% of ones time will be spent making an AI that can survive, if not win in, the first few minutes of the game. If you're not confident in your AI's ability to survive the opening of the game, then any time you spend on its abilities beyond that is a waste of time. The first step in making a winning AI will be to either: a) execute a well-timed, well-microed 4-pool, or b) defend against such a 4-pool with good micro. If you can't do one of these, then you might as well not bother entering (unless you assume all the other entrants will similarly incapable  ). 4 pool alone isn't trivial, but multiply this by 100 and you get about how hard SC is to play at the D+/C- level.
However, I could imagine there being really good AI's for specific tasks, such as microing small number of units that could play out certain situations almost perfectly. (Stage 1)
If you really wanted to make a strong AI for a game, it would make a lot more sense to pick a different genre such as turn-based strategy (Civ), fighting games (SF4), or even first-person shooters (HL).
|
|
|
|
|
|