Hacker News new | ask | show | jobs
by FroshKiller 3336 days ago
I disagree. As a child, I first thought video games contained pictures of everything that could possibly be drawn on the screen. And I don't mean sprites--I mean that there must be a separate picture for every possible position the frog could be in and every possible car in every possible spot on the road.

My mother was a programmer, but she didn't make video games, so she had a hard time answering my questions about how video games worked. The only reference materials I had were manuals for the C64 and similar machines, where they talked vaguely about PEEK and POKE and sprites. The technical details of video games were impenetrable to me.

In middle school, I played DOOM for the first time. I got a shareware CD with the DOOM FAQ, which talked about editing the game. I understood intellectually what a file was and that the files contained the images, sounds, and levels for the game, but I didn't know how editing the game worked, exactly.

I told my mother that the game could be "edited" but that I didn't know how to do it. She sat down with me and showed me how to launch the only "editor" she could think of on our home PC: edit doom1.wad

Of course, the data was meaningless to me, but the possibilities made me even more determined to understand. As I learned more about how that game worked, I learned more about how all games work. As I learned more about how all games work, I learned more about...everything, really.

The thing about learning the trick is that it usually makes people appreciate magic more. Knowing that the coin only "disappears" because the magician distracted you is useful and interesting, and the "trick" of it doesn't detract from the showmanship. Games are the same. Knowing something about how an effect is achieved doesn't diminish its power if it's expressed well.

As a programmer, it frustrates me when people perceive what I do as somehow magical or impossible for them to understand. It isn't, and it doesn't help any of us to perpetuate that misconception. If I hadn't learned how something as prosaic as DOOM's demo recording & playback worked, I don't know what I'd even be like today. I certainly wouldn't be a programmer, and I imagine I wouldn't be as happy and curious. I don't care what you think is lost in explanation--what's gained is so much more important.