2D Puzzle Adventure
Tools: Godot, GitHub


Duration: 2 weeks 5 december – 18 december 2024
Team Size: 3 Level designers + original creator


I made 2 levels and a player tool (referred to as gadget) for a 2D Roguelike puzzle adventure game. Two classmates and I decided to participate to this optional assignment, which entailed:
- respecting the constraints of the project, which focuses heavily on systemic gameplay and environmental puzzles with high player freedom
- working on a game in pre-alpha state
- scripting and producing high quality levels using Godot, an engine on which we had limited experience
I decided to make a gadget leveraging some of the logic already in the project and putting together different elements into one.
Design Intent
It was important to me to respect the existing design as much as I could, making it possible to clear stages with different kinds of gadgets, allowing the player to make mistakes and still have a way forward, etc. I wanted to treat the levels as experiments, both for myself and the project overall, for what worked well with the gameplay. This was especially the case for the second level.
Level 1

For Level 1 my main focus was making a course with 2 paths for different gadgets. The top would be for gadgets that moved the player giving them the high ground. The bottom was a bit more complicated both to design and play.
Originally the explosive barrels in the picture were water barrels and you could jump on the buoyant boxes to get past the green blocking algae and if you broke the algae and pushed the boxes you could even get over the wall with them.
I had to replace water barrels with explosive barrels because of technical limitations that prevented us from using water barrels in large levels. Therefore I had to rethink some elements of the design.
Level 2

For the second level I wanted to do something different and spent some time toying with the different level gadgets. I found a pattern where if there is a button activating two electrical doors but one of them is set to extend when off and other is not you end up with separate paths.
Since electricity only has a certain area it reaches, you can get into different arrangements of doors on and off. This one was iterated on far more and I think it’s the better level of the two, especially since I was more familiar with the tools.
I originally envisioned a level with more emphasis on the puzzle aspect of turning different doors on and off to get to the end but found it went against the rest of the game in which you would solve things with gadgets. That is why the doors aren’t more heavily used here.

Above is an older iteration of Level 2 where the concept of opposite doors was in place but everything else like the second idol you need to push into the portal to the left was missing
Gadget Coding
I looked at the existing gadgets and found some common patterns. There were gadgets that pulled and pushed objects, those that damaged level elements and those that were out there not really fitting into those two categories. One thing that I felt was missing when playing and that could open interesting designs for levels, were rocket boosters.
I initially intended to make the rockets behave like those in Just Cause letting you attach multiple to any object and then set them off. However after playing the game further I decided to simplify it to fit with the rest of the gadgets. The final version of the rocket gets thrown by the player and is triggered once it touches anything.


Conclusion
This project has been some of the most fun I had working on a game since there was so much already in place to play around with. I think both the gadget and the levels (second in particular) add to the game in a meaningful way and fit as small parts of a bigger whole. If I were to do it over I would primarily redesign the first level from the start with the knowledge of some technical issues and better understanding of the game as a whole.
