lidraughts.org

DYNAMO DRAUGHTS 9.18 (with source code)

DYNAMO DRAUGHTS is an open source program that plays International (10x10), Canadian (12x12), Spanish, American Pool, Brazilian, Portugese and Russian (8x8) games. It is moderately strong for its time, has many features not found on modern programs, and it was widely featured on many magazine cover disks and shareware libraries back in the 1990s. It was the first program to implement PDN. The original DOS version with GUI is included, together with a simpler text/console version for win32 and linux, which compiles with C99 compatible compilers.

Download dynamo v9.18 with source:

github.com/orac81/Orac-Draughts/raw/main/dyna918a.zip

More details here:
github.com/orac81/Orac-Draughts

It will run in DOSBOX ok, but remember that emulators are around 100x slower than "native" DOS.
Maybe some older players remember DYNAMO? I hope you enjoy playing it!

I love all releases of SAGE draughts software, particularly ones when you can adjust board size. As an engine, it is tough opponent, because it can generate a forced sequence which allows to escape a loss, but it is beatable. I enjoyed it many times, and I can recommend it for training games, and it is suitable for upper intermediate and advanced players.
I would love to see this program transformed into a bot, so that it can be available in lidraughts or playstrategy or other site. As well, if you intend to give second life to this program, it would be good to adapt for playing under many less known rules (Thai, Argentinian, Czech, Tanzanian, Old French, etc.).

What is special about old French rules? Never heard of them before.

Old French draughts:
youtu.be/PA-G7GizH3I?si=j5gCu3pWoK2gonXW
a) 8x8 board, regularly oriented (single corner at left), white starts the game;
b) straight jumping rules (not backwards!) like in English and Italian;
c) short range (one square) king like in English and Italian;
d) other rules like in Italian:
- quantitative rule: majority capturing;
- qualitive rules in the following order :
(1) If a player may capture an equal number of pieces with either a man or king, he must do so with the king.
(2) If a player may capture an equal number of pieces with a king, in which one or more options contain a number of kings, he must capture the greatest number of kings possible.
(3) If a player may capture an equal number of pieces (each series containing a king) with a king, he must capture wherever the king occurs first.
but, unlike in Italian, old French king is capturable by simple draughtsman.
So, this variant is a sister to English and Italian.

Basically, it is easy to compile all non-orthogonal draughts variants according to rules.
They can be divided into Frisian system rules and franco-italian systen rules; the difference is that Frisian rules incorporate majority capturing and qualitative capturing with regards to greatest number of kings into one rule, but in Frisian draughts three kings should be treated as more valuable capturing sequence than 4 simple draughtsmen, and I can attest that some programs ignore it.

So we have this list of major differences:

a) board orientation:
(1) single corner or, in other words, long diagonal at left;
(2) single corner or, in other words, long diagonal at right;

b) draughtsman jumping directions:
(1) straight only (= forwards only, but English players never say 'forwards' with regards to jumping);
(2) backwards only: so far, only one variant known - French backwards draughts, but the idea can be useful for creating playable variants on big boards);
(3) both backwards and straight;
(4) backwards jumping is allowed, if it is preceded by straight jumping: there are some exotic variants which use it, but this rule makes sense.

c) orthogonal jumping:
(1) totally disabled;
(2) allowed for both king and simple draugtsman like in Frisian;
(3) allowed only for king;
(4) allowed for king in order to capture enemy king like in Hoogland variants;

d) stopping on crowning square:
(1) mandatory;
(2) is to be ignored if a draughstman can execute regular jump within spectrum of draughtsman privileges, so crowning doesn't take place immediately (International, Pool, etc.);
(3) is to be ignored, because a draughtsman gets all privileges and obligations of king once it reaches crowning square (Russian);

e) king immunity:
(1) king can be captured by simple draughtsman;
(2) king can be captured only by king like in Italian draughts;

f) king move range:
(1) one square king;
(2) long range king;

g) king capturing range:
(1) free;
(2) restricted by mandatory intermediate stop on each square next to piece to be captured like in Thai or Argentinian;
(3) restricted by mandatory stop on the last piece to be captured like in some South German variants;

h) Turkish strike rules for long range kings:
(1) totally binding;
(2) allowed only when doing 180 degrees turn during the capture like in Thai;

i) quantitative capturing:
(1) majority capturing applicable;
(2) free capturing;
(3) determined by value like in Frisian;
(4) only MINORITY capturing is allowed (it is my proposal, and it can be efficient rule for adjumstment of tactical opportunities)

j) primordiality of capturing :
(1) not applicable;
(2) primordial capture by king is mandatory;
(3) primordial capture by simple draughtsman is mandatory

k) qualitative law with regards to maximum pieces
(1) not applicable;
(2) largest amount of kings are to be captured ;
(3) largest amount of draughtsmen are to be captured;

l) preference for capturing sequence with regards to quality of piece to be captured earlier:
(1) not applicable;
(2) king is to be captured earlier;
(3) draughtsman is to be captured earlier.

This is the most difficult part for programmers.
The rest of differences are drawing rules; however, they are determined by number of moves, but not by algorythmic rules, so they take less efforts.

Thanks again for the detailled post kalnap! Your forum messages are always very informative ))

Thanks for the comments, it's nice people remember SAGE. To make the program have flexible board size, some playing strength is lost. Modern programs use bit boards, which is very powerful, but not so flexible in rules etc. It's interesting to play 9x9, 6x8, 10x8 or 12x10 variants..
I didn't know about "old French" rules, it sounds like I could add that to SAGE.
I would like to also integrate DYNAMO with the SAGE front end.
But first I will tidy up the last version of SAGE and release it with the source code.

Is the exe file Dynamo draughts 16 bit? I cant open it :((

Reconnecting