|
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
That's because in PacMan, you can perform something like a Game-Tree Search which can be explored to a decent depth (given a pretty good computer). Your evaluation function for a specific position (the layout of the map) is also very clear. (e.g. if you have more points, and are not guaranteed a death, that position is a high scoring position) It's hardly even feasible to do something like a Game-Tree Search for StarCraft (well, maybe for build orders, but outside of that it's unlikely). Also, even if you could perform Game Tree Search on StarCraft, writing the evaluation function for any given scenario would require D+ or higher levels of StarCraft knowledge.
|
It's actually fairly easy to imagine a good evaluation function for starcraft, that could compare economy, tech, army size, positioning, and arrive at a conclusion for who is leading. Of course, since starcrarft is not a perfect information game, how good that evaluation is depends on how well the AI is able to scout.
|
It's good to see some interest in this from TL. I am a member of the research lab running the tournament and might be able to clear up a few things. First off is that the identity of our "skilled human player" will probably not be Bisu (I'm still holding out for Jaedong j/k). Playing against a solid AI is quite a bit different than playing against a human player -- they're bad at unit position, strategic decision making, and fighting off cheese but good at macro, micro, economy management, and optimally enacting build orders. I really don't have to tell all of you good players how much changes like that will throw the metagame and predicting opponent actions. With such a change, what type of human player would you guys recommend be at the tournament?
Second is that there have only been a slim few AI systems that are not scripted players that are capable of playing a full game (too much research into small domain solutions featuring the AI technique du jour) -- RTS AI is considered by many to be a grand challenge-style problem in game AI.
Don't let the above paragraph of BS stop you from competing -- I think a team liquid bot would stand up extremely well in this competition and we would love to see one there.
Hit me up, we should form a TL team and rape those UC santa cruz fools
As confident are you are in your BW skills, we are in our AI skills. Bring it.
If any of you are UCSC students, PM me -- I always like to meet another Starcraft player. UCSC VOD night anyone?
|
Bill307
Canada9103 Posts
On November 14 2009 07:10 AssuredVacancy wrote: If anyone's interested in making a development team for this I'm totally in. Spent 5 hours yesterday trying to make probes have perfect hit and run micro. How did it turn out?
|
On November 15 2009 05:39 Bill307 wrote:Show nested quote +On November 14 2009 07:10 AssuredVacancy wrote: If anyone's interested in making a development team for this I'm totally in. Spent 5 hours yesterday trying to make probes have perfect hit and run micro. How did it turn out?
Well I manage to do a couple hit and runs until the probe hits a geyser/other none walkable terrain and get stuck, or it gets surrounded by the scvs and gets stuck.
Basically what I did was just loop through all their workers, keep track of their positions, find the closest one, and order attack that one. When the distance between it and the attacking unit I tell it to click directly behind it, then immediately click back on the scv, and repeat. When it can't click behind it(unwalkable terrain), I tell the probe to walk to the tile directly to the left to it instead.
It's very crude ai, but you have no idea the joy i got after i saw my probe walk up to the scv, zapped him and immediately glided out of range of the scv.
|
|
|
Lol usually it gets the scv to like 30 hp before getting stuck on a wall/trapped by other scvs. But I was playing on destination and the 'platform' is fairly small, I think it'll be quite fun to program the microing competition.
|
On November 15 2009 08:49 AssuredVacancy wrote: Lol usually it gets the scv to like 30 hp before getting stuck on a wall/trapped by other scvs. But I was playing on destination and the 'platform' is fairly small, I think it'll be quite fun to program the microing competition.
lol mad points to you. thats awesome.
the best way to win this is program a toss ai thats specifically programmed to fuck up other ais. go in manner pylon, gas steal, build gateways in their min lines, make zealots, etc. coupled with perfect probe micro it would be pretty damn hard to stop. It would require alot of extra code just to fend this off, in addition to dealing with the non-gay ais lol.
|
this has the possibility to be absolutely hilarious, especially with offensive hatcheries and pylon hearts programmed when the comp is x ahead in food count or bases
|
On November 15 2009 04:12 Solemnis wrote:It's good to see some interest in this from TL. I am a member of the research lab running the tournament and might be able to clear up a few things. First off is that the identity of our "skilled human player" will probably not be Bisu (I'm still holding out for Jaedong j/k). Playing against a solid AI is quite a bit different than playing against a human player -- they're bad at unit position, strategic decision making, and fighting off cheese but good at macro, micro, economy management, and optimally enacting build orders. I really don't have to tell all of you good players how much changes like that will throw the metagame and predicting opponent actions. With such a change, what type of human player would you guys recommend be at the tournament? Second is that there have only been a slim few AI systems that are not scripted players that are capable of playing a full game (too much research into small domain solutions featuring the AI technique du jour) -- RTS AI is considered by many to be a grand challenge-style problem in game AI. Don't let the above paragraph of BS stop you from competing -- I think a team liquid bot would stand up extremely well in this competition and we would love to see one there. As confident are you are in your BW skills, we are in our AI skills. Bring it. If any of you are UCSC students, PM me -- I always like to meet another Starcraft player. UCSC VOD night anyone? How are you going to prevent stalemates (both sides refusing to attack), especially in the tactical games?
Also, given how hard this whole thing is, I think the tech limited match might be better on a completely flat, featureless map (except for expansions perhaps). The current one, although relatively tractable in the strategic sense because of its linearity, might be hard to get working in the basic sense of not getting stuck on terrain.
Thanks for making this contest though, it's just what I've wanted to see for a while, lots of potential for interesting results.
|
Also I'm going to repost something I posted back in September when this idea was considered (at the time there was no API powerful enough to actually do it). My idea is more for a full-game playing type bot that doesn't just all-in rush or cheese and would probably be too hard for one person to implement for this competition (if I enter I'll probably stick to the tactics ones), but it was something I found interesting to consider:
"It would be computationally intractable for a SC AI to grind out the decision tree across the whole board Chess-AI style. It might be able to work by having multiple levels/threads of thought - one that considers framewise individual unit micro just in the areas immediately around battles, then [another level that] considers army movement with the "pieces" being groups of units and the "moves" being relatively large movements over several seconds, then [another level that] considers expansions and teching with "move" lengths of a minute or so. Each level would have its own evaluation function (which would take a lot of effort to refine, and probably be the most crucial aspect).
There would also need to be a lot of hand-tweaking/scripting, extensive opening book, etc."
|
i wonder how the ai will be programmed to take out the empty mineral patches on destination and hbr and when. On entropy AI, the zerg will just take his 3rd in the middle -_-
good thing medusa isn't in the map pool because the AI has trouble making it to the main of 6 if they spawned at 3. They just stop at the temples 
|
Bill307
Canada9103 Posts
On November 15 2009 09:44 gravity wrote: How are you going to prevent stalemates (both sides refusing to attack), especially in the tactical games? Good question.
One could decide the winner of a draw via coin-flip, since arguably the AI makers could avoid 100% refusal to attack if they want to avoid losing due to a coin-flip. But I can see situations in SC (sieged tanks, burrowed lurkers, etc.) where the defender's advantage makes defending and drawing the best strategy: better to have a 50% chance of losing than a ~100% chance.
A far better solution would be to use a tournament format that can accomodate draws.
Why not use a swiss-style tournament or a round-robin? It's not like the # of games needs to be kept low via an elimination bracket: it's just AIs competing, after all.
|
Any RTS games that have a notably good AI? And how do they work.
|
Bill307
Canada9103 Posts
On November 15 2009 08:49 AssuredVacancy wrote: Lol usually it gets the scv to like 30 hp before getting stuck on a wall/trapped by other scvs. But I was playing on destination and the 'platform' is fairly small, I think it'll be quite fun to program the microing competition. Hmmm how easy is it to use BWAPI's map information to avoid backing into an obstacle?
This would probably end up as a general function to have a unit move into more open space if it gets too close to an edge while doing hit-and-run micro.
In any case, any TLnet team will definitely have you on it, imo. Programmers with free time to do extra programming are hard to come by.
|
Bill307
Canada9103 Posts
On November 15 2009 13:01 JohannesH wrote: Any RTS games that have a notably good AI? And how do they work. Afaik, the only "good" RTS AIs are the ones that cheat enough to make them hard to beat.
Hopefully by the end of the competition, this will change.
|
United States43203 Posts
On November 15 2009 13:06 Bill307 wrote:Show nested quote +On November 15 2009 13:01 JohannesH wrote: Any RTS games that have a notably good AI? And how do they work. Afaik, the only "good" RTS AIs are the ones that cheat enough to make them hard to beat. Hopefully by the end of the competition, this will change.  Ambitious lol. But yeah, that'd be awesome.
|
On November 15 2009 13:02 Bill307 wrote:Show nested quote +On November 15 2009 08:49 AssuredVacancy wrote: Lol usually it gets the scv to like 30 hp before getting stuck on a wall/trapped by other scvs. But I was playing on destination and the 'platform' is fairly small, I think it'll be quite fun to program the microing competition. Hmmm how easy is it to use BWAPI's map information to avoid backing into an obstacle? This would probably end up as a general function to have a unit move into more open space if it gets too close to an edge while doing hit-and-run micro. In any case, any TLnet team will definitely have you on it, imo.  Programmers with free time to do extra programming are hard to come by.
The API is very powerful, You can basically check EVERYSINGLE tile on the map about it's properties. I would say that any information that is known to a human player can be gotten from the API, and some more.
|
Sounds like a great contest. I'd be happy to contribute some code/testing depending on the language and tournament type (Tournament 3 looks like the best balance of effort vs. usefulness imo).
|
Germany2896 Posts
A small tip: On LAN Latency which they seem to use for this competition SC only accepts commands every second frame. So I'd do the calculations for time-insensitive stuff(macro) on the frame where it doesn't accept commands, and the time sensitive stuff(Micro) in the frame where it does. This reduces the Latency by one frame.
|
|
|
|
|
|