Although most of the programs I've written for the Vectrex have been for educational purposes, a few of them are reasonably playable games. You can download the rom images for those below. All have source code available and a few may have some related artwork that can be downloaded and printed too.
DRAFT4 is a draughts (or checkers if you're American) game written in the 70's by an Edinburgh University student, Ken Chisholm. It was a self-improving AI game in the style of Samuel's Checkers. Originally written in the IMP language, I ported Ken's code to C and added a graphical interface; other than that it is primarily Ken's program. Due to the limitations of the Vectrex, this is not a self-improving version, but it does statically incorporate the results of many hours of self-improving play.
I made a release of this game for New Year 2021, but don't consider it the final release. There's a game position you can force that leads to an indefinite loop — Ken recently posted an update to address this problem (to a much later 2020 version of his program), which I'm in the process of trying to retrofit to this old code. In the meantime you can download the New Year version (0.8) below:
Draft4 was the fourth version of a Draughts program I had written.
The first version was simply a one move analyser written in FORTRAN while I was at school, the second version was the same re-written in algol-60. The third version was an implementation written in Imp at Edinburgh University which included proper alpha-beta tree search with pruning and then Draft4 was a major re-write in Imp with rote-learning by remembering boards and their computed evaluations.
It written to be very portable and so it could run on every computer in the CS department including the PDP-15, EMAS, the Interdatas and the PDP-7 with its GT40 display. At the time, which was the mid-seventies, the cpu speed of a typical processor allowed for about 2 or 3 ply search with a certain amount of hot-pursuit towards stable board positions which sometimes extended the search to about 6 ply.
Since then it now typically searches to 6 ply in general with hot pursuit to about 12 ply.
Draft4 was written in 1975 for my undergraduate AI2 project. With rote-learning of boards, Draft4 quickly learned to play noticeably better standard openings and end games such as solving the double corner problem. One novel feature of this learning version was searching for partial board matches near the end game which worked quite well due to the relative immobility of draughts pieces.
For example, if it is a double corner standard win on one half of the board and a win on the other side, such as with all the same side pieces, it is probably a win overall.
Now of course the Canadian program Chinook has solved Draughts, or checkers as they call it, using deep exhaustive search and a very large opening database and end game storage using retrograde analysis.
Ken Chisholm
KJC
A few of the members of the Facebook group I hang out in ("Vectrex Fans Unite!") were complaining about a recurring problem in the Vectrex world, which is that there are some Vectrex games which were only released in very limited quantities, and that they'll never get a chance to play them as they're now very expensive. I'm not a big fan of creating artificial scarcity — especially when the games in question were often trivial. In fact I claimed that 'it was ridiculous to charge so much for a game that you could write in a day' and so I felt somewhat obliged to actually write a clone of one of those games in a day if I could. Well, I did bite off a little more than I could chew as it took me two days to write something similar to Der Luch's game, Obsolet, and that was before adding sound. Fortunately Brett Walach from the group rather enjoyed playing my version and volunteered to add sound, which he did expertly, with the result that the game feels quite finished, though we do have some ideas for future enhancements that may make it more of a game in its own right and less of an obvious clone.
The title of the game, "Ersetzt" ('replaced'), is a little poke of fun at the original, "Obsolet" (obsolete), as if to say that "Obsolet" has been replaced. I hope Sascha takes it in good spirits, we all love his games, we just wish they were a bit more widely available.