Game Design
Wall Jump Game
I wanted to make a short game entirely focused around one mechanic, in this case wall jumping. To start off, we have two short platforms the player needs to hop on and learn how to jump. Next, I placed a very basic set of walls for the player to bounce off of and get to grips with wall jumping.
Wall jumping isn't just for vertical ascension, however, so next I created a small tunnel for the player to jump between the left and right walls. It's just long enough that the player needs to wall jump at least once, but if they fail they're still totally safe with a floor to land on down below and a roof to stop them from jumping too high. At the end is another platform, which represents the training wheels coming off as progressing beyond it means the player won't be able to rely on the safety platform at the bottom.
I wanted to combine the two things the player just learned for their first real challenge: vertical and horizontal movement through wall jumps. Before that, I thought it best to introduce a bit of danger with smaller, disconnected walls the player needs to jump between. Once the player is familiar with that, the challenge begins proper with a series of ascending walls the player must jump between.
For the big finale, the player needs to combine everything they've learned so far with a new but approachable twists. First the player ascends, then moves forward all with wall jumps. This is just like the start of the level, but a bit tougher, without the safety nets, and directly in sequence rather than having a break between them. Then I placed a disconnected wall that the player needs to use to round a corner, leading to another vertical ascension. At the top of this shaft is another, perpendicular wall, and jumping off of that will lead to the goal.
It's all pretty simple, but I think it turned out well. We start by teaching the player what they can do, then test what they've learned in various ways before combining it all for one final challenge. When designing levels, I like to follow this pattern to fully explore a level's mechanics or ideas.

Treasure Cavern
Treasure Cavern was my capstone project in college, developed alongside two other students. The others were our lead programmer and sprite artist/animator, while I was more of a generalist on the project, developing the UI/UX, composing the soundtrack, creating and implementing the 2D lighting system, and designing mechanics, the minimap, the randomly generated rooms, sound effects, and enemy behavior.
The game was originally going to be much larger in scope, featuring hand crafted levels between sections of randomly generated floors, multiple playable characters, a plot, shops to purchase additional guns, and more than just three floors and a boss. For our first real game project, needless to say we tried to take on much more than we could handle as a team of three, and had to have difficult conversations about what we needed to cut to meet the deadline. It was a great learning experience though, and made me much more conscious of what's feasible to implement in a certain period of time.
Once the time came to show off Treasure Cavern to our fellow students, it was a hit, and was one of the most played titles on our tiny showfloor. We demoed two versions of the game there, the normal, three floor experience you can play on the left, and an endless, score-attack version which has unfortunately been lost to time. Players enjoyed both for different reasons. The former is a short and sweet experience, while the latter is far more challenging given the limited health pool and importance of picking up coins for score, which are otherwise useless.
While there's a lot I would do differently now, I'm still proud of what we managed to accomplish. I think it's an impressive little game for something made by three college students between other classes.

Ball Physics Game
This project initially started as a small, physics based 2D platformer in which the player guided a ball through hazards. In all honesty, it wasn't very enjoyable. At some point I accidentally connected the code controlling the ball to the level itself, and found that concept of rotating the level to be a lot of fun. From there, I redesigned the project from the ground up to be about this concept, with the player being able to rotate the level and control the ball at the same time. It ended up less of a game and more of a fun toy, but designing a level that can work in 360 degrees of rotation was an interesting challenge.
The player starts in a neutral area so they can get to grips with the controls. They rotate the stage with up and down on the arrow keys, and move the ball with left and right. From here, they can head in three directions. To the right are some tight mazes, where the player can bounce the ball off of walls while rotating the stage to reach the other side. Going left branches off into two more directions. Down left is another maze, but this time including red squares that will obscure the player's view of the ball. Up left leads to a straightaway where they can gain a lot of speed followed by an obstacle laden corridor. The player can also turn the level upside down to head straight up form the start, where they can encounter more red blocks as well as moving yellow blocks to bounce off of.
Each section is designed to loop back around to the central hub in multiple ways, with every "entrance" also possibly serving as an "exit. There are areas focused on just bouncing around and others where the player needs to be more considerate about their movement. There are no hazards, however, so the player can explore at their leisure and just have fun. Designing sections that could work at any rotation was a fun challenge in and of itself, and I think it turned out great.
