DEBUGGING GAME HISTORY A Critical Lexicon

Game Histories edited by Henry Lowood and Raiford Guins edited by HenryLowood and Raiford Guins

Debugging Game History:A Critical Lexicon, edited by HenryLowood and RaifordGuins, editorial assistant, A. C. Deger 2016

Zones of Control: Perspectives on Wargaming, edited by Pat Harrigan and Matthew Kirschenbaum, 2016

The MIT Press Cambridge, Massachusetts London, England Copyright 2016 5! 7 CODE

n Melan Mark Sample Stuckey, Hele , t: The of Games Pas ntert on Interactive E oid=2513 citation.cfrn?d

elani swalwell, M resent tion, and P http://w ww.digr p -games-history-

swalwell, Melan Code is a set of instructions to a computer. Code is more or less readable by both humans and etrit Novelty to D machines under certain conditions and for different purposes. Programmers write code; vcu.sagepub.co machines enact it. In between these two stages, the original code-called the source code­ n nee s o e o e e e se s o er ro ns es e N., and ofte d t b c mpil d. Th compil r it lf i a c mput p gram, and it tra lat the Taylor, Lauri lines oflegible commands, conditionals, variables, functions, and loops into machine language, History and No Uni a sequence of numbers in hexadecimal or binaryno tation that the computer can understand. Vanderbilt These numbers essentially tell the computer when to add and by how much. This is what even 20 Weiss, Brett. the most sophisticated software comes down to-combining ones and zeroes to manipulate -16 and TurboGrafx the logic of a circuit. Video games are no different in this regard from word processors, spread­ sheets, email programs, or web browsers. All start out as source code, and they eventually Weiss, Brett. become executable programs. If the program is a , it runs on a gaming platform, eiss, Brett. W which might be anything froma handheld Tamagotchi to the latest console system in the liv­ ing room. Or a smartphone or a or even a calculator. Code may appear arcane to nonprogrammers or be utterly inscrutable in its compiled form. Because of these occult properties, code is often privileged over other aspects of software design. As Wendy Hui Kyong Chun (2008) puts it, there is a tendency to fetishizeso urce code. The attention that game designer Jordan Mechner received when he rediscovered and then released his original Apple II assembly code for Prince of Persia (Brnderbund, 1989) is a testa­ ment to this fetishization (Mastrapa 2012). The availability of the source code for Gabriele Cirulli's game 2048 (2014) has likewise spawned dozens of so-called clones (Ballard 2014), as if code alone-and not gameplay, mechanics, and a compelling balance of ease and difficulty­ were all that is required fora hit video game. The term clone itself suggests there is something genetically essential to game code, the software equivalent of DNA. Understood this way, game code implies a vast, hidden universe under the surface of the game, difficultt o crack, a cryptic mystery.Wh en it comes to games, it's code all the way down. MARK SAMPLE CODE 55 54

ame between (1961) was a "g var ranou._sRED - 3: a ut code. Darwin TU WJ._5TIJttDX. eo games was bo e - >: o the earliest vid ssotsky, Rob rt Till' aat.L_SVJttDV - .9, Indeed, one f e Victor A. Vy ull , 93). Creat d by TU' BU_lUDIB - 2.11, leph N 1972 r • ams as programs" (A small compute 'TII' all_flttG!IY_OYD_2 30, om uter progr in set var Pl.A.Yfll:t!)_!U.UI • 10, c p hone Laboratories, Darw at ell Telep vu Pl.A.YllEC)J.JJOt - f6tJ1 ou las Mcllroy B h program rr s Sr., and M. D g en ironment. Eac var nunno_Mltrl • 25; Mo i other's virtual v t e over each var ,wnuo_!".AXT - 220, ompetition to ak emory blocks Till' !IJ_tu'ADLTY - 120: rograms in c na on an IBM 7090. M p lo s in an "are " TAI' �&ferlSco!'I! -O: memory b ck ll TU ol&yer2Scc_..i - BE and CLAIM rst rogram to fi o, empted to PRO The fi p TU bl.lldX att h a KILL command. - !WJ._SUJlftlll elim nated wit TU bt.lldy onent could be i tr ublesome - IWJ._SlAJITT>r: upied by an opp ersion of the o occ ame, a ludic inv the arena won the g n le memory in n a long traditio up the availab as only the first i slo code. Darwin w that can plague ppy es and A. o leak problem Core War (D. G. Jon mem ry- t e cult classic e ther overtly, as in h thematized code i craft(M ojang, 2011). of games that ased game Mine in e procedurally b more subtly, as th the primacy ewdney, 1984) or, ears to insist on K. D eo game also app ilarl obscure vid o UU,dldaBall._y)(P•ddlol ._y-•PIIDDU_snro,I of code. Y irst commerci y I lash version of the f The Naked Game is a F ev Games, The i eo games. mpany RetroD iffbdlda>OI v d the now defunct co el ased in 2008 by ents I 1972). R e n oppon lf f1•ddlc2 ._y

