12-08-2020, 05:45 AM
(This post was last modified: 12-08-2020, 04:40 PM by dale walton.)
Hi, I finally got Equi to work as per spec (I hope) It compiles OK, The turn records look correct, and I think I've debugged any endgame hangs.
See the attached.
I noted a couple problems remaining:
Importing a trial works, but the "full" listing contains things like (EndFlagvalue=0= 0) instead of (EndFlag= 0) etc.
The AI completely hangs whenever invoked. - I have to kill the Ludii process.
Please tell me what causes this and what can be done about it.
----------------------
I had to implement my own Turn passing test, which is OK, but gives an example of when it could be useful.
The game is relatively complicated.
The logic of the game technically needs recursion to evaluate restrictions on moves used to control end cycles and give the game an "edge" or tension for the players. I have made a small rule concession as a work around.
A less computer intensive work-around could be used instead.
It would be to allow those moves, but end the game if they don't fulfill the conditions required at the natural end of the turn. That would mean hops would not clear the EndFlag, and probably the need for a terminating pass logic branch as part of "EndTurn"
Edit: I've updated the file to correct the player who wins when the system ends the game due to no moves.
I also commented out the Meta rule for situational repeats, which allows the AI to run for a few 1-6 turns before hanging
See the attached.
I noted a couple problems remaining:
Importing a trial works, but the "full" listing contains things like (EndFlagvalue=0= 0) instead of (EndFlag= 0) etc.
The AI completely hangs whenever invoked. - I have to kill the Ludii process.
Please tell me what causes this and what can be done about it.
----------------------
I had to implement my own Turn passing test, which is OK, but gives an example of when it could be useful.
The game is relatively complicated.
The logic of the game technically needs recursion to evaluate restrictions on moves used to control end cycles and give the game an "edge" or tension for the players. I have made a small rule concession as a work around.
A less computer intensive work-around could be used instead.
It would be to allow those moves, but end the game if they don't fulfill the conditions required at the natural end of the turn. That would mean hops would not clear the EndFlag, and probably the need for a terminating pass logic branch as part of "EndTurn"
Edit: I've updated the file to correct the player who wins when the system ends the game due to no moves.
I also commented out the Meta rule for situational repeats, which allows the AI to run for a few 1-6 turns before hanging