
You have already noted the synchronization problem that permits to the player to survive in some cases.
But there is also an unpleasant pause in the move of the zeppelins, and their overall movements are also slowed down.
I could live with those problems, but the most important problem is that the player is killed when he should not.
In your level, remove the zeppelin that you have added to the right of the player. Then play the level. Enter the cave at the left of the player, and take the diamond that is in the row below the player. To escape, you have to move up. The whole row of zeppelins start to move, and as soon as the first zeppelin hits the wall, the player is killed because he is touched to his bottom side by another moving zeppelin. Of course, that's unacceptable.
There might be a solution for this problem. In the original game, only ONE element moves at a time. So, in the example above, when you move up, the first zeppelin of the row starts to move, and it's only when it reaches the wall that the second zeppelin starts to move. The third starts when the second has hit the first, and so on.
In this case, the player should never be touched by a moving zeppelin when, at the same time, another zeppelin hits something.
I remember that I have tried to simulate exactly this behaviour, but I had several problems.
For example, imagine that there is a rock over the second zeppelin in the row. When that zeppelin moves, the next one doesn't follow it immediately. Therefore, the second zeppelin leaves a gap during its movement, the rock falls in the gap and block the other zeppelins of the raw. That's not what I need. When a row or column of elements starts to move, all moving elements in that row or column must move before freeing the adjacent elements. BTW, this is why the moving elements leave an invisible tail of CEs behind them, to prevent the adjacent elements to take precedence.
So, I guess that programming that original behaviour is not easy, and maybe even impossible, and that would require a complete rewrite of many CEs anyway.
Furthermore, the current method has the advantage that the movements take place as soon as possible, and the game is less static than the original version. I would like to preserve that.
Note also that I will have to modify the atoms like you did for the zeppelins. There are no atoms in level 2, but they behave exactly like the zeppelins, except that they explode when they are hit by something (except by the dolly.) I suppose that I can use your method here also, but the risk of problems will be greater.
It would be much more simple to use one of the game engine modification I have suggested above. Holger, are you there?

Oh, yeah, could you add also an option "Collectible but not snappable" in the CEs? Just kidding
