THE CRYPT Week Nine – Navmeshing and Enemy Creation

As the deadline for this module draws closer, I have been making a lot of progress on my project. This week has largely been focused around adding enemies into the level, as this is a crucial element of the experience that has been sorely missing until now.

Navmeshing

Before I could create and place enemies in the level for the player to encounter, I had to first set up the navigation mesh, or NavMesh, so that the enemy AI would be functional. NavMeshes allow developers to designate which spaces pathfinding AI can and can not occupy. Without it’s inclusion enemies would not know where to move, and many bugs would occur as a result.

Other than the small amount that I had undertaken for a project in first year, I have not had much prior experience with creating NavMeshes, much less within the specific context of the Creation Kit. In order to better prepare myself for the task, I re-watched one of Bethesda’s tutorial videos on the subject (2012). The tutorial was dense with information, teaching me the many hotkeys and tricks to creating NavMeshes, as well as how to search for and replace any ‘warning triangles’ that could cause issues for AI.

Creating the NavMesh was relatively straightforward, although time-consuming. Placing each triangle by hand was made much easier thanks to the many shortcuts that the Creation Kit affords the player, and once I understood the basics, I was able to NavMesh each room with ease. There were some areas that I purposely did not NavMesh, including the Crypts of Refuge, as I feel that blocking enemies from entering these rooms adds to the sense of safety and relief they are intended to give the player. If a player is in a particularly hard fight that they need to back away from, they can choose to return to a Crypt of Refuge to allow their health to regenerate or manage their equipment. In total, once I was finished creating the NavMesh, there were 2484 NavMesh triangles present in the level (figs. 1 and 2).

Figure 1: Screenshot. Top-down view of the level’s NavMesh.
Figure 2: Screenshot. Top-down isolated view of the level’s NavMesh.

 

Enemy creation

With the NavMesh created and functional, my focus was now moved onto enemy creation and placement within the level. I have been entirely working with static objects and level assets up until now, so it was time once again to learn a about a new area of the Creation Kit – Actors.

I knew that I wanted to create three tiers of enemy (with each subsequent tier dealing more damage and having more health than the previous), a spider mini-boss, and a final boss. That meant that five unique enemies would have to be created for this project.

Starting with the low-level enemies, I duplicated a Draugr actor from the object window, and renamed it to ‘SJCEnemyLVL1’. From here I was able to access the actor’s settings, changing their health, textures, inventory, and in-game name. For each tier of enemy, I duplicated the previous one, renamed the actor and then edited their settings from their. I named them ‘Lost Blight’, ‘Wandering Blight’, and ‘Wrathful Blight’ respectively. Similarly, for the boss I duplicated a DraugrBoss actor and renamed it to ‘SJCEnemyBoss’, before tweaking the settings and giving it the name ‘Blight Lord’. I also set each enemy’s patrol route using ‘PatrolIdle’ markers which give them set points to move between (fig.4).

Figure 3: Screenshot. The Lost Blight enemy type in-game.
Figure 4: Screenshot. An enemy with an idle patrol marker.

References

BETHESDA. 2012. Creation Kit Tutorial Series [YouTube tutorial series]. Available at: https://www.youtube.com/watch?v=gDKivlGmia4 [accessed 22 March 2022].

The Elder Scrolls V: Skyrim. 2011. Bethesda Game Studios, Bethesda Softworks. 

THE CRYPT Week Eight – Cluttering, Boss Room and Strongboxes

Level design

This week saw me completing the full layout of my level, creating the boss area and lead up to the exit. Taking inspiration from Bleak Falls Barrow, a classic Skyrim (2011) dungeon, I decided to make the final boss fight take place in a huge cavern with a large amount of prospect space (fig. 1). This creates an area that feels largely different to the rest of the level, which has been claustrophobic and labyrinthian. This is by far the largest space in the whole level, and so took a long time to complete, while making it feel like an authentic and believable natural space. In the lead up to the climactic boss fight, I created a large hall filled with candles to create a rising sense of tension. I am really happy with the effect that this corridor has, as it gives the impression that the player is approaching the climax of the experience.

