Entries Tagged as 'Game Ideas'

The Shifting Revel

Aside from my Achievement addiction, I have a profound love of Magic: The Gathering.  Over the years I have abandoned the game, stayed away for several years, and then come back to it, each time harder than before.  The last time I seriously got into playing Magic was during the Odyssey block, back in 2001.  I played reasonably seriously, going to tournaments occasionally and spending hundreds of dollars on pieces of cardboard.  Just before I began University, I gave up the game, and I haven’t played it since.  Most of my friends at the time sold their collections and bailed out for good, perhaps keeping a couple of really well built decks for posterity.

Last week, a bunch of us got together and decided to do a booster draft - a game where everyone buys three $4.00 packs of 15 cards, and the cards are cycled around in a systematic way so that it’s possible to build a functional (although not very good) deck with a small investment, and play using only those cards.  This has had much the same effect as a bunch of coke addicts deciding to do a line for old time’s sake.  The game is so addictive that with that one brief exposure, most of us are considering getting back into the game, and building real decks once again.

Scott Lynch, in his extremely excellent The Lies of Locke Lamora describes a scene he calls The Shifting Revel.  In order to defray tempers and choke off any uprising before it can gain traction, the Duke of Camor underwrites a giant festival which takes place at regular intervals in the local bay.  It’s called the shifting revel because the festival takes place in the form of hundreds of boats - those of the attendees and local merchants - who lash themselves together in the bay.  The attendance changes from revel to revel, as does the specifics of the entertainment - but there are always keystone features which remain the same and give the revel a grounding.

Magic is a Shifting Revel, and I think this is one of the reasons it’s both so addictive, and that it’s remained so popular over the years when nearly every other collectible card game has sputtered and failed.  There is no specific strategy in Magic that is predominant - there are several major strategies, none of which is better than any other in general.  The game is simple enough that the basics can be grasped in ten minutes, but complex enough that the building of a good deck requires knowledge of statistics.  There are endless combinations of cards that can put together to make a deck, and no two players will use even the same deck in exactly the same way.  The game is very well balanced, but this isn’t what makes it a shifting revel.

Most people who play magic at the tournament level play with what is referred to as “Standard Edition” rules.  Essentially standard play limits the cards you’re allowed to use to the two most recently released blocks of cards, each block containing three sets.  New sets are introduced every roughly 2 to 3 months.  The effect this has on gameplay is profound.  With any given set of cards, in a matter of weeks, tournament play solidifies around several ‘types’ of decks, based around the cards that are legal in the last two blocks.  Each type of deck will revolve around a particular strategy for winning and involve several major strategic cards from these blocks.

The trick is that every time a new block is begun, an old block of cards will no longer be legal in standard tournaments.   This typically has the effect of crippling all deck ‘types’ that are currently used in tournaments - and the scene shifts.  New deck types emerge as players explore the possible combinations of cards from what is left, along with the new cards being slowly filtered in every two months as the new sets emerge - in fact, as each of the new sets in the block emerge, new possibilities emerge as well.  These possibilities are not as severe as the shakeup when a block rotates out of use, but are enough that a fury of new deck styles must be explored.

The business potential of this strategy is huge.  Games are fundamentally about exploring a possibility space, and when that space has been explored to its limit, the game ceases to be interesting.  In Magic this possibility space is expanded at a rate that gives people time to master the space, but not long enough that it becomes uninteresting, and then is grown.  On a yearly basis (or so) the entire space is turned upside down, things you used to know no longer apply, and there are new details to take into account.  This is a shifting revel, and it allows the old to become new again, and again and again.

This is much to the profit of Wizards of the Coast, who have managed to create a game so popular that many pieces of cardboard sell for 500% of the price of a booster pack in the secondary market - some particularly useful cards can go for many times that.  That’s a lot of money for a card that won’t be legal in standard play two years from now.  The thing I find particularly interesting about this is that it hasn’t been done in online play (other than in the online version of MTG of course) for any other game that I know of.

