Recent

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

ad1mt

  • Sr. Member
  • ****
  • Posts: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 477
    • 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: 437
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: 477
    • 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.

 

TinyPortal © 2005-2018