D E B U G G I N G GAME H I STO RY a Critical Lexicon
Total Page:16
File Type:pdf, Size:1020Kb
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 video game, 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 personal computer 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,dlda<OI ent though sim y sta le property f A more rec ea o code as a b I n e the very id f lff,.ddlol.J<llell._y)fPeddlcl._y+aPIIDDl&_SHJ:D:J the game challe g s a e et a close look at all successful arc d iff Paddlol .J>Ball._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<loll._ylI Foddld.J+•FIIDDU_SPUD, I e Pong (Atari, t oth of the dueli g gam o Pong, excep b if fhddh2 .J>loll,JI (11441"2 ._y-•FIIDOl&_SHJ:D,I n s r-two play f reated the ten i -fo t el then what ) Naked Game re-c u er is playing i s f, e es. If the comp t a ificial intellig nc iflloll._y<PJJ.mEl.0_HlUY 11 J11l,.J')PJJ.YflEl,D.�I(bolld.,...bolldy: Joll • ..fl"bolldy:J m uter-controlled rt were co p ode. er plays the c iffS.11._xdJJ.mJ:l.0_HOIX+BAl_lltllrB u (hll,J>Poddlcl._y-BAT_RtlGBT_CIVEIU u Joll ,_y<Poddhl,_r<BAT_ll?IGBT_MR_2J I ite simply, the play elo the th player do? Qu i usually kept b w (balld••-bollda;btlldy• {���h. rand=(> 410) -5:Bsll. _a•PLAYPIELtl_KlllX•!I.T_WJOTft: J does e the player what s ing available to o e ersion, mak t o ers the if lhll,_x < PJJ.YflEI.D_lllllX) n a rare kind f v n ript code tha p w I ose he Actio Sc (ni:Sc.orcC21 Pl•�r1"orctlJ :rc1ctlDll(J:} e appears to exp t ame The Naked Gam the retro black urface of a g , t the right of if lhll ,_x>PJJ.mEt.0_H.'IXX·BAl_llIDTH • 1 \1111,J')Paddl.Z,_y·BAT_RtlGBl_CIVER_2 u B,ll ,_.Y<Paddld,JtaAT_MtlG!lf_Mll _21 I s ar a les appear o s itial state v i b r (balldx • ·btlldx: btlldy • (Ma-:h..nindcmO • 10. - 5: Ball._x • PL\YFIW_HIJC( - BAT_M'JMB: ) re . The game' in the compute me (see figu 7.1) that emulates how ga isplay (HUD) if lhll,_x > PJJ.fflELD_!W0ll a kind of head-up d eld, Pong playing field, the playing fi (ndcorcC1 1Ph:rerlbretlJ itc:,ctBall(I:} and green are splayed below si s algorithms di ean hile, the phy c t hese s e the game. M w e eloper puts i . T itself e s the ame," as the d v t e echanics of g ode "governing h m n the game se enteen lines of c ray it out, maki g v n on a line to g Figure 7 .1 la r plays, clicki g s o e are what the p ye t me, as the two Ai The Naked Game lines of c d mediately, in real i (RetroDev Games, 2008). At http://wayback.archive.org/web/20140405064152/http:// removal occurs im e t of a line's i le lines ne i nore it. The eff c toggling mult p www.retrodev.eo.uk/MiscGames/NakedGame/TheNakedGame.html. engi g u the effect by layer can compo nd each other. The p continue playing ine from the of code. dx; removes that l The Naked Game is what Ian Bogost might call a "throwaway," a game meant to be played e Ball._x+=ball ng the line of cod ball will For example, clicki along the x axis, The once and then tossed aside (2011, 96). After all, it takes only a fewminutes to explore the pos ball that no longer moves m, resulting in a licking the line program's algorith ne on the screen. C sibilitys pace of The Naked Game. The game is also a throwaway in the sense that it is no longer n in a straight li the axis, up and dow to simi mo e only along y nes of code leads ea a a a e e ause t e e e o er s e te a on n e a ea t o a a now v urning off other li r dily v il bl b c h d v l p ' w bsi h s l g si c dis pp red- h ugh pl y rmalizing gameplay. T ate the code, no PLAYFIELD again reinst s ins if (Ball.