Why I am a Programmer

There they sit, the preschooler class encircling their mentor, the substitute teacher. "Now class, today we will talk about what you want to be when you grow up. Isn't that fun?" The teacher looks around and spots the child, silent, apart from the others and deep in thought. "Jonny, why don't you start?" she encourages him. Jonny looks around, confused, his train of thought disrupted. He collects himself, and stares at the teacher with a steady eye. "I want to code demos," he says, his words becoming stronger and more confidant as he speaks. "I want to write something that will change peoples perception of reality. I want them to walk away from the computer dazed, unsure of their footing and eyesight. I want to write something that will reach out of the screen and grab them, making heartbeats and breathing slow to almost a halt. I want to write something that, when it is finished, they are reluctant to leave, knowing that nothing they experience that day will be quite as real, as insightful, as good. I want to write demos." Silence. The class and the teacher stare at Jonny, stunned. It is the teachers turn to be confused. Jonny blushes, feeling that something more is required. "Either that or I want to be a fireman."

  - Denthor of ASPHYXIA (aka Grant Smith), TUT7.TXT, 21/11/1993

In the Beginning...

I grew up in a pre-mainstream Internet world. A time when only a handful of kids at my primary school had a computer. We lived in a rough neighbourhood and so having a computer meant that you were a target for robbery. As we all knew somebody who had their computer stolen at least once, having a computer was kept on the low down. But we still found each other. Each time word got out that some kid got a new computer, they was suspiciously quizzed before being let into our digital posse.

A lot of my childhood was spend living indoors behind a buzzing 14" CRT, pirating games with other kids via 3.5" single-density floppies with their corners drilled out, and once in a while even playing them. But I was more of a collector than gamer. Like Ash from Pokemon - got to catch them all. And the people who created computer games were my idols. I was always in awe of what they could do with that big, heavy, beige box under the table.

One day word spread that there was a way to edit saved game files via XTreeGold's Hex View that gave you unlimited lives and allowed you to skip stages. With each new game that came out, the race was on to see who could be the first to flip the right bits to get the powerups. It was seriously heart pumping. Although only tinkering, it felt like we were our own gods.

We bought a modem a few years later and soon after got a copy of The Australian BBS Listing - a textfile containing most of the publically accessible BBSes online. I dialed every one of them (but that's for another blog post). It opened up a whole new world to explore. Instead of just a handful of kids pirating games via Sneakernet, I was connected to the digital underground - a world where anything digital was within reach (some even had Internet gateways). Even the newest blockbusters that I had only read about in PC Zone magazine were all there for me to leech. All of them, soon slowly trickling down the wire via ZMODEM.

But there was something different with these BBS downloaded games. Not something bad, but something exciting. Each time these games were run, it was like a short commercial was played before the title screen. Now I'm not talking about commercials selling steak knives. Instead, these were brazen posters screaming fuck you by the people who had managed to crack the game's copy protection code and were now distributing the game illegally for free. I later found out that these commercials were called cracktros. The precursor to demos and what started the whole demoscene. But simply calling them demos just doesn't give them justice. They were more of an out of body experience. Sensory overload. Like what you would feel at 2am, half tipsy, half asleep and being woken up stunned as you stare at a late 90s acid hard trance film clip, feeling it inject directly into your cerebral cortex. Once it finished playing, you were frozen. Still unsure whether you saw something real or just imagined it all. The only thing you were sure of, was that it was awesome.

Then one day while browsing the file section of some random BBS, I stumbed onto a file innocently called TUT1-9.ZIP. It's FILE_ID.DIZ caught my attention:

        |     The ASPHYXIA VGA       |
        |   DEMO TRAINER SERIES!     |
        |                            |
        |   By Denthor of ASPHYXIA   |
        |                            |
        |    Documentation on how    |
        |  to code demo like effects |
        |         in TP6/7!          |
        |                            |
        |Full Pascal source included!|
        |                            |
        |    From putting a pixel    |
        |  to sprites and animation  |
        |  to wireframe 3D to solid  |
        |            3D!             |
        |                            |
        |       Get it now!          |

How to code demo like effects? You mean I too could be one of those sorcerers that had the computer under their complete control!? My heart raced as I added it to the download queue, fired up the aging Epsom LQ-300, then covered me ears as its loud ink needles hit the blue and white computer paper.

I didn't know anything about programming but I was completely estatic with the potential. I followed along with Denthor's tutorials as much as I could, typed everything out and hoped that Borland's Turbo Pascal 6.0 wouldn't laugh at me too much. It only gave me a basic understanding of how all the pieces to the puzzle fit together, but it was enough to whet my appetite and crave for more. I wasn't even into my teens yet but I definitely knew at the time that I didn't want to watch demos or play computer games anymore. I wanted to make them. I wanted to be elite. I wanted to be a programmer.

If you have a similar story, please post them to the following HackerNews discussion!