Sunday, December 25, 2005

Part Three: Pieces of the Puzzle

This part will teach the basics of using pattern adaptation control to moderate user experience. The first part, explaining what you are controlling, can be found here. The second part, explaining the overview of how these things work, can be found here.

As expected, I'm not pleased with this essay. Please remember that this isn't a carefully-structured, reviewed tutorial. It's just me, typing it up as I go.

The first step in controlling pattern adaptation is knowing what patterns you want to control. I imagine that someday there will be long, standardized lists of patterns earmarked by subculture and audience age. For now, there is no such list, and it is up to you to create a list of the patterns you wish to monitor and utilize.

Each list is pretty much unique. If you're creating a first person shooter, you need one list. If you're creating a shmup, you need another. There are few overlapping patterns. Similarly, you as a creator will find you are more able to fully utilize certain patterns which are more familiar to you. For example, I would be hard-pressed to create those patterns used in a war story. But a writer of war stories might be hard-pressed to create patterns of metaphysical discovery. Our skills and preferences as writers will lead us to headline very different patterns, simply because our skill in implementing these specific patterns is better or worse.

So, to do this next part, you'll want to imagine a game of your own design and make two lists. A ludic list and a narrative list. If you can't think of a preferred genre and story, use the example I'm going to use: a first-person-adventure similar to System Shock or Deus Ex: guns, skills, and stealth in any measure. Using a more restricted game, such as Tetris, would make the lists correspondingly... not "shorter", exactly, but more specialized. It is always possible to split a pattern into several more specific patterns.

For example, the three basic ludic patterns in our example game might be "gunplay", "skills" and "stealth". That's how it'll look on the back cover of the box, at any rate. But those can be more exactly specified and split up. "Stealth", for example, becomes "security system avoidance", "guard patrol avoidance", and "pathing/map abuse". This reflects stable puzzles, unstable puzzles, and optional explorations.

Similarly, if we want to go even deeper, we can deepen "pathing/map abuse" to various kinds of pathing/map abuse, such as jumping puzzles, hidden secrets, dedication-based puzzles, etc.

In Tetris, we could get a list just as long, but it would go into infinitely fine striations with things like "handling the I piece", "handling the S piece", etc. The more fine the striations, the more skill a player needs to notably distinguish himself in that field.

In our games, we'll be using both gross and fine patterns, so keep track of which ones you split up. A pattern can also occasionally be a child of two other patterns. For example, dedication-based puzzles might mate with RPG play and the skill system as well as stealth play. This is probably a sign of clumsy thinking, but it's okay for our needs.

The process is repeated for the plot: the narrative. We are not choosing the plot here, merely patterns which we will use to express the plot. So, for example, we might choose "technophile", "wish fulfillment (young male)", "challenge", "sex appeal (for male players)", etc, etc, etc. Our patterns vary depending on our target audience(s) and our own preferences. These, too, can be split up and even expanded on tangentally - adding different kinds of sex appeal, for example. Now, some of these results are going to seem weird, unattainable, or not the sort of thing you want in the game. For example, sadomasochism or ballroom dances. Keep these patterns! Don't erase them because they are unsuitable or not your specialty.

You don't have to use each pattern in full, you see. Just because you write down "sadomasochism" or "ballroom dancing" doesn't mean you're going to have those scenes in your game. You control the extent to which a pattern manifests. You might choose to have the manifestation for the first max out at people in leather clothes or a room of unused torture equipment. The second could max out as particular clothes or an unused ball room. Nothing even the least suitable author would have a hard time writing into the game. Even if you know nothing about ballroom dancing or sadomasochism, you can write "froofy ballgown" and "buckle-covered leather pants" pretty easily. Even left unfinished, these patterns will serve as good hooks for players on the lookout for that sort of thing. Speaking as someone with quite a bit of experience putting tiny cues in games, they are very rarely missed by people who are sensitive to them. That applies to ludic cues just as easily as narrative cues, although one tends to unbalance the game a little faster than the other.