3. Functional code might also include wha a a t M rk M rino calls "extrafunctional significance" (2006). Extrafunctional a e Tobie 7 .1 signific nc means the code participates in a system of signs beyond ionscript Code Act those e xecutable by the machine e Playable Code . This xtrafunctional significance m ight be found in a on update() functi developer's choice of a varia e a e update() bl n m , such as BAT_WIDTH, which hints at The Naked Game's function { British origins, likely referencing a e { crick t bat, or the more troubling "FeministWhore," LinesActive(l)) if( discovered in the code e balldx; of th zombie survival horror game Dead Island (Techland, 2011) Ball._x+= { (John 2011). Extrafunctional significance m a y+=balldy; balldx; ight lso occur in the comments in the code, mea Ball._ Ball._X = Ball._X + nt to be read only by othe a r progr mmers on the development team (Sample 2013). } 4. Code can also include nonexecutable a a digit l ssets such as plain text, images, movies, tex­ if(LinesActive(2)) ture maps, avatars, sounds, and e music. D compiling NakedGame.swf reveals a host a e { of ss ts (see figure 7.2) that have been bundle e ldy; d in th package, including sprites of the paddles and Ball._y = Ball._y + bal ball as well as the a udio file. Fla a a sh's p ck ging of assets in an executable file is re a e } l tiv ly straightforward. other video games ma e y us other methods, including compressing assets in a separate file, such as WAD ("works as designed") or VPK (Va e a a e v d o game into lv P ck g ) files, or as seamless play of a i e at can mar the stand-alone files referenced by the a the kind of glitch th m in program. In all of these cases, the media assets programming, turning are not strictly speaking instructions e. to the computer, but they are composed of code-ones game itself. does not count as cod the what counts or and zeroes. s uctive in determining Game is also in tr e game actually The Naked as e code inside th o e screen, h th 5. Finally, code may also refer to re u a es a line of code n th ng config r tions of the game the player makes outside e player toggl e game? Decompili of Wh n a e code inside th e a o e game in fact th gam pl y. These reconfigurations include modifica ode on the surface f th ovides tions, hacks, and cheat codes (Galloway anged? Is the c es of source code-pr ch Flash file into lin 2006, 13). The m acking the executable fa ous Code on the Nintendo Entertainme e swf-that is, unp o ding Action- nt Syst m NakedGame. ode to the corresp n es of playable c (up, up, down, down, left, right, e ompares the first lin l ft, right, B, A) is not code on the level of source a swer.' Table 7.1 c code, but an n e e it n v rtheless plays on the occult mystique of e a edGame .swf. e array cod , ch nging the properties of the game Script code in Nak de (the Line sActi v es of playable co through an a a e e s anning the 17 lin rc n proc ss (Consalvo 2007, 29). operates by c atching line is The program ve or not. If the m whether the line is acti ipt), determining le in that line Taken together, these five e in the ActionScr da s the variab suppl ments to the definition of code teach an im a e the program up te port nt l sson: ed by the player-then ode is a mistake i at is, not click i offa line of c it to think about code as always and only instructions act ve-th o er words, toggl ng to a computer. 11. _x + balldx;). In th e Bal1. _x = Ba o its previous This situation is complicated by a e e (for exampl , va iable to default t n xig ncy of modern software developme e u as it causes a r nt: softwar ode of the game so m ch me rare e s change the c es of the ga . ly sp aks directly to hardware; it speaks instea a doe not erface to the variabl d to container piece of software within code; rather, it is an int e playable code is not Naked Game: which it resides, what is known as a virtua a value . Th the example of The l m chine. For example, Flash functionsa s a virtua ode an be drawn from l usion about c c e of machine a important concl de cludes a numb r within browser. The case of The Naked Game e a An eferred to as co in rais s n existential question that What is commonly r a onolithic entity. applies to nearly all modern vide a e code is not m o g m s: What counts as the code of a game? If code a dimensions: isn't in epistemologic l- thepl a a e a e-not to mention y bl code on the screen, is it the NakedGame softw r 35; Manovich .swf file, the web browser, the Flash exten­ a e (Gal loway 2006, a e rules of the g m sion needed to run the game? Or erpreted to me n th es e is it in the operating system of the compute e ode is frequently int e player chang th r its lf? Faced 1. c Game, for when th with these s allizes in The Naked propositions, one might readily see The Naked Game 2). This conflation cry t as circumstantial evidence that 2001, 22 games e eally the rules. ar indeed code all the way down. eing changed is r a achine. "code;' what is b e instead of at m a eaders or play rs Yet this e r aimed at hum n r s is not th case, and The Naked Gameh elps to e a e a loaded signifie ez Breeze' xpl in why. Recall that The Naked Game 2. code can b o l erally code. M evo ative of code, n t it is, as the developers a d Game is c od put it, "primitive version of 'Pong."' It's ea e s en code of The Nake pseudo-c e uncl r wh ther "primitive" is The on cre es of nonfunctioning ovocative exampl odework provides pr o John cayley's c r 2). eo games (Raley 200 outside the realm of vid CODE 59 MARK SAMPLE

58 electromechanical arcade games that required no code. Pinball machines, shooting games, racing games-all without code (Wolf 2008, 35). If video games can exist without code, then Nal

s they Works Cited t e code, as long a e like with h t do anything th y se s permission o h gives u r a 1999). (GPL), whic er GPL (Carm ck e Nu om uter e rea o s Software, Practice, Experience ee under anoth aterial Al ph ll. 1972. "C p R c ti n ." & 2 (1): 93-96. source code fr e atest m e the resulting e ed. lt is th gre mak st be acknowl dg doi:.10.1002/spe.4380020110 e sion of code mu le person more dim n ran e from a sing Finally, one ment teams g eople. Develop e is made by p indie game for Ballard, Ed. 2014. "Want to Stay Anonymous? Don't Make a Hit Computer Game." Wa ll ion of all: cod s designing an condit to small studio r ewgrounds.com e video ame bound fo n t at dominate th Street Journal Biogs-Digits, March 18. http://blogs.wsj.com/digits/2014/03/18/want-to-stay designing a g isoft and EA h panies such as Ub hl multinational com there is roug y -anonymous-dont-make-a-hit-computer-game/. am to massive le are male, and Ste st these peop e industry, mo of r 2009, the video gam r and De Peute ame industry, In s (Dyer-Withefo d ost a How to Things with Videogames. in ea o s e s o nes ta ess g en programmer Bog , I n. 2011. Do M n p li : Univ r ity f Min o Pr . men and wom o 50 to 60 a ap between e o ers may w rk a $9,000 p y g rel ase, the dev l p a game's e e runch time" before oung age of th Bogost, Ian. 2006. Unit Operations: An Approach to Videogame Criticism. Cambridge, MA: MIT Press. uring the "c t relatively y 54-59). D le perhaps by he on made possib rter of o ing conditi e than a qua urs a week, a w rk old, and few r Carmack, John. 1999. "Id-Software/Quake." GitHub. https://github.com/id-Software/Quake. ho ustry is 31 years ker in the ind rogrammers e The average wor on average, p workforc . n in the industry; urnout is commo Chun, Wendy Hui Kyong. 2008. "On 'Sourcery,' or Code as Fetish." Configurations 16 (3): 299-324. ave children. B ault Teluq 2012). those surveyed h eststar and Leg e r urrent jobs (W s doi:.10.1353/ con.0.0064 ur years at th i c es recapitulate e less than fo o ers the gam will sp nd t e code that p w om n who write h e le e men and w e le as are the p op e work of th e ode is invisib , Consalvo, Mia. 2007. Cheating: Gaining Advantage in Videogames. Cambridge, MA: MIT Press. Th e eptions asid , c o ode. A few xc 1989) e ning features f c SimCity (Maxis, one of the d fi Kay once called ter scientist Alan t Crawford, Chris. 2003. Chris Crawfo rd on Game Design. San Francisco: New Riders. e endary compu knowledge" tha write it. The l g ewhat arbitrary who ptions and "som foll of assum s to us in a s ... black box:' t at code come Dyer-Witheford, Nick, and Greig De Peuter. 2009. Games of Empire: Global Capitalism and Video a "perniciou ma be correct h e (2007). Kay y ne or challeng d archivists, teach­ Games. Minneapolis: University of Minnesota Press. not be questio d of historians, can ed. It is the task t at can't be open ntinue ut it is not a box h isible, and to co black box, b e its contents v a o a an er Gaming: Essays on Algorithmic t on e a ns no t a box, to mak G ll w y, Alex d R. 2006. Culture. Elec r ic M di tio . 18. ers to examine h t and what it ents, and play m what it does, ers, stud it comes fro , Minneapolis: University of Minnesota Press. of code, where our understanding to complicate John, Tracey. 2011. "Misogyny in Code Is Still Misogyny." Tracey Writes Stuff, September 8. means. http://traceyjohn.blogspot.com/2011/ 09/ misogyny-in-code-is-sti 11-misogyny.html.

Notes Kay, Alan. 2007. Email to Don Hopkins. November 10. http://www.facebook.com/topic.php?uid a rogram such =6321982708&topic=3486. e ase of Flash p i ed, but in th c so easily decomp l p:// led code can be al task. See htt 1. Not all compi n a relatively trivi Kelty, Christopher M. 2008. Two Bits: The Cultural Significance of Free Software. Chapel Hill, NC: makes decompilatio ee ash Decompiler as the JPEXS Fr Fl Duke University Press. http://twobits.net/ er om/fl ash/. ee-decompil .c e see Crawford www.fr rocess intensiv ;· intensive" and "p Lesser, Mark. 2007. Interview by Scott S tilphen. Digital Press. http://www.digitpress.com/ e concepts "data o erview of th 2. For an v library/interviews/interview_mark_lesser.html. 89-90. a be reverse (2003), o e s that which c n ning code. C d i Levy, e e native way of defi ative St v n. 2010. Hackers: Heroes of the Computer Revolution. Sebastopol, CA: O'Reilly Media. ests an alter e se for deriv s EULA sugg e used as th ba 3. Thi ed, perform d, ssembled, display e ompiled, disa Lowood, Henry. 2009. "Videogames in Computer Space: The Complex History of Pong." IEEE engineered, d c s modified. Annals of the Historyof Computing 31 (3): 5-19. works, or otherwi e MARK SAMPLE 62

ard." is ory of the Punch C r tilate': A Cultural H t o ot Fold, Spindle, o Mu Lubar, Steven. 1992. "'D N 43-55. Journal of American Culture 15 (4): ress dia am ridge, MA: MIT P . The Language of New Me . C b Manovich, Lev. 2001. er 4. http:// Electronic Book Review, Decemb "Critical Code Studies:' Marino, M ark C. 2006. oetics/codology. com/thread/electrop www.electronicbookreview. om Digital Death:' Prince of Persia's Source Code fr "The Geeks Who Saved Mastrapa, Gus. 2012. o n e of-persia-source-c de/. red.com/20l2/04/pri c - Wired, April 20. http://www.wi estudies.org/060l/ Game Studies 6 (1). http://gam ombat in Context." Montfort, Nick. 2006. "C es/montfort. articl Electronic t of Codework." riting) and the Prac ice nterferences: (Net.W Raley, Rita. 2002. "I e ectropoetics/net o eview.com/thread/ l .electronicb okr e erm console Book Review, September 8. http://www t masonry a nd/or .writing. October 1. http:// ser License Agreement:' and support for o star G ames End U star Games. 2013. "R ck Rock ontext, bracketing om eula. www.rockstargames.c / ames." th such defini­ i a Excess in Videog r Logic and Rhetor c l riminal Code: Procedu al ample, Mark L. 2013. "C tml. nineteenth century, S ol/7/1/000153/000153.h talhumanities.org/dhq/v Digital Humanities 7 (1). http://digi in its intended e mbers: Indepen­ "More Than th Nu n o s a e osee Legault Teluq. 2012. o ly supp rt ohanna, and Mari -J o org/ Weststar, J ober. h ttp://gameq l. o Survey;' 8-9. Oct h functional and e IGDA 2009 Quality f dent Analysis o f th a e ndustry in%20the%20Videog m %20I ality%20of%20Life%20 upon a lone wp-content/uploads/2012/12/Qu ey%20Analysis.pdf. %20-%202009%20IGDA%20Surv Station and Beyond. a more i ar from PONG to Play d fam li The Video Game Explosion : A History Wolf, Mark J. P. 2008. d with the then oo Press. Westport, CT: Greenw d magnetic tape­ in the late 1970s. a mere "cabinet" ce of furniture d informative

ogyo f the for the control of e term denoted cabinet for," but oviding a means