Videogame Emotion Survey

April 27, 2008

(If you missed it) - a survey of the Top 10 most popular emotions while playing games. Fantastic work Chris. I had a lot of trouble understanding Bliss. I thought I got it, but realized later that I was really thinking of Contentment. I wonder where I experience Bliss over Contentment, if at all?

I can tell you I didn’t experience many of these emotions playing Devil May Cry 4 over the weekend. I got a whole different suite - Frustration, Anger, Bemusement, Boredom, and Sadness. Apparently not for me. Is there a survey of most common negative emotions somewhere as well?

Warning! AI Engineering Content Ahead!

I’ve been distracted all week, but I’ve been thinking about this long enough. Chris gave, in my opinion, the best talk at GDC 2008 and I’m a bit ashamed that I haven’t seen more serious consideration from the AI community about his hypothesis (the exception being here, thanks Dave!). There’s a summary of the talk here. I think he made 3 main points:

  1. There are different categories of problems, which I’ve talked about before.
  2. AI should be the most useful tool we have to make games. (I actually don’t agree with this. Games are primarily competitions, and many of the games we love best have no AI at all. However, that said, I do think AI is the most useful tool we have to interact with the player. AI, however, along with user interface and mechanics, is the communication between the designer and the player, and AI has the capacity to be the most detailed and most contextual.)
  3. Identifying the building blocks of AI will allow us to create artistic AIs.

This third point is the most controversial, but the most insightful and the most ambitious. Can we find a basic set of building blocks for AI? Nobody seems to know. Obviously, it’s a hard problem, because it hasn’t been solved yet. And maybe that’s because it’s just not true. But I think it’s still worth examining critically. Let’s assume it’s true, that there is such a basic set. What would such a set look like? It should model “data” in a “code” system. Given my experience, it seems logically that decision-making (picking your prioritizes at any given point in time) will be our”code”. So what could be our “data”? It would have to be adaptable to the situation, reflect the personality of the character, and allow the designer to construct a set of interactions from it. Like:

  • Stats. A questioner brought this up and it was a strong point. Most RPGs use stats to drive the game. Ultima 4 famously extrapolated it out to moral virtues.
  • Game state. Stats are just basically game state, and game state is the core of most games. I’m pretty confident that if stats is the right direction, it will ultimately end up using the larger game state as well. Unfortunately, this doesn’t give us a lot of direction on the “code” way to go, and makes characters look a lot more like gameplay then AI.
  • Actions or Behaviors. Concrete things the AI can do are another direction we could go in. This implies a “code” language to control them, which is usually script or a complex AI, but it might work. Actions are pretty tricky to imagine as a pure data set though, because they usually involve conditional logic, and have a close history with our friend the finite state machine.
  • Goals. The current meme in AI engineering might work too. It’s a bit higher level then behaviors, but they are discrete controllable things. The concern I have is that in practice goal switching and control seems to be very primitive in modern games. This might be a sign it’s the right direction though.
  • Objects. The Sims, for the most well known example. Objects that describe how they are used are already understood in the data-code model and are easily extensible. In this example though, Game State is usually used to set the priorities between objects.
  • Animations and Motions. On an even smaller level, almost every character is seen through it’s motions. I have a hard time conceptualizing this data as AI, because there’s so many other things that can cause motion that don’t impart an AI. A player-controlled car for example. But if you broaden your definition of an AI, then there are pretty specific designer-created rules that specify when these motions occur, so they could be a core set. Unfortunately, it doesn’t seem like it simplifies anything.
  • Others? Then we get down to the crazy list. Colors in the world? Sounds? Player Inputs? What else could be out there?

Of this list, it seems like Game State is the most obvious contender, since it’s a defining building block for many of these options. But it still opens up a lot of worms. How can we have a common game state given that most games are completely different? Is it really unique on a per-game basis? Or is there some sub-set of game state, like health for example, that is part of the basic art of AI? What would a tool for reacting to game state look like? I can imagine a lot of sliders and bars, maybe tweaking and tuning on a stage, until you get something that emergently looks right. We do this in test levels for AI already, so to speak. But that seems better for something like Objects or Behaviors and Goals model then it does for Game State.

