{"id":285,"date":"2006-10-04T22:41:00","date_gmt":"2006-10-04T22:41:00","guid":{"rendered":"http:\/\/www.dresan.com\/blog\/?p=285"},"modified":"2006-10-04T22:41:00","modified_gmt":"2006-10-04T22:41:00","slug":"pacman-in-excel","status":"publish","type":"post","link":"https:\/\/dresan.com\/blog\/2006\/10\/04\/pacman-in-excel\/","title":{"rendered":"Pacman &#8230; in Excel???"},"content":{"rendered":"<p>Mother of Mercy.  I was digging through my old posts and found this unpublished, unfinished draft started on October 4, 2006 titled &#8220;pacman???&#8221;.  Apparently I stumbled across <a href=\"http:\/\/www.geocities.jp\/nchikada\/pac\/\">version of Pacman written in Excel<\/a> and was so shocked that I could only write the outline of the post in a barely organized list of URLs.<\/p>\n<p>Reading through those &#8230; apparently my initial horror led me to look into a whole bunch of other things, including the <a href=\"http:\/\/www.javascriptarcade.com\/\">Javascript Arcade<\/a> with versions of classic games written in Javascript.  Back then, people were looking at using a variety of <a href=\"http:\/\/www.walterzorn.com\/jsgraphics\/jsgraphics_e.htm\">DHTML tricks<\/a> to do graphics in Javascript.  In the days of <a href=\"http:\/\/www.chromeexperiments.com\/\">Chrome Experiments<\/a>, a few short years later, this no longer seems insane, though now you&#8217;re more likely to want to do this in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Adobe_Flash\">Flash<\/a> &#8230; and sure enough someone has <a href=\"http:\/\/www.thepcmanwebsite.com\/media\/pacman_flash\/\">done so<\/a>.<\/p>\n<p>Reading through the tiny notes and trying to reconstruct my thought process &#8230; apparently the idea of using Excel to implement Pac Man, and the challenges of drawing lines in the DOM, took me back to the ideas of in <a href=\"http:\/\/www.amazon.com\/Fundamentals-Interactive-Computer-Graphics-Programming\/dp\/0201144689\">Fundamentals of Interactive Computer Graphics<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/James_D._Foley\">Jim Foley&#8217;s<\/a> text, the first book I learned graphics from.  There have been many versions of that book since, but they&#8217;ll all tell you how to create lines on a grid, whether you&#8217;re doing it with low-level hardware or with cells in Excel &#8230; shudder.<\/p>\n<p>Apparently creating graphics on top of a windowing system and browser reminded me of the idea of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Virtual_machine\">virtual machines<\/a>, a fundamental idea in computer science in which one computer system can be used as the &#8220;physical hardware&#8221; to create another computer system on top of it.  Once you create one virtual machine, it can then be used to create another &#8230; and another, and another.  Another &#8220;seminal&#8221; book for me, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Douglas_Hofstadter\">Douglas Hofstadter<\/a>&#8216;s <a href=\"http:\/\/en.wikipedia.org\/wiki\/G%C3%B6del,_Escher,_Bach\">Godel Escher Bach<\/a>, explores the consequences of layers of virtual machines in much creative detail.<\/p>\n<p>So the point being, the more advanced our computers become, the more likely it is that we&#8217;ll be creating things like <a href=\"http:\/\/en.wikipedia.org\/wiki\/Pacman\">Pac Man<\/a> in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Microsoft_Excel\">Excel<\/a>.  <\/p>\n<p>I don&#8217;t know whether to weep in joy or fear.<\/p>\n<p>-the Centaur<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mother of Mercy. I was digging through my old posts and found this unpublished, unfinished draft started on October 4, 2006 titled &#8220;pacman???&#8221;. Apparently I stumbled across version of Pacman&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11],"class_list":["post-285","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","ratio-2-1","entry"],"_links":{"self":[{"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/posts\/285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/comments?post=285"}],"version-history":[{"count":0,"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/posts\/285\/revisions"}],"wp:attachment":[{"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/media?parent=285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/categories?post=285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dresan.com\/blog\/wp-json\/wp\/v2\/tags?post=285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}