OOTH, altering the source to remove any human dexterity limits and watching subsequent AI vs AI battles play out at 60fps would be really fun to spectate ;)
For SC1 BW, you can already watch https://www.youtube.com/user/certicky for a weekly highlights broadcast / commentary of AIs. Right now there is an AI arms race where the previously dominant AI (Iron Bot) is being beaten by challengers. It used to happen when Iron Bot did something silly. Now it is happening because the competitors have really stepped up their game.
The current board leader (krasi0) has a strategy similar to their predecessor (Terran Mechanical units: Tanks, Goliaths and Vultures). The alternative strategy I really enjoy watching is a Mutalisk heavy build by Arrakhammer.
The bots have styles and differing capabilities. tscmoo is one of the more fascinating ones to watch in this regard, as they mix it up better than anyone else (and tscmoop, the Protoss variation has the best High Templar storm going).
The AI APMs get into the 10k ranges at times. Watching the minimap can be like watching insects swarm.
While these AIs can pull off tactics a human player could not (what they can do with Vultures is incredible), at this point they wouldn't be able to compete with the professionals. Going back to an earlier example, I think I could use High Templars more effectively than any AI I've watched.
This surprises me - I would have expected the computer mechanics to be much better than what a human can achieve. Do you have insight into why that isn't true?
I'm trying to come up with a simple and satisfying explanation, but the best I can do is "Starcraft is a complex game of balancing your ability to attack and defend. AIs have difficulty with situational awareness."
But I think that case analysis of what I've observed may be more telling.
Case 1, The AIs tend to over-react, or under-react. For example, when a Zerg player sees flying units they may start to go scourge heavy. If a human player notices this, they may build a Wraith or two, causing the Zerg player to waste a lot of money. This can happen naturally between AIs as well. Terrans depleting the Command Center's invisibility sweep too soon is another one... Something is getting hurt, but you may want to wait until after the Tanks are in siege mode before attacking (not while they are converting).
Case 2, Lack of Memory. This one happens a lot. You'll see an AI do something bad. Then, in a situation where circumstances obviously wouldn't have improved, try again a few seconds later. I'd want to blame the fog of war, but futile attacks on static towers is a common example.
Case 3, Fight or Flight. Sometimes you'll see units fleeing from a battle they cannot win. Sounds good. But sometimes they are being pursued by units that can pick them off during retreat. And they aren't fleeing for more support, they are just avoiding a bad situation. When in reality, those units are dead no matter what, might as well try to take down an enemy unit or two. The inverse can happen too, where units stand and fight in a situation they could run away from and get reinforcements. I've heard predicting combat outcomes is really difficult in SC.
Case 4, Under utilization. Vultures are the unit that stands out in my mind as one that an AI can handle better than a human. They are fast, have a great punch, and can deploy mines really effectively (some bots mine much of the map). What was a harassment unit becomes an offensive unit that can hold its own in a "fire/flee/repeat" pattern (imagine having 5 of them do that in the same area). High Templar are the opposite. I tend to expect AIs to do poorly when storming, it is currently a highlight/joy to see them utilize the ability effectively. But the ability is meant to discourage enemies from grouping units too closely together. Which allows for Carriers and Mutas to do a lot more coupling / damage than they would be able to otherwise do. Under current circumstances, it would be possible to see a dozen or more Mutas being crippled in a single storm. I rarely see nukes/Ghosts or Defilers used. Queens also seem to be under utilized.
Case 5, Target Prioritization. When you see a Carrier, kill it rather than the Interceptors. When you see a Medic or two, kill them before the Marines. Same with SCVs repairing in some cases (with sufficient firepower, the unit will be dead faster than it can be healed). One AI loves Carriers, and part of the reason their strategy works is that a lot of units go after Interceptors rather than Carriers, allowing the Carriers to retreat (the AI judges when to do this well) and rebuild.
It isn't that AIs can't play at a professional level, but this represents the current level of the bots. Looking over it... The AIs can pull off things we can't, but professional level situational awareness / judgement is tough.
IMO there should also be a precision limit. The timing of actions should include human-typical jitter and the wrong action should sometimes be activated to simulate misclicks/fat-finger keypresses — e.g., messing up a control group by assinging a unit to the wrong number key. The bot must also not be able to act faster than human reaction times (~250ms), this could be enforced by adding a fixed delay to the observations.
I wouldn't be surprised if human Starcraft II play isn't so much limited by decision-making as by the translation of decisions into mechanical actions, which in turn dilutes the attention devoted to actual decision making.
Yea, agreed. Specifically they should add a loss function that compares the AI's action stream against a pro human action stream, and attempt minimize that loss.
For the same reason the APM are limited: to ensure that what we are doing is really focusing on advancing strategy rather than brute mechanical skill. If I played against an AI using nothing but the rendered frames and sound of a game as input, I might not even make the stipulation on reflexes. I'd be humbled if I lost.
As it stands now, most of the games I like have bad AI. Sure, it can be fun to play a hack and slash against lots of little, dumb minions, but FPS, RTS AI these days still don't cut it as savvy opponents. Often they have inhuman perception, direct knowledge of game state, or higher starting resources, but they make abysmal decisions.
Yes, I realize these are unlikely, expensive goals and incremental progress is how things are done. I just want to know if it's possible or desirable to emulate actual human reaction time.
Do you disagree this would in principle help separate strategy from godlike reflexes?
Why not first allow the AI to have unlimited APM and beat humans, then restrict it later? Because I don't think we're even close to the easier problem.
"In what universe is taking 10,000 actions per minute an easier problem for a neural net than 100 such actions?"
StarCraft is precisely such universe. If you could micromanage units perfectly, you can do some amazing tricks. Here's an example of what I'm talking about:
https://www.youtube.com/watch?v=IKVFZ28ybQs
That's a rules engine, designed to do basically one specific thing. It was told how to micro. In that context APM is a meaningless constraint. May as well ask how many times you can print a message in a for-loop per second. yes...quite a lot, and the computer is unfazed by the workload.
This is a different type of bot we're talking about here. A neural net could not learn to work with unlimited apm more easily than limited apm. That just doesn't make sense. That's like saying it's easier to compute 1000 hashes in a second than it is to compute one hash in a second.
I'm imagining an AI war where the next advancement is the micro of the siege engines to optimise targets and timing of shots to hit large groups after the initial splash avoidance. AI on both sides keep trying to maintain a one-step-ahead strategy which minimises/maximises casualties based on predicting the exact shooting/dodging strategy of the opponents. Will be interesting to follow developments in this area!
Philosophically, I wonder if it's better to just acknowledge the differences between AI and humans, and let them play to their strengths. It seems common to think that we need to constrain AI in certain ways to be more like humans, but the constraints are always artificial. APM is one constraint, but what about working memory? What about multithreading? We already allow the AI access to computational resources humans don't have. Why draw that line at APM, exactly?
I don't think they're constraining APM to make the AI more human-like. It seems more like they're controlling a variable, so that if the AI wins, they know it wasn't just because the AI could out-click a human.
Maybe what usaphp is getting at is that the AI could still gain an advantage by doing a set of actions much faster than humanly possible in just a fraction of a second as long as it kept its total number of actions that minute below the cap.
Exactly. Most actions in idle game mode (i.e. when there's no active battle, micro or macro to be done) are null, the gamers simply repeat random meaningless keystrokes; this helps with being always alert and ready for anything that requires a rapid response.
> this helps with being always alert and ready for anything that requires a rapid response.
I always wondered why they do that, just spam meaningless things like open/close the stats window or click on the background. Some WoW PVPers did it too (like Laintime, I think it was - played a warrior and ran around spamming the character window open/closed an mashing 'weapon swap' even when there was no earthly reason to do so). I figured it was just the result of too much caffeine for 18 hours a day.
This sounds like it's more an equivalent of tennis players' dancing/hopping around, or martial artists doing their ducking/weaving thing?
A 65MPH speed limit doesn't mean I can go 100MPH for some section of the road, and 30MPH for another section and still be in compliance.
Similarly, an APM limit wouldn't directly imply that the kind of "gaming" that you're talking about, where a user/agent simply has to have an average APM over a certain period to be in compliance.
usaphp's point seems to be that the period should be less than one minute. When the police measure your speed with radar they are not waiting an hour to average your speed. The same idea applies here.
Yep, I entirely understand the point. Consider that when the police measure your speed, they're still measuring in MPH. Just because the units contains a specific time-frame (hours), doesn't mean the measurement is made over an hour.
Similarly, just because the units for APM contains a specific time-frame (minutes) doesn't mean the measurement must be made over a minute. A 150APM limit doesn't necessarily mean that the running average over a minute must stay below 150 actions any more than a 65MPH speed limit doesn't mean that the running average over an hour must stay below 65MPH. If a police officer catches you going faster than 65MPH even for a single second (or however long a radar gun takes), they can pull you over.
The units of a measurement do not dictate how the measurement is made.
APM isn't averaged over a minute time frame. I don't know the exact calculations they use ( and it has been changed a couple of times) but roughly, if you go above 5 actions per second your APM will be shown as 300.
I believe the reason they use APM over APS is because 3.4 APS isn't as meaningful as 204 APM.
Well it means the AIs could exploit it a bit by issuing hundreds of actions in the first millisecond and then waiting 59.99 seconds. I'm not sure how much of an advantage that would be though.
Watson’s hand looks like a clear, Plexiglas, cylindrical soda can with a few metal screws in the top and a wire extending from the bottom that is connected to Watson’s Front-End Controller. The mechanical hand wraps around the Jeopardy! buzzer which is inserted in the bottom of the Plexiglas cylinder and is held in place by a clamp. Watson’s hand uses a solenoid to physically press the same button that the humans must press.
Watson’s hand is pretty fast in terms of raw speed — it takes somewhere between five and ten milliseconds for Watson to activate the buzzer once it decides to answer. This delay is affected by the speed of the solenoid and other small, sometimes hard-to-pin-down delays inherent in the software stack.
Typical human response time to a stimulus is about 200ms. That of course doesn't factor in the decision time, but once the brain decides on an action it takes about 200 Ms for the signal to propagate to the relevant muscles.
Yes and no. I guess the more "fair" way to compare them at trivia would be to have a format where all 3 give an answer to every question, and whoever gets the most points wins. That's obviously not really jeopardy, and I'd be curious to know how Watson would perform purely on the trivia knowledge vs clicking speed. I'm guessing it would still win though.