Sunday, November 23, 2008

Project: David H. Ahl's Basic Computer Games

When I was a kid, I begged and pleaded with my father to get me a computer, and--in a rather rare moment--he actually did. (Lesson that I realized years later: Always ask your parents for things that they want.)

I had a computer class in school, but within a week or two, I had a grasped the basics as if I had been born to them which, after a fashion, I had. Those first two days of instruction, along with a later day explaining the concept of pointers, were all I ever had.

I did have this book, though, called Basic Computer Games and its sequel More Basic Computer Games. Both were edited by Creative Computing magazine editor David H. Ahl, and many (most?) came from issues of that magazine (which I never read, heh). Roughly each pair of pages contained some explicatory text, a sample run, and the code for a game in a hard to read font. There weren't a ton of errors, though--credit where it is due to the editors and typesetters.

The coding in this book was highly constrained by the fact that it had to run in the wild west of the '70s and early '80s: It had to be Basic, and it had to be least common denominator Basic. Not everyone had a whopping 48K of RAM and a floppy disk that could store over 100 kilobytes of data like I did. Some folks were running offa 16K TSR-80s and cassette tapes.

Seriously, though, scaled for inflation, that Apple ][ cost more than anything I've ever bought or ever has been bought for me before or since, including musical instruments, my first cars, or my children's birthing expenses. The only exceptions would be my house and possibly one or two of my cars.

On the other hand, I bought most of the stuff I have using skills that began with this book. So, you know, there was a payoff.

Anyway, the code is really quite bad by any modern standards, and even by the professional standards of the time. But the programs were games, which made them interesting. I polished my skills by adding graphics, sound effects, variations on gameplay, and then by creating my own games.

And of course, managing the complexity of those games drove me to hate Basic (at least as it was) for its poor structure and the limited help it offered. Also it was slow. This drove me to learn Assembler, PL/I and Pascal. (And all this in turn led to my interest in programming languages.)

So one of my projects for this blog is to bring those games back, and revisit them in a number of ways (gameplay, design, architecture) in a variety of languages in the hopes that this will give an appreciation of history, progress in the programming world and a fun way to experiment with different languages in different environments.

I hope you enjoy them as much as I did.

3 comments:

Freeman Hunt said...

If you were going to introduce a kid to programming, and perhaps you have already done this in real life, what would you provide him with? What hardware, software, operating system, books, etc.?

(And sorry to post this here if it's too off topic. I would have emailed, but I couldn't find your address.)

blake said...

Squeak is what I used with The Boy.

Hold on, it's a fairly big topic, let me post something at the top.

And, no, this is primarily meant to be an educational/tech blog.

Unknown said...
This comment has been removed by a blog administrator.

Followers