Shepherds Level Design (and More)
My contributions to the BYU Center for Animation's 2022 Video Game project.
In order to graduate from the Animation Emphasis of BYU's Computer Science program, I had to work on a production team of other students for the animation department's Video Game project. At the pitch meeting I supported Emily Ellis's idea for a single player search-and-rescue experience set in the land between Life and Death, and stayed with the project from beginning to end. Overall, I served as the team's Level Design Lead, though I took care of many other tasks as needed. I also took notes at playtesting sessions and helped analyze feedback to look for improvements we could make, I served as our first Environment Artist during the pre-production phase while everyone was still learning the tools in the Unreal Engine, I prototyped various assets and effects with Blueprints when the programming team was too busy to lend me a hand, and at the end of production I stepped in to assist with the user interface code for our menus.
Preproduction for the game began in April of 2021, and the finished game was submitted to The Rookies' Game of the Year contest in June of 2022. We earned a couple of awards for our efforts, and that page can be found here; this page is for my personal contributions to the project.
Level Design
This is the finished section of the level I was responsible for designing. The full level had two sections overall, but this area was specifically mine to develop on my own. It took an entire year's worth of prototypes and iterations to get to this point, and I learned a lot about the game development process along the way.
Pre-Production - Summer 2021
Pre-production for the game began almost immediately after the pitch meeting, and lasted from April 2021 to August of the same year. Our first few meetings as a team were spent discussing the concept of the game and developing the questions and ideas our first few rounds of prototyping would need to build upon.
The core focus for this period was all about the Shepherd, the Sheep, the Wolves, and the relationships between them. Why does the Shepherd choose to protect the flock? What are the Sheep worth both to him and to the player? What role do the wolves, and by extension the Darkness, play? How do we handle the dichotomy between light and dark, Shepherd and Reaper? Our very first assignment was to try and distill the concept of the game into a short summary, in an attempt to make these relationships as simple and easy to understand as possible.
Mine was as follows:
"Shepherds is a game of Search and Rescue set in the untamed wilderness between Life and Death. No one knows how long Liminus has connected the two states of being, but one way or another all creatures will pass through this temporary plane on their journey through existence. Once such creature is the Soul Sheep - a woolly being of clouds and light, coveted for the powers they carry within. Shadow wolves and other creatures of Darkness will stop at nothing to get their hands on these sheep, so -
Lost in a world where Death is their only salvation, the soul sheep are counting on you to help them flock together and push back the night. In Shepherds you play as one of the Theriskós; an ancient race of guides and guardians to the innocent spirits trying to traverse Liminus. In one hand you hold your crook to light the way and keep your flock centered on the path, while the other wields a deadly scythe to reap any who would lead the fold astray. Together, you and your herd will protect each other from the forces of darkness as you lead them toward their next adventure in the great beyond."
The most important concept put forward by these summaries was definitely the idea that the sheep weren't just passive bystanders in the situation. Instead, they were inherently powerful and could be used as batteries for the Shepherd's abilities. Although the Shepherd holds the most agency in the situation, as the source of his power the Sheep need him just as much as he needs them, and figuring out how to enforce this symbiotic relationship became our most important game development goal.
Also, this is the first time we see the name Liminus associated with the setting of the game, and the last for a long while. For most of development we just called it the In-Between, but the name came back when it was time to publish the game on Steam and we realized we'd have to change the title for copyright reasons. The word liminal is an adjective that refers to something located in between two states of being. A threshold, or transition. The land between Life and Death is the ultimate liminal space, so Liminus felt like a fitting name. Apparently our director felt the same way, since she brought it back for the rebrand.
After we'd finished exploring our concepts theoretically, it was time to get started on actually making a game. We were given a short list of mechanics to work with based on our concept, and told to use whatever we wanted to make a playable prototype. Ultimately the game would be made in the Unreal Engine, but for now we just needed to get our ideas into a playable form in whatever way was quickest and easiest. For me, that way was through board game pieces and with live action role play.
Before Shepherds, I'd never made a game with any kind of engine or other computer architecture and I didn't have time to learn how before the deadline. I did however have a lot of board games lying around, and friends who really like playing board games. It just made sense to do my first prototype with the assets from my copy of Betrayal at House on the Hill.
The prototype begins with a straight path from one side of the In-Between to the other. The player has to wander off this path into the unknown wilderness to find sheep, with a chance to encounter a pack of wolves instead. Moving further away from the path simulates moving further into the dark, so the outer edges of the map have much higher odds of wolf attacks. The full rules for this prototype can be found here.
Using Betrayal at House on the Hill as my makeshift game engine for this prototype was an excellent decision, because it came with a lot of my gameplay goals built in. The pre-made RPG mechanics made it really easy to simulate combat with the wolves, allow players to expand their environment through exploration, and keep track of stats like health, strength, and speed. With all those things out of the way I was free to focus on more important goals, like implementing a Sheepdog companion or the scrapped Nightmare Cycle mechanic.
The concepts I explored with this prototype were the Nightmare Cycles and the resource management style of gameplay. Players needed to be aware of how many sheep they had and how that would hinder their movement. They needed to balance the risks and rewards of having sheep with them or leaving them with the Sheepdog, they needed to keep an eye on the countdown timer towards the next Nightmare Cycle, and they needed to be aware of how many cycles they had left until the game was over and plan accordingly.
The Nightmare Cycle was meant to provide periods of higher tension during the game, which could have been a cool mechanic if it had been carried forward into future prototypes. It was scrapped pretty quickly though, since we needed to figure out the balance of the wolves in the game during normal mode before we could even think about making a Nightmare mode. The timer enforced by the Nightmare Cycle counter also proved to be a bad idea. While the solid deadline did create tension, it was also very unsatisfying to run out of turns mere feet from the finish line. For a certain kind of player this difficulty could be fun, but for the slightly more casual audience we were aiming for the timer would have proven to be more annoying than enjoyable.
Moving on to my second prototype, I was more focused on answering a specific question than I was during the first. The board game prototype was just about having a game in the first place; once we put the basic mechanics in place we could delve deeper into specific areas in the next round of iterations.
The full writeup I did for this prototype can be found here. It covers everything from the prototype's goals, the rules, profiles of the playtesters involved, specific notes and observations about both rounds of playtesting, the analysis of those rounds, and the changes I made to improve the game between tests.
I made this prototype while out of town for my little sister's graduation, so I only had what I could find at my parent's house to work with. Luckily, that included both of my sisters and a lot of the toys we played with as kids. I set up the second floor of the house to simulate exploring in the woods, and used my sisters as playtesters. Small animal figurines were hidden throughout my room and the common room to act as sheep. I played the role of the wolf, all the lights were turned off, and the players had to rely on their finding skills and the tiny flashlight they were provided.
The first question we wanted to answer was what to do with the sheep. In between Prototype 1 and 2 it was suggested that rather than delivering the sheep directly to the Heaven's Gate, they could be used to activate Shrines along the way in exchange for upgrades. I chose to explore the Shrine system in this prototype by upgrading the amount of light the player had at their disposal every time a Shrine was lit. The Shrines also served as a way to signal the end of the game. Once all the Shrines were lit, the game was over. Players responded well to the Shrine system so it was carried forward into future prototypes, where it evolved into a way to open up new areas to explore.
Our second question was what to do with the wolves. Specifically, how to make them feel threatening without focusing too much on combat. Shepherds wasn't supposed to be a fighting game, it was meant to be a Search and Rescue with wolves as an environmental hazard. As such, this prototype didn't include any combat mechanics. Players could only look for sheep and hope they found them before the wolf did.
It turned out that the wolf didn't actually have to do that much to feel threatening. When I was prowling as the wolf, players began searching for sheep more urgently before I could get to them. Even when I didn't find anything or was as blind to the locations of the sheep as they were, players said that just the idea that I was out and about made them anxious. So much so that even just the sound of my flashlight clicking on was enough to make them paranoid.
This prototype also confirmed that players were comforted by the presence of their sheep. Players reported feeling happy that they had a flock of companions with them, and that they were always nervous that the wolf would find their flock when they had to leave it behind somewhere. One of our biggest goals was to make the sheep more than just a collectable to the player, and allowing them to be cute little companions that stay with the Shepherd proved to be one of the biggest steps toward that goal. The sheep aren't just important because they're worth points or because they're a power up of some kind, the player also wants to protect them because they've formed an emotional attachment to them.
Another important lesson learned here was that the game needed some kind of hint system to prevent player burnout. I had a player spend about 45 minutes trying and failing to find enough sheep to light the second Shrine before she abandoned her flock to the wolf just so the game would end. This is the last thing we want our players doing, so I took it upon myself to provide hints during her second round of playtesting. Giving that player hints didn't improve her time, but it did allow her to at least finish the game. All future prototypes involved some way of guiding the player towards hidden sheep to prevent burnouts of this nature.
After this second round of prototyping we moved into the Unreal Engine, and this was about the time that my involvement in developing the game's mechanics ended. We had plenty of programmers and designers focusing on the Shepherd's abilities and the AI behavior of the sheep and the Wolves, but we had no one working on building an environment for those things to run around in. I've always enjoyed environmental storytelling and designing spaces for a player to explore, so for about the next month I studied every tutorial about Unreal's environment tools I could get my hands on. I learned how to use the Landscape tools, Foliage tools, Lighting, Skysphere, and Fog tools, a little bit about Post-Processing for the exposure tools, and how to make Materials I could paint onto the landscape. I played around with Material functions and setting up sound effects with Blueprints, and I got some practice with using static meshes to build out an area with simple shapes.
My main goal for this prototype was to explore my options with the environment tools. Using only the temporary assets I'd acquired while working through all those online tutorials, I wanted to see if I could create a level that would be fun for the player to explore and aesthetically interesting to look at.
The player starts at their home base, the Shrine. From there they're free to explore the level and look for sheep. The programmers were still working on the sheep and wolf AIs at this point so none of the animals could move or follow the Shepherd, but the sheep would still glow blue to indicate that they'd been found. I also added a sound effect to the sheep Blueprint to allow them to bleat every so often as an extra hint towards their locations.
I made several different landmarks to provide a variety of interesting places to explore. The Shrine is surrounded by a collection of strange stone structures I referred to as Weirdhenge. The path leading away from the Shrine will guide the player towards the lake, the mineshaft, and a deep pit full of twinkling lights. Sheep are scattered throughout the forest and around each of these landmarks to reward the player for exploring.
The team was very excited about the potential this prototype represented, and the most important lesson learned was that we needed to do something about the trees getting in the way of the camera. The game was always meant to be set in a forest, so trees and other camera obstructions were guaranteed to be a problem for the player while exploring. It's possible to completely block the camera with tree branches in more than one location on this map, so I decided to find a way to solve this issue.
This is the percentage-based camera distance mask I put together to adjust the opacity of our foliage. Whenever a tree or a clump of thick bushes got in between the camera and the Shepherd, it would simply fade out of view. Parameters were exposed to the artists so they could adjust the distances where the fade began and ended, as well as set a floor on how low the opacity could get. Limiting the fade to a 25% minimum allowed the foliage to still be seen while it was transparent, so the player still knew it was there and didn't lose any information about the environment.
This distance mask was carried forward into all future prototypes, and can be seen in the final game on most of the foliage and on certain stone ruins.
From there, level prototypes became far less detailed. Now that we knew what was possible we could put set dressing on the backburner while we worked out the overall size and flow of the level.
While the programmers and gameplay prototypers were working on the Shepherd's abilities, the AI, and the game's mechanics, I was practicing with the landscape tools. The director and I would discuss what she wanted to see next at production meetings, we'd work out a design for the map, and then I'd do my best to replicate it in the engine.
Neither of these prototypes were furnished beyond this initial landscaping stage. I put Weirdhenge in as many of my prototypes as I could, but aside from that there just wasn't time to develop these levels any further. Which was a shame - I would've liked to see some of my cave areas used in a fully playable version of the game.
Everyone on the development team was new to making games when we started this project, so we hadn't quite figured out that we ought to start small, figure out what works, and then build up to a full level. Making full-size level prototypes like this was perhaps a bit ambitious of us, but, on the other hand, I couldn't really design a level of any size for a game that didn't have any set mechanics or playable gameplay code. The programmers and prototypers were still working on setting up the basics of the game, so landscaping practice was probably the best thing I could've spent my time doing at this point.
After that My friends and I went on a three week road trip, so I couldn't do anything else for pre-production until I got back. While I was gone the gameplay was solidified enough to start work on a showcase for our faculty mentors, and by the time I arrived back in Provo the team had a basic level ready for me to step in and improve.
This version featured a single Shrine and played very similarly to Capture the Flag. Players were meant to make short ventures out into the surrounding woods to find sheep and guide them back to the Shrine. Each sheep found would build up the Shepherd's strength and provide him with more light to fight the wolves with, so the more sheep you rescued the further away from the Shrine you could safely go. Fighting the wolves would slowly build up the Shepherd's bar of Reaper energy until the player had enough to activate Reaper mode, and small health boosts and Reaper powerups were strategically placed throughout the environment.
The map I came home to after my vacation was a good start, but it needed some refinements to improve the gameplay experience. In these images, the green space indicates the available play area while the brown areas are impassable mountains. The old map had a deep canyon surrounding it that was very easy to fall into. There was no way back up to the play area once the player had fallen, so my first order of business was to block off any and all falling hazards.
I added some levels to the topography by laying out a few hills and some paths to explore them with. The Shrine is overlooked by two different areas the player can only get to by following the paths painted onto the terrain. These areas served as helpful vantage points for the sheep call ability, and were a little more fun to explore than the general forest. I kept the deep canyon on the western edge of the map to contrast with the cliffs and mountains surrounding the rest of the play area.
I personally placed every sheep on the map, painted the landscape, and built up the layers of foliage in the forest. The barn asset was moved further around the mountain and a farm was built up around it to provide a more interesting set piece to find, and I tried to make the level as easy to run around in as possible. Earlier builds included a long, impassable fence between the Shrine and the western forest, which made exploring in that direction tedious because the player always had to walk all the way around the fence. I broke up the fence and made sure the spacing between the trees and bushes would provide plenty of room to run around in, that way the player could get to exploring and rescuing sheep from the wolves right away.
After I was done rearranging what was already there we realized that the level could still use one more area to explore. So, I set up a path around the mountain with a secret passage at the end leading back to the Shrine. Discovering caves and secret pathways is fun, and connecting the end of the path directly back to the Shrine made it convenient for players to return to their home base immediately after completing the mountain area.
This faculty review was our final deadline before the Summer ended and the project moved into full production, so this was our last chance to get feedback on the project before the team expanded and we had to really commit to our design.
Overall, the professors were impressed. They said we were in a really good place to enter full production, and that this was one of the most complete and playable prototypes that they'd seen at this stage of the project in years. That said, the gameplay was too repetitive. It was a fun toy for a bit, but always going back to the same base of operations got boring pretty quickly. There were too many sheep available, and too many wolves to hold an atmosphere of tension. The level was a good start, but we still needed more interesting things to find and explore. Going forward we replaced the single large Shrine with a series of small Shrines along the path to the end, and added in some puzzle elements to the gameplay.
Production Part 1 - Fall Semester 2021
The new semester brought in a lot of new people. We only had about two dozen developers working on Shepherds during the Summer, but Fall opened up the project to new teams of concept artists, programmers, and various texture artists and modelers. Members of the Summer team stepped up into positions of leadership during this transition, and so I became the Level Design Lead.
My team was small compared to most of the other divisions. It was just me and three other people: Hannah Cluff, Emily McDermott, and Maleah Guinto. Eventually Maleah would leave Level Design to lead the Environment Art team, but our time working together in this early period improved our communication and kept our teams working closely together in the future.
My responsibilities as Level Design Lead mostly involved managing weekly goals for the team. We all worked towards building and improving our levels, but I was in charge of delegating parts of the assignments to my teammates and checking in with everyone to make sure we'd meet our deadlines. Oftentimes I would break up the work into smaller chunks, get my teammates working individually on those chunks, and then reassemble the pieces back into a full level before it was due. I was also responsible for coordinating with the other team leads. Programming, Gameplay, Environment Art, and Story all needed to be in close communication with me to keep production running smoothly, otherwise Level Design would run into roadblocks that couldn't be solved until another team handled it.
When I became Level Design Lead I realized just how much I didn't know about Level Design. I didn't like being in charge of the department without knowing how to guide my team towards building better levels, so I jumped back on the internet in search of more tutorials. This video from the Game Developers Conference was incredibly helpful, and the tutorial I found while perusing the Unreal Academy page set me up with some handy new tools. I learned what a Level Design Document was, I learned about all the things a Level Designer needs to think about while designing a level, like story beats, the player's path, and gameplay experiences, and I learned the basics of building a level blockout. I borrowed the developer textures from the project files associated with the Unreal tutorial, and shared what I'd learned from my research with my team.
From here on out, whenever we had a new level to work on, each of us needed to complete a documented walkthrough for our section of the assignment *before* we started working in the engine. Once the map design and associated gameplay concepts were reviewed by the Director and I, we were good to block it out with the new dev textures and simple shapes techniques. I especially encouraged my team to think about the intended path through the level while they were designing, and about how their section of work would flow into the other sections. Maleah and the Environment Art team could take care of the tiny details; our job was to establish the level on a more conceptual, gameplay-driven scale.
This early blockout for our next faculty review shows off a lot of these new techniques. The majority of the level was built out of simple shapes rather than a sculpted landscape to save time. The only things in the level are what was necessary for the gameplay - just the sheep, the Shrines, the wolves and the environment for the player to explore. Different colors of dev textures are used to indicate different purposes for each object in the blockout: red for impassable obstacles, blue for puzzle objects, and gray for the general environment. In the future, orange would indicate breakable objects.
Only the area north of the river was ever completed. The map was meant to be based on the Cygnus constellation. In the top-down view, each Shrine matches one of the stars in Cygnus. The Director said she wanted a moment near the start to be similar to the opening of The Legend of Zelda: Breath of the Wild, where Link looks out over the open landscape and the player gets to see all the places they can go, so I designed the intro area to lead to just such an overlook. From there, I blocked out the Shrines and the river, and put together the Shepherd safehouse to the west.
All my research into good Level Design practices taught me that my goal was to communicate the overall intent of a space, and let the Environment Artists handle taking that intent and making it look good. So, I blocked out the safehouse with nothing but cubes and other simple shapes, and added only what was necessary to indicate that Shepherds used to live there before being attacked by a pack of wolves.
I was also responsible for the forest in the center of the map and for the path further south and to the east, but the rest of the design belonged to Hannah and Emily. Hannah built the ship and the Leviathan bones along the river, while Emily set up some puzzles and sheep to collect in the northeastern area. Together, they designed most of the eastern half of the map, with a bit of additional assistance from the Gameplay Lead.
Once I'd finished with my portion of the blockout I realized I still had some time left before our deadline, so I took the opportunity to add just a little bit of setdressing to the former safehouse.
We had a basic Shepherd model in the engine, and the safehouse used to be inhabited by Shepherds before it was ransacked by wolves. I had time and an image to communicate, so I took that Shepherd model and captured some static poses with it to add some fallen Shepherds to the area. When the player enters the room with the Shrine in the safehouse they can find a body slumped against a support pillar, and another lying on the floor near the hidden exit.
One of our concept artists, Audrey Johnson, took inspiration from that and drew this piece of additional artwork for one of her final assignments, and I was thrilled to see one of my ideas rendered out like this.
Stepping back into prototyping for a moment, this was also around the time we developed a simple puzzle system for the game. One of our programmers, Joseph Chou, set up the architecture for some basic triggers and listeners, and I set up our Blueprints in Unreal to inherit from that code. The basic design for most of the puzzles involved a series of sconces the player could light to cause changes in the environment. These sconces could unlock doors or activate mystical ruins, and they were an easy way to add another level of interaction with the world. I realized pretty quickly that I wanted to use Shrines as triggers as well, so I also dove into the underlying C++ files to add the trigger interface to the Shrine code.
I'm grateful that our programming team was able to set up these tools for us to use, but I'm also glad that I knew enough about coding to adjust and improve those tools myself. This wasn't the last time I would need to alter the game's source code, especially since the programming team was often so busy they didn't have time to refactor something just because I asked.
As far as feedback on this prototype went, the overall consensus was that we were still thinking too big. Instead of making a big level and trying to fill it with stuff, we needed to be making small pieces that people responded positively to and then combine those pieces into a bigger level. So, the Director tasked us with prototyping what we called 'sheep grabs', which were bite-sized points of interest we could move around in the level as necessary. Anyone on the production team could come up with an idea for a sheep grab and post it to the group chat, so we had plenty of potential designs to choose from.
We wanted the sheep grabs to be a more interesting way to collect sheep for the player. Until now, we'd mostly been hiding sheep in bushes and under rocks because we just didn't have anything better in mind, but bush sheep aren't very exciting to find. It's much more fun to collect sheep from a crumbling ruin or from between the bones of a long-dead Leviathan, so we made it a point to avoid bush sheep whenever possible. We could still have one or two for simplicity's sake, but the vast majority of the flock needed to come from sheep grabs.
While prototyping the sheep grabs, I also developed a way to add a small element of randomness to the locations of my sheep. It's a small thing that I doubt most players would notice, but all the same I wanted to avoid letting players rely on sheep always being in exactly the same spots every time they played the game. With this Blueprint, I could group a set of sheep together and randomly delete a few off the map whenever the level was first loaded. That way, even if I had to put bush sheep on the map, the player could never be completely certain that a specific bush sheep would be there or not. This is a feature that made it into the final game and is used a lot in my section of the level.
Gameplay evolved to add another level of hierarchy to the Shrine system. Now, instead of just using Shrines to lay out the path, we had Temples to oversee all the Shrines for each area. The Temple would block the way forward until all the associated Shrines had been lit, which made it very easy to divide up the map into discrete sections and stop the player from going too far too fast.
We were also experimenting with Reaper mode at this time, and what it meant to kill the wolves. Now, Reaper mode could only be activated after lighting a Reaper Shrine and receiving a charge of the ability, and killing a wolf would reward the player with a sheep. These changes meant we had to be sure to place Reaper Shrines in strategic positions so the player could access the power when they needed it, and we didn't have to place as many sheep in the level since players could always get more with Reaper mode.
After we'd spent some time developing our sheep grabs and coming to terms with the new gameplay, it was time to start preparing for our next faculty review. The Director asked us to come up with some possibilities for a level with eight distinct Temple areas, one of which would be used as the basis for the level we had to present. I submitted a few different possibilities based on different gameplay concepts, and after reviewing everything my team gave her the Director chose option 2c from my designs.
Ultimately though, eight areas was still too big. We needed to distill the game down to its core concepts and experiences before building it up to a broader scale. In the end, rather than use the eight point Cygnus map the Director approved, we abandoned Cygnus entirely and just focused on making a map with the five areas listed above. This way, we could focus more on the gameplay concepts each area was meant to introduce rather than worry about building an arbitrary number of areas. I worked on the Puzzle and Medium sections, Hannah took the Tutorial and the Hard section, and Emily was responsible for the Easy area.
As Level Design Lead I tried to review my teammates' work and suggest improvements whenever possible. This is a drawover I did for an early version of the Easy area, and a sketch of the revised map I proposed. The green lines are an approximation of the path through the level, red dots indicate the locations of wolf dens, and orange and blue objects are interactable things, like puzzle doors and breakable walls. (Note: the perspective of the sketched map is rotated 180 degrees.)
Emily had some good ideas in her design, we just needed to adjust the flow of the level and simplify things to the point that players wouldn't be frustrated or confused. Her second version of the area was much better, and only needed some minor improvements before the next faculty review.
Being involved with the other designers' work like that made it easy to keep the overall design of the game cohesive and focused. We weren't each designing a separate space in a vacuum, we were working together to make chunks we could slot together. This screenshot shows a view of the level with multiple sections connected together; Emily's Easy area in the foreground flows into the Puzzle section directly behind it, which is connected to the Medium and then Hard areas to the left.
Speaking of the Puzzle section, here's a short playthrough of the area.
This section was meant to be set in some sort of Shepherd ruins, with three puzzles to complete before moving on to the final room. Ultimately this area was meant to introduce the concept of Reaper Mode to the game, so after unlocking the last chamber the player would find a Reaper Shrine and gain the ability to destroy wolves for the first time. Space was dedicated to the three puzzles in the blockout, but we didn't have enough time to design puzzles for the area before the next faculty review.
Sadly, without concrete puzzles to put in the three placeholder areas, the Director cut the Puzzle Zone from the game. It never developed further than this and never made it to the third faculty review, but I still learned plenty from building and designing it.
I learned how to use the Sequencer and trigger a sequence from inside the game. I learned how to set keyframes and use animations in a sequence, and how to spawn objects that would persist in the level once the sequence ended. I got to prototype the one-way breakable wall all on my own, and it was at this point we realized that we needed to use soft object references to let the code communicate across sublevels. We only noticed in the first place because I couldn't connect the teleport Shrine at the end of the Puzzle Zone to the one in the Medium Zone. I was the one who went looking for answers and suggested using soft references to the programmers.
The Medium zone utilized a lot of my sheep grabs. Coming in from the Easy area, the player is first presented with a modified version of the Farm setpiece. The barn, the stables, and the Reaper Shrine were kept, but the farmhouse was removed to open up the space for the rest of the level. The center of the area is taken up by a pit with a Guard Wolf patrolling in a circle around it, and there are some randomized bush sheep in the small forested areas around the edges of the map.
The second half of the level is a sheep rescuing challenge. In this version of the game, killing wolves as the Reaper would grant the player an extra sheep. To progress in this area the player needed to kill enough wolves to light the Shrine and activate the Temple before they ran out of power as the Reaper. The player can see the next Shrine they need to get to up on a ledge, which is inaccessible until they complete the sheep rescuing challenge. Activating the Temple opens up the way to a small path around the mountain, which ultimately leads to that ledge. Along the way, there are a couple of sheep across a chasm, and can only be reached by knocking over the falling tree bridge. From there, once the last Shrine in the area is lit, the player can use it to teleport to the Hard area.
Overall, the biggest takeaway from this faculty review was not to change the design of the game itself, but to make it easier for the player to interact with the game. We needed to condense the experience and let it be exciting. More action, more fun, more to do, even if it was just being able to whack the grass with the staff for no reason at all. The control scheme needed a rework and we needed to provide better feedback when the player took an action, but all in all the gameplay was solid enough to tentatively lock in our mechanics. So, with Fall semester complete, the next semester would be all about finalizing our designs and building the game we intended to publish.
Production Part 2 - Winter Semester 2022
We lost Emily in the new semester. Her class schedule didn't line up with Shepherds production meetings anymore and it proved too difficult for her to catch up with us afterwards, so from here on out it was just Hannah and I on the Level Design team. I still held all the responsibilities of the Level Design Lead, but with only two people on the team it really turned into more of a partnership.
During the Fall Semester it felt like we were completely rebuilding the level into something new every other week. This semester, however, we were finally confident enough to commit to a single build and iterate on it.
With the feedback from our last faculty review in mind, we condensed the play area down even further. Now the only areas we had were Zone 1 and Zone 2. Hannah and I sat down with a whiteboard and planned out everything we wanted in the game, and then got to work building it in the engine. As Level Design Lead I was still responsible for reviewing everything and making sure the overall level was polished and cohesive, but in terms of specific assignments I was in charge of making and improving Zone 2, while Hannah took charge of Zone 1.
We iterated on this map until about halfway through February, when the gameplay was almost completely overhauled one last time.
The types of Shrines were simplified once again. We'd already abandoned the teleport Shrines by this point, but now we were getting rid of the Defense Shrines too. The Shepherd was back to generating his own Reaper energy again, so dedicated Reaper Shrines weren't necessary either. The Guard Wolves were required to guard a specific wolf den now, so a lot of my lone patrolling Guard Wolves had to be changed. The player could only deposit sheep at Shrines now, not take them back, and all lost sheep had to be rescued from the wolf dens before the player could move on to the next area.
The gameplay overhaul forced me to completely redesign my area of the level. The old Zone 2 was predicated on a set of gameplay mechanics that didn't exist anymore, so rather than force the old design to work with the new gameplay, I sat down and tore the whole thing apart. There were some things I could keep, like the general layout of the area and the overall number of Shrines and sheep, but without some of the mechanics I'd originally been working with I had to consider what the level was supposed to be on a more conceptual level.
Around this time our faculty mentor, Seth Holladay, recommended we pay more attention to the theme and setting of the level. Beyond just the gameplay, what was each area meant to represent?
If Zone 1 was meant to emulate the Shepherds' space, a cozy sort of settlement that the wolves had invaded, I wanted Zone 2 to be less comfortable and more grand. This was not a place people lived in. People don't live in monuments, graveyards, or cathedrals. Zone 2 was hallowed ground that has been desecrated by the ravages of time and the onslaught of darkness brought by the wolves. This place was built by the Shepherds' ancestors among the bones of giants to remind their kind of the responsibility they bear. Life, Death, Light, Dark, and the narrow path between them both.
Two giant statues at the exit to the level show the Shepherd to the North and the Reaper to the South. To match this, the North side of the map is more lush and living than the South and includes more ruins and a Shrine that's not on the path. To the South, there are more wolf dens and far less foliage. Dirt rather than grass, and bones everywhere. Overall, the North was more geared toward Light, Sheep, and Life than the South, which was focused more on Darkness, Wolves, and Death.
With the new changes to the mechanics and my new concept in mind, I sketched out a new map of the area. The Director loved the new purpose for the space, and very few changes had to be made to the layout from that point forward. The drawing on the left was the design I was working off of, and the screenshot on the right is a view of the finished map. The exact placement of a few things shifted slightly over time, but overall everything is where I put it from the beginning.
And so we finally wrap back around to my final Level Design reel. This is the design the game was released with, which means there's not a whole lot else to talk about. The remainder of our development time was spent polishing and playtesting the level, and since the design was done that meant I was free to help out wherever I was needed. I made sure the terrain was smooth enough that the sheep wouldn't have any trouble navigating it. I put up invisible walls all around the edges of the level to prevent the player from potentially falling out of bounds. I helped the Environment Artists find and turn off the collisions for models that were messing with the sheep's pathing AI, I helped the Sound guys figure out how to add subtitles for pieces of a song that played in specific areas of the level, and, most importantly, I helped develop our Main Menu.
The remainder of this page is dedicated to some of the additional work I did outside of Level Design, specifically on the UI and the Story. All in all, working on Shepherds was an amazing experience that I'm so glad I got to be a part of. I learned a lot from my time as the Level Design Lead, and I look forward to designing more levels in the future.
User Interface
Main Menu
About a month away from our final deadline we still didn't have a main menu for the game. Everyone was just so focused on polishing the level and ironing out any bugs in the programming that the menu had fallen by the wayside, despite having all the assets ready to go. Since the hardest part of my job as a Level Designer was already done by that point, I asked the Director for the requirements and the assets and got to work.
This was where I learned how to use Widgets in the Unreal Engine. I learned all about anchoring things to different areas of the screen and how to maintain the aspect ratio for different sizes of windows. I learned how to use the Blueprint attached to the Widget to make the buttons I added do things, and I learned how to animate all kinds of fades for the different image layers to make the transitions between screens smooth and seamless. Once I had the Main Menu Widget figured out it was super easy to make Widgets for the Settings menu, Level Select, and Credits page, and along the way I figured out how to wire up the corresponding buttons to create those other Widgets. I even learned how to switch between levels for the New Game button.
Overall the game was designed to be used with a controller, but since it was being released as a PC game I took the liberty of ensuring that all my menus would work with a mouse and keyboard as well. In fact, the game probably wouldn't have keyboard controls at all if it weren't for my enforcing them during development. Whenever the Gameplay Lead added a new button mapping to the controls I was the one who had to go in and make sure there was keyboard mapping as well, since most of the development team was purely focused on using the controller.
Dynamic Widget Switching
Since I was the main proponent of PC controls, it also fell to me to ensure that players would be able to see the correct button prompts no matter what control scheme they were using.
I added code to the Player character's Blueprint to listen for a swap between keyboard and controller, and then notify any relevant parties when a switch occurred. Blueprints containing key prompt Widgets, such as the murals in the Tutorial or the "Hold Y to Skip" message during the opening cinematic, would then automatically switch to the correct set of Widgets or decals for the current control scheme.
Subtitles
Lastly, although we didn't have any spoken dialogue in the game, we did have snippets of a folk song that would play if you explored certain corners of the map. Our sound guys were great, but they weren't programmers. So, they asked me to help with putting the words on the screen whenever each piece of the song was triggered.
The easy way to do it was to label each .wav file with the words it contained, specify the font requirements in the Project Settings, and let the Unreal Engine do the rest. Unfortunately, the way the sound clips had been integrated into the game with the Wwise system meant I couldn't just fill in the subtitle string on the .wav files. I didn't have access to the raw .wav files, so there was no subtitle attribute to fill in, and thus I had to figure out a workaround.
After doing some digging into how the sounds were being triggered with the Wwise event system, I realized that I could create a Widget on the screen when the sound started to play and then wait for a callback from the Wwise event when the sound ended to delete the Widget. This system probably wouldn't hold up very well if I had to do a lot of spoken dialogue with lines one right after the other, but because each segment of the song was just one line of the lyrics, I could get away with printing a single Widget's worth of text per Wwise event.
Story
While working late one night near the end of pre-production I was listening to folk songs when I was struck with inspiration for a story concept. The song that was playing at the time was Ashes by The Longest Johns. The somber tone of the song fit the image of a steadfast guardian giving his all to fulfill his duty, and I could clearly picture a group of Shepherds singing it around a campfire as they settled in for the night.
This is the story concept that song inspired me to write, and it ended up solidifying a lot of the ideas that had been floating around during pre-production. Once I was finished writing it I posted it directly to the production team's Discord chatroom just to share the idea. The Director liked it enough that she actually had me present it in person to the entire team during the production meeting the next morning.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The myth of the Psychopomp and of the land between life and death has been around for thousands of years, as long as humans have lived and wondered what happens to them when they die. No one quite knows exactly what this space between looks like though; those who have brushes with death never quite see it as it is, and the gaps in the narrative get embellished on cold winter nights around the fire, when storytellers and audiences don't have much else to do.
There are some commonalities between beliefs though - usually, souls start in the living world, pass through a liminal space, and end in some sort of afterlife or eternal reward. The middle of this journey is fraught with some sort of darkness or peril that must be overcome to reach the other side. This is the gap in between creations. The Fields of Asphodel, The Gunnungagap, Purgatory. The Netherworld that Ra sails his Sun Barge through, ferrying the dead to be judged like Charon of Greek Mythology. There are many stories and many names attached to this place.
We call it the In-Between.
Who are the people that roam the In-Between? Angels? The Fae? Valkyries? Demons or other spirits of the underworld? No matter what they may call themselves, they are the guardians that protect souls on their way to the other side. Not all are brave enough to make the journey though - the civilians tend to stay in cities and towns close to one side or the other, where it's lighter and the wards guarding the settlements are the strongest.
The Darkness hasn't been a real threat for a long time. The paths from one city to another are lit by shrines of protection; streetlamps, or lighthouses against the shadows, powered by the Souls passing by them. But - the Shepherds in recent times have grown lazy, and often fail to reinforce the shrines as they make their journeys. Stopping would take time, you see, and moving faster means more sheep are delivered.
Leaving the shrines to burn out however, gave the Darkness all the opportunity it needed to find a way in.
In to the world, in to the paths, in near the sheep, and into the Shepherds' hearts. Those that neglected the light of the shrines soon found themselves growing colder, turning darker, until that darkness overtook them and they gave in to become beings of teeth and hunger.
The Wolves in Shepherds' clothing could no longer receive flocks of their own - they can't enter the towns after all - but more Shepherds would soon be on their way with fresh sheep. All they would have to do is wait.
When the game starts, the Shepherd has collected a small group of sheep on the mortal side of the In-Between and sets off on his way. The town is bright and well-lit, though there is no clear Sun in the sky. As he leaves the gates you can see big braziers being tended by their keepers; these are the soul shrines that protect the city. The sky darkens the further away he walks into the wilderness, until the brightest lights around are the sheep, the Shepherd's staff, and the shrines along the path. Once or twice he encounters a shrine that isn't lit, and lights it to keep the path safe for the Shepherds coming along after him.
The shrines start to worry him. They ought to be lit. It isn't safe to traverse the In-Between without them, it's too Dark.
And then he is ambushed. The Wolf pounced on him from behind and the blow was enough to knock him unconscious when his head hit the ground.
He wakes sometime later to one of his two remaining sheep nudging him. The rest are scattered or taken by the Wolves.
And so the game begins - Find more sheep, your sheep, if you can. Avoid the Wolves. Bring your flock to the other side of the In-Between, and light as many shrines as you can along the way to push back the Darkness.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This was written in early September, just a few weeks after our first Faculty Review, when we had the basics of our game mechanics decided and a new direction to take the gameplay in based off the faculty's critique. Our concept artists had some images and ideas that continued to pop up in different iterations of the world and character design, so when I wrote my story concept I wasn't trying to reinvent Shepherds. I was taking the parts of the game that the team liked and tying them into the greater world and mechanics.
The Faculty Review proved that our gameplay concept was sound, we just needed to make it less repetitive by including more than one Shrine. So, instead of one big Shrine in the middle of the In-Between, there are lots of smaller Shrines littered across the map for protection on the journey. Everyone liked the balance and symmetry of the Shepherd matching the sheep and the Reaper matching the wolves, so I incorporated the idea that some of the wolves were fallen Shepherds. In turn, going forward the Reaper and the wolves were designed to match each other to imply this relationship between the Reaper, the wolves, and the Darkness. This concept was my way of explaining why the game's mechanics are the way they are, from the sheep collection to the Shrines to the reason the Shepherd was out there in the first place, and it gelled well enough with the rest of the team that it gave us a stronger foundation as we moved forward into production.
The folk song that inspired the concept also inspired the team to put together a folk song for the game, which can be heard here. I didn't write the lyrics for the song, but I did help revise them once or twice.
Comments (0)
This project doesn't have any comments yet.