lichess.org
Donate

Would anyone like to try playing three checks crazyhouse on lichess against me?

Only if it is king of the hill, 960 and antichess atomic aswell.
@Tymski That doesn't mean anything, you're not even wrong (what's the winning condition of that ?)

@ubdip Care to patch the antichess must-capture rule on top of standard atomic (nuke the king wins in particular) and post one example sf-sf game ?

I struggle to find playable moves at all. 1. e4 and c4 are #-2, 1. e3 h5! seems losing, `1. Nf3 e5! Nxe5 f6 doesn't seem too good... I guess I'd play 1. f3 (e3 Ne2 ...) if I had to come up with something.
@lecw I can give it a try, but it is certainly is not as easy as zh-3+, because we are mixing two move generation changes, not independent move generation and winning condition changes. In principle it should still be feasible, but one thing has to be clarified: Does check evasion take precedence over capturing as in losers chess? If so, I could merge the losers chess move generation code into atomic, which should work well, since losers chess is basically standard chess with mandatory captures. And is nuking the own king not a legal move?

Edit: Thinking about it again it might be very tricky. To determine whether a quiet move is legal, you have to check whether a capture is possible. Within that search for captures, you have to exclude captures that put your king into check. In atomic this is much more difficult, since you have to consider that several attackers and defenders might be removed by a capture. So it is perhaps too much work.
@ubdip Yes, do it in the simplest way code-wise and tell us what that is. Yes check evasion taking precedence over capturing makes sense. Nuking one's own king is... however it's simplest to implement, really, it makes sense both ways.

You can also not-check if capturing puts your king in check, just go with losers move generation code. Anyway putting oneself in check is the worst move ever, so SF will avoid it if possible (right ?). If the only capture move leads to putting himself in check, then I'm fine with the rule that says "capturing takes precedence over avoiding putting self in check".

(That being said I'm surprised it's hard to filter from the atomic move generation function the moves that aren't captures, unless none remain - reimplement the mandatory captures, that is. But ok, you know how it's done.)
I have Stockfish running in the background for a couple of hours now, where I told it to only search 1.e3 and 1.e4 to focus on the most interesting moves. I uploaded it to github.com/ianfab/Stockfish/tree/3check_crazyhouse, so you can also try it out if you want (the variant is still called crazyhouse). As I said it is not a proper implementation but just a hack, so it might crash even though it has not so far on my machine.

Input:
setoption name multipv value 2
setoption name UCI_Variant value crazyhouse
position startpos
go infinite searchmoves e2e3 e2e4

Output (for current depth only):
info depth 35 seldepth 54 multipv 1 score cp 1756 nodes 16110675552 nps 1394892 hashfull 999 tbhits 0 time 11549761 pv e2e3 b8c6 d1h5 g8h6 f1c4 e7e6 g1f3 d8e7 b1c3 e7c5 h5c5 f8c5 Q@g5 c5e3 d2e3 Q@g6 c1d2 g6g5 f3g5 Q@f5 B@f4 f5c2 e1g1 c2f5 c3e4 P@f3 f4c7 P@e7 g2f3 f5g5 e4g5 a7a6 Q@h5 b7b5 c4d3 b5b4 d2b4 N@e2 d3e2 a6a5 N@d6 e7d6 h5f7 h6f7 b4d6
info depth 35 seldepth 55 multipv 2 score cp -797 nodes 16110675552 nps 1394892 hashfull 999 tbhits 0 time 11549761 pv e2e4 e7e6 d1h5 g7g6 h5e2 b8c6 g1f3 d8f6 e1d1 c6e5 f3e5 f6e5 b1c3 N@d4 N@f3 d4e2 f1e2 e5c5 N@d3 c5b6 h1e1 f8h6 e1f1 g8e7 f3e5 e8g8 b2b3 d7d6 e5g4 h6g7 c1b2 c8d7 a1b1 Q@c6 g4e3 b6d4 f1e1 g8h8 d1c1 f7f5 e4f5 e7f5 e3f5 f8f5

Due to the large branching factor it does not find mate, but it seems relatively clear that 1.e3 is 1-0 and 1.e4 is 0-1. The d4 square is far too important to give it up on the first move. In many variations of 1.e4 a bishop on c5 and/or a knight on d4 are deadly.

@lecw I will think again later about whether there is a simple way to get the atomic+losers hybrid variant somehow working. I would prefer to have a consistent merge of the atomic and losers chess rules, but that might complicate matters.
@lecw I had an idea how to make a quick implementation possible with the minor downside of very low execution speed (2x slower than normal) and it seems to work well. Illegal moves are filtered out very late and very inefficiently, which massively simplifies the code, but hurts performance of course. I uploaded it to github.com/ianfab/Stockfish/tree/must_capture_atomic . The rules should be a perfect merge of atomic and losers chess except for not using the losers chess winning condition. I.e., you must not put your king into check and check evasion takes precedence over capturing, but you are allowed to capture the opponent's king if you are in check just as in normal atomic chess.

Here is a sample game:


The game seems to be very strategical and relatively balanced.

Here is a multipv search up to depth 25:
info depth 25 seldepth 41 multipv 1 score cp 42 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv b2b3 f7f6 f2f3 g7g6 g1h3 g6g5 h3g5 c7c6 h2h4 b8a6 b3b4 a6b4 h4h5 h7h6 g2g3 a7a5 h1g1 h8h7 f1g2 a5a4 g3g4 a4a3 b1a3 a8a2 g4g5 f6g5 g2h3 e7e6 g1g8
info depth 25 seldepth 40 multipv 2 score cp 30 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv g2g3 a7a6 a2a3 f7f6 b2b3 g8h6 g3g4 h6g4 c2c3 h7h5 c1b2 g7g6 d2d3 b7b5 b2c1 b5b4 c3b4 g6g5 c1g5 a8a7 b1d2 f6f5 d1b1 f5f4 h2h4 c7c6 a3a4 a7c7 a4a5 f4f3 e2f3 f8h6 f2f4
info depth 25 seldepth 41 multipv 3 score cp 23 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv c2c3 g7g6 f2f3 f7f6 g2g3 b7b6 f1g2 h7h6 g1h3 g6g5 h3g5 f8g7 h2h4 h6h5 e1g1 g8h6 d2d3 g7f8 c1h6 d7d6 g2h3 c8h3 b1d2 b8d7 e2e3
info depth 25 seldepth 37 multipv 4 score cp 1 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv a2a3 a7a6 g2g3 b7b6 b2b3 g7g6 f2f3 f7f6 f1g2 f8g7 e2e3 e7e6 g1e2 g8e7 e1g1 d7d6 d2d3 e8g8 c2c4 b6b5 c4b5 h7h5 e2f4 e6e5 f4g6 h5h4 g3h4
info depth 25 seldepth 35 multipv 5 score cp 0 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv f2f3 a7a6 b2b3 f7f6 a2a3 c7c6 g2g3 g8h6 g3g4 h6g4 c2c3 g7g6 c1b2 h8g8 b2c1 f8g7 c1b2 g7f8
info depth 25 seldepth 37 multipv 6 score cp -3 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv h2h3 f7f6 g2g3 g7g6 c2c3 b7b6 f2f3 g8h6 g3g4 h6g4 b1a3 b6b5 a3b5 h7h5 a2a4 h8g8 b2b3 f8g7 e2e3 b8a6 f1a6 g6g5 g1e2 e7e6 d2d3 d7d6 f3f4 g5f4 d1c2 a7a5 b3b4 a5b4 a1b1
info depth 25 seldepth 39 multipv 7 score cp -10 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv g1h3 f7f6 h3g5 f6g5 b2b3 b7b6 g2g3 g7g6 f2f3 g8h6 g3g4 h6g4 c2c3 d7d6 f1h3 c8h3 e1g1 b8d7 c3c4 c7c5 b3b4 c5b4 c4c5 d6c5 c1a3 d7c5 a3c5 d8d2 f1d1 e8f7 d1d7 f7g7 d7a7
info depth 25 seldepth 38 multipv 8 score cp -62 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv f2f4 e7e5 f4e5 g8e7 g1h3 g7g5 h3g5 f7f6 b2b3 f8g7 d2d3 g7h6 c1h6 e8g8 c2c3 c7c6 b1d2 b7b6 g2g3 b8a6 b3b4 a6b4 h1g1 h7h5 d2f3 d8e8 e2e3 a8b8 g3g4 d7d5 g4h5 e7g6
info depth 25 seldepth 39 multipv 9 score cp -65 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv b1a3 g7g6 c2c3 b7b5 a3b5 f7f6 g1h3 f6f5 h3g1 h7h5 f2f3 g8h6 e2e4 f5e4 g2g4 h5g4 g1e2 h6g4 f3g4 h8h2 a2a4 d7d6 f1h3 c8h3 d2d3 f8h6 c1h6 b8d7 b2b4 c7c5 b4c5 a7a5 e2f4 d7c5
info depth 25 seldepth 37 multipv 10 score cp -272 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv d2d3 h7h6 c1h6 h8h2 e2e3 a7a6 c2c4 e7e6 c4c5 f8c5 b1d2 d7d6 g2g3 b8d7 f1e2 d6d5 e3e4 d5e4 e1f1 f7f5 g3g4 f5g4 f2f4 e6e5 f4e5 g8f6 d2e4 f6e4 f1g1 b7b5 e2h5 g7g6
info depth 25 seldepth 39 multipv 11 score cp -433 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv b2b4 a7a5 b4a5 a8a2 g2g3 f7f6 f2f3 b8a6 f1g2 e7e6 c1a3 f8a3 e2e3 g8e7 e1f1 d7d6 g1e2 e8g8 d1e1 g7g6 g3g4 f6f5 g4f5 f8f3 e1h4 h7h5 h4e7 h5h4 f1e1 e6e5 d2d4
info depth 25 seldepth 43 multipv 12 score cp -546 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv g2g4 h7h5 g4h5 h8h2 d2d3 g7g5 c1g5 g8h6 b1c3 b7b5 c3b5 h6g4 e1d2 g4f2 d2c1 d7d6 c2c4 c8g4 d1c2 g4e2 c4c5 d6c5 c2c7 a8c8 c1d1 f8h6 d1e2 h6c1 a1c1 e8d7 b2b4 c8c1 b4b5 c1d1 d3d4
info depth 25 seldepth 38 multipv 13 score cp -552 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv g1f3 e7e5 f3e5 d8f6 f2f4 f6b2 c2c3 b7b6 a2a3 f8a3 d1a4 b8c6 a4a7 c6d8 d2d3 g7g5 f4g5 g8e7 h2h4 e8g8 e1d2 f8e8 d2c2 f7f6 h4h5 c7c5 g2g4 c5c4 d3c4 d8e6
info depth 25 seldepth 40 multipv 14 score cp -962 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv e2e3 b8a6 f1a6 h7h5 d1h5 h8h2 d2d3 g8h6 g2g4 h6g4 b1d2 b7b6 e3e4 f7f5 e4f5 e8f7 b2b4 d7d6 a2a4 c8h3 a4a5 b6a5 a1a7 c7c5 b4c5 e7e6 c2c4 g7g5 f2f4 g5f4 c4c5
info depth 25 seldepth 9 multipv 15 score mate -4 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv a2a4 b7b5 a4b5 g8f6 a1a7 f6e4 f2f3 e4d2
info depth 25 seldepth 9 multipv 16 score mate -4 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv h2h4 g7g5 h4g5 g8f6 h1h7 f6e4 e2e3 e4d2
info depth 25 seldepth 7 multipv 17 score mate -3 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv d2d4 e7e5 d4e5 d7d5 d1d5 d8d1
info depth 25 seldepth 5 multipv 18 score mate -2 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv b1c3 d7d5 c3d5 d8d2
info depth 25 seldepth 5 multipv 19 score mate -2 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv e2e4 d7d5 e4d5 d8d2
info depth 25 seldepth 5 multipv 20 score mate -2 nodes 112481619 nps 747997 hashfull 999 tbhits 0 time 150377 pv c2c4 d7d5 c4d5 d8d2
bestmove b2b3 ponder f7f6
@ubdip 3+zh : 7... Bxe3 wow. Qc5 seems pretty desperate already, why on earth would you be giving a pocket queen in 3+, that looks crazy. That being said, white doesn't seem to drop much, seems way too happy to fortress up.

anti-atom : perfect ! I couldn't care less about execution speed or equivalent depth, and that game is golden. So it _is_ a game of f3 e3 d3 Ne2 after all ! And... quite a difficult one really.

Could you explain why no side goes Nb1/Ne2/Nb1 ? Are both sides thinking they improve their position with each tiny forward move ?
@lecw zh-3+: In all lines I analyzed black only seems to postpone the loss, it never feels like black has any counterplay at all. One crazy line is 1.e3 e6 2.Qh5 g6?, where Stockfish finds mate quickly. Black is anyway lost, but after g6? the main idea is 3. Qe5 Nf6 4. Qxe6+! fxe6 5. P@f7+ with mate in 10.

Regarding the atomic variant, I also find it a very interesting variant. It feels a bit like two snipers waiting for the other to make a small wrong movement and then it is game over.

In the Stockfish self-play game the opening looks harmless, but if you try to survive playing against Stockfish you quickly realize that the opening is a couple of relatively slow preparation moves, but then the game gets very sharp and you can not allow to get behind in development. If you try to do nothing against Stockfish, you quickly get crushed:
Damn I thought and thought and thought of Qh5 but couldn't find anything after g6. I played Nf3 (blocking the line) maybe 10 minutes before your post :D

Nice, thanks for that game, the first game makes a lot more sense now. Indeed, I see what Ne2/Nd7 achieve, preventing any center openings, and all pawns on the third line protect against intrusions on the 4th line, like Nf6-g4 (this is like atomic, esp when defending against a raging queen).

Queens must be defended against (mostly at g6), but aren't powerful in practice, being so prone to capturing anything like in anti.
Meanwhile, meat-space agents finished their game : lichess.org/J5p4vBZf

I think 9... dxe4 was the losing move, maybe e5 or h6 is better. One strong black threat with 2 pawns in hand and one check is @e3!

This topic has been archived and can no longer be replied to.