This does make it seem, as I contemplate this problem, like there’s a set of underlying data and structures that really shouldn’t influence the art of AI construction at all. You could argue the triangle has the same problem in Modeling, relying on a host of 3D mathematically concepts and definitions like “point”. But I think that is a bit inaccurate - triangles really are the basic data structure of graphics and modeling. If we want to use that model as a guide, then we really should try and follow it.

I don’t know what’s next. It’s these kinds of logical loops that I think have caused others to back away from these ideas. But it seems like a fruitful area of investigation, and if I was doing AI middleware I’d be thinking a lot about this problem. What do you think?

Starcraft knowledge wiki

April 22, 2008

I was going to start a page to compile some of the specialized Starcraft knowledge I’ve learned over the years, stuff that missed on the outdated battle.net page.  Unfortunately the wordpress.com software doesn’t seem to support linked page as well as say, google sites or a traditional wiki.  Does anyone have a recommendation on some way I could integrate this as a subpage into my blog?  Or a site that’s already doing this that I could contribute to?

So, after visiting “or” in Game Grammer last week, I’ve become more convinced “or” exists. There are lots of games that are complete enough and encompassing enough to be considered “or”s. World of Warcraft is a good example. It’s hard to argue that raiding and social play is not a fundamental part of the game, if not more fundamental then the leveling. But I’m still not clear on the value added.

In the most common cases, “or”s seem to add variation, very similarly to “with”s. The main difference is that “with”s are subtler and more optional - “or”s represent a broadening of the variation grey area next to “with”s. Many of these “or”s are not optional if you want to have the presented game experience, and they have the production and polish to show for that. But because there is limited focus in most products and they are not optional (World of Warcraft excluded), they seem to drag the overall quality of the game down. e.g. if you have both required combat and required vehicle levels in your game, both of them have to be easy and accessible enough that every potential player can complete them to continue. This is one of the reasons I think puzzle games may have struggled so much - puzzle games essentially are a sequence of “or” games strung together because the puzzles rarely build on learned skills over demanding new ones.

So what’s the lesson here? Be very careful adding “or”s to your game. If you can, find a way to tie them into the core game mechanically (”and”s) or make them optional (”with”s). If you can’t, recognize you’ve bitten the bullet and consider dumbing down at least one of your “or”s so that it’s not a barrier to entry and is easy to polish. And try again to tie it mechanically back into your main “core”, even if it’s just score or money. If you don’t try something early, you might find yourself dumbing all of your “or”s down instead of all but one.

Vocabulary tricks

April 15, 2008

Freerice.com is an interesting game, particularly in light of me highlighting Questionaut before. Not because Freerice is for charity (I have no confirmation whether it is real or not), but as an example of how taking a rather banal but important skill, studying vocabulary, and making it fun. A broad challenge set tailored to each player, a satisfying reward, simple presentation with direct usability, fast replayability, and a game with multiple skill dimensions (related words and good guessing skills really help!) make this game stand out again. We had quite a good time playing co-op too. What more can you ask?

Hi, my name is Exploration. People love me, but I can’t seem to find my mechanics. Can you help me?

Leave no stone unturned!

Elephant, meet room. Room, elephant.

Because here it is.  Based on what I just said, you could say my career in Game AI is built around a bad problem. Here’s how I see it:

  1. Most of the most successful games have little to no AI
  2. True AI takes years of engineering, design, and art work
  3. Enemies in most games are dead within 5 seconds.   Sometimes 15 seconds.
  4. … and a lot of them were scripted to do something non-AI in that period anyways.

It sure fits the description of a bad problem. But this isn’t black and white.  There are several ways that games have approached this to turn it into a good problem:

  1. Many games, like Halo, have readable, memorable AI that stands out (as long as most people don’t end up only playing multiplayer)
  2. Middleware and shared technology are making AIs easier to create every year.
  3. You can always fake it instead.

I live in the realm of faking it.  Fake, fake, fake. And then push the designers to fake it even more.  When you’re design doesn’t really need True AIs running around and you can get work done faster another way, you can be on the beach that much faster.  Mmmm…. the beach.

