1 members found this post helpful.
I actually wrote a second version of the game that essentially plonks things down at random, then tries to play the level itself, brute force, over and over, until it manages to complete the level within the set number of moves. Any failed levels are rejected along the way.
Then it outputs the completable levels as a simple single string of data.
It manages to get through about 10 levels a minute, so I left it sitting, generating for a while, and got a nice pack of 500 levels out of it.
The engine's capable of generating many more levels, but I need to find a decent way to compress the resulting data down a bit, or the file size starts to grow fairly quickly!!
Similarly, the floor, wall and crate tiles are also pre-generated with random colours and textures, so all the packs (should) look somewhat varied.
All in all, this is a fine example of randomisation!!