Levels are planned by an array marking off boxes and open tiles. 0 = open tile 1 = box 2 = player 3 = guard 4 = gem 5 = vertical laser 6 = horizontal laser
1st Level: Straight Line. User would move a specific direction a number of times in order to collect the jewel.
2nd Level: S shape. User would start in the bottom left corner. They would then move right a certain number of times, up a certain number of times, and finally right again a certain number of times before collecting the jewel.
3rd Level: More difficult shape. Initial position could be anywhere but this could be a more complicated path to the jewel. Simply to help get users more comfortable with control system before adding guards and obstacles.
4th Level: Back to a simpler shape for the map. Introduce a single obstacle into the the level design. The user must avoid obstacle while also making their way to the jewel. *Insert conditions here?
5th Level: Map will be a + shape. Instead of an obstacle, introduce a single guard for the player to avoid. The guard will move, along a specific path up and down, and the user must walk from left to right across the + while avoiding the guard. If the user bumps into the guard it will result in a game over.
6th Level: Map will be a slightly more complicated shape, with at least one guard and one obstacle to avoid. The user must make it around the guard and past the obstacle to the jewel.
When to introduce loops? Do it early and encourage them to use them from the beginning or reuse all of the levels to use loops? To make the game easier, could do some methods for the user, like moving until hitting a wall. Could implement a function where the student checks to see if guard is in the vicinity, and if not, then they move forward etc.