Introduction: Reading Code

I’m reposting the final paper from the English senior seminar I took with Dr. Whalen last fall semester. It is an exploration into Critical Code Studies. Here is Part 1 of Reading Code.


Underlying every video game, work of electronic literature or mundane computer application there is source code forming the processes we interact with. As players, readers or end users we deal with the output of a multitude of code, often very complex and interesting in its own right. While there is code underlying all digital artifacts, I am most interested in examining the source code of electronic games.

In his article Combat in Context, Nick Montfort introduces a five layer conceptual model for thinking about video games. He defines the five layers, in order, as:

  • Platform
  • Game Code
  • Game Form
  • Interface
  • Reception and Operation

Platform is the underlying software and hardware system that the game runs on, such as a Windows PC, an X-box or an Atari. Game Code is “the computer program that realizes a game” (Montfort, 2006). Game Form corresponds to the game’s rules or procedures. Interface, “sits between the player and the game form” (ibid.). Reception and Operation is the level the player experiences the game at and forms their interpretations of the game as a work of literature.

Critical work can take place at each of these levels, with most current work on video games taking place at either the Reception and Operation level, or the Game Form level. The different layers are present simultaneously in every game, and I believe that the most insightful criticism takes as many of them into account as possible. I am most concerned with the Game Code level, particularly as it informs the processes that take place in the Game Form level. In this paper, I attempt a “full stack” criticism that comments on several levels of Jason Rohrer’s Gravitation.

Following Bogost’s thinking on the procedurality of games (Persuasive Games, 2007), I view the rules or processes that occur in the Game Form layer as the most critically significant for any game. The processes allow the game’s author to make arguments and change the way players think and feel about the world. As a programmer, untangling and understanding other people’s code is a useful exercise for learning new techniques, but as a literary scholar studying video games, reading code allows for crystal clear explanation of rules which are often difficult to describe in natural language. If the rules are the most important part of a game, and the code forms the rules, then the code is a worthwhile object of study.

Critical Code Studies

While there had been earlier academic work done examining the source code of electronic literature, the term Critical Code Studies was coined in 2006 by Mark Marino in an article for the Electronic Book Review. He describes Critical Code Studies (CCS) as “an approach that applies critical hermeneutics to the interpretation of computer code, program architecture, and documentation within a socio-historical context.” (ibid.)

This sort of criticism was being done with respect to electronic literature that was essentially code, such as Perl poetry. However, in these works the focus is on the algorithm that generates the work, as the output is frequently nonsensical, and the textuality of the actual code is frequently illegible and obfuscated in order to compress it. This is similar to work from the Oulipo which focused attention on the process of making poetry rather than the output.

The innovation Marino offers is broadening the field of inquiry to include all code that forms electronic literature. Marino builds on Cayley who, in an earlier article titled The Code is not the Text (unless it is the Text) (2002), pushes back against much of what he was seeing in electronic literature that involved code. Cayley critiques “codework” that is not executable, rightfully criticizing such work as one dimensional, and not taking full advantage of the programmable nature of computers. Perhaps worse, critical treatments of works that are computable treat the code as a surface output, as a flat text rather than the rich process oriented work that it is.

In Marino’s definition of CCS, he proposes “that code itself is a cultural text worthy of analysis and rich with possibilities for interpretation” (2006). Much of the remaining article is spent exploring and justifying this position, and in doing so he established the humanistic study of code as a unified practice, rather than several disparate practitioners. A central point that CCS is based upon is the unique property of high level computer code, its doubly encoded nature as a computational object and a natural language text. I explore the implications of this further in the next section; however it is worth noting here how different this is from other forms of media.

One counterargument that Marino addresses is that code is just a byproduct of the process of producing electronic literature. He quotes Jeremy Douglass who, playing devil’s advocate, contrasts code with film saying, “Why do I have to study film-development processes, if they do not have a perceivable affect (to the naked, untrained eye) on the image that results.” (ibid.) Marino’s response is that, unlike the byproducts of film production, code is itself already a text. “This text can be read, understood, and of course, altered.” (ibid.)

I think that the choices made in the production of electronic literature or video games do impact the processes or Game Form, which in turn is felt by the reader or player at the Reception and Operation level. Another counterpoint I would add is that the code is inherently part of the work, in a way that film byproducts, notes in the margins of a novelist’s notebook or sketches of a work of sculpture are not. With a complete copy of the source code it is usually trivial to compile and reproduce the output, whereas in other media the preproduction versions are entirely different works.

Marino acknowledges the challenges of studying code when much of it is hidden behind proprietary licenses. He also accepts that the vast majority of code is not poetry, it is industrial in nature and terse in diction. Given this, I believe that the greatest potential of Code Studies is investigating the Game Code of digital games and unraveling the ways that this impacts every layer leading up to the surface that the player experiences.