Confirmed. Rustic is losing on time. When using controls such as move time = 5 seconds, it uses 100% of the time. Overhead protection probably just got lost during refactoring when I was jacking around with the time management a few weeks ago, to prepare Alpha 1. As said, in incremental controls, this is never a problem, as Rustic does things such as using only a percentage of its time, and stops overshooting allocated time, if its time left becomes lower than a certain value.
I'll fix it and backport the fix to Alpha 1 => 1.1. (PS: Rustic Alpha 1 was a stupid name. It should have been Rustic 1 Alpha. Ah, well. Doesn't really matter. At some point, the Alpha part will be dropped. It's there because I don't consider the engine finished yet.)
By the way, I have a few bugs with regard to belofte to report in return; at least, in version 2.1.0. (There is no exe yet for version 2.1.1; I try to not compile other engines, and prefer to use what the author thinks is the best compile).
- It either has no qsearch, or it is very buggy. The engine either sacrifices pieces for no reason, or leaves pieces hanging. I stopped testing after 10 games.
- The engine often shuffles pieces back and forth; so in effect, it does nothing for several moves.
- Sometimes the engine just starts pulling its pieces -backward-, un-developing them?!
- At a depth of let's say 4 ply, my engine plays instantly (it goes up to depth 7 in under 2 seconds on my system; obviously newer versions will search even deeper in less time). Your engine, when playing at a fixed depth of 4, sometimes sits there for multiple minutes before it makes a move. Either you have only mini-max and no alpha-beta, no move sorting, or you have bugs in the search. If your engine needs minutes to reach depth 4, you'll forever be stuck at 1200-1300 Elo thereabouts. As I can't see what the engine is doing (no UCI output), I can't determine speed or depth, and I'm not going to wait minutes per move for the engine to play... sorry.
I would be happy to test your engine against Rustic and report weak points and strange things in normal play, but you have to fix the above issues first. With these issues in place, it's no use for me to test the engine because it doesn't play normal games from beginning to end, or its going to take huge amounts of time on a fixed depth. Sometimes a game is basically over by move 9, because right after the opening, Belofte decides to go Qc7xh2, Rustic goes Kg1xh2, and from there on, playing the game to the end is virtually pointless because Belofte is 800 cp down.
Maybe you did fix these things in version 2.1.1; and if your post above actually compares version 2.1.0 vs. 2.1.1, and the 2.1.1 is a few hundred Elo stronger because of the fixes, I can certainly believe that. If you can make the 2.1.1 binary available, I'll try and test it.