The Game Has Changed
Alternate title: Dan Marino 64
Two game related records were broken right before the end of 2011. On December 26th, Drew Brees broke the NFL’s single season record for passing yards. Two days later Siglemic broke the world record time for a complete run of Super Mario 64. These two events seem pretty far removed, but I think that they serve as two excellent examples of the way that the passing of time alters games (especially at the highest level of play).
The Crevices In The Code
Super Mario 64 is a static artifact. Short of rereleasing the game, once those cartridges were made available for purchase, the rules of the game were beyond official alteration. Mario can triple jump. There are 15 stages. The Japanese introduction is 2.7 seconds shorter than the North American version. You’re invincible against the Whomp King while executing a ground pound. There is a geometry seam in Tall Tall Mountain that allows you to climb it very quickly.
Those rules describe the game as it exists, not as it was imagined. Code is a non-ideal description of game rules, as it’s prone to error, and will be very literally obeyed. As time passes, enough players willl have hurled themselves against the game’s edge cases to expose enough of these quirks. Once found, they are examined and considered for any advantage they might offer to advanced players. The last two items in the previous list are examples of players managing to find themselves slip through unforseen gaps in the transcription of the rules. While they would typically be labelled as “glitches”, they are still rules of the game.
Sometimes the most effective path through the game is one that betrays the designers at almost every turn, relying on mechanics that were born only out of mistakes and the unintentional interactions of chunks of game logic. This can be seen in perhaps its most extreme form in this tool-assisted speed run of Super Mario World. The game resembles one that I have seen before, but the player’s interactions with the game are firmly rooted in glitchspace. The real game being played in this video is largely invisible, playful manipulation of values in memory, and the video only captures the visual representation of it.
It took twenty years of play and analysis to find that particular Super Mario World glitch, and even then it can only be achieved by very choreographed automated play. Most players will typically only ever experience the general contour of a game. Time will slowly expose the various cracks in that surface, and this process is expedited by the presence of online communities dedicated to such spelunking.
This exploration is not as easily done when people are the ones tasked with executing the rules of the game.
A Guiding Hand
When Drew Brees broke Dan Marino’s record, a common refrain from commentators was that “the game had changed”. Dissatisfied with the way that people were making that claim, but not presenting data, I decided to do so myself.
Sure enough, the game was different. For example, average passing yards per team in 2011 was well above all other years. Unlike Super Mario 64, this wasn’t due to players recognizing and mastering hidden game rules, but rather complete overhauls to those rules. Football, like most sports, is a living game. It can be altered at any moment by its guiding organization. The NFL had made changes to the game on multiple occasions to “add excitement for the fans”.
In 2011, several rule changes were put into place. One particular significant change regarded the protection of receivers in the process of catching the ball. Certain types of hits against “defenseless receivers” would result in a penalty. This continues a seemingly long trend of offense favoring rules changes, dating back to 1978, when some of the particular tactics of strong defenses, namely strong and frequent contact with opposing receivers, were explicitly forbidden. The net effect is that NFL defenses had been nerfed.
My invocation of MMO terminology here is intentional. Take a look at his list of NFL rule changes throughout history. It doesn’t read too dissimilarly from patch notes to an MMO. Living videogames were once limited to MMOs, but now as free to play online games, and platforms that encourage frequent updates (such as Apple’s App Store) have extended the reach of living games to all genres. The updates often include reblancing, like those in the NFL, but will also include fixes for exactly the kinds of bugs exploited in games like Super Mario 64.
Where players playing static games can explore beyond the surface of a game, living games can prevent that by warping that surface. This is especially the case for multiplayer games, where the balance of the game is critical to its financial success.
Skynet: The Game
What if a game could alter its own rules to cater to the player? What if a game existed that was molded specifically to your changing tastes and ability. This was partly a promise of the AI Director in Left 4 Dead, and it did satisfy in most respects. The AI Director was limited to parameter changes (e.g. difficult, pacing), though, and could not add new rules. That last feature would be the key.
I recently encountered a 2007 paper on “Automatic Design of Balanced Board Games”. From a pool of potential rules and rule mutations, a number of board games were created and simulated, aimed at finding the best balanced of the bunch. It doesn’t quite satisfy my condition of a self-mutating game, but it seems to lay the foundation for it. “Fun” is terribly difficult to quantify, but given our knowledge of player psychology, it may be possible to define some heuristics that would at least get us close (balance, challenge, dynamics, etc.).
Realistically, such things are a long way off. The computational cost needed to just generate a few seemingly interesting board games was far too much to make it feasible (right now) for a per-player catered game. Further, I’m not even sure that the results would be at all pleasant. If a game like Super Mario World can be so chaotic under the right circumstances, what might the self-mutating game create in its own glitchspace?