cc65 Chess 2.0
A chess program for 1 MHz 8-bit machines — Commodore 64, Apple II, Atari, Oric, Plus/4, and Commander X16.
This is a new engine, written from scratch, using AI. The boards, menus, keys, and attack visualizer are the same program they have always been. If you already know how to play it, nothing has changed except how well the computer plays.
How strong, and how long
Four skill levels, from the menu:
| On a stock C64 | About | |
|---|---|---|
| Very Easy | 11 seconds a move | ~1240 |
| Easy | 40 seconds | ~1430 |
| Harder | ~11 minutes | ~1720 |
| Very Hard | ~48 minutes | ~1950 |
Level 1 beats a beginner who takes hanging pieces; level 4 is a serious club player. On real hardware start at Very Easy — that is the fastest setting, not a quick one. An emulator can be sped up: the engine thinks in positions searched, not wall-clock time, so a warped C64 plays the same game, just sooner.
Keys
Cursor keys move the cursor. RETURN selects a piece and then its square, or deselects it. M opens the menu (RUN/STOP or Escape does the same when nothing is selected).
- A — highlight every enemy piece attacking the square under the cursor
- D — highlight every friendly piece defending it
- B — overlay every square: attackers bottom-left, defenders bottom-right
- U / R — undo / redo. Against the computer, undo takes back both sides so you can try a different move.
The cursor colour tells you what you are on: green is selectable, red has no legal moves, purple is empty or an enemy piece, blue is the piece you have selected, cyan is a square it can move to.
A video of the V1.0 game is here. Since the engine uses the same platform specific clients, that's more or less what it still looks like.
If you want to read it
The engine is small, written in C, and meant to be read. doc/engine.md walks through the board, the search, and the evaluation, tying every idea to the function that implements it. doc/strength.md is how strong it actually is, and how that was measured.
The clients
| Platform | Image |
|---|---|
| Apple ][ ProDOS disk | cc65-Chess.po |
| Atari ATR disk | cc65-Chess.atr |
| Commander X16 PRG | cc65-Chess-cx16.prg |
| Commodore 64 Character display PRG | cc65-Chess-chr.prg |
| Commodore 64 HiRes Disk | cc65-Chess.d64 |
| Commodore 64 HiRes PRG | cc65-Chess-c64.prg |
| Oric Atmos Tape | cc65-Chess.tap |
License
Public domain. Do anything you like with it.