When I was young my brothers and I had a Commodore 64 Personal Computer. We all three of us sat enthralled for many hours by the vast trove of video games available for the machine, but I wanted more. I wanted to create. I wanted to get under the hood of this 64K, 16 color processor that could display 8 sprites—8! onscreen at any given time. I wanted to unlock its secrets and make games myself.
I had no teacher. I didn’t know any computer programmers, and there was no school curriculum for it. All I had to guide me was my Commodore 64 User Manual and my own determination. I started writing simple programs in BASIC, gradually increasing the complexity until I could build something that almost resembled a playable computer game.
But there was always an obstacle. The documentation was spotty; there were several BASIC commands in the manual that simply did not work when I input them as shown. I checked out books from the library, but they were unclear on some key concepts; I could input a mass of command lines and they would function as the book described, but I couldn’t pluck out the principle behind them that would enable me to use the techniques myself, spontaneously.