Now you've got a list of patterns. For this example, five of each would be enough. For a "real" game, you will probably want quite a few more. I'm working with a dozen ludic patterns and two dozen narrative patterns, many of which are children or parents, allowing me to scan for higher skill levels.

The basic idea is that you go fishing with these patterns. You bait your hook with incarnations of a given pattern, then you either measure the player's skill at the pattern or how eagerly they follow up the pattern. Of course, in practice, the bait will very rarely be a single pattern. Not only is it quite difficult to make "pure" bait, but it's also something which you don't want to do for reasons of durability. By "diluting" the pattern, you insure the player never falls fully into its grip: you never want your game to fall fully into just a few patterns. You want the player to constantly be walking a shaky path, because otherwise it's just not as interesting.

The difficulty is, of course, creating the bait. Done expertly, you can even theoretically create a "hurricane" of a particular pattern, although this has not been tested. Implementing the pattern in "hook" form is a pain just for the simple bait, the "hurricane" bait would be quite difficult.

There's two ways to do it that I can think of: "jewelry box" and "clockwork".

"Jewelry box" methodology is an allusion to the "string of pearls" methodology that many games use. With this method, you manually create most of the hooks, allowing them to combine in simplistic fashions. Essentially, instead of a "string of pearls", you have a jewelry box full of a million carefully-cut stones of all kinds, and you string them on as the player shows his preferences for given colors.

This has the advantages of being (A) easy(er) to balance, (B) highly controllable, and (C) generally higher quality and more cohesive. However, it requires quite a bit of work.

For example, we might create all sorts of hooks for our example game. A sword for instant stealth kills. A girl who appeals to certain kinds of sexuality. A weapons depot with explosives stacked all over. A high-tech cyberninja. Each reflects a certain combination of patterns. Ludic, narrative, or both. These pieces then slot into the gameplay at predefined points. Need to introduce a character to save the player? Choose between the cyberninja and the babe using the player's previous choices. Need a new place to fight? Choose between your science lab and your weapons depot. Etc, etc.

The other system, "clockwork", is similar on the surface: you create a bunch of components. But you don't create a backbone to plug these pieces into: you assemble them into pieces on the fly. This is a far more difficult method, because you have to essentially have a system which knows what pacing is and how to build a new pattern.

I suggest choosing "jewelry box", at least for now.

New patterns are patterns your game is going to build that aren't already in the player's minds. In both methods, you need to know these. What these are varies based on your level of control. In most games, a specific play style and/or the plot of the game are going to be new patterns. You may also have specific characters, metaphysical elements, weapons, or just about anything else.

Also, patterns which you've specified as potential hooks can theoretically become new patterns. For example, you may want to always lure the player to thinking the opposite of what he normally thinks, using his preferred patterns to diminish themselves and enhance their opposite. Maybe you want to force gung-ho gunmen to play stealth, or someone who is abusive to appreciate kindness. Just remember, going against a mental pattern is iffy and difficult in the best of situations. Just try to argue against someone's political beliefs: they'll simply clam up, shut you out, and pretend that you're talking nonsense. It's the same with any kind of pattern that has a significant hold on someone's mind.

Using the "jewelry box" method, you build these new patterns as the structure of your game. Functionally, you have a plot progression just like normal. It might read something like "fight bad guy, discover secret, be betrayed, run around in trouble, build strength, attack betrayer". It could also be a branching path - whatever you feel confident with. It introduces the new patterns as an extremely stable, normalized path that doesn't vary much from player to player.

All it does is use the elements the player prefers in order to get him involved in that path.

So, if you want to show the foibles or strengths of corporate structure, you can build a path which will take the player through a plot which shows those foibles or strengths. However, as the player walks down that path, he gets to choose his approaches, his friends, and his techniques. The choices he makes tell you which patterns he prefers, and you can use more extreme choices to get him ever more involved.

