I read some articles recently on Fuze Basic, a modern implementation of old-school Microsoft Basic for modern machines, complete with line numbers. Check it out if you haven’t heard of it before :
Microsoft basic was the core of the Basic language used in a lot of early personal computers, including many machines produced by companies such as MITS (Altair), Atari, and Commodore. If you are talking about the beginning of the personal computer era in the 1970s-1980s, Basic programming is part of the discussion and if you are talking Basic programming, you are probably going to talk about programming some simple (and sometimes not so simple) games for those machines.
Reading about it and poking around with the Fuze implementation got me rifling through my vintage computer books, specifically some of the old game programming books I have. All the books pictured here are part of my collection, and all four are books that I remember using when I was a kid, poking away on my VIC-20.
I did eventually accumulate a few commercial games for my VIC-20, and later my C64, but two things made it difficult for me as a kid — money, and access. I grew up on a farm outside of a town of five hundred people. The closest city of 200k people (and the closest computer store) was about an hour away. We were in the city perhaps once every month or two as a family. The essentials of life and our day to day routine didn’t include the city, so in a sense, it was a special occasion to go. I had to rely on either bootlegs from friends for games, or getting to the city, and then getting to a location that sold games for my machine. As a result, books, magazines, and my own imagination were quite often my main source of computer games and utilities. With regards to money, that is often the limitation for most of us when we are younger. I worked whenever I was able to for my neighbours, but you never seem to have as much as you want in your pocket :)
I discovered soon after we got our VIC-20 that the library had books and magazines available that had actual game programs that you could type in and then save and play. There were what I would call ‘levels’ of complexity with these type-in games — the example books above were pretty simple Basic programs, written to be general enough you could use them on a half dozen different personal computer systems with either minimal or no modification. The book covers remind me of the covers of the game boxes from a lot of early systems…lots of colour and excitement and detail, but the actual game wasn’t quite as the box portrayed :)
As time passed and machine specific magazines sprang up for various computer manufacturers, they included more complex, more graphics oriented games, often in machine language or assembly, or with a Basic stub/loader and a machine language based core.
Regardless of the lack of graphics, these simple games made programming accessible, and were in a sense a crash course in the common rules and methodology of programming. You were taught about loops, variables, arrays, input and output. Though I have remained mostly a hobby programmer through the years, books like these inspired me to write my own little games and utilities at the time, modifying and breaking what was done and occasionally coming up with my own ideas.
Looking at the conversion page shown above, it reads like a who’s who of 1970s personal computing platforms. In the forward, credit is given to many of the pre-personal mainframe type systems for the seminal versions of some of the games listed.
Spending hours typing these games in after eagerly waiting for the book to transfer to our branch library was work, but fun. You would complete the listing for a game, save it, type run, almost inevitably see something akin to ‘Syntax Error in line XX’ pop up, quickly correct the mistake, run it again, see another syntax error, correct that mistake…
Eventually I would have a completed, correct listing and the game would run. You would play it for twenty minutes, get a little bored, and start tinkering with the code :) When it came down to it, playing the game became secondary to the act of typing it in, understanding what it was doing, and deriving entertainment from it by modifying it and writing more code.
As company and platform specific books and games became more and more common, you might see more elaborate or higher quality ‘type in’ games and programs in the magazines of your choice.
As Compute! was not platform specific, they often had separate listings for programs for several machines. The one above had a Basic portion, and a machine language portion you could enter with their Basic coded ML entry program that you entered beforehand.
Above is a rather well worn copy of a general guide for Basic programming from 1978. I spent my share of time poring over the listings in this tome as well.
Something interesting to note — Bob Albrecht, one of the early gurus of Basic programming and teaching programming to the masses in general, is one of the authors. It is interesting to see connections in a historical context, as Bob is profiled in one of my favourite books, Hackers :Heroes of the Computer Revolution (1984) by Steven Levy . Bob is also listed in the acknowledgements for the yellow cover “Basic Computer Games” book at the beginning of the article.
Another interesting tidbit for those who might have noticed the article title at the top of the cover on the Compute! magazine above — yes, there was ‘online’ shopping in 1984. Though I didn’t have a modem at the time, you could purchase from Sears using the CompuServe service, for example.
It can be a lot of fun looking back at part of computing history in this way, paging through old books and magazines and being reminded of how far we have come with the technology (and in some cases, how far we have not). Looking forward to subsequent articles, I will bring some other books and magazines off the shelf and take a peek at other aspects of them. The periodicals of the time really can provide an interesting snapshot of the industry at that moment, whether you are looking at the advertisements (and prices) the programming articles, the hardware, or the companies of the day.