I develop a (really) simple puzzle game that asks you to join a point A to a B (enter/exit) using a ball and mechanisms that you can rotate to give the correct direction to the ball in order to join the exit.
Here is screenshots of a simple level, showing clearly the purpose of the game:
1) New level started, the mechanisms are rotated in a random way:
2) Level is completed, all the mechanisms are rotated properly to give the ball the right path to join the exit:
Question:
How can I create an algorithm allowing me to automatically generate levels by taking into account the rotations and leaving only one possibility for the player to complete the level?
I'd also like to add more complexity by adding more mechanisms (to create creating difficulty levels).
I don't think it's necessary to talk about tech, but I'm using C# and Unity.
Let me know if you need more information.
Thank you!