... or how I added extra challenges without changing the levels
Apollo Null has one goal: reach zero. To do this, the player must connect numbers with operators. For instance, connecting 6 with minus and then with 6 yields 0.
Levels get more complicated as more numbers and operators are added, but the premise stays the same.
Most puzzle games are like this. They have one goal, and the player must reach that goal. However, it doesn't necessarily have to be that way. There could be several goals, and algorithms could be a way for you to manage these goals.
Level 1 of Apollo Null
Importantly, all levels in Apollo Null are designed by hand. There is no procedural generation of elements in the level. This presents the game design with the challenge of replayability. Essentially asking the question: how can we make handcrafted levels replayable? The answer to this question is more goals and an algorithm to manage these goals.
What kind of goals did I add?
There are two types of goals that can be added to almost any puzzle game: time and points.
Two Dots uses points to add more replayability
Unfortunately, these turned out to be a bad fit for Apollo Null.
Timers don't work well, if the player can memorise the solution to a level.
With a limited set of solutions, points don't make much sense either.
However, I realised that some levels in Apollo Null had more than one solution. In fact, in early testing, my parents completed a level in ways I had never even considered possible.
For that reason, I implemented a goal where players have to look for all solutions in a level.
Finding more than one solution in an Apollo Null level
Secondly, I took the original goal of reaching zero and flipped it on its head. Instead, there is a goal for users to also reach the largest number possible.
Finding the biggest number in an Apollo Null level
For your game, these will likely be different. But you can use the same basic thinking.
Ask yourselves these questions:
Can my levels be completed in several ways?
Can I reverse my goal?
As an example, Infinity Loop took their basic premise of connecting lines and turned it around by adding a new game mode that required separating lines.
How do I use algorithms for this?
Depending on the amount of numbers and operators in a level in Apollo Null, there can be as many as 120 combinations for a level. With 65 levels, this can easily become incredibly tiring to run through manually. That's where algorithms come in.
Algorithms are a part of any game, especially puzzle games. For instance, they are used to determine whether the user has found the correct solution. But I use algorithms for something different as well. Algorithms help me figure out how many possible solutions an Apollo Null level has, what the biggest number to reach is and even whether the level can actually be completed.
Is this technique fit for you?
Is your game a puzzle game?
Does your game not rely on physics to complete a puzzle?
Does your game have a limited set of possible solutions, approx. less than 15?
If you can answer yes to all of these questions, then I recommend using algorithms to add replayability and new goals to your game.
The puzzle game genre is uniquely fit for algorithmic aids, since it deals with solutions, and mostly relies on a predestined set of moves. It is no coincidence that traditional puzzle-like games like Chess and Go have been conquered by AI's.
Physics also complicate things in using algorithms, since they are hard to emulate programmatically to a satisfying degree. A game like Cut The Rope is a prime example of this, since a piece of candy can move through a level in thousands of different ways.
In the end, you expect the player to be able to solve all of these solutions themselves. For this reason, more than 10 solutions would likely result in fatigue from the player.
In the end
If these techniques are not fit for your game, I do encourage you to figure out your own ways to add replayability to your game. Just because I believe it works best with no-physics puzzle games, doesn't mean that it's incompatible with physics-based platformers. Handcraft your levels first, play them millions of times, and get a feel for the possibilities of your own level design. From there on, you should have a good feel for what makes sense and what doesn't. Good luck!