Friday, June 3, 2005

I’m cleaning out some old webpage on this site, and instead of deleting them or making them individual pages, I thought I’d post them here for posterity. And here’s one now!

Dramatic Theory and Video Games

Dramatic theory is hard to research. There seems to be very little material readily available. As a result, distilling dramatic theory down to a single reed-thin theorem is difficult. I’m going to try anyway.

Good drama results from a certain pattern in the number of unanswered questions in existence in a work over time. In a very short work, that pattern is a simple peak: the number of unanswered questions rises over time until the climax near the end, and then drops back down to zero. Normally, however, that same pattern is maintained in general, but is supplemented by one level of recursion: small patterns of peaks within the larger pattern.

The funny part of that theorem — which is hardly “reed-thin,” now that I look at it — is the concept of “unanswered questions.” What exactly does this refer to? It depends partly on the work. For example, a console RPG’s unanswered questions usually center around the survival of the characters. A murder mystery novel’s unanswered questions usually center around the motivation, methods, and identity of the murderer.

Fair enough. Now, let’s apply this theorem to video games, particularly combat-oriented video games.

What makes for a satisfying video game? Ignoring the overall trend towards a larger climax, satisfaction comes from a pattern of peaks and valleys in the player’s experience. The player should be “scared” for awhile, then not-scared for awhile. Both of these phases should be of a reasonable size.

In a simple combat-oriented game, one in which the player is fighting off other monsters, this concept can be implemented fairly easily, by keeping a running tally of the number of monsters that the player is fighting. Once the player has spent a certain amount of time fighting monsters, then no new monsters are generated nearby. Once the player has spent a certain amount of time without fighting, more monsters are generated.

Note, importantly, that this does not imply X minutes fighting monsters, followed by exactly X minutes not fighting monsters, etc. There will be a significant period in which the player will finish up fighting the current set of monsters, and clear out any other monsters nearby. Similarly, just because monsters are being generated nearby, does not necessarily mean that the player is immediately fighting them.

Obviously, this is a brute-force implementation, but it serves well as an example.

Leave a Reply

I work for Amazon. The content on this site is my own and doesn’t necessarily represent Amazon’s position.