Digital Distribution systems provide a very smooth way of rolling this out.  Any game that contained the addictive hooks of MTG and based around shifting revel - potentially fueled by micro-transactions - that rotated on appropriate basis in line with the exploration curve of the possibility space…  Well my friend, that would a license to print money.  Systems like Xbox Live provide even further hooks such as Achievements (Imagine getting badges for beating someone using only direct damage, by milling their library to depletion, by using only creatures, for using a particular combination of cards, etc.), and if it was done well, might even outstrip the fanfare that Wizards of the Coast has been raking in for nearly the past two decades.  This would allow for a game that is not only highly addictive, but extremely interesting ludologically as well.  In any given year, MTG is recognizable enough as MTG - there are certain rules that never change - but the dynamics of the gameplay are totally different, if you’re willing to pay the price to keep up.  There are very few games that evolve so organically over such a long period of time, and I think it’s time we had another one.

Nothing is true, everything is permitted

I finished playing Assassin’s Creed last night at about 4 am, and I feel decidedly lukewarm about the whole thing.

Marketing

I’ve been waiting for this game for what seems like forever. From the first moment I saw the game, I thought to myself that this was going to be a game that was truely groundbreaking. Taking the lessons Ubisoft learned with Splinter Cell and spinning them off into some wild combination of Hitman and Prince of Persia. You know the feeling you get when you see a commercial for a comedy, and it’s really funny, but when you go to watch the movie, you find out that every single funny moment in the movie was in the commercial, thus making the movie not only rarely good to begin with, but now even those moments are ruined for you?

Ubisoft could have done that, but they didn’t. Superb marketing, Grape job. Big A+ Sticker

Parkour

The whole Parkour thing is awesome. The sandbox thing was very appropriate for this game and the sheer ability to climb up nearly everything was done in an exemplary fashion. Unlike say, Spiderman, who can climb up pretty much any surface, Altair needs handholds - but can make handholds out of pretty much anything. What this means is that when he’s climbing, he’s climbing the way a real human climbs. The walls aren’t just a big sheet of chain-link fence that game be translated across. I can’t imagine how much time they must of spent on this, but it’s really, really awesome, and I don’t think I’m going to be able to deal with stealth games that don’t allow you to do this ever again. The freerunning is also awesome, and it’s a lot of fun to try to lose guards chasing you by doing your thing. The weird part about this is that it doesn’t seem to just be your thing… guards in full armor are almost as manuverable as you are. This kind of takes the wind out of my sails as a bad-ass assassin, but cool nonetheless. The major complaint I would have with the freerunning is the controls. When you’re trying to jump towards a pole, if the direction you’re aiming with an analog stick is more than about 5 degrees off, Altair decides that what you really wanted to do was jump four stories down to the ground. The section of the game in the docks is especially annoying due to this problem, as instead of nearly killing yourself from a four storey drop, you land in the water 2 feet below you and drown. What kind of asshole can scale massive buildings, is a Parkour master, and can’t fucking swim?

Social Stealth