Figure 1: Screenshot. The boss area of the level.

During this week’s GAM230 workshop I was able to get some great play testing from my fellow designers. On the whole, feedback was largely positive, with my friend Steven praising the interwoven nature of the level’s topography. When Jeff played the level, he pinpointed the Crypts of Refuge as my ‘key selling point’, going on to say that I should endeavour to make the time between the player encountering them minimal. Following this advice, I have placed a one immediately after the mines, and preceding the large temple area. This way, it is only a couple of minutes of playtime before the player encounters their first Crypt of Refuge. Furthermore, this also gives the player ample time to have the opportunity to equip themselves with equipment and resources before they first encounter combat.

Cluttering

With the entirety of my level space created and tested, it was now time to begin decorating the rooms to feel more lived in and dynamic. While I was happy with how the level felt to move through from a pacing standpoint, I was certainly becoming tired of seeing large empty rooms and repeated art assets, so I was looking forward to getting underway with this stage of development. As my level has become so large by this point, the job felt quite daunting to embark on, and I was unsure of where to start, or what to place. Luckily, by looking at some of Skyrim’s actual dungeons (which are also accessible through the Creation Kit) I was able to find inspiration and get the ball rolling. Below I will list some of the common items I placed, and their various use cases.

Rubble

By far the most common piece of clutter I used were the ‘rubble piles’ and ‘rubble pieces’. Not only do these add to the believability that this place is a crumbling Crypt, but they also help to add some irregularity to the structure and shaping of the rooms. My placing them in corners, or jutting out of walls, I was essentially able to change each room from a cube to a dynamic, winding location. Their placement was even used frequently to guide the player along a particular path.

Furniture

Various pieces of furniture have been used to bring the spaces to life, and make them feel more believable. By placing tables, chairs, shelves, and statues I was able to make each room feel distinct and varied. I also had to think critically about where each piece of furniture would logically be placed, were they would most likely need to be accessed.

Candles

One prop which I ended up using a lot were the ‘candles’. Not only do I think that these look very atmospheric and add some light to the area, but they are also used to signpost salient areas in most rooms. In particular, I have place them outside the doors to Crypts of Refuge, as well as surrounding various chests.

Sconces

Alongside candles, I have also been placing ‘sconces’ at various points along the critical path of the level. My goal has been to use them to guide the player through each space, by placing them near entrances and exits to rooms, drawing the player’s eye to these elements.

Urns

Urns have been placed in hallways and rooms. These add visual intrigue, as well as serving as another container in which the player will be able to find gold if they are searching for it.

Natural clutter

There are multiple areas in my level which use “natural” kits such as ‘caves’ and ‘mines’. Cluttering for these areas has been quite different to the man-made ones, requiring placement of completely different assets. By placing rocks, pillars, vegetation, and wooden planks, I was able to make these rooms feel more natural and flowing, like they would in real life.

Platforms

In some of the larger rooms, I used ‘platforms’ to create some height variation, and guide the player’s eye to particular areas. I think that their inclusion makes each room feel more dynamic and arranges objects in a more intriguing way to the player.

Loot placement

Alongside the cluttering of the level, I have also placed loot within the level, using the chests that were made a few weeks ago. I also renamed each chest to make them more unique. The low value chests are now named ‘Rusted Chests’, the middle value chests are named ‘Carved Chests’, and the high value chests are called ‘Gilded Chests’. As would be expected, the value of each chest is commensurate with the challenge the player must face to reach them. For instance, the trap rooms all contain Gilded Chests, as they are meant to be a challenging piece of side content, whereas Rusted Chests are more likely to be found on the critical path.

To ensure that the player is constantly finding loot that they can spend on upgrades, I have also placed ‘CoinPurses’ in lots of locations throughout the level. I used a script to ensure that each purse contains a random amount of gold between 5 and 15. They do not award a lot individually, but if a player is being attentive during their play through they can gain a large amount of gold through these items.

Strongboxes

