Just got fixed, used a variation of the third solution.
When a zombie is shovel hit, it gets into state(machine) 6 where it goes flying back for 10 pixels.
Half way, he checks next block to calculate what will happen should be a wall or another zombie, etc. If another zombie, it will put him into state 6 too and so forth. Remember a zombie re-bounced back flies 2 blocks and that is what causes the trouble.
So I´m checking the board for zombies into a state 6 and if there is at least 1, then I add to a timer, if none, I reset this timer to zero. This tracks how long zombies are bouncing about before the turn advances, which can only happen if all real-time actions are done.
Let´s say that if after 10 seconds zombies are still bouncing about, something went terribly wrong, such a condition may not form naturally, would be a lottery thing. At this point, play an awkward sound and set all zombies bouncing back to a 1 square force instead of the usual 2. This halts all machines that requires the 2 block force and won´t cause a new one since it will stop halfway a clear working path, or something like that.
On other fronts, I guess I finished everything gameplay wise. There may still be some last-minute fine tune though it already has a shape close to what I envisioned. The bounce back code has now been elevated to "feature" and players should be proud if they can spot its unusual anomalies.
Considering the gameplay sealed, next step would be to mess with in game graphics, animation, music and sounds.
Music is how it is, sound effects will be dealt as I work gfx and animation for something that causes it, it is not priority, will be worked out along the process.
Animation in this case, means when the program moves the sprite, not the actual sprite´s frame change into new gfx.
Most of the moves happen in 10 cycles, some longer, I have to adjust the longer ones into this timescale. Most likely the born/raising animation needs to be shorter, should be simple to set.
And then the graphics, there is little room to improve tech wise, tiles are 10x10 pixels and characters can occupy a 16x16 area though they use less. It is fine as is but I´m getting 2 major situations when people play the game:
1. They don´t get it´s a turn based game, struggle pathetically with the controls till they throw themselves to death, even replays don´t get any better. Well, this is trouble
Some graphical solution could be made to show a more "tabletop" stuff that maybe will relate better, stuff you see on games like Advance Wars, but then that defeats the idea of a pure gameplay scene free of huds. I guess I will leave this unchanged, should help people learn to approach stuff with care. :D
2. A bunch of people can´t tell the top wall tiles from the ground ones. I caught about half players trying to move into those places so something clearly failed here as the map should be obviously depicted. I will try the texture or it´s colors, should be simple.
Last priority gfx change would be that all zombies MUST be different than each other. We have max ~18 zombies, should be some workload but direct to resolve. This will bring a neat face to the game.