Game Design

Come Sunrise - Play Here

This is a game I made in my spare time using Arcweave, a website that helps developers in narrative design and writing. I found it a lot easier to use than something like Ink or Twine, though I am familiar with both this also lets you export your work directly into Unity or Unreal. I wanted to create a branching narrative where your choices can lead to wildly different outcomes without making it obvious as to which choices actually matter.

The game begins with a sort of background or mindset choice for the protagonist, asking the player what went wrong in the protagonist's life. I think the vague opening statement of "You wrack your brain, trying to figure out where it all went wrong..." followed by three very different choices is immediately compelling, hooking the player into the narrative. Each choice also conveys a bit of exposition to the player, and because players can go back and select another option before deciding they're encouraged to read all of it. This allows the player to feel like they're participating in the backstory and setup, even if all three choices lead to the same next outcome. If I want to expand the game later, I've left some room for myself here to actually let each background choice totally change the narrative, as each background could then go on to focus on a different character.

The story has two main branches that then branch of further and further, the story's only other character, Gun, is going to kill the protagonist, and the player can choose to accept that or fight against it. I wanted to surprise the player and make the acceptance endings be more satisfying, so I had the protagonist and Gun have different heart-to-hearts in every scenario. The player can only get a full picture of both characters by playing every route, and along with some random chance events I think the game turned out to be very repayable.

Each of the branch endings are vastly more linear than the first few parts of the game. I wanted to have a sort of funnel structure to control the project's scope while still letting the player feel like they were participating. As such, there are a few sections that have no branches, but still require the player to click on a single choice presented to them rather than just having a text advance button. It allowed me to get a bit more creative with how things progressed, describing what the protagonist is feeling, thinking, or doing in a way that connects them and the player together.

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.