While I was placing loot throughout the level, it occurred to me that, aside from those found in trap rooms, all the chests are easily accessible and provide the player near-instant gratification. While this is desirable and keeps the player engaged through frequent rewards, I also wanted to add some more challenging loot, that the player will have to work for and risk resources to access. In order to achieve this, I created a selection of locked chests, that I have named “strongboxes” (figs). These will require lockpicks to open, and have varying difficulty (‘Apprentice’, ‘Adept’ and ‘Expert’), with the loot inside being proportionate to the lock’s strength. I then added an option in the Resource Mechanism that allows players to buy lockpicks for gold. Because players have to spend their hard-earned gold on these lockpicks, another element of risk vs. reward has been added to the experience, as the player may end up breaking numerous lockpicks, and ultimately spend more money replacing them than they find in the strongbox. The inclusion of these chest types also adds an incentive for backtracking as players may spot one on their journey and endeavour to purchase lockpicks at the next Crypt of Refuge and come back for it later. Overall, I am glad that I took time to include these strongboxes and feel that their inclusion elevates the game and gives the player even more choice in how they engage with the level.

Figure 2: Screenshot. A rusted strongbox signposted by candles.

Research

As my work this week has been largely focused around loot and item placement, I decided to seek a relevant GDC lecture that could provide insight into this topic. I found a lecture delivered by Leah Miller about the importance of rewarding exploration through useful items (Miller 2019). Leveraging her background in MMO development, Leah discussed the various contexts in which item obtainment can occur. She drew an important distinction between collectables (objects with a finite number and set location), and gatherables (fungible resources that are theoretically infinite). She then went on to discuss how their placement can be used to enhance and enrich a gameplay experience within a variety of contexts. In particular, her slide on ‘platformers and non-linear action’ games seemed most relevant to my current project. She states that here, collectables and gatherables can be used to “alert players to alternate paths”, “reward memory and backtracking”, and “challenge skills”. As previously discussed, I feel that the inclusion of strongboxes rewards memory and backtracking, as attentive players will be able to purchase lockpicks and backtrack for the strongboxes later for extra loot. The inclusion of optional challenge rooms in my level (see Week Six for description) are also designed to challenge skills and reward players commensurately. The player will be able to see the high-level chest through the door, but also know that the loot inside will likely not come without a fight.

References

MILLER, Leah. 2019. Rewarding Exploration with Collectibles and Gatherables [GDC talk]. Available at: https://www.youtube.com/watch?v=GlvGeiw3TDQ [accessed 16 March 2022].

The Elder Scrolls V: Skyrim. 2011. Bethesda Game Studios, Bethesda Softworks. 

THE CRYPT Week Seven – Level Design Philosophy

Pivoting

Now that I have been working on this project for six weeks, I feel that I have a good understanding of what the finished product will look like. As happens with almost any creative project, the idea has grown in areas and changed focus in others. This means that the what I am currently making is slightly different to what was laid out in my statement of intent.

To begin with, I have pivoted focus from crafting items at workbenches, to instead using the various machines that will be found in the Crypts of Refuge. Instead of the player obtaining crafting materials and using them to craft new equipment, they will instead spend the gold they have obtained through exploration on linear upgrades to their equipment. My intention is that this will streamline the experience and mean that the player is not required to spend unnecessary time interacting with the game’s crafting systems when they could be progressing through the level. It also gives me another excuse to do some scripting in the Creation Kit and create a unique system. Please see below for a more detailed breakdown of how these upgrade machines work.

Level design

I have made a lot of progress on my level design this week, creating almost the entire layout, minus the intended boss area. Initially, the level was created to loop back on itself more, involving a heavy amount of backtracking (fig. 1) However, upon playtesting this design and experiencing it from the first-person perspective that Skyrim affords, I came to the conclusion that the experience was more complex than necessary and there were multiple instances in which a player would likely become lost. In response to this, I slightly reshuffled the layout of the level. While the resulting level is certainly still interconnected and involves backtracking sections, the overall design is more continuous and hopefully the player will have a firmer understanding of where they are required to go (fig. 2).

Figure 1: Screenshot. The level before updating it, featuring a much more looping level design.
Figure 2: Screenshot. The level after the update, featuring a less interconnected but more navigable level design.

