I've started to play Optime Software's Chess (website, Google Play, iTunes) on my Android device and I actually liked that game. I was happy to find out that they've released an iOS version for my iPad as well.
The dream has come to an end when I realized that this is one of the worst chess engines in the world, with many stupid errors and huge fuckups included.
One of the first things that I noticed was, that lowest level gameplay is worse than a nightmare. I was able to give computer opponent Scholar's mate (in four moves, after Napoleon Opening) in three consequent games out of four. But that was something I could accept, since I was playing on lowest level. The real shit started to happen, once I installed iOS version on my iPad Mini.
Contents
Is is really only a check?
Game's website starts with paragraph saying:
Are you tired of poorly designed chess games that look like they just stepped out of 1982? We've got the antidote for you!
Well... they maybe really offer a cool looking UI, but is that really matters, if game engine itself is so poorly written that it is claiming check-mate, whene there is no such thing or isn't able to distinguish check from check-mate?
Let's start with the following screenshot:
That is, of course, no check! This is clearly a check-mate. White King has noway to go and is under attack. White looses. End game. Finito. Game's engine failed to correctly understand this situation and declared only a check. Program was endlessly waiting for me (white) to move.
Here is another example of incorrectly claimed check, where there is a clear mate:
I must admit, it was big. A chess game with bugs in chess engine should never be released, not mentioning taking money for it (Premium version).
Well... It was the beginning. From this point, it was getting worse and worse.
A checkmate without making a move?
I the very same game (as on above screenshot), I used Undo function to take back my (and opponent's) last move, to see whether I had any other options. Both moves were taken back. Opponent's Queen moved back Qd4a1
. For the reasons beyond my imagination, my King moved back two fields (Kd5b3
) even though I used Undo function only once. As we all know, King never moves two fields in one move (except for for castiling).
Anyway, after undo, situation on board was like that:
...and game reported a checkmate! WTF? It was my turn! How can a CPU declare a checkmake (or anything else) without moving any figure? But that wasn't all. Look at the board. It isn't even a checkmate, as King can still move to c2
or c4
!
That was second out of three. I decided, that with next fuckup I'm uninstalling this game. I didn't have to wait too long.
They don't know, what a stalemate is!
Can you imagine a game, where your opponent has two Queens, two Rooks and a bunch of other figures and is not able to win the game? I wasn't able to imagine this, until that game.
Right after getting his second Queen, as an effect of pawn's promotion, oppenent started to make stupid move after move. With having only my King I wasn't of course able to win that game, but I wouldn't believe that in such situation you can't end game with a few moves! Optime Software's chess engine not only wasn't able to give me a checkmate, but it also have failed in detecting two stalemate situations.
First, a rule-based stalemate, where chess rules clearly says that if both players will do fifty moves together, without capturing any figure, it is a stalemate. Engine didn't detected that.
Second stalemate is pictured below:
White King has nowhere to go, but it is not under check. Engine failed to detect this. It was waiting for human opponent to move, while there was no move to make.
Summary
There are hundreds, if not thousands of different chess engines around the world. One better, other weaker. And while you can accept (when you close both of your eyes and get drunk enough) an engine that is so weak, that it can't win, having two Queens and two Rooks againsit one, lonely King. You actually can't accept an chess engine, that hasn't even got all chess rules correctly coded and fails to detect check, checkmate or stalemate.
Of course, I've contacted Optime Software (even twice) and wrote them about all these fuckups. The company failed to bring any response.