Lately I've been recognizing that is a certain interaction between skill, patterns, and randomization in games - one which ties into learning and to the way in which we make game content. This post is a kind of grab-bag discussion of all those topics - it's my attempt to establish more precise relationships between all of them.
I recently got a new toy, the AXiS 49 MIDI controller. This device, like other MIDI controllers, lets you plug into a USB port and control synthesizers, drum machines, et cetera. Unlike most MIDI controllers, however, it doesn't have knobs, a piano keyboard, or even trigger pads. Instead it has a compact hexagonal key layout marketed as the "Harmonic Table." The general idea of fitting two dimensions into a keyboard isn't new, having appeared in a few forms before(most notably the Janko layout) but the AXiS is the first example I'm aware of that is built and priced within mass-market reach.
Video demonstration of the bigger 64-key version
It's a lot of fun. Sweeping your finger across the AXiS gives you pretty glissandos. Playing three note triads gives you your major and minor chords. You can play in any key by shifting your starting position, keeping the same pattern.
This is a good practical example of a skill / pattern recognition relationship. The layout has a whole litany of effects on learning:
- It's hard to play "wrong" (dischordant) notes on the AXiS, so it's easier to become a confident player.
- The use of two dimensions results in easier-to-visualize patterns than a purely linear system.
- The compact size of the keys reduces finger dexterity requirements and makes it possible to try more complex combinations.
- There are more visual relationships between patterns; for example, a lot of scales use a similar shape on the AXiS, with small variations in the "direction" of the shape at certain intervals.
- The reduced need to learn different patterns means you can skip to higher-level concepts and practical usage quickly.
I estimate that within three days I got farther with the AXiS than I ever did on piano(which isn't that far, but still, it felt impressive). Every time I take it out and play, I come away satisfied that I have, in some way, made progress and learned a little.
Ease of learning is a big draw in the fun factor. When you can make something that sounds good so effortlessly, it drives you to keep exploring further, and to associate time spent with the instrument as "play" rather than as "practice."
With that, I segue into a thesis statement. Players learn best by progressing from repetitive, well-ordered sequences to chaotic ones. More chaotic patterns, and patterns with less information, add challenge.
For example, if we had a game that is about guessing the next in a sequence of numbers given some hint, a player could easily answer the sequence:
but they would have a hard time with:
The first sequence is clear and unambiguous - and probably too simple. The second is extremely noisy and doesn't build on anything factual(the closest you could get to a good guess would be to simulate my process of mashing out numbers on the keyboard), and the third has too little information, making the player guess blindly.
A pattern like:
strikes some balance between chaos and uniformity. With some understanding of number theory, a player can identify the sequence as the powers of 2 and confidently guess 64.
What if we wanted to make this game a little easier, a little more "casual"? After all, we're still really relying on the player to always be able to figure out a singular correct solution for every pattern. That has always frustrated me about puzzle games.
One approach would be to introduce a mechanic where the player isn't just right or wrong, but has a way to iterate on their guesses. Simply being told "too high" or "too low" would make it possible for even the slowest of wits to progress.
Given this step we can further lower difficulty by giving the player more fidelity of information - "much too high" or "a bit too low." You could go on like this for a while, adding more and more information. The final step in this process would be to give the player the answer, at the same time or even before they recieve the question.
Now, you would say, "nobody wants to have so little challenge in their game." Right? Except that we could change the context at that point; if the game were actually not represented as a textual series of numbers, but instead was a real-time graphical display where the player is manuevering an avatar up and down a line to get their answer as close as possible within some time constraint, "giving away the answer" would suddenly become the obvious thing to do, because the player is already proccupied with the process of moving up and down.
With this change, you could still include the same kinds of patterns as in the textual game, but now the player can substitute reflexes for knowledge of number theory.
Or, at least, reflexes can substitute until you make the game move too quickly for reflexes alone to be enough. Now we imagine that the player is deftly moving up and down, trying to read far ahead in the sequence and plan their movements. The motivation of the original guessing game is resurrected in a modified and reduced role; "guessing" is now just one aspect of a multi-dimensional challenge. So even though you learn the patterns very gradually, you can still progress to the higher levels by substituting other skills.
This design of learning to read and respond to patterns with the aid of substituted skills is, I think, the basis of most game genres - shmups, platformers, simulations, wargames, first-person shooters, racing games... substitution seems to be "the" learning method that makes these games fun.
The genre I'll focus on here, one of my favorites, is rhythm games in the style of Beatmania, DDR, Guitar Hero, etc. Instead of the set of real numbers, they use a low-granularity input scheme, and establish through level charting some relationship between the music and the notes that must be matched. As the charts become more complex, the nature of play changes from simply reacting to oncoming notes to reading ahead, developing a muscle memory, and optimizing the physical movements to be as fluid as possible. This is why saying that these games are just like "Simon" is inaccurate; to advance to higher levels requires an ability to read and remember a situation and adapt to it, which is different from memorizing any arbitrary sequence.
Rhythm games sometimes include modifiers to randomize the note patterns; the results of randomization are slight at low levels of play, but sharply increase difficulty relative to the original chart as note density increases. Because randomness short-circuits the pattern-recognition elements, it destroys the standard skill progression and replaces it with a pure reflex test - you can go faster, you can go slower, but without the underpinning patterns like the ones we had from the guessing game, that's all the variety there is. With little or no ability to anticipate, the player's actions will be based on probability alone.
Let's consider a game like Spelunky, where all the levels are random. Spelunky retains skill progression even though the levels are random, because the building-block elements of each level follow consistent rulesets with their own recognizable patterns. Players will learn the ins and outs of these elements, but in later levels they encounter new elements, lending more variety and tone to the overall progression. However, at the macro-level, the game is still largely a homogenous collection of micro-scenarios. Potential interactions between different elements don't get exploited as well as they would be in a hand-designed levelset.
This is what I call the "homogenity problem." Starting from random or pseudo-random elements, you attempt to hammer out gameplay, but there are no sure-fire solutions to make them work in any situation. It's a huge gaping unknown. So - unless you go to exceptional efforts - you just end up with something acceptably homogenous, as then at least you can be assured that no unbalanced situations will arise. But you can never get anywhere near the level of detail that a hand-tuned approach brings.
Learning curves are utterly shattered by the homogenity problem, as there is no longer a way to ensure that the player progresses through situations that require fine-grained increments of skill and build on each other's lessons - we can only go by secondary indicators like player character levels, abilities, and position in time/space(dungeon level, time playing). This is a problem shared across the entire Roguelike genre; most Roguelikes are expected to be very hard, with rare, fleeting success, and a big factor in that is how they tend to work around their homogenous makeup by introducing lots and lots of special-case situations. In these situations, you have to know correct strategies beforehand, or else you die (usually instantly). The preference for perma-death only exaggerates the difficulty, making every encounter a potential heart-stopper.
This isn't to knock the idea of randomized games, of course - I love the concept and I've tried making a few myself - but it should be recognized that randomization is a double-edged sword and can destroy gameplay variety as well as assist it. If you are after a game design that emphasizes gentle and gradual skill development, leave randomization out until you have established every situation the player is expected to learn; only then can you craft random elements that provide "theme and variations" for each of those situations.
I should also mention game narratives here and how they interact with randomization; we've seen some ballyhooed attempts in the last few years to have computers generate narratives on the fly, remixing some preexisting elements with a combination of pseudorandom behaviors and deterministic rules to simulate the storytelling process. These attempts actually go at least as far back as 1983's Murder on the Zinderneuf, a murder mystery with a set of 16 characters, all of whom could be murderers or victims, and scripted plotlines for every combination. (This is my best guess without doing lots of research. There's some hair-splitting to be done over where the line is drawn between narrative and gameplay mechanic. Cluedo(Clue in the U.S.) is a randomized murder mystery, but it has no motives driving the narrative. And randomized games in general date back milennia, of course. )
But it's only been recently that more and more attention has been focused on making a broad simulation and letting the computer, rather than some combination of crafty design and scripting, do the "heavy lifting" that drives the narrative. Examples of the newer generation include Facade and Storytron in the academic/experimental realm, and Farcry 2 in AAA gaming. And the underlying problem with these is, I think, with the simulation have to be "broad" and not "deep" - lots of nuances and rules, vs. compact definitions that are simply computationally heavy. Things like natural language, climate patterns, geology, and biology are hard for us to tackle because of their breadth, and storytelling ranks among them. As with Roguelike games, these "sim-narratives" face the same challenge of needing to establish broad, recognizable patterns throughout the story. And they get the same problems, worked around in more-or-less the same ways; by making most situations nearly identical, and by making all plots converge to the same set of outcomes.
I think it's possible to improve on this, but just look at how long it takes to develop a Roguelike, and then multiply that by the time it takes you to write up a self-consistent, entertaining story. And then assume the quality will be worse than the story you wrote because of the homogenity problem. I can only conclude that narratives based primarily on hand-crafted scripting will give better results for the foreseeable future. A light sprinkling of simulation can go a long way, of course.