Leading on from where I left off last week, I created a cave area that the player must pass through (fig. 3). This area will provide a change in scenery for the player and is intended to house a ‘mini-boss’ in the form of a large spider that will ambush the player once they step inside. Upon killing the spider they will be able to loot its corpse and retrieve a key that allows them to unlock the catacombs.

Figure 3: Screenshot. The cave area of the level.

From there, the player is able to unlock a shortcut that leads them back around to the initial Crypt of Refuge where they are able to access the catacombs using their newfound key (fig. 4). Here, they descend downwards and eventually back up into another Crypt of Refuge, where they can unlock another shortcut which crates a greater level of interconnectedness. They then traverse through some larger rooms which feature more platforming, similar to that which has been previously introduced to the player, but with added complexity. This path then leads them to a room in which they obtain one final key which will unlock the final boss room and eventually allow the player to escape.

Figure 4: Screenshot. The catacombs area.

Crypt machines

Following my slight pivot in focus this week, one of the major mechanics I had to begin implementing were the Crypt Machines. As touched on before, these are interactable objects that the player can use to spend gold and upgrade their existing equipment. Before jumping into this blind, I decided to create a flowchart detailing what each machine would do, and how they would advance (figs 5, 6 and 7). I knew that I wanted one to handle weapons, one for armour, and one for resources that the player may need.

Figure 5: Screenshot. The flowchart for the Resource Mechanism.
Figure 6: Screenshot. The flowchart for the armour mechanism.
Figure 7: Screenshot. The flowchart for the weapon mechanism.

With the flowcharts established, the idea was much more concrete in my head. Below is the finished script that handles the resource purchasing system (fig. 8). It took a while to get it working, but I feel that through a great deal of trial and error, I was able to learn and grow as a programmer. I feel somewhat accomplished in the fact that I can script in a brand new syntax outside of my normal environment in C#.

Figure 8: Screenshot. Part of the script that handles weapon upgrades.

Once I had the scripts working, it was time to create the objects that players would interact with to initiate them. Looking through the variety of models that are used in Skyrim, I came across the “Dwemer button” model which fit my vision of these machines quite well. I created three variants of these buttons, titling them “Resource Mechanism”, “Weapon Mechanism”, and “Armour Mechanism”, before placing them in my previously created Crypt of Refuge (fig. 9). I then added the appropriate scripts to them and tested them out in game. I am really happy with how these turned out and I feel that their inclusion adds a level of complexity and nuance to the project that elevates it past just being a level mod. Now, not only is the player granted with a feeling of spatial progression as they advance through the level; they are also afforded progression in capabilities and power. It also gives the player more opportunities for meaningful choices, as they may only have enough gold for one upgrade.

Figure 9: Screenshot. The Crypt Mechanisms.

Research

Initially, my level was intended to be heavily inspired by Resident Evil (1996), utilising crafting and featuring a limited carry capacity which encouraged careful item management. While it has since moved slightly away from this singular focus to become it’s own experience, the use of the franchise’s cleverly interconnected level design remains at the forefront of my design considerations. When discussing this during this week’s GAM230 workshop, my lecturer Jeff recommended that I read an article about Resident Evil‘s map design (Pruett 2011). The article discusses how, through a term he calls “recursive unlocking”, the Spencer Mansion slowly becomes more interconnected and traversable to the player, as they pick up new items and backtrack to previous areas to unlock previously inaccessible rooms. He even goes on to say that  recursive unlocking is “used to control the pace of the game, the flow of the narrative, the progression of enemies and weapons, and even to force a change of scenery on the player, all while maintaining a non-linear feel” (Pruett 2011). Although I had not heard the term before, my level certainly adheres to the rules of recursive unlocking, with many areas beginning as inaccessible to the player until they have explored enough to find an item such as a key that enables further progression. While it may not feel like it, the first time the player moves through the space they will be guided through a linear path as they gradually unlock shortcuts and exits that reveal the non-linearity of the level over time.

