Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't post very often on HN, but I like to recall my little story.

So I was around 6 and we had a 386 at home, with DOS. I knew the very basics to "cd" into a "dir", and type the dir name again to start the program. Of course this didn't work for every program, probably not for those I shouldn't be using :)

One day I saw someone playing the snake game. I asked how could I go into that program too, and it turned out I had to "cd" into "qbasic", start "qbasic", and then hit F5. I never questioned why, but after hitting F5, the snake game started (I think the name of the game was "nibbles").

One other day though, just before hitting F5, I read a bit of what was on the screen of "qbasic", which was, well, some BASIC code for the game. And at the top was a line the intrigued me:

CONST SAMMYS_LIVES = 3

I knew the snake had 3 lives on every game, and that "Sammy" was written somewhere on the screen during the game (English is not my mother tongue; I surely didn't know much at 6). So this time, before hitting F5, I replaced the 3 with 9, and then hit F5. Behold, I actually had 9 lives!

I immediately quit, started "qbasic" again and changed 3 to 9999999999999999999 (something like that, probably longer). I was baffled when F5 didn't start the game anymore, and a strange line appeared. I kept reducing the 9's until it worked again.

That day I finished the game, but soon enough I was changing the colors, removing walls, creating levels, and figuring why F5 sometimes didn't work. The rest is history :)

(for the sake of my uh reputation, let me clearly state I never "coded" in BASIC since then ;) )



I had a similar experience with Gorillas. I started exploring the code and noticed a variable called banana. I didn't realize changing a game was so easy, so I changed the variable to baby. Unfortunately, it wasn't so easy, and inexplicably the gorillas continued to throw bananas.

Understanding why is what got me hooked.


I tried to change the Nibbles snakes to lizards by changing variables with "snake" in them to "lizard"...that didn't work right away either.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: