The Problem
I'm creating a 2D puzzle platformer and I'm having a little trouble creating the levels. I've created 10 levels and they're kind of boring. I was aiming for difficult puzzles that get the player thinking. The levels I've created aren't difficult, they're just long-winded. The player just looks at the level for a few moments and then thinks "Oh, so I just have to do this, this and then this". The longest levels take about 10 seconds of thinking and 3 minutes of running around. I'm not sure if just bad at making puzzles or there is a flaw in the design of the game.
The Game Design
Each level is kind of like a machine that the player must manipulate to create a path to the exit. The player can do all of this:
- toggle switches
- hold down buttons
- push boxes
- collect keys
- open locks with keys
- trigger laser sensors
All of these things are inputs into the machine that is the level.
There are also entities that take input. These entities can take multiple inputs and perform a logic operation on them. For example, a door can be open if switch 2 is on NOR switch 3 is on. The entities that can be activated by inputs are:
- moving platforms
- laser emitters
- doors
Is there anything wrong with this? Does it lend itself to fun levels?
Example: level 7
I think this level is the most fun of all the levels I have made because it is the least obvious what the player must do. The player might look at the button above (bottom left) and just see what it does. The player presses the button and a box moves. "So all I have to do is press all the buttons?". The player jumps up to the next closest button (top left) but it doesn't do anything. "Wait, what?". The player will then jump around pressing buttons before realizing "Oh, the buttons have to be pressed in order". Then the door opens and the exit is accessible.
Example: level 9
This level is easy and long-winded the player must toggle all of the switches from 0 to 9. Unlike level 7, if they make a mistake, they must reload the level. Most consecutive numbers are on opposite levels so the player has to spend a lot of time waiting for the elevator and traveling on the elevator. I can easily change the numbers by just editing 2 lines of a script so I could make it less long-winded.
Conclusion
I can't seem to be able to create levels that are any more fun than level 7. Is the design of my game flawed or am I just bad at making levels? Can anyone offer me some tips on making difficult levels for puzzle games? Can anyone offer me a few ideas for entities that might make the game more fun? Does anyone have any ideas for complex machines that I could build that are fun to interact with?
Thank you for reading this monster of a post. I'd love to hear your suggestions.