I'll try it with backtracking, because that's the obvious thing from the current design, and it should work.
The challenge is performance. On an idle map, performance of video bitmaps is already miles beyond the memory bitmaps in C++/A4 Lix. I ran the C++/A4 game at 16-bit colors, 640x480, anything else would make noticeable dents in the performance on my 9-year-old machine.
The D port hits 60 FPS on small maps, but bashing/digging is taxing on performance during the terrain-removing frame. Drawing to lookup map (for physics) and to the land (for visuals) is passed through an extra class that collects and dispatches outstanding drawings. The idea is that it's easier to profile, and to allow geoo/anyone to easily try some wizardry later.
Profiling is a little tough. geoo and I believe the graphics card caches lots of outstanding jobs, acting like a side thread, allowing the main program to continue. Measuring a block from beginning to end therefore doesn't profile the graphics card's total work.
The plan is to optimize in case we have immediate good ideas, but not concentrate 100 % on performance. It's more important to get working singleplayer out for people to test.
-- Simon