RoboMinion is a 2D puzzle game in a 3D world. The goal of the game is to get the little robot to his destination, the finish tile. There is one problem however, the little robot can only turn to his right, so you have to guide him by placing different types of objects on the map. The are many types of objects to interact with and over 50 maps. If that is not enough, you will be able to create your own maps using the built-in editor and share them with your friends.
Shortly after we had enough of the game done to actually start making maps for it, I had a problem. How does one come up with good puzzles? How do you know if a puzzle is fun or how difficult it is? How do you know what the BEST solution to the puzzle is?
Posted by therealosman on Mar 29th, 2012
One of the ways I thought we could make the puzzles was to find an algorithm for it, and generate as many as we want. This might work, but it gets very complicated very fast. For example, in our game some puzzles you can solve by just looking at them before you start the timer. This means you can clearly see where to put a pylon in order to block the robot. Generating maps for these types of puzzles is not so hard. But we also have puzzles where it not only matters WHERE you place the pylons, but also WHEN. For example, sometimes you have to let the robot reach a dead end and when he is coming back, you quickly place the pylon.
See example below:
These types of puzzles are a lot more difficult to generate with an algorithm and in our case it was not the best solution. So we decided to make them all manually..you know..using our brains.At this moment we have roughly 50 maps and we hope to order them on difficulty as we do our alpha-testing. But how do we come up with these puzzles?
I bet there are a lot of nice ways to come up with puzzles but what I do sounds very straight forward to me. The first thing I do is, I roughly pick a width and height for my map. Now that I have the general layout I put in my START and FINISH tiles and simply hit PLAY. At this point the map is empty and the player has no objects in his/her inventory to use. I simply observe what the current solution is( if there is one) and I ruin the solution by putting an object in his path.Now I hit PLAY again and I observe to see if there is a solution. If there is not, I give the player one object to place and I play the game again. When I find the new solution, I decide to block that route too. Now the puzzle is getting more difficult. From here on I can keep repeating this as often as I want. Find the solution and block it. The more often you do this, the more difficult a map gets.A big part of creating good puzzles is the editor you use. We have created several little tools in our editor to help make things easier. Here is some of those tools that help us make the puzzles: