Sunday, 15 February 2026

"Checkers" by John Collins (1979)

I ran across a neat post on the Atari Archives Site that discusses very early computer versions of Checkers. Kevin Bunch mentioned a version of the game on the Bally Astrocade system that was by John Collins. I've converted other programs by Collins and other programs for the Astrocade system. 

The system had limited memory, about 4K. It was one of the first early video game systems to also include a version of BASIC (a reasonably good one for a machine without a keyboard). Those limits seem to have inspired high levels of programming cleverness among coders. In the late 70s these pioneers created very memory efficient games with AI features within the extreme limits of 4K. Their skill can be easily leveraged to obtain programs that can run on the 4K MC-10 as well. I converted a very powerful Othello game with a strong AI by Clyde Perkins called O-Jello, which works in only 4K. And Collins made a very clever but fairly extensive text adventure Bally's Alley in only 4K.

Collins' Checkers source code is preserved on the Archive as a printout listing from the Arcadian newsletter:

https://archive.org/details/ballyalley_Source_Code_Checkers_by_John_Collins

Bally BASIC is not that hard to work with.  It has a few differences from the Microsoft variation provided with the MC-10, but they are not hard to adjust to--  Semicolons for separating commands on the same line.  No OR or AND Boolean operators.  It uses # for "not equals" instead of <>.  The biggest challenge is that it uses a cartesian graphic coordinate system which starts at the centre of screen, instead of the upper left corner and therefore uses negative numbers.  I'll put my version up on the Internet Archive, so if people want to play the game, it might be a little easier than using a Bally emulator, since input for that system was only by controllers with numeric keypads and overlays for functions and alpha input (as with the old telephone key pads).

https://archive.org/details/CHECKRBA

I also have been making a few graphic fixes to some of my old programs. I rejigged the splash screen (see just above) and the menu operations of my Micro Color Trek. This version is from some Coco version I acquired back in the day. I think I typed it in from an old BBS.  Since the MC-10 Micro Color Compact didn't have download capabilities, I had to list the file from the screen buffer to my thermal printer and then type it back in by hand while I also converted it to MC-10 BASIC. Then I modified it further. It survived the years on tape and I converted it to a WAV sound file early in the 2000s and then converted it to an emulator C10 file. So I thought I would give it a little bit of a touch up. I discovered some unused musical note data typed in, but not accessed, probably for a Coco PLAY command.  I had obviously simply ignored this data in my original conversion. I was able to convert the data for use with the SOUND command instead, and added back in some musical refrains at key points in the program's operation.

I also finally liberated from another one of my old tapes a "Crap" game demo program from the MC-10 User Manual.  Like Trek, I had added some simple SG4 graphic dice, instead of just displaying numbers for the dice rolls.  Back in the day these kinds of edits felt like monumental "computer hacking" to the teen me.

In the spirit of such hacking, I decided to modify a version of a Santa Claus graphic program from Family Computing magazine.  I never liked the version of the chimney presented in that program, so I decided to make something better.  I used the SG4 graphic editor to come up with something that I felt looked more like a brick chimney.  Here is the original version:


Here is my updated version:

I also updated my port of the classic game "Switchbox" from the March 1986 issue of Compute! Magazine. I used the Atari ST source code for my original port. But inspired by a recent Youtube video discussing the program I changed the animation of the switches and added some more speedups to the code (e.g. converting to single character variables, using periods instead of 0s, combining lines): https://youtu.be/nZTqwJLJo-Y?si=A2of9-eoOkXpfBQI

Finally, I made some edits to Family Computing's New Years Eve program.  It was originally limited to the year it was published (1984, if I recall).  I thought it would be nice to update it so a date for any year (at least up to 9999) could be input.  That way, the program will be functional for many years to come.  Who knows, people might need their MC-10 to function in the year 2100...

Enjoy!

Addendum

I made some updates to Checkers.  I added graphics for king pieces and the ability to hit N for a new game.  I also streamlined the board display.  Turns out, everything in terms of squares get placed by the piece placement routine, so I didn't need a separate graphic routine to display the board.  I tested the game against the AI of a online checkers program on Medium difficulty and Collins' program beat it.  But it lost when I set the level to Difficult.  I just turned my phone upside down and input the computer's moves as my moves in Collin' game.  Then I input the moves played by Collins' AI on the phone.  If you take all the computer's pieces, it will sense the game is over and prompt you for a new game.  Otherwise, if the computer takes all your pieces, you can hit N for a new game (or any other time you want to give up).

You have to set the modern game below to "force jumps" and to let you move first. Here is the site I used to test Collins' game:

https://www.247checkers.com/

No comments:

Post a Comment