I have also recently started playing Bloodborne (2015) for the first time, thanks to many recommendations from fellow designer Steven. It is a fantastic game filled with many fascinating design decisions in all departments, but the area that has intrigued me the most is the game’s genius level design. The game feels like it opens up in a spiralling fashion, with many paths taken unlocking shortcuts through areas for later use. A well-versed player who has unlocked these shortcuts could traverse the entire map in a matter of minutes. I think that this level design philosophy has certainly crept into my own, as when looking at the topography of my level, it similarly spirals into itself, with the player taking paths that eventually lead them back to previously accessed areas, through the use of shortcuts. I suppose you could call this project “the Dark Souls of Skyrim”.

References

Bloodborne. 2015. FromSoftware Inc., Sony Interactive Entertainment.

PRUETT, Chris. 2011. ‘Recursive Unlocking: Analyzing Resident Evil’s Map Design with Data Visualization’. Chris’ Survival Horror Quest [online]. Available at: https://horror.dreamdawn.com/?p=81213#:~:text=In%20Resident%20Evil%27s%20case%2C%20the,maintaining%20a%20non%2Dlinear%20feel. [accessed 10 March 2022].

Resident Evil. 1996. Capcom.

THE CRYPT Week Six – Item Removal and Trap Rooms

Level design

This week I have made a large amount of progress with the level space for my project. I have created a series of connected rooms that lead on from the initial Crypt of Refuge. These rooms will give the player space to explore and engage in combat. I also wanted to use the opportunity to include some light platforming and verticality too, as these are elements of Skyrim (2011) that are under-utilised in the main game.

In one room, the player must climb a set of stairs and make some small jumps across a broken bridge to reach the exit and advance (figs. 1 and 2). This act of traversing through the space is intended to subtly prepare the player for a later room that they will come across, in which they must engage in more complex platforming in order to progress (figs. 3 and 4). Currently these rooms are slightly confusing for the player, as there is no signposting employed to guide the player’s eye towards the exit, or the desired route to take. When I begin cluttering and decorating the rooms my goal will be to draw the player’s attention to these elements as soon as they enter the space through lighting choices and leading lines. I feel that these rooms will serve as a small break for the player from the core loop of combat and exploration.

Figure 1: Screenshot. The first room that introduces platforming to the player.
Figure 2: Screenshot. The first room that introduces platforming to the player.
Figure 3: Screenshot. The more advanced platforming room.
Figure 4: Screenshot. The more advanced platforming room.

Item removal

One of my goals for this week was to begin creating some of the functionality of my mod that will help it to stand out slightly more from other level design submissions. This was no simple task, as to get create the systems that I require, I would undoubtedly need to get involved with scripting. I am relatively comfortable using C# in Unity at a novice level, however the Creation Kit uses Papyrus, a purpose-built programming language only found in Bethesda titles. This meant that I would have to spend time learning the new syntax, and teach myself the fundamentals of Papyrus scripting. To do this, I followed along with some tutorials from YouTube channel Darkfox127 (2013), the same channel through which I was able to learn how to make my Crypt Chests. The tutorials began by teaching me how to do simple things such as creating message pop-ups and menus, before going on to make a shop system that takes gold off of the player and gave them a new item in return (something I imagine will be using when I eventually include the gear upgrade system.) After a couple of hours of scripting in the language I felt that I had a strong enough grasp to begin working with it.

As my mod is intended to be a self contained experience with its own progression, I needed a way to take items away from the player. Otherwise, a high-level player will have a very different play experience than a low-level player and may end up feeling that the project is unbalanced. As I thought this would be a simple task, I decided to make my first script handle this.

To start with, I added a large trigger to the mine, fully covering the entrance so that the player has no way of avoiding it (fig. 5).

Figure 5: Screenshot. The trigger’s placement within the level’s entrance.

Next I attached a new script to the trigger, naming it SJCRemoveItems, sticking with my naming convention which allows me to easily find any custom made elements of the mod. The script uses an OnTriggerEnter event to find the player reference and remove all items in their inventory. The player then receives a pop-up message that lets them know that their items and equipment have been removed (fig. 7). Eventually, I will make it so that the inventory items are sent to a chest at the end of the level, so that the player is able to retrieve them after completion of the level. I also made it so that the item removal only occurs if the Boolean variable ‘doOnce’ is false, meaning that the player is unable to trigger the it more than once.