Faking it here is exactly what I was referring to as coming at bad problems sideways.  Yes, as most people think of AI, AI in games is a bad problem.  That’s why we have not seen many great AI revolutions in games, despite what Chris Hecker (and I) might like.  AI is a wicked problem, but in most game designs, it’s also a bad problem. Most AIs just flat out don’t need to able to pass as a member of Facade or even The Sims. Turning it into a good problem has always been the AI engineer’s challenge, and we’ve all recognized their work in the games that have memorable characters, enemies and allies. But ultimately, the best way to turn this into a good problem for all games is through shared technology, techniques, and software.

This isn’t the topic I have been meaning to write about Chris Hecker’s talk. But it dovetails into that nicely. If the challenge is to solve this wicked problem so it becomes a good, addressable problem, then I’d like to take a few guesses at what that future would look like.

Chris Hecker coined a comparison at GDC 2008 this year, what I call Simple, Tricky, and Wicked problems.  In a similar vein I’ve coined a comparison of my own: good and bad problems.  Just as some problems are easy or hard to solve, some problems are important to solve and some aren’t.  Or rather, some problems are worth solving and some aren’t.  It was worth solving “rewinding gameplay” for Prince of Persia because it significantly improved the game.  Strict design control of hundreds of characters is a bad problem. Bad problems aren’t bad design decisions, necessarily. Rather, they are production problems that can led to more work then the problem is worth to the game.  AI Engineers run into this all the time, because a lot of AI work is concentrated on it just not looking bad.  As a team member, being able to identify where coming at a bad problem sideways or avoiding it all together is a valuable learned skill.  The more you can look at a design and identify the good problems to solve - the problems where you get a huge audience payoff vs. the problems that no one will notice the effort - the better your product will be.  I claim exponentially better.

I’ve long theorized about the existence of primary, secondary, and tertiary gameplay. Primary gameplay is the core of the game, secondary is mechanics that provide variation to keep the game from getting boring, and tertiary are mini-games, games that are complete within themselves but operate independently from the primary gameplay. And I’ve also theorized that you should only have one core set of mechanics as your primary gameplay, rather then two or three.

One silly way to think about this is with a game grammer of “ands” and “withs”. For example, Halo’s is “Shooting combat and vehicles”, because vehicles are an integrated part of the whole experience, and thus mechanically part of the primary gameplay whole. Grand Theft Auto is “Driving with Shooting”, because the shooting is largely not integrated into the driving gameplay and serves to break up the core of the game. Or does it?

There is a problem with this singular primary gameplay approach. Some games may be “ors”. “or”, in this context, symbolizes 2 different kinds of primary gameplay, ones that are fundamentally not joined together, but are important enough to the depth and quality of the game that you can’t imagine the game without it. And even if you could, was having to do 2 completely different games simultaneously in the same game design space worth it? I’m not convinced, so I’ve constructed a (rough) list of where I think some game’s mechanics fall:

Ands

  • Diablo - Class-based combat and other class-based combat and player cooperation with loot gambling
  • Poker - Card Analysis and Bidding and Player Analysis
  • Starcraft - Unit management and Economy management? (Tricky here because the strong shared mechanic is time, invisibly. Should this be the “or” that disproves the rule?)

Withs

  • World of Warcraft, MMOs - Skill-economy combat with market economy and with social clubs
  • Ratchet and Clank - Shooting Combat with weapon market and with environment traversal
  • Final Fantasy - Action Selection Combat with Character advancement
  • God of War - Button Timing Combat with traversal

Ors

  • Uncharted, Tomb Raider - Environment traversal or Combat or “Puzzle” solving
  • Grand Theft Auto - Driving or Shooting?
  • Mass Effect - Shooting Combat and Skill-economy combat or Dialogue Selection

So, there are some games that I can’t realistically call “ands”. There just isn’t a strong enough cross-integration of the core mechanics across the different game mechanics to justify it. But is it a good thing? How does one decide whether one should add “ands” or “ors” when starting from scratch? My gut says you always want “ands”, and to take it one step further, “ors” weaken both sides of the equation (mechanically and experientially). But I think I might be wrong. Is there a way to plan 2 seperate forms of core gameplay? Is it even black and white? How does the “or” strengthens it’s part?

Stunning. As if seeing cavemen painting on cave walls for the first time, only to realize they might very well be a more capable then you are. Art as the definition of true sentience.

(Hat tip: Andrew Sullivan)