I was really excited about this idea. The idea that you’re hidden when you’re doing things that are socially acceptable is really neat, I just would have liked to see it explored more. There are exactly four ways to hide from the guards - You can hide in these weird little huts that are on the roof and stand out like an eyesore (how do the guards not poke their head in?). You can hide in a pile of hay. You can sit down on a bench and blend in with other people, or you can fall in with some wander scholars. Now, I would note that only two of the above are actually social stealth conditions. The other two are real, I’m hiding somewhere you can’t see me conditions. Scholars appear so rarely and benches hard to pick out that I almost always ended up in a pile of hay or the hut anyway. To make any significant distance (because the cities are massive, you have to freerun like a mofo. While people comment about this, it doesn’t seem to actually bother anyone - other than the guards I inevitably end up throwing off the roof. You’re either sword out in the streets, or just walking along doing nothing in particular. I suppose when Ubisoft said they were doing this big social stealth thing I expected it to be a little more elaborate.

Fighting and AI

Some of the reviews for this game make complaints about the AI. If that’s your opinion… wow, you’re retarded. In my view, the AI is very REALISTIC, which is kind of the whole point of AI in the first place. Yeah, the guards on the roofs don’t immediately kill you for being on the roof. You know those ladders that are everywhere, that would indicate to me that theoretically citizens can get up here too. Ever been in a building at night when you’re not supposed to be there? Does the security guard draw and open fire the second he sees you?

Let’s look at some examples of good AI. Contrary to what you might think, climbing up the side of a building onto a rooftop rarely buys you an escape right away from the guards. Because they follow you up the side of the building. If it’s too hard for them, they’ve usually found another route anyway, so you’re still not out of the woods. If you get somewhere they really can’t get to, they start throwing rocks at you to knock you down.

The fighting system is awesome. Unlike many games which are a huge festival of hack and slash, Altair fights the way a skilled swordsman should fight when outnumbered. Likewise the enemies don’t swing at you all at once, but look for opportunities to break your guard. The sheer number of animations (all of which are beautiful) are astounding.

Now the problem with this is that it’s way, way too easy. Altair can take a ridiculous number of hits, while each soldier, even the ones who are generally on a similar level to Altair are getting their throats slashed and stomachs impaled. In an earlier preview of the game it was indicated that Altair was not supposed to be a tank who could take lots of damage. These fights are in fact easy enough that it’s generally simpler to kill all the guards after you instead of run and hide from them.

This is a bad design decision. The two main pillars for this game are social stealth and freerunning. The latter is usually a means to break the line of sight with your persuers so you can do the former. Allowing Altair to get into massive brawls in which he sweeps the floor is completely at odds with this model.

Story

I’m not even going to discuss it, other than to say it’s terrific, one of the most intricate and crafted plots seen in a video game yet. My only real gripe is that Altair starts the game as an arrogant jerk, and as he progresses becomes more and more wise and lucid… by killing people?  Nevertheless, they’ve got some cool order-vs-chaos-nothing-is-black-or-white stuff going on, so points for that.

Overall Gameplay

Okay, I’ve sung my praises. I had to make myself finish this game, and I largely did so because Penny-Arcade told me I had to. This game had so much potential, and the things they did right were really innovative and well polished. Unfortunately, the rest of the game is just paste around these mechanics. Here is an outline of how the entire game will go:

  1. Get mission from boss, go to appropriate city
  2. Find Assassin’s Bureau, go talk to dude in there.
  3. Spend the next 45 minutes climbing up to the top of the 12 or so towers in area, some of which seem to be replicas of each other
  4. Spend the next 45 minutes doing exciting investigation activities such as “Sitting on a bench and targeting that guy”, “Walking behind someone and pushing a button”, or the classic favorite “Finding 20 flags in 3 minutes”. What is up with that, why do these assassin’s keep losing their flags all over hell’s half acre and requiring that they be cleaned up in less than 3 minutes?
  5. Find every single citizen being mugged and save them. They will utter one of 3 or 4 lines of dialog. There are somewhere between 6 and 15 of these guys in every mission.
  6. Go back to the Assassin’s Bureau, get authorization to kill
  7. Wander over to your target, listen to him talk for a while, use ’social stealth’ (read: scholars) to get near him and shove a knife in his back
  8. Run away, or just kill every guard you see

The information you obtain in the investigations is rarely useful, and extremely tedious. You’ll be bored of doing it before the end of the first mission. Tidbits like “Hey, there’s some scholars nearby that you can probably use to get close” are really inane. What’s really disappointing though is that there’s very little differentiation between the scenarios for killing the target. One has to make the comparison to Hitman at this point. In Hitman, every single kill is a unique experience, the whole level exists to provide many different ways to execute the hit, some of which are better than others. In Assassin’s Creed, you basically just have to run up and kill the guy (since you’re going to alert the guards anyway), and the ’stealthy’ solution is almost always hiding with some scholars to get close and then kill him, and otherwise involves jumping down off a wall behind the guy.

Overall I’m disappointed with the title. Ubisoft clearly made some very costly investments into getting the engine for the fighting and parkour down well. This game was not really a safe bet, they’re doing some new and unique things here. I feel bad that they did take a unique take at the stealth action genre but completely fouled up the execution on the gameplay part of things. And really the crux of it is that it’s a game, and the gameplay should be more important than anything else. Everything but the gameplay experience is absolutely top knotch in Assassin’s Creed, and perhaps for the second one they can take the engine they’ve built and build an assassination experience that is not a tedious chore. Major points for unique ways of killing or approaching each individual target.

Unreliable Narrators

I love a good plot twist.  Unfortunately, most of the plot twists used incessantly in media today are not what one would call good.

The best plot twist is one that is implemented by leaving dangling threads in the plot and tying them into the twist later on.  The condition on this is that if the reader/player/viewer can guess the plot twist in advance – or is even aware that a plot twist exists – it can substantially dampen the plot experience.  The fun in the plot twist is in having all your assumptions shaken apart, being completely blind-sided.  If the individual suspects foul, they will begin concentrating on trying to detect the problem instead of experiencing your work.  Additionally, the twist needs to make sense and provide an eventual resolution to the plot.  This is where many ongoing TV shows fail – plot twists should exist by providing a plausible and coherent chain events that change in perspective because of new knowledge imparted to the audience.  Well designed twists occur by torquing the perspective of the audience, not the events of the plot.  This is where shows like LOST fail.  It’s difficult to construct an elaborate plot and continually shift the perspective of the viewer around in a way that provides a coherent narrative the entire time.  While it’s fine to answer questions with more questions, and some point you need to indicate to your audience that you know where you’re going with this and that it will all be resolved eventually.  Heroes does a much better job at this by keeping the arcs manageable – and writing out the entire outline ahead of time.

There is a powerful technique for creating an effective plot twist called “Unreliable narration”.  While it has been in use in books and film for decades, it has made very little traction in the realm of video games.  The underlying premise of the technique is that the player assumes what the narrator is telling him to be true and correct.  At some point in the plot, you can force the twist in plot perspective by revealing that the narrator (who is often the protagonist) has not been giving an accurate depiction of events, for whatever reason.  I can think of only three games that have used the technique in this way (one of which is the metal gear solid series, which is so convoluted I’ll avoid it entirely).  Out of respect for people who may not have played these games, if you want to avoid spoilers you’ll stop reading here.  The first game is Final Fantasy VII, one of the most successful RPGs of all time.  Cloud Strife appears initially as former member of an elite group of military called SOLDIER.  Much of the plot in the first half of the game contains flashbacks to Cloud’s past, but these stories are dotted with memory gaps that make the story inconsistent.  Later in the game Cloud regains his memory and much of the earlier story is shown to be false.  A second and more recent example would by Bioshock.  In an extremely brilliant move by Ken Levine’s team, the narrator, a gentleman named Atlas who guides the character through the first two thirds of the game is shown to be using mind control on the player based on the keyword “Would you kindly”.  The reason it’s clever is because the player has to perform these actions to progress in the game anyway, and the keyword is very well masked in the dialog.  The ‘big reveal’ in the middle of the game shows that many of the events leading up to that point, comments left in audio diaries and such, completely turn about the assumptions the player has made about himself up to that point.  Atlas is shown to be con-artist who has been using the player via the above mechanism for his own ends.  In true con-artist fashion, Atlas uses social engineering techniques to establish a bond with the player, thus allowing the delivery of foreshadowing while at the same time minimizing the likelihood that he will be suspected as being an unreliable narrator.

If anything is clear from the above assessment, it should be that writing an unreliable narrator well is extremely difficult.  Even in literature, it’s not a technique that is well-executed often.  Nevertheless, some of my favorite movies use this technique to great effect – The Usual Suspects, Lucky Number Slevin, and Memento.  I’d like a more coherant breakdown of the tools for making effective use of the technique, and to see those tools used to improve the generally dismal state of Videogame plots.  Suprises are cool.

As a more wonky alternative, I think it would be interesting to play a game where the player was made aware that the avatar was actively lying to them and had to work around it as an obstacle by forcing them into logical contradictions or social situations where the truth would come out.  There’s a mechanic, would it be possible to build a game around that?

Tarot

When most people think of SPORE, they think of the character builder.  This is something which instantly jumps to mind, putting the power of Maya in the hands of the multitudes.  When I think of SPORE (and I suspect anyone who works in the industry), I think of procedural interaction.  There is some concern that many of the best and brightest new talent are being pulled into the vortex of Will Wright’s project, and that they will remain forever guarded within the boundaries of EA, shackled to a project which will be ultimately anti-climatic from a sales perspective.  I must admit, considering the continual delays SPORE has being enduring, much of the excitement it once evoked has somewhat worn away.

What I would like to see is the tools that make the procedural interaction of player-generated content possible be made available to the public, although I know coming from EA this is probably a pipe-dream.  Perhaps if sales are not what they would like them to be, EA would at least consider licensing the technology out.  To me, SPORE is a tech-demo (an impressive one) of that technology, and I think they’ve done a disservice to themselves by announcing it so far before it was released (and giving away much of the structure of the gameplay as well).  I feel like I’ve seen the game played in demos so many times now that it’s not fresh and exciting.  What I do think is exciting is the possibilities for the technology if it ever gets out into the world.

I’ve been playing the wonderful GROW series of games by Japanese Game Designer ON.  In these Flash-based games, the player chooses from a list of items (shapes, objects, elements) and places them into a world.  The longer each item exists on the world (in terms of turns), the more that item will grow.  The trick is that elements also interact with each other, sometimes in a positive, and sometimes in a negative way.  The purpose of the game is to place the items in such an order that they all grow to their maximum potential.  What is interesting about it is that significantly different things may occur to a given item depending on the presence and state of other objects at any given time.  While GROW is, I’m relatively sure, scripted with case statements, I wonder about the possibilities for the procedural technology behind SPORE if mixed up with Mr. ON.

Which brings me to an idea I tentatively refer to as Tarot.  Tarot Cards have long enchanted me (from a symbolic, not divinitory standpoint).  I suspect the presence of such items as Tarot cards, tea leaf reading, the I Ching, etc. in nearly every culture since the dawn of time speaks to a certain presence of the desire for symbolic interpretation in humanity.  This suggests to me that the symbols present in these mediums represent what Daniel Dennett would refer to as a “Good Trick”, although I’m not sure I understand exactly what the trick is.  What I do understand, however, is that Good Tricks can be exploited if you know how to hook into them.  Games are a fundamental part of the human condition for this precise reason, as they exploit evolutionary responses which have become prevelant everywhere in our species.

Tarot Cards are a method by which some game designers create free-association in order to generate story.  What Tarot would do is combine near ubiquitous symbols such as those found in Tarot or Jungian Psychology, and allow the player to apply them in a more direct way.  At the beginning of the game, the player would choose cards from a Tarot-like deck, either at random or by choice, and a game experience would then be proceedurally generated from those choices.  Content would have to be built in such a way that it was aware of possible interactions with other content, depending on the role it was to play.  Gameplay would still be built in a structured way,  so that the game would always be, say, an RPG, but the particulars would change with every game.  The challenge would be in building it in such a way that the particulars were always compelling, or even better, that one game would build on another.  It would be imporant that the game was not always the same, with the roles substituted, but the presence of one card versus another would radically shift an element of the game world.  The most correct selection of type of world would seem to be an open format, such as Oblivion, only more tightly constrained.  Elements of the game world would persist from story to story, but be gilded or tainted by the choice of cards in the initial sequence.

An additional difficulty would by in marketing this work.  Even if one could create proceedurally generated and compelling gameplay, it would be difficult to know what marketing approach would be best, other than perhaps the standard Peter Molyneux technique of “This is the best RPG ever made”.  Diverging too strongly from an established medium is generally not a good sales technique, but then if a medium is truely to be an artform, sometimes you need to put that on the back burner.

Why Games are Important

Jamie at GameDevBlog has an interesting post about Meta-Learning that’s worth a read.

Design Concepts

A few days ago, Gamasutra put out the eight edition of the annual classic, Bad Designer, No Twinkie.

There is much that is good in that article, and a quick perusal will have you nodding your head at half the games you’ve played.  I particularly like the segment on Failure to provide short-term goals.  This particular problem is one which has caused much frustration in and about my person, and has been the single cause of my inability to complete several games.  Part of a game is guiding the player through an experience - Not spoon feeding it to her - but some direction is expected.  There are games (mostly orbiting the celestial entity that is Will Wright) which set out specifically to allow the player as much freedom and to deny specific goals at all.  This is a somewhat different matter, as the gripes entailed by the above refer specifically to scenarios under which a specific goal exists, but the goal is not adequately presented to the player.  Nevertheless, it’s a dangerous game to play (although one Will plays very well), because there is a difference between allowing the player to define their own goals, and providing no direction on goals whatsoever.   This is something I’ve wondered about with Spore (Remember Spore?).  I’ve just watched the video from the 2007 Leipzig Game Conference, and the game certainly looks more visually polished than it did a year ago, but there’s no new magical reveals on content or gameplay.  Spore is an interesting beast because it’s less a game and more a toy.  The difference between the two really are that toys are something you play with, to explore the possibility space of your imagination.  Even so, this possibility space is limited by the structure of the software, and if no hints or direction are given as to the ways in which you can explore that space, one can get frustrated easily (not that I anticipate that will happen in this case).

I’m not sure I entirely agree with the argument for Amnesia though.  This can, if done properly and occasionally be a powerful technique (a film example would be in Memento, a game example would be Bioforge), but it needs to be the focus of the work, and it’s difficult to pull off.  This is at odds with the number of games which employ the technique.

Eight years of Twinkie Denial can be found at Ernest Adams’ No Twinkie Database.

Multiplayer and Minions

In the news post from yesterday’s Penny Arcade, Tycho talks about two things that I’m conflicted on:  Multi-player being preferable to single player, and the game Overlord.

I can see why a person might be more interested in playing with other people, the dynamics of the game change, the challenge is higher, but I’ve always personally preferred to play by myself.   Why you ask?  Because most people I meet are ass hats.  Some games are just made to be played in multi-player because it’s too difficult to make a reasonably good AI (e.g. Real-time Strategy games).  Joyfully one does not have to listen to their opponent whilst playing RTS, but the folks you find playing on-line are usually addicted like crack to that particular game, and have honed the art of micromanagement down to a laundry list of moves to make on a per-millisecond basis.  Needless to say, this removes much of the enjoyment from anyone who is forced to leave their house from time to time.

The only FPS game I’ve managed to tolerate any kind of online time in is Gears of War, and this is only because the game is that exceptional.  It does carry the rider of most shooters though:  Half the time you play, you hear the belligerent moaning of what can only be a frat-boy, pissed that you’ve blown his skull off yet again.

Tycho, having rather the opposite opinion, was surprised to note that he had blown 6 hours straight playing Overlord (an interesting game basically being a cross between Dungeon Keeper and Pikmin).

Now, don’t get me wrong, I liked Overlord, a lot in fact.  The game is funny, and there’s something about swarming a horde of 50 minions over an oncoming throng of halflings that just tickles you the right way.  I do however note there is a major problem with this game that causes me to be seethingly irritated with it.

Essentially the entire game is spent killing small fuzzy things which occasionally will drop lifeforce - small glowing orbs which increase the size of your pool of minions.  On my first play through the game, I accumulated somewhere between 1500 and 2000 units of lifeforce total.

Now, I’m one of those guys who really likes to get the achievement points.  And some of the achievement points in this game are insane.  One achievement is gained by at any point in the game having over 10,000 lifeforce in your pool.  Think about that, it’s possible to beat the game, accomplishing almost all of the possible accomplishments, and only accumulate 1/5 of the lifeforce needed for that achievement.  One gets achievements for full upgrading each of the three armor sets, a feat which cost you several thousand lifeforce per armor set.  A third achievement for completing the game at maximum corruption is only possible after killing over 1,000 peasants, only accomplished by continually going to a city, running around slaughtering everyone, and repeating over and over again.

A game which I initially quite enjoyed has been associated with a mindless grind in my inner psyche.  There is nothing more depressing than sitting in the same spot, killing the same guys (usually trivial to do so), over and over again just so that you can continue with your life.  It is, as a developer, an easy way out, but it lowers the value of your game,  please stop doing this.

World of Warcraft, another of my past addictions, eventually turned me away because of both of the above issues.  Once reaching the maximum level, the only possible tasks are to schedule several nights of your week, consistently week after week, to hang out with 40 people or so, and grind a raid dungeon.  Just put a gun in my mouth right now.

Can we just make a rule where nobody is ever allowed to put grinding into a game ever again?  Or at least make it such a taboo that only the most sadistic developers do so?  This is not a practice that we should be encouraging folks, and if anyone out there is a developer, I would encourage you to bring that message back home.

Banking in RPGs

A solid argument exists for having a real banking system in online games. Even Goliaths like WoW have a “Bank” which is essentially no more than a safety-deposit box.

You can read the whole entry at EyesLikeOurs (Sent to me by Jon), but I would like to make a further point. In addition to adding value directly to the players by establishing a true banking system, There are economical manipulations one could do to control the rampant inflation that plagues MMOGs due to the cursed face of Gold Farmers. Certainly it’s not a quick fix, but it could help in management. I believe the concept of providing loans would also be useful in resolving the issue (As many will prefer to go into debt to get cash now, rather than give their very real currency to Gold Farmers).

Genetic Programming for Artificial Intelligence

Genetic Programming is an automated method of generating code by leveraging processes similar to the ones which are in effect in reality, namely natural selection.  Essentially what you do is create a bunch of components, mix them up in various ways, and measure the result of each.  Initially it’s very likely they don’t do what you want at all.  You cut out the worst of each generation, recombine them (programmatically, using some technique), and try again.  The idea is that eventually you will programmatically generate a technique that works as well or better than something that you would engineer from scratch.  It’s a very interesting technique, and I encourage you to read about it if you’re so inclined, but what I’d really like to talk about is the limitations of it.

When applying Genetic Algorithms, the key factor is that you need to have some kind of fitness criteria to measure each iteration with.  In the real world, the ‘fitness criteria’ is ability to survive long enough to breed, and it is enforced by the universe itself (which kills you off it you don’t make the cut, so to speak).  When employing this technique, you generally need to be more specific, and have a goal in mind that you’re trying to accomplish.  In generally this is HIGHLY specific, (e.g. a circuit which raises the output of the input signal to the third power) but this is mostly because determining the fitness criteria is one of the hardest parts about Genetic Programming.  And so far, we’re not very good at determining fitness for vague things.

This is an area of active research, and there’s probably a lot of room in this field to get yourself a PhD if you’re interested.  One of the possible uses for GP which always immediately comes to mind is to develop AI.  Efforts at doing this have met with little success so far, certainly none that are commercially viable.  Part of the problem is that AI is designed to be flexible, and many of the GP techniques are designed to solve specific problems.  What I propose is that instead of developing a general AI, we confine the problem a little bit, and attempt to develop a better AI for computer games. 

While GP is often used to develop parts of the AI, it’s usually the more esoteric parts which are really Optimization problems such as Path-finding.  The type of AI I suggest is more of a “Strategic AI”.  Video Games, like all games, are defined by what are called a “Possibility Spaces”.  This possibility space is structured around the rules imposed by the designer of that game, and thus creates a world with limits.  Playing a game is fundamentally about exploring the possibility space, and there are all sorts of ludological theories about the mechanisms that occur when you do that (If you’re interested in that sort of thing, I might recommend Daniel Cook’s Blog at Lost Garden, or an except from a talk with Will Wright).  Because these possibility spaces are in most games very highly defined and structured, it means the AI only needs to understand how to operate within the context of that space, and to come up with strategies in which to operate depending on which ‘area’ of that space it is currently occupying.

My suggestion for how to implement this is to start by making the basic building blocks of the AI atomic bits of code that represent verbs.  “Move forward” “Move back” “Look for X”, “Hide”, “Shoot”.  Mix these in with various inputs that the character motivated by the AI would encounter, these being the other tokens in the game, including the human player.  These objects can then be programmatically combined and used to generate a more complex AI through the process of GP.  The trick comes in when it comes to defining the fitness function for the AI. 

This is the more tricky part.  It depends on what the character behind the AI is trying to do.  Let’s say we were talking about a FPS, in which case it’s fairly simple.  Kill the people on the other team, don’t get myself killed, protect people on my team.  Almost every FPS on the planet has mechanisms to determine this kind of data built in.  If you had a sample population that were reasonably intelligent, you could just have them play off at random against each other, and continue the process that way.  You could, in fact, continue to do this after release and offer AI patches perodically when you had major improvements in your AI behaviour.

But how to seed the populations of AIs in the first place?  Simple answer:  XBox Live.  Take several thousand copies of your AI, and work with Microsoft to set them up with XBL accounts, and just dump them in the player pool.  Offer free beta testing for regular users, and let them kill off your AI population.  Every couple of days during the beta period, while the rest of the team is responding to non-AI issues, the AIs can be regenerated and use the same accounts they had before.

It may be the case that an insufficient number of iterations would go by in the time period to get a successful AI.  Typically the fitness function is very simple and it takes thousands of iterations to get a reasonable result.  In this case the fitness function is replaced by real human players and the performance of the AI against those players, which takes several minutes.  On the other hand, by having many games going in parallel, the time it takes to run through an entire generation may only be those minutes.  If the regeneration process only took an hour or so, one could do several generations in a day.  Additionally, by seeding the population with heavier verbs in the first place it may be possible to get a reasonable result in only a few hundred generations.  It would be an interesting experiment to try with a simpler game, perhaps in flash, online.  If that game were played by thousands of people online, we would be able to get a feel for how many generations would be required, based on a feeling of the complexity of the possibility space in question.  Anybody interested in pursuing such a project might be well advised to check out this site for some resources on GP and Game AI.

Will Wright and Brian Eno

Whilst I was working down in California this summer, I had the opportunity to see a facinating talk/conversation between Will Wright and Brian Eno. This talk, hosted by the Long Now Foundation, was one of those times in your life where much of what they say haunted your mind on the train-ride home, and you would spend days thinking about it. Certainly an interesting experience. And now, due to the magic of the internet and FORA.tv, you too can share in that pleasure.

Enjoy,
View Will Wright and Brian Eno on FORA.tv
View Will Wright and Brian Eno on FORA.tv

Creative Commons Attribution 3.0 Unported
Creative Commons Attribution 3.0 Unported