Orac Draughts (c64/v20/c16/PET)
A downloadable game for Windows and Linux
ORAC DRAUGHTS
ORAC is a strong open-source 6502 checkers playing program. Its was originally written a long time ago for the PET, then later adapted for the Commodore 64, C16/+4 and VIC20. It can run in Windows or Linux with the VICE c64 emulator.
Main files in this archive:
orac-c64.prg - Commodore 64 version.
orac-c16.prg - Commodore 16/Plus 4 version.
orac-pet.prg - Commodore PET version. (BASIC 2.0, PET 30xx/2001)
orac-vic8k.prg - Commodore VIC20 8k+ version.
orac-vic5k.prg - Commodore VIC20 unexpanded version (PETSCII only) (just 3300 bytes!).
orac88pet.prg - Original PET version, written and hand-patched on a PET.
orac.s - Source code for above, compiles with CA65 or ASM502. Released as free under GPL3 licence.
orac.txt - This document. Includes quick tutorial on checkers.

(VIC20 version screen shot, White to play and win!)
COMMAND SUMMARY
Cursor up/down/left/right & SPACE - Move cursor and select move. (first the piece to move, then destination)
#-# - Enter your move using square numbers. (ie. 11-15 <RETURN>)
N - Put the square numbers up on the screen. Hit <RETURN> to clear numbers.
I# - Set an intelligence (IQ) level. (ie. I20<RETURN>, range 0 to 39)
H - Show HELP screen. (H <RETURN>)
R - Resign and Restart a new game.
A - Auto play, tells ORAC to play ORAC. To stop this feature, hit RETURN.
G - Makes ORAC take your move and swap sides.
P - Makes ORAC skip your go and play again with his colours.
X - Swap side to move.
S# - Save board into one of 8 memory slots, ie. S1<RETURN>, range 0 to 7.
L# - Loads one of 8 board positions from memory, ie. L1<RETURN>
C - Clear the board, ready to set up a position.
B# - Puts a black man on a given square. (ie: B5<RETURN>)
BK# - Puts a black king on a given square.
W# - Puts a white man on a given square.
WK# - Puts a white king on a given square.
E# - Erase piece at a given square.
V - Toggle different graphic shapes for black pieces.
M# - Set a randomisation factor. Bigger for more random the play. M0=off, M1 default. (M0 .. M15 <RETURN>).
F1 - Change the foreground colour. (F1 key) (C16: CTRL-D)
F3 - Change the background colour. (F3 key) (C16: CTRL-E)
F5 - Change white piece colour. (F5 key) (C16: CTRL-F)
F7 - Change black piece colour. (F7 key) (C16: CTRL-G)
PLAYING THE GAME
You can enter your move by using the Cursor keys to move up/down/left/right, then hit SPACE to select the piece you want to move. Repeat to select the destination square. You can also make moves by typing in the from-to square numbers, followed by RETURN. To show the square numbers, hit N <RETURN>. When playing the game, remember that IF YOU CAN JUMP, YOU MUST! This is a very important rule. For a short tutorial on playing the game, see the end of this document.
The C64 version, when thinking, shows on the right the best move so far, its eval in hex, and at the bottom a node count in hex.The eval is a two byte integer, about $8000 for an even game, higher for a black win, lower for a white win, etc. It uses the usual game searching methods - Alpha/Beta pruning, short-look ahead to sort move ordering, and so on. The IQ setting determines the search depth, about 4 IQ points for each ply, however jumps do not count as a ply, and are scanned deeper.
In end games (with Kings) Randomisation will improve ORAC's play, try setting M3 up to M15 <RETURN> if ORAC is repeating moves in a winning position. When you first run ORAC, there are 8 sample problems to try - L0 .. L7 <RET> loads them, white to play and win.
To get a quick idea of the game, try running ORAC using the auto-play feature (A command) from a new board with different IQ settings.

(Original PET version, first advertised in PCW, June 1981!)
ORAC includes the 6502 source, and is free software under the GPL3 licence
Download
Click download now to get access to the following files:

Leave a comment
Log in with itch.io to leave a comment.