Threats
The elegant notion of threat (which is essentially what is asked about) is central to the world of adversarial chess problems (direct mates & self mates).
Roughly speaking, suppose White (who I will take to be the active player in what follows) has a winning move (call it a key). Then we imagine what could happen if White were to get a second move right away (or equivalently, if Black were to play a totally irrelevant move). A move that continues to win is called a threat. A Black move is called a defence if it defeats the looming threat. Of course now there will be a different winning continuation for White! (Indeed there must since by hypothesis the key wins for White.) A key may have multiple threats.
Focusing on threats & defences, massively reduces the branching factor, and can render the solution more comprehensible. The concept of threat is also crucial for thematic settings and consequent artistic appreciation.
Threats are not always applicable:
- Check If the key is checking, then an immediate Black response is
entailed (to use the terminology of combinatorial game theory).
- Block problem There are many positions where White has no win in time after the key unless Black actually moves. (aka "Zugzwang".) These are very interesting, and a lot of endgame theory depends upon them. In some, even an infinite number of White moves will not suffice to dislodge Black if he is never required to move. For example, trebuchet.
- Unrealizable If all Black moves defeat the threat, then it's a waste of time & confusing to explore the hypothetical. Miniatures can often fall into this category. In this case if solving e.g. with Popeye it's best to disable "threats". [It might be best to have this to automatically decided per each individual White move, rather than a global option.]
But most often, the notion of threat gives a massively simpler perspective of the game-tree.
I’ve wondered if a similar concept could be used in interpreting tablebases for endgame studies, because they can otherwise be opaque. It may also help with regular chess engines.
Diminishing value of chains of threats In algorithmic terms, threats can be cascaded recursively into a chain (move A threatens B threatens C etc) in problem engines.
However, while knowing a single "threat" move and its defences simplifies the picture of a position, a chain of threats will usually diverge rapidly from the correct value of the position.
If White can play an indefinite number of moves, it will teach a player how to move pieces, and how to mate. It's a bit like a tutorial prologue at the beginning of a large video game to show how the commands work. But it is very limited in scope, because the nature of chess is adversarial.
The mathematician Claude Shannon famously remarked that if null move is legal, then by a simple strategy-stealing argument, chess cannot be a win for Black.
Seriesmovers
There are certainly problems where only one side moves: so-called seriesmovers. These may be very interesting, but they teach us little about the regular game.
A variant of the seriesmover, the so-called "parry series", allows e.g. White to make all of the moves, except that Black can respond to checks. (Normally in seriesmovers, checking moves are not allowed except for the final move.)
Lichess.org
Apart from Apronus, one can also do a null-move exercise with lichess.org. Just play White moves in the board editor and when one puts the opponent in check, go to analysis engine (ensuring that Black is to play) and accept the Black move.