Dungeon Crawler Prototype

Hey everyone!
I am working towards creating a dungeon crawler prototype in a fantasy style, focusing a lot on the design aspects.


As I am focusing more on design, narrative and puzzles the player won’t have abilities but will just have basic melee or ranged combat for dealing with mobs.
I want to use an AI that floats and follows the player giving narrative, hints and quests to the player as they venture through the level.

Below is a design of the possible level layout. I’ve only blocked out the environment at the moment but hope to either create or find some Ice theme assets as the theme is an Ice cave. There are two main puzzles in the level. Two of them you need to complete to get through doors to progress in the game. The last two are more of optional challenges, however completing these you will get extra rewards. The last two are basically a find 4 orbs and survive the waves.

HailFall Level Design.jpg
Top down blockout

This trap idea is a basic jump across a platform avoiding falling stalactites for a normal cave theme or icicles for an icy theme. This trap would mostly likely be a one shot kill if the player is in the middle of the trap as the stalactites fall.
Quick test in UE4:

For trap dodging I was looking at how Runescape does their agility training animations and how they dodge traps. I’ve been able to get the trap working and you can die if you are hit by the Ice. I also found it easy to work with a character that I have made and create the animations as I go along. The video below shows the trap dodging and a simple order puzzle.

I have changed the puzzle area since that video as completing the puzzle opened the gate but design wise there was no link from the puzzle to the gate. The area now looks like the image below and completing the puzzle opens up the cell allowing the player to push a button to open up the main gate.

I will continue to build on the dungeon crawler mechanics adding more puzzles, AI enemies, Quest system, Narrative, combat and flushing out the environment.

Any tips, tricks or ideas are appreciated, thanks! :slight_smile:

I was thinking of ways to introduce the player to certain mechanics in the game, such as the jumping to avoid the falling icicles which is one of the main traps and the player will encounter these quite often. At the same time I wanted to introduce the player to the level and give a little bit of story to what is going on in the game. I have created an intro to the level showing the player running through an icy corridor, the player proceeds to jump and avoid falling icicles (introducing the player to the falling icicles) this also traps the player in the cave giving the player reason to find their way out. The quest to find an exit is given to the player by his companion ‘Sith’ the cat.


This was also my first time using the new sequencer and I found it much easier and quicker than matinee.

AI companion


Using Excel I have created a narrative spreadsheet:


There are different columns for different scenarios, for example in the Follow_Idle column if the AI is just following you or inactive they will randomly say lines from that column. The colours represent conversation chains, this means if the cat says Dark blue ‘I’m bored, Lets play a game…’ he will then move to the Conversation chain column and say something between row 1-3 so he might say ‘Okay! I spy with my cats eye…’. below are some images of the cats idle narrative. I thought adding these small conversation chain adds a little more detail and feels a bit more realistic.


The other columns Story, QuestRelated and Puzzles are saved for specific things I want the cat to say at certain points in the game, such as giving the player hints in puzzles or giving them a quest, below are images of what the cat says while trying to complete a puzzle:


Hints to things that happen in the world:



This is how the cat follows the player, they try to stay in a certain radius around the player as to not get in their way. If the player gets to far away then the cat will teleport to the player, this also solves an issue that the cat cant jump across the gaps with the player. However seeing as how the cat is supposed to be able to use magic the teleportation does not break logic, there is an effect that is played when the cat teleports so that you can’t see the cat disappear and reaper.


narrative control:

The idle and attack narrative is on a random loop were as the story related ones are called by trigger volumes in the world.


Cat following:


End Game boss design


I want the boss mainly attack from distance firing at the player while the player uses the jump pad mechanic to jump across to different platforms. The way the boss attacks work is that they follow a path from the top of the screen to the bottom or appear as circles on the floor which the player has a short time to dodge.

Dragonica reference

At 1:00 there is an example of the type of attack I want to create.


Example sketch of the boss area, you can see from the image that the player has different areas to jump to but the boss can always shoot the area where the player will be. The boss will either come over to the middle area every now and then or the player can force them over in some way, maybe by blocking off the back. The boss will retreat after loosing about 30% of health.

I plan to add in melee combat and dealing with quests next.

Leading from the end of my last post. I have blocked out the boss arena:

I have also added a basic enemy Golem that can be spawned into the world and attack the player. The Golem works of a parent class so I can add more monster variations if needed. The GIF below shows the player being trapped in a room, 3 waves of enemies will spawn. The player must defeat these enemies to advance in the dungeon.

The ‘Log Update’ in the bottom left corner indicates to the player their Quest Log has been updated, this means they have been given a quest or a quest has been updated.

(GIF) shows player using the melee combat system to attack the Golems.

Quest System

