What Are These Feelings? —
Sometimes I have strange feelings, very difficult to articulate.
In the cases that I’m talking about, it’s how I get about narrative approaches to code. I am completely entranced by narrative approaches to code. If I find one of these examples while browsing, every single other thing in my life gets backburnered until I finish digesting the narrative. It’s like finding a unicorn. You drop your pack of gold and hold onto that sucker because you’re going to get a wish. This sometimes leads to major decision trees that have probably led to a lot of “Hello? Where are you?”-type missives directed on me. I apologize to everyone, in retrospect and advance.
Here’s some examples:
- Why the fact that you can make some points jumping near Donkey Kong on the arcade game version is a bug and not a feature.
- A collection of heavily commented Atari 2600 cartridge disassembies.
- The process of improving Crazy Climber in Free Play mode.
Coding is magic to me. Over time, obviously, it has lost some of the zest and spring because there’s such a large industry associated with it and people can let the hardware do the thinking. That is, they no longer find themselves with a bucket, a length of rope and an orange and have to get to the top of a castle. They say SEND_TO_CASTLE and they’re done, they don’t even care what’s happening under the hood. But when you take 20+ years of experience with coding and the advances we made, hie yourself down to these long-ago games, and just rip them apart in the operating theater, I’m going to be one of the interns up in the bleachers watching everything.
Does this stuff sound familiar from me? It might. I’ve certainly done my share of raving for Krakowicz’ Kraking text files, and this care paid off in an interview I scored with him a couple years back.
It’s the tour guide aspect I love. It’s the guy at the front of the boat, telling you where to look, giving you the context. Sure, it’s a bunch of code, but what was going on when it was made? Why were these choices made? Why was there such intense work to make this one piece act like it did? The tour guide, a good tour guide, will wrap it all up for you. Even if they’re not 100% complete, they send you on the way you would want to go to find out even more.
I think, personally, the future is in being a tour guide. I think that’s what we’re all becoming. I’ll write about that shortly, I’m sure.
Meanwhile, I never get tired finding out how large the collision detection block is in Donkey Kong, or how well they tried to hide the chips in Crazy Climber… and that ultimately, no secret got left behind.
Categorised as: Uncategorized
Comments are disabled on this post
I read the word “Krakowicz” and it fired a place in my brain that hasn’t gone off in 20-25 years. I probably know enough now to actually understand those. I certainly didn’t at the time.
I’ve printed out ALL of the aforementioned code narratives and assembled them into a terrific book. I’m going on vacation to St. Thomas next week and plan on reading every last morsel while tanning on the beach!
Another example: why hyperlinks are in white text on the main ASCII page but are in green when you click on the individual entries.
These are similar in spirit to DVD commentary tracks. I love listening to really insightful commentary tracks where directors fill you in on the secrets of movie making. As it relates to videogames, as a kid, you tend to chalk a lot of these things up as weird accidents. As you get more computer savvy you realize there is no such thing as an accident to a computer — it’s only doing what someone told it to do, and it’s interesting to see the logic behind those “accidents”.
Another interesting aspect to these bugs is that to discover them, the gamer has done something that the creator never tried (or they would have found the bug and fixed it). I think that’s really interesting. The coder of Donkey Kong obviously never stood at Kong’s feet and jumped … but some kid with a quarter did. The coder of Galaga obviously never performed the “no-fire” trick (which involves leaving an enemy alone for somewhere between 5 and 20 minutes), which causes a glitch in the code to where to enemy will fire at you for the remainer of the game … but some kid with a quarter did.
You might have seen this, but Stories on the Atari ST, Newton and more.
Ben Fry has done some very cool visualizations of the assembly code in two of the original Nintendo cartridges: Excite Bike and Super Mario Brothers.
I also think his related mariosoup image, and especially his deconstructulator project are excellent. While these don’t exactly tell a story about the code, they do provide an alternate view into the normally hidden complexities.