Dewey’s Dungeon

My Role

For Dewey’s Dungeon my role was Systems Programmer. While I realize the name is quite broad, the main areas I focused on was the combat, health, experience, and build-your-own dungeon systems.

The Project

Comments

This project was worked on for one full semester, Spring of 2020, and started off with a 5 person team before being increased to an 8 person team once being greenlit. The entire game was focused around a build-your-own dungeon system, that as the name explains, is a system where the player builds the dungeon as they play the game.

While I did do the majority of the coding for the in-game combat, the most important part of the coding work that I did and have showcased (below) is most of the floor creation system. The system works by taking in a 2D array of all the possible spawn-able locations for the map pieces to be placed and then it will go through and randomly activate at least 9 locations. From there the code will go through and check to make sure that every spawned in location is possible for the player to get to, and if it isn’t it will activate another location so that the player can access the previously inaccessible area. The screenshots included below show off the system that I designed to check that every spawned in location was possible for the player to reach.

While there was a lot of this project that I did enjoy working on my favorite part by far, was coming up with a solution for our map system. I personally enjoyed this because I knew it was going to be a large challenge for me to create this system and on top of that, have other programmers on the team be able to understand what was going on with the code. In the end, it all worked out quite well because both of the other programmers did end up diving into the code to help me debug it and thanks to all the comments I put within the code, they were able to understand the majority of it without any help from me.

Post Mortem

The Good

  • Players really liked the build-your-own dungeon mechanic
  • Creation of the map system was very well commented and documented
  • Players enjoyed the randomization of the map layout
  • Players enjoyed all the different rooms that spawned based on the different map pieces that they collected

The Bad

  • Enemy AI needed more work
  • We only had 2 different enemy types
  • We didn’t get to finish all the room types that we wanted to have
  • We also would’ve liked to add in a skill tree so that leveling up was more meaningful

Would Do Differently

  • Build the main mechanic earlier on rather than later on
  • Spend less time focusing on combat and perfecting it
  • Spend more time perfecting the enemy AI and different enemy types

Images

The above video showcases the map in action and below are images of the code behind the map.