Monday, September 13, 2010

Computers are bad

Well, it isn't so much that computers are bad as computer AIs are bad at games.  I have been mixing it up lately, playing some Starcraft 2 against humans and some against computers and I still find it shocking just how terrible the computers can be despite their superhuman ability to control everything at once.  As an example, there is an achievement to fight 4 Very Hard computers at once by yourself and win.  I normally test random ideas and strategies against 1 Very Hard computer so 4 at the same time would seem to be completely suicidal.  The problem is that although I can see a way to turtle up and defend my starting base I can't see how it would be possible to actually push out and capture enough extra bases and territory to defeat the computers.  I was considering this problem from the perspective of player vs. player combat though where players would actually look at the screen and draw obvious conclusions instead of just following a simple script.

The trick of course is figuring out where the AI has big holes in its strategies.  For example, computers are reasonable at finding and attacking extra bases I make around the map.  They see them with a scout and send their big army over to smash them.  To counter this I select a map with bases on islands and start new expansions on the islands instead of in normal places.  The computers figure out those bases are there but they aren't bright enough to build some flying units and go *smash* me, instead they just build more and more units in their ground army and continue to walk into my impregnable defenses at my main base.

The computers also never learn from past mistakes in a game and just stick to the plan.  The first time a person ran an absolutely enormous force into my siege tanks and get ground into hamburger they would decide to try something different next time - maybe use flying units, or maybe just sit outside my base with their completely monstrous army and wait for me to make the first move.  The computers can't make those strategy choices though - they get their big army together and their algorithm says attack, so another immense force gets to eat hot tungsten and die.  (Starcraft 2 tells me that siege tanks scatter tungsten around when their projectiles explode.  Why tungsten, I don't know.)

I figure the most interesting thing is how the strategies and decisions are shifted away from the battle and into the game creation.  I can't win against certain challenges on most maps - I spent a while figuring out exactly which map was best to allow me to beat these sorts of achievements.  I also had to figure out unit placement, unit mix and costing to sort out exactly how many bases the map would let me safely take so I could be sure to have enough money to actually be able to win at some point and not just survive.  Once I figured out the exact strategy I would employ and had a map that was ideal for exploiting the AIs weaknesses the actual play was very easy, which is precisely the opposite of a player vs. player match where the interesting stuff is all in responding to what the player does to respond to you.  I guess the real change though is that now that I have beaten 4 Very Hard AIs at once and 2 Insane!!!! AIs at once I can do it again any time I want to, but I know for damn sure just because I beat a player once that I can't do that again with regularity.

12 comments:

  1. Interesting that we took two very different paths to beating 4 Very Hards, but they were basically the same at their core. I also chose a map to exploit. I played on one of the 4v4 maps with 4 sets of 2 bases, each set having only one choke point. I expanded to the other base behind my choke and walled off with a large number of cannons and then built exclusively void rays. I also forced all my opponents to be zerg since zerglings and roaches are both terrible against cannons and void rays. Sometimes they built hydras but by then I had enough void rays to handle the few they built.

    By the time I ended up attacking out I had so many void rays they couldn't charge up, even on hatcheries. Turns out even uncharged void rays are good enough to kill everything when you have enough of them.

    ReplyDelete
  2. I tried that exact strategy on the Tempest map and failed. The enemies just attacked with an unbelievable wall of roaches, zerglings and hydras and walked over a cannon wall 5 deep. When I tried with tanks instead it was drastically better. I wonder why the efficacy of my protoss strategy was worse than yours?

    ReplyDelete
  3. I'd lose almost all my cannons (or all of them) to the first wave, but my first void ray would come out just in time to kill off the stragglers before they could kill too many of my workers. The first wave tended to be devoid of hydras, so one void ray was enough to mop everything up. Then it was just a matter of rebuilding my cannons and massing enough void rays to be able to leave enough on d while attacking.

    If you were a little slower about ramping to void rays or ramped to any other unit I don't think you'd have been able to pull it off. The cannons were more of a delaying tactic than the real meat of the defense. Good cliff positioning on them so more of them could attack without getting hit by the roaches was important too.

    ReplyDelete
  4. Did you do it on Tempest, Ziggyny? You say you used two bases... maybe you were on a map with a narrower choke?

    ReplyDelete
  5. I have no way of checking from work. I'll look it up when I get home, but it was a map with 1 very small choke leading to 2 bases.

    ReplyDelete
  6. Personally, I think it is poor game design when an in game achievement or reward is attainable only through significant meta gaming. The decisions you make before you even start the match are an enormous factor in your success in these types of missions, which is just, in my mind, poor game design.

    ReplyDelete
  7. I donno about that... If it was easy to do on any map with any plan then it wouldn't be very challenging or interesting.

    All achievements do is give you a bigger number and possibly a different avatar picture. Me having 5000 more achievement points than you gives me no advantage at all against you in an actual match. I like that there are achievements that are easy to get and ones that involve jumping through a lot of hoops. They add replayability without hurting game balance at all.

    ReplyDelete
  8. I managed to beat 4 Insane!!! computers today. It required a specific map and strategy and a game time of 1 hour 45 minutes but it seems very repeatable, though certainly not easy. I could not beat protoss due to certain extremely difficult mechanics (primarily high templar) and I could not beat zerg due to crazy lag they generate if left by themselves too long but 4 Insane!!! terrans died.

    ReplyDelete
  9. Now you just have to go back and defeat 2 Insane computers for the achievement!

    ReplyDelete
  10. Heh, I did all the 'Beat the Insane AI' achievements except the ones that just require me to do easy things over and over already. I only went after 4 at a time once all the achievement challenges were done.

    Zerg should be no problem to beat with my strategy if I modify it a bit, though the crazy buggy 1 fps lag would make it take hours and hours. I do wonder if I could find a way to beat protoss with enough practice.

    ReplyDelete