Explore into the depths of a 3D puzzle cavern with a unique camera angle, and make your way back out
This is my second game project in the Game Design & Technology Basic semester at Fontys, co-created with someone who was also in the group I made Synth Wave Stride with, and who I quite liked working with. Our task here was just to create a game within a specific set of genres; Tower Defense, Shooter, Platformer, or Puzzle/Adventure, the one we picked being Puzzle/Adventure. Both of us were big fans of The Legend of Zelda, and I suggested we combine that type of game with the camera angle of Captain Toad: Treasure Tracker. With 5 weeks on the clock, we got to work!
For a dungeon exploration game like this was going to be, we would at the very least need some unlockable items that change the way you interact with the level, so I immediately got to building a bunch of different mechanics.
The first item needed to be a pretty basic one, just to get used to coding items, so I went with a pickaxe that can destroy specific parts of the level. Destroy in this case just means evaporate, because neither of us were 3D artists at this point, but I did know how to code, somewhat, so I built a system that lets you use items, and then an item that destroys anything breakable in front of the player when used.
Some more basic functionality needed to be added outside of that, like pressing a button to make something happen elsewhere; we didn't need to make a cutscene for it or anything, but a pressure plate that a big box could be pushed onto, or that the player could step onto themselves, was definitely both easy enough to implement, and would give us more freedom in making the levels, so I made those as well.
Considering the camera angle, we want our character to play with different elevations a bit, but just like in Captain Toad, the player can't jump, so I created ladders for the player to climb, and also, naturally, the unlockable item in this cavern had to be a hookshot, because those are awesome. Programming those was advised against, because physics are hard to code with, and while, yes, that did give me some troubles, like shooting the player into outer space in testing, after a bit of tweaking, I did get it to work, and it did wonders for our level design possibilities.
One issue I want to make special note of with the hookshot was that it was very hard to aim if you had access to all 360 degrees, so my hotfix for that was to completely overhaul the movement system by limiting the player's movement to the 8 cardinal directions, in the world space, not the camera space.
With all of that in place, it was time to move on to building an actual level for the player.
Before I jumped right into just making a level though, I first wanted to get a better understanding of how to create a level in 3D space, so I made a level in Minecraft, using its adventure mode and some command blocks to suit my needs. This wasn't so much a prototype for level design, but more for the concept itself; how to design for getting in and out of a cave using a resource obtained inside the cave. Back in high school I used to tinker with command blocks a decent bit, so the entire process of making this, playtesting it, and documenting the feedback only took about a day.
Since the 3D space I was working in is quite different from Minecraft, and the tools available weren't quite the same either, the level and the prototype only follow the same general line of action; there are points of no return, and that point forces the player to engage with the puzzle at hand and make their way towards the next area, and only once they've collected the treasure from in there, are they able to return to the surface.
All in all I'm very happy with how this project turned out. It's not the most visually appealing I must admit - as mentioned, neither of us were 3D artists - but mechanically it's pretty clean, and the levels are actually finished, even if mine's a bit crammed. I'll never forget the compliment one of the teachers gave us while grading this project; "This is how game development is done in the industry."Â