Quests come in 3 different types: Kill,Story and collect. These are indicated by different icons in the quest log:

Collect = Chest

Purple Cat = Story

Sword = Kill

‘!’ means the quest is active and has not been completed. The tick means the quest has finished/completed.

The ‘Quest Manager’ blueprint contains an array of quest structures. Each structure is a quest so you can add as many quests as you want into this array. For example a collection quest we can put quest type to collect and put 15 in number to collect. We then add a treasure chest reference at the bottom.

Each quest has a unique ID which we use to start the quest. When a quest has been started it is set to active and moved into the Active_Quests array.

In the treasure chest blueprint we just have to add the interface call ‘UpdateActive_CollectionQuest’.

This will call the update Active_CollectionQuest event in the Quest manager which takes in the class that called the interface. It will then search any active collection quests that have a reference to ‘Treasurechest’ in there structure as treasurechest was the class that called the interface, if they do then add one to number collected. With the way the manager works we can have multiple collection quests going at the same time, some might have different references of things to collect but they only need to call one function.


I have also added a bag, this shows how much gold the player has as well as available bags slots. At the moment the slots don’t do anything but this could easily be adapted into an expandable inventory system.

The image below also shows a stronger snow effect than other images, this is because the player is in an open area so I have made the snow/Fog effect stronger in these types of areas.


Link to a GIF that shows player using Quest Log and Bag.

New Trap (Seeing Eye)

If the player tries to walk past the eye they will be sent backwards. After the first encounter of this trap the Cat will give you an ability allowing you to get past the trap. The ability makes the player invisible to the trap, however it only lasts for a few seconds.

in the very bottom left you can see there is nothing next to bag the first time the player walks into the trap, after that an ability icon will show up in this location. At the moment there is no indication as to what buttons activate the ability, quest log or bag. They are ‘1’ for the ability, ‘Q’ for Quest Log and ‘B’ for Bag.

Sword impact effect:

I have finished adding the boos encounter. The player gets introduced to the boss in a cut scene that shows off that this a feat the player must over come. Video link to the boss battle:

boss environment:

The foggy bubble you can see on the left side is basically a sphere with a moving fog texture that gives the illusion of distance fog, I use this in game for the character as well as in this sequence. Below you can see what it looks like from inside the bubble.


Re spawning the player

The player re spawns at a location variable which I change using a trigger volume with a new location. I have place new spawn locations at opposite ends of the icicle jumps so if the player dies trying to jump they will spawn back on the side they tried to jump from.

At this point the prototype is basically done, it just needs some more sound effects and play testing to find and fix bugs. This also includes adding possible UI hints to the player if they need more direction as to what to do.

Salutations AaronK,

Love all the details you’ve put here!
Looking forward to seeing where you go with this.

Looking Real Good AaronK! I’m working on Dungeon Crawler Prototype myself. Could you use a Dynamic Eye System for your Characters?

During the middle section of the dungeon there is an area where there are no traps or enemies, I was going to put a shop here were the player could stock up on potions or buy a new weapon. Alternatively I would have a shop outside the game which the player can use all the gold they have collected from completing levels to upgrade their character as they see fit.

  •   I have also added this effect that shows on the UI when the player picks up gold so that they don’t need to always open their bag to see the total.



The button now turns green when pressed.


I have added more information onto the UI, how many enemies are remaining

  • Enemy awareness effect GIF( the exclamation marks above the enemies heads are played with a sound effect.

     I was supposed to change most of the lights to orange, I have changed them

Sounds added

  •   Added a sound and mesh effect.
  •   Sword swings, impacts
  •   Enemy aware, enemy attack impact
  •   Footsteps
  •   Background music
  •   Wind
  •   Ice fall crack
  •   Player jump

More variety in ice crystal meshes particularly in the boss fight.

  •      icicles falling and the sizes are now more randomised. Also when they hit the floor a particle is now spawned, the particle was in there before but for some reason it would not play, this has now been fixed.

BOSS changes

  • I have changed the timings of the icicles falling

  •   I have also added a new move that blocks the player form moving to certain parts of the boss arena for a period of time, this makes dodging the ice a little harder.

GIF showing ice walls and new icicle timings. (

Walls spawned are on the left hand side, they stay for 8 seconds before melting away.

I have created a trailer and a playthrough of my prototype which you can watch here:

A side project I have been working is the abilities and skills that the player would use in this prototype:

Phenomenal Progress AaronK . Looks like you practically have a fully playable game. In two months time. Very Impressive.

This looks like a very fun game and made in a professional way. How will this look in a final version? Do you plan to keep working on this? Btw. if you can please post the blueprint with the Sith AI in a bigger resolution, and with node data, not readable atm :slight_smile: Thought to try out the pet stuff. And thanks for posting your progress here, interesting.