Click "Sleep" for a dark background.
Click "sleep" again if text isn't dark.

 

Entries in StarCraft (15)

Saturday
Dec042010

From Unintuitive to Eureka pt.1

I'm an aspiring puzzle master. I'm a strategist, a designer, and a stickler for the language necessary to explain how the world works (especially video games). I'm constantly observing my own learning process, breaking it down, and building it anew. I learn something new everyday and relate it to everything else I've learned. Such is the core of an intuitive learning style. To quickly reiterate, something is intuitive when we can quickly relate to it with something we're already familiar with. This means that the capacity for us to intuitively understand something is limited by our knowledge base.

Video games are systems of rules with at least one goal. This fact means that every video game has at least a few complexities (rules). Some games are very simple, but most are highly complex featuring thousands of arbitrary rules. I use the word "arbitrary" because even very realistic simulations don't fully recreate life and all its intricacies. Therefore, every game is an artifice created by individual or group will. To begin learning the rules of most gaming systems, we intuitively relate the game rules with real world rules. When gaming objects fail to pass through each other or other objects fall with gravity we relate these actions to the real world.

 

Wii Sports works because people can play intuitively

Learning a game intuitively only takes us so far. Using the same learning method of babies, we switch to trial and error to learn the specifics of game rules one by one (assuming there's no outside aid). This process is generally slow, inefficient, and is mainly limited by the amount of bits one can hold in their STM. The more bits, the more variables you can be aware of when conducting trails.  

Learning all the rules of a game is usually never necessary to play, compete, or beat them. On our road to our desired level of competence, we have to wrap our minds around that which we don't understand. Some gamers simply ram their heads against a problem using trial and error to eventually come up with a solution. I prefer a much more structured approach. If mathematicians and other intelligent individuals have figure out ways of working with the "unknown," then smart players can develop ways to read their failed attempts or create formulas of optimization to find solutions more efficiently. 

In the fascinating-free-science-investigative podcast Radio Lab, the episode on Limits explores the theoretical boundaries of man's ability to think and act. In the 10 minute segment I linked to (listen now if you have time) scientist design a machine that can take data and derive mathematical formulas. This Eureka machine derived F = ma just by looking at a pendulum swing back and forth and crunching tons of data. What's really interesting is not that the machine can tell us formulas we already know and possibly learned in middle school. This machine is good a deriving formulas for things we don't understand fully. And the formulas the machine can spit out can go beyond our ability to intuitively understand them. And by "we" I also include Ph.D level scientists. When we read what the machine spits out there's no "ah ha" moment. Nothing clicks. No EUREKA!

So here's where all of this theory meets game design. The human mind is a powerful, intelligent computer, with very little RAM. Computer programs are like very simple/straightforward people with endless RAM, patience, and organizational skills. A computer can run thousands of tests, evaluate the results, and compare the data to all other results. Understanding the difference between how we and computers solve problems should give us great insight.

You might have learned that tic-tac-toe is a solvable game when you were a kid. If you play "smart" enough, you can always guarantee a draw or a win. If your opponent plays "smart" expect a draw game. For more complex games the number of games states to play through, evaluate, and compare exceed our human ability to work through. Take the game of Checkers and the project Chinook. A team of a dozen computers have been running AI programs to compute every game state possible (roughly 500 billion billion) since 1989. In 2007 all the billions of game states have been analyzed. We now know that if you have all of this data behind your strategies, you'll never lose. Only an equally equipped opponent can force the games into guaranteed ties just like tic-tac-toe. We could never reach these conclusions without the aid of computers. 

For a more modern game, take StarCraft 2. The dynamics of SC2's real time strategy gameplay make it very difficult to optimize any one build order/opening strategy. For Zerg in particular, getting out enough Roach units as quickly as possible is difficult to understand because every building you build and unit you produce consumes larva resources that would otherwise be used to build mineral (money) gathering units. Some units allow more units to be built, and everything takes time to produce. Even with this simple description, optimizing a Roach rush would be difficult. Fortunately, one smart player who programs AI for a living developed a genetic algorithm to figure out the most optimum Roach rush build order possible. 

A cool picture of a Roach unit by Mr.Jack

 The genetic algorithm is essentially a thorough, patient, and organized trial and error system that tests and evaluates thousands of possibilities without any of the learning biases that we have. To the computer, no possibility seems "pointless." To a great degree, it treats what we might think of as a "throw away idea" as legitimate until the test results prove otherwise. This is why it's great for finding solutions we overlook.

If you love math and StarCraft, then read this excellent write up of the whole project. The important take away is, despite having millions of players, thousands of high level competitors, about 1/3 of those competitors playing Zerg all cracking away at opening build orders, no one has come close to developing and popularizing the "7 Roach rush" that this computer program devised. To quote Louis Brandy, "The most interesting part of this build, however, is how counter-intuitive it is. It violates several well-known (and well-adhered-to) heuristics used by Starcraft players when creating builds." Explaining why this build is unintuitive is a major point of this article series, which I'll elaborate on in part 2. 

Part 2 coming very soon.