Skip to content

cc65-Chess Release 2.0

Latest

Choose a tag to compare

@StewBC StewBC released this 13 Aug 21:46
· 18 commits to master since this release

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.