Most recent update time
14 February 2026 10:57 UTC

Underworlds scriptorium fabula.

13-november-2025_1.html
Bugfix

It is morning. 02:07(AM), November 13th 2025.

While I was playing a game today and I wrote down such description for that bug:

I encountered a bug in situation where there was 6 players in the game (5 bots and me). 3 players left in the game (me and 2 bots). I was player number 4, also there was player 3 with one influence left and player 6 with one influence left. So the flow was as such - I had 7 coins and I "COUPED" player number 1 killing his last influence. Then It was turn of player 6 and he claimed "TAX", I challenged his action (and it means that I interrupted decision made by player 3, because player 3 was the one who is next player after player 6), then IT SEEMS even though my challenge of "TAX" action of player 6 was successful still the last influence he lost turned out to be DUKE and then player 3(bot) froze. I assume player 3 froze because I interrupted his action, so I could take a look at the code why it happened, but also I have to take a look at the logs to see if somehow my challenge went successful even though player 6 had a duke while claiming "TAX". The log of that game is here if you are interested file. And the screenshot of the game state looks like this:

Screenshot of situation when bot froze.

And just now I was able to research and figure out this situation which took around 88 minutes. First of all the challenge that I performed was processed correctly, because the 6th player had dead DUKE before I challenged him, and he had to reveal the contessa. It became obvious from the logs. But the frozen bot issue has happened because of the buggy logic which was not properly filtering out the STEAL action form available actions because it considered dead players who had more then zero coins towards to the players that STEAL action could be performed against and I fixed that issue here and wrote unit test that covers this situation here.

My many thanks for your time and participation in this project.

The Emperor Protects.