Recent

Author Topic: Anyone interested in helping test a Draughts/Checkers playing program?  (Read 6926 times)

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #45 on: November 09, 2025, 07:57:13 pm »
Version 7.5C has bug fixes, and the first improvements in end-game play.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #46 on: November 10, 2025, 05:28:08 pm »
Version 7.5D
More improvements and bug fixes.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #47 on: November 11, 2025, 11:07:12 am »
Version 7.5E
This has the database, learning & auto-play features enabled (and hopefully debugged).

This is where things start to get interesting. If you enable these three options and give the program a position, it will explore the available moves looking for an advantage or win, and store that information in the database.

I have included a classic 3-king vs 2-king position where black can win but achieving the win is difficult, and a database where the program has explored the position. If you play the position as black with the database enabled, and then with the database disabled, you should be able to see a significant improvement in the standard of play by the program playing white.

The proram has not yet explored the position long enough to discover how to win as black, but I'm planning to do that is next.
« Last Edit: November 11, 2025, 11:09:25 am by ad1mt »

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #48 on: November 12, 2025, 09:59:03 am »
Here is a database file where the program has learned how to win as black from the 3-black-kings vs 2-white-kings position.
It cannot yet use this knowledge to win from the similar position with 3-white-kings vs 2-black-kings.
It also cannot win from other 3-king vs 2-king starting positions.

I will work on these improvements next.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #49 on: November 19, 2025, 08:18:33 am »
Version 7.5G
This has many UI improvements and bug fixes.
This version has the option to display the standard square numbers used in Draughts/Checkers literature.
This will make it much easier to enter positions and moves from example positions and games.

Learning mode still has bugs, and I plan to work on this next.
« Last Edit: November 19, 2025, 08:48:52 am by ad1mt »

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #50 on: November 20, 2025, 07:53:47 am »
Version 7.5H
Many bug fixes.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #51 on: November 21, 2025, 12:52:01 pm »
Version 7.5J
I think autoplay is finally working correctly now...

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #52 on: November 27, 2025, 05:25:33 pm »
Version 7.5K
Lots of bug fixes, and learning mode now seems to be working in normal play.
However, learning mode with autoplay is not yet working.

To test learning mode, set up a simple position where one side can win, but the win is too far ahead for the program to see it.
Teach the program by playing the winning side of that position until the game is won.
Then let the program play the winning side of that position against you.
At first, it will probably not be able to win. But if you go back to the teaching step again, after a few games, the program will learn how to win the position.
I have included a position file that can be used for this.
« Last Edit: November 27, 2025, 05:33:01 pm by ad1mt »

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #53 on: November 28, 2025, 12:49:28 pm »
Version 7.5L
New feature... view database.
Bug fixes.
Autoplay learning still needs work.

Sorry... more bugs in v7.5L
Please download this version again.
« Last Edit: November 28, 2025, 07:33:11 pm by ad1mt »

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #54 on: November 29, 2025, 07:36:07 am »
Thank you for the new version.
Hi @Roland57,
I would like to build a text-mode UI so that my program can run inside Checkerboard (and then automatically play against programs like Cake).
I tried to do this a few years ago but could not get it working.
Have you done this?
Thanks, Mark.
PS - I downloaded & compiled FreeCheckers but it crashed   :(
« Last Edit: November 29, 2025, 07:37:45 am by ad1mt »

Thausand

  • Sr. Member
  • ****
  • Posts: 457
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #55 on: November 29, 2025, 08:21:00 am »
PS - I downloaded & compiled FreeCheckers but it crashed   :(
Rangecheck error. Can see when run terminal/command line.

File hash.pas make change for loop HasSize-1
Code: Pascal  [Select][+][-]
  1. procedure ClearHash;
  2. var
  3.   i: integer;
  4. begin
  5.   for i := 0 to HashSize-1 do
  6.   begin
  7.     TransTable[i].Key := 0;
  8.     TransTable[i].Value := 0;
  9.     TransTable[i].depth := 0;
  10.     TransTable[i].flag := 255;
  11.     TransTable[i].move_from := 0;
  12.     TransTable[i].move_to := 0;
  13.   end;
  14. end;
  15.  
  16.  

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #56 on: November 30, 2025, 09:09:39 pm »
Version 7.5N
This has bug fixes, and learning mode has been improved, so that learning is quicker.
Autoplay learning might be working now  :) but needs further testing, and can probably still be improved.

I've included two game/position files with 2 kings v 1 king, and 3 kings v 2 kings, and a database file where the program has learned how to win in those two positions.
The  2 kings v 1 king position is easy to win, and the program learned to win this by itself in autoplay learning mode.
The 3 kings v 2 kings position is particularly tricky to win. The program learned this position in standard play against myself, where I taught how to win, by repeatedly defeating it over many games. It is not yet clear if the program would be able to learn how to win this position on its own in autoplay learning.

Note... the program does not use pre-computed opening position or end-game position databases like most chess and checkers programs. I'm particularly interested in making the program learn by itself in normal game play. I hope to be able to make my program capable of playing automatically against one of the top checkers programs (like Cake), to see if it can get to a state where it can win.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #57 on: December 05, 2025, 09:41:40 pm »
Not very important maybe: the animation could be optimized. I feel that the board is redrawn too often (or maybe it is redrawn entirely without necessity).
I finally compiled the program on a raspberry pi4, running linux with GUI; and now I can see what you're referring to here.
What's happening is that I animate the program's own piece move so the human can see it clearly, and this is done on just those minimum necessary squares. Then to deal with the removal of opponents pieces that have been captured, I redraw the entire board; I do it this way because of laziness. A better method would be deal with captured pieces by just updating the squares where pieces have been captured. I'll do this in the next update.
Not yet had time to take a look in the checkers engine.
Some of the code in the engine is 40 years old!  It's a bit dark & dusty in there!  Protective clothing is recommended  :)
« Last Edit: December 15, 2025, 08:52:37 am by ad1mt »

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #58 on: December 14, 2025, 08:56:20 am »
Version 7.5P
This more bug fixes in autoplay learning.
Untidy redrawing of the board is not yet fixed, but I plan to do this next.
I have included a database file where the program has learned to win from any 3 black king vs 2 white king position.

ad1mt

  • Sr. Member
  • ****
  • Posts: 487
    • Mark Taylor's Home Page
Re: Anyone interested in helping test a Draughts/Checkers playing program?
« Reply #59 on: December 17, 2025, 01:28:40 pm »
version 7.5R
Fixes a bug in the view database function.

 

TinyPortal © 2005-2018