No, I just used the defaults.
The program lacks an opening book (a comment, not a criticism – thanks to the author). Suppose you have a text file with opening moves indicating how White should play, say
1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4
3…Nf6 4.0-0 Nxe4 5.d4 ! Black diverges on move 3 – Berlin Defense
3…Nf6 3.Nxe5 d6 4.Nf3 Nxe4 5.d4 ! Black diverges on move 3 – Petroff Defense
1…e6 2.d4 d5 3.Nc3 Nf6 4.Bg5 ! Black diverges on move 1 – French Defense
I wonder how a Fortran program would read such an opening book at start-up and then while playing look up whether a position is in its opening book. Probably o3 could explain
My understanding is that modern chess engines don’t use opening books, or do they?
I think they do, and Grok agrees. The crude way to program an opening book would be to see if a sequence of moves appears in the book and play the next move in the book if it does. A better approach would be position-based and handle transpositions, so that you play the same move after both
1.e4 e6 2.d4 d5
and
1.d4 e6 2.e4 d5
Another chess engine, at least 12 years old, that works similarly, is
It compiles with gfortran, ifx, and g95.
This is great, @dmenezes. Also, welcome to the discourse.