top of page

Surviving the King's Dungeon with a new genre

Updated: Sep 21, 2022

You can check out the game here: https://adam-danial-krb.itch.io/ggs-2-build-10-the-kings-dungeon



This version of the game was still made using a game engine called "Stencyl" which is a relatively easy to use engine that doesn't require the user to be good at coding. Plus, did I mention that its free?

Key Features within The King's Dungeon

All right, ladies and gents. This is it. This is the final genre that was given for my Game Development class where the King's Dungeon was birth. This time around, we had to think up of an engagement loop to add into our game to complete the amalgamation of 3 genres. The genre that I chose was Survival and here are the cool features and mechanic that I thought up of to help with the whole engagement loop as well as some features that was added to further improve the game:


Floor Traps


This whole mechanic or feature was thought up of to help with the whole engagement loop to further, well, engage the player. So, my thinking of what can be added into a game that is dungeon theme as a side thing that challenges and engages the player. My solution? I took a page out of every dungeon builder book and added a themed trap for the levels.



What this is basically, I have made 2 traps which are a Ceiling Trap that goes down and crushes the player over a set amount of time as well as a Gas Room Trap that damages the player over time in the level. I did this not only to fit the whole dungeon theme, but it was done to act like a challenge to see how fast can the player complete the level's objective before they are killed by the traps. Thus, creating my engagement loop. These 2 traps were the 1st step to me making my overall engagement loop. Now, the traps are also programmed to stop moving or damaging the player once the picked up and objective which gives them time to explore the level for a few seconds before it resumes. To summarize this part, go around level to collect keys as quick as possible before the trap kills you. Collecting a key stalls a trap for a few seconds buying you time to escape.


Programming that part into the game was a bit more complicated it sounds. I encountered plenty of issues within Stencyl to get the trap to work as I originally intended in the game. There were times the traps don't move, don't damage or just not even trigger all together. It took me a good 2 days to figure it out, but thankfully, it was managed to be implemented as I intended. Another hard part when designing the traps was that it took me quite a while to tweak both of them to make sure it was not too challenging for the players and that it was fun to go up against, instead of being just a nuisance to deal with. It took quite a lot of playtesting both with playtester and me just playing the game as if I was new to it, but in the end, the traps were managed to be made engaging and not too challenging an unfair.


Time based Highscore


If the traps in the levels were part 1 of my engagement loop, the time based highscore would be part 2. As I mention previously, my engagement loop is try to see to how fast you can get out of the level. I wanted the player to see how fast they could complete the level's objective and compete with other players to see who is the fastest among them at the game. Hence, this mechanic was thought up of to strengthen and make the engagement loop that I thought up of for the King's Dungeon.



Programming this part was not that big of a challenge in the game and was pretty straight forward to do. The Time based Highscore had 2 parts to it:

  1. It would show the total time it took players to complete a level

  2. It would show the total time taken overall to play the game. Like an old school arcade style game

Why do this? Well, I wanted players to be able to compare their scores with one another. A since this is a prototype and doing like a whole track highscore system is pretty difficult to do with Stencyl. So, this was the next best thing. Players that play the game can play the whole game and then take picture of their total time taken to show and brag to their friends about or try to beat in their next run. As for the inclusion of the game showing the time it took for you to complete a level after you clear it, well, this can be used as a way to calculate how much faster you would need to go in order to beat your old time or as a way for players to catch their breath after playing a level. This whole idea was taken inspiration from the idea of speed-runs that was brought up to me by a close friend's obsession with it, and with that in mind, this was what I decided to do.


Level Countdown Timer


Now, the idea behind this mechanic was made as a way to help new and inexperienced players. During my playtesting, I discovered that a lot of regular casual players had trouble to react and adapt quickly to what trap is in the level and due to this, they would be caught of guard or they would be surprised of the trap, compared to players that play more games than them.



So to help the inexperienced or casual players, but at the same time be useful for the more experienced or hardcore players, I made a Level Countdown that would countdown from 3 to 1 when a level starts. Almost like a race countdown. The idea behind this is that the casual players would have enough time to read the trap description on their HUD and know what to expect when the level's trap begins. As for more experienced or hardcore players, this gives them a chance to ready up and prepare to play a level, instead of just throwing them straight into the next level immediately, which can at times be too sudden.


Happy to say, with the inclusion of this, more players were able to play each levels much more easily as they had time to react and process the situation instead of being caught off guard or surprised when they are immediately thrown into a level without warning.


Respawn at the current level


This last mechanic I highlighted in the game is just a quality of life improvement/ add on into the game. During my playtest sessions, plenty of playtesters voiced out their displeasure when they had to restart from the beginning of the game each time they died. This made the game too frustrating and unfair at times. So, to help combat and address this issue, this feature was put into the game.



Programming the whole respawn at current level mechanic was actually quite simple to do in Stencyl and I still do question myself as of why it took me until the final genre of the game to put it in. Looking back on the whole journey of making the King's Dungeon, adding this in would have made the game far much more enjoyable to play from the start. But, c'est la vie, that's a lesson learned in making sure to pay attention to small details or mechanics that can be put into a game early on to make it more enjoyable from the start.


Now with that thing added into the game, it made the game sooo much better to play and fun for players too. So, overall I'm happy with including that into the game the results it gave.


To wrap things up, I'm actually pretty happy and proud of the prototype of a game that I managed to cobble up together. It turned out to be a pretty fun and challenging game to play and I would be happy to show this to other people to see what I managed to make all on my own. Thanks for sticking with me through this journey and reading all the way through. I really appreciate it and hey, till next time.https://adam-danial-krb.itch.io/ggs-2-build-10-the-kings-dungeon

Comments


©2021 by Adam Danial. Proudly created with Wix.com

bottom of page