Automatic manual

One of the goals I have in mind is a learnable programming system that takes advantage of gaming's greatest strengths. I hinted at these in an earlier discussion of The Incredible Machine. Chief among these strengths is the unique combination of automatically enforced rules and freedom. While you have rules and freedom at play in any designed activity, the freedom often comes with a cost (material, risk, etc.), and requires you to enforce the rules yourself. The physical world has some nice rules enforced for you, and indeed much play and games happen there, but often the situations are so complex that the rules boil down to chaos, and the real world carries real risks for experimentation.

But with a video game, you can attempt to do anything, constrained by enforced rules, with no real risk. What's more, in a good game the rules are designed in such a way that they are apparent. The mechanics of jumping in a platformer are fairly complicated, and no manual will give you all of these details. However, through play, the player finds what is and is not possible, and gets an intuitive feel for how the jumping system works. If the designer has done his job well, this intuition will be accurate and useful. Even if one did write out in a game's manual precisely how jumping works, this would still only be meaningful to a programmer with some physics background, who is skilled in translating between conceptual systems and written procedures. The procedure of jumping is something best communicated by jumping, and a platformer is a game designed to get you to jump in as many different scenarios as possible.

Moreover, a platformer gives you not only opportunities to jump up stairs, over pits, while running full tilt, onto small platforms, onto platforms directly overhead, into bricks, into enemies, and into thin air, but it provides attractions to draw you towards these. The coins in Super Mario Bros. individually don't serve much purpose in gameplay, but they each indicate somewhere you can get to. These provide local goals for you to shoot for, to push you to greater lengths than you would need to progress through the level. And as obvious as it is, the overall structure of the level itself (keep moving right) provides the primary reason to exercise these skills at all. If you just provided a level with no goal, but all the same physics, only the most dedicated would exercise it to its fullest potential. The overarching goal plays a similar role to the game's laws of physics; it provides a rule which creates a structure to play within.

Once the player has a goal in mind, he attempts to reach it using the skills he has. Perhaps he fails to achieve it. With jumping, it is immediately obvious that the player has failed. What's more, it is completely obvious how he failed. I jumped too far. I didn't jump far enough. I hit a block and bounced into the pit. And although this isn't universally true (video games have a history of masochism back to the arcades), you ought to be able to try again. Ideally you will come to learn the variables that impact performance, and build a set of debugging tools. I didn't jump far enough: did I jump too soon, or I wasn't I running fast enough, or did I not hold the button long enough?

Are these benefits necessarily restricted to such simple, "physical" situations? I apologize for using Super Mario Bros. as my one example, but even its impossible physics model is made from cartoonish exaggerations of real physics. The big constants are 2D space, collisions, velocity, and acceleration (including gravity). I suppose these arguments can apply to Sim City, though the written manual is a more important part of the experience there. The more abstract, essentially mathematical worlds of RPGs also exhibit these properties.

Still, the best examples I can think of all involve physical puzzles. Tetris is the prototype, of course, and I have sunk more hours into it than any other 5 games. Braid and Portal are two standouts in recent memory. I am anxiously awaiting Marc ten Bosch's Miegakure; it promises to do for four dimensional space what Portal did for discontinuous space. In my brief time playing it at PAX East I became convinced that it can use 3D platforming as the wedge to make 4D intuition possible.

Does this indicate that we need to use a physical model of computation? For the advantages I indicate here, we want players to be able to explore a space on their way to a goal we set. The easiest solution is to make the "space" and "goal" physical analogs, to borrow as much from physical intuition as possible.