Figure 6: Screenshot. The script attached to the trigger which removes items and displays the message.
Figure 7: Screenshot. The message that displays to the player when their items are removed.

Trap rooms

Another key addition to my mod this week has been the inclusion of ‘trap rooms’. These are optional challenge rooms that the player can enter to gain extra loot. Signposted by metal portcullis’, players can pull the chain to open the door and engage with this optional content. Once inside, the door will shut behind them and they will be ambushed by a variety of challenging enemies that wait inside. Once the room is cleared, the player can loot the chest inside for gold, then find the interior pull chain to re-open the portcullis and escape. These rooms were largely included in the project as a direct response to Dan Taylor’s level design talk that I watched in week two of this module (Taylor 2013). One of his principles for good level design stated that “good level design is easy, medium and hard”, meaning that effective levels allow the player to set their own difficulty by offering multiple options in how they engage with the level. These trap rooms are intended to give players the option to increase the difficulty of their experience, and get rewarded commensurately with gold that they can spend on gear upgrades when they reach the next Crypt of Refuge.

Figure 8: Screenshot. A top-down view of one of the trap rooms.

In order to create the desired feeling of risk vs. reward for these rooms, I knew I needed a certain level of investment from the player. In order to achieve this, I wanted to trap them in the room until they had cleared it of enemies, increasing the stakes of engaging with these areas. With my recently gained knowledge of Papyrus scripting, I felt well-equipped to write a simple script that could handle this functionality.

The functionality for the trap rooms works similarly to the item removal trigger and script. Once the player opens the portcullis and enters the room, they enter a trigger that covers the area in front of the doorway. This trigger has a script attached to it that then finds the opened door and sets it to close again (fig. 9). This trigger is also linked to two sarcophagi that will activate and spawn in enemies for the player to fight. This entire sequence creates an ambush situation in which the player is essentially locked in the room until they defeat the enemies and re-open the door. This script also uses a ‘doOnce’ Boolean variable to ensure that the player is only able to trigger this once, and the door will stay open once they have escaped.

Figure 9: Screenshot. The script attached to the trap room trigger.

Research

For this week’s research, I watched a GDC talk from an Arkane developer about ‘holistic level design’ (Lee 2017). It provided insightful information on looking at your game’s design in a wider context, in terms of how it effects the whole. Using Dishonored (2012) as an example, they discussed how to present affordances to the player so that they know where they can go within the level and what they can do. Within Dishonored, this meant creating a lot of verticality so that the player could afford a greater view of the levels, and the broader possibility space. This applies to my own project, as there are certain areas where I have noticed that players are not sure of what they must do or where to go. This is generally in areas where platforming is required, as the player does not instinctively know to look up. I feel that this is partly because verticality and jumping are not key parts of Skyrim‘s gameplay vocabulary, but also due to the fact that I have not signposted the desired path effectively enough. By rearranging the room and employing lighting techniques so that the player’s gaze is drawn upwards towards this section, I will be able to give the player a better idea of the affordances within the space.

References

Darkfox127. 2013. Creation Kit Scripting (Purchase System) #3 [YouTube tutorial series]. Available at: https://www.youtube.com/watch?v=PYNGK2vJ418 [accessed 2 March 2022].

Dishonored. 2012. Arkane Studios, Bethesda Softworks.

LEE, Steve. 2017. An Approach to Holistic Level Design [GDC talk]. Available at: https://www.youtube.com/watch?v=CpOoTAVeEcU [accessed 3 March 2022].

TAYLOR, Dan. 2013. Ten Principles for Good Level Design [GDC talk]. Available at: https://www.youtube.com/watch?v=iNEe3KhMvXM [accessed 8 February 2022].

The Elder Scrolls V: Skyrim. 2011. Bethesda Game Studios, Bethesda Softworks.