This can lead to a shallow-ish experience, depending on how deep your pool of hand-crafted "jewels" is. You always need to cover all your patterns, but how deeply you cover them varies from pattern to pattern and by your patience and craftsmenship.

Using the examples from long ago, if a sadomasochist plays the game and chooses to team up with leather-pants girl, you can't use that hook much more unless you've programmed more extreme examples. You can keep using the girl as a token to keep the player interested, but you'll have a hard time deepening their relationship using those patterns. Indeed, most characters will probably end up having a few preprogrammed "scenes" or "arcs" which are chosen depending on what role they play. Obviously, most games can't take deeper sadomasochist hooks: it would simply not be suitable. And that is a sacrifice you have to make.

A "clockwork" approach, on the other hand, could pair any character with any situation. Instead of needing to carefully program a character which appeals to a particular sexuality, you create a cog that can be plunked into virtually any character that makes them... uh, edgier. Or makes any character have an... edgy... experience. Obviously, this is a very adaptable situation, but it is also quite difficult.

Really, "jewelry box" and "clockwork" are simply to extremes on one axis. It's perfectly possible to make highly adaptable jewelry boxes or carefully structured clockworks.

Last thing to remember: I mentioned it before, but this is critical. All players adapt to the patterns you put in front of them. Before long, they begin to "drill" into the pattern, finding the edges and points of highest complexity. Many of your patterns will not have any complexity, and their edges aren't far away. You need to keep mixing patterns up, trying to avoid getting the same mixture as any point before. The speed of this mixing depends on how fast the player adapts to a given pattern. Thus: "pattern adaptation control".

Next time: a clear example, how to mix and measure a pattern, a bit on "pattern hurricanes", and different player "types".


Patrick Dugan said...

I take issue with your division between ludic and narrative patterns. I think if you approach your patterns as parameters of paidic mechanics, that is "toys" which provide the basics of freeform play, then you can have a causal domain in which narrative and goal-orientated decisions are integrated, and therefore your pattern adaptation can cater to the player's supposed desired causality from the real bottom up, as opposed from the middle-down in the case of the ludic mechanics you suggest, and the top-down in case of the narrative. For instance, think of the game as being an intersection of a few core mechanics which together allow intersting emergence in and of themselves, the PAC allows the player to adjust their perspective of those "gems" to the one they find ideal, with each perspective providing complete play with different spins.

Also, your talk about choosing the level of fine-tuning on your patterns reminds me of something Chris Crawford said in his Interactive Storytelling book, about choosing the level of dramatic resolution in storybuilding. Imagine a storyworld as being segmentable into script clusters, with each cluster defining a particular causal space in the plot. You can pick a causal space, say a "chance" intersection of the protagonist and the leading lady, and write three reaction scripts for it, real simple interaction that could nevertheless be saturated with forshadowing and relationship signifigance. Or, you could go deeper, 6 scripts, 12 scripts, 20, and really flesh out a potentially (relatively) in-depth conversation. Its seems to me like your pattern dynamics are like that at the macro level, and I'm wondering if maybe theres a way to do the interactive storyworld thing with PAC by enforcing a sort of supersymetty, in the way that holographic string theory describes a "shadow brane" mirroring out timespace which encloses light/energy and provides our special relativity means of reference via information carried on light. In other words, can macro-level PAC scripts and low-level reaction scripts be synchronized to provide a consistent feild of information (suitably adapted to the player) in which lateral challenge can stand?

Craig Perko said...

About ludic and narrative patterns: I am with you on that. I'm separating them only for ease of discussion: to PAC, the only difference is that the player very closely interacts with one, and only loosely interactts with the other. So there's a difference in how you measure it, but not in any of the lower-level theory.

I'm hoping that the fine-tuning I've spoken of (and will cover in more detail in chapter four) will allow me to do pretty much what you've said: create a framework (or a system which creates a framework) and then layer in progressively deeper patterns until the player is satisfied.

Craig Perko said...

I, uh, don't really understand your shadow brane comparison. I don't see how that would help any.