Shelter 2 – A Post Mortem

1 Post Mortem Header

The following blog post, unless otherwise noted, was written by Jens Berglind and is a post mortem of the game Shelter 2, developed by Stockholm based developer – Might and Delight.

Shelter has often been called a ”badger simulator”, despite its unrealistic depiction of a badgers life. My own preferred description of Shelter and its follow-up is ”nursing adventure game”. They are both experiences of nature with a core of maternal struggle, abstracting the responsibility of caring for weaker ones who depend upon you.

Shelter 2 is the fourth released game of Might & Delight. The studio usually consists of around 8 people, but that fluctuates back and forth as it did a lot during the production of Shelter 2.
The original Shelter was released in August 2013 and got a lot of attention for its novelty, such as from the web comic ctrl alt del.

Shelter 2 was presented to the team with an initial GDD in February 2014, announced two months later, and had its original deadline in August 2014. The production ran late, and was postponed for half a year. In the end, it was released on the 9th of March 2015.

I did not work on the first Shelter game. But I played it at the start of my third year of university, and it was what made me apply for an internship at Might & Delight. I started on Shelter 2 as an intern being a fan of the predecessor, and ended up becoming the lead programmer.

My initial expectations of working at the studio that have created a game I adore were in retrospect silly. I had notions that people from The Real Industry knew exactly what they were doing, and always had the answers for how to solve a problem. Where these expectations get properly silly is that all the games that I have made on a school or hobbyist level have been organic and chaotic, the final result being far from the original vision with all the twists and turns the project takes during development.
Which ended up to be exactly how it was to work on my first commercial game.

Starting as a programmer intern, I expected to get design specifications, execute them, and repeat. As will be apparent later in the post mortem, the reality was never that simplistic. Working on this game was a sobering development of my own attitude, where I went from asking for specifications, to asking for permission, to asking for feedback.

I will not divide up this text in what went good and bad. All headlines contain points on different parts of that scale. Instead, it will primarily have the angle of discussing how Shelter 2 emerged from the original, how the features grew, and a bit about how the development process looked in different stages, together with a few anecdotes and aspects of my own perspective in the production process.

Making a sequel

I feel happy with how we kept the Shelter core of an emotional maternal experience, but made the gameplay different enough from its predecessor to be a fresh take on the concept.

Maternal features

2 Maternal

Without maternity, it would have all fallen to pieces. It is the purpose that keeps all other gameplay elements together.

The maternity dynamics came in properly really late though. We had executed all the features and were maybe a month after feature lock when we started to address that the maternal feel we had then was a lot less than in the first game.
One aspect that we took from Shelter 1 to solve that problem was the cubs following you pretty closely, to make sure they were on screen most of the time. The functionality of them lining up when you are carrying food in your mouth was also an important part of the interaction with the cubs. It makes the player feel like the cubs are responding to them, and emphasizes their dependence on the players actions.

But we also wanted to expand on the maternal features. Being able to carry the cubs was something that was in the design from the beginning, and worked well without almost any iteration. It felt natural to players, and many experienced a heightened sense of protectiveness when a cub had died, starting to carry their remaining cubs more frequently.

A concept that was added late was the process of saving starving cubs. In Shelter 1, you could save cubs that greyed out and stopped walking by bringing them food, but few players understood this.
To make it more clear in Shelter 2 when a cub starts to be hungry, their pelt gets more desaturated, they keep closer to the player, and they start to meow differently and more often to get the players attention.
When they are so hungry that they are close to death, they lay down and wont follow the player anymore. But to make it more clear than in Shelter 1, they call out with yet another set of more urgent meows to remind the player that time is short. When close, the other cubs will sit around their sibling to emphasize that help can be given.

Far from all players notice all the steps and signs, but as a whole it was effective in communicating when a cub was close to starvation.

The process of hastily looking for prey, or carrying the starving cub to food or water, showed to be a stressful and dramatic gameplay moment that even seasoned gamers got to experience in a playthrough, as even they forgot at times which cubs they had fed or not.

However, the sniffing feature was crucial to make this work. We tried to add icons on the memory map, but that was too inaccurate as it is more of an exploration feature than the action-flavoured feature which the sniff is. It was first when we added the symbols for the cubs that shows when sniffing that it became a reasonable task to find your way back to the starving cub once you had found food for them.

The hunting process

3 Mat

To differentiate Shelter 2 from its predecessor, the important changes were the open world exploration, replayability, and the shift of dramaturgy that came with the new choice of animal, mainly manifested in the hunting.

A lot of early development was focused on making the hunting engaging. This is something that has been really important, that the main activity of the player is something that is interesting to do throughout the game.

In the process of searching for prey, the sniffing feature helped a lot. The patterned art style together with the down-to-earth colour scheme is not really optimized for readability. However, I really like this solution. Because it solved the readability problem, and it was not by any disturbing, out-of-context element such as bouncing arrows, but an integrated part of the world that support and emphasize the aesthetic of being a predator out on a hunt.

4 Sense

The crouching that was player controlled in the first Shelter was here decided to be made automatic, indicating prey close ahead of the player in order to create a lurking calm before the action filled hunt. Together with an audial cue and bringing the camera closer to make the shift clearer, this became an important part of the dramaturgy of the hunting process.

At first, the interaction to hunt was to run up to the tasty animal of your choice, jump over them and click in the right moment to pounce down. This sounded all well in theory, but it was very clumsy in practise. The essence of hunting was to catch up on the fleeing prey, and the other button pressing was just interfering. The iteration to auto-catching prey when close and having it stick to the lynx’s mouth clicked and was kept.

For a long time we held on to a system where the stamina would not regain without food, and the player could starve to death from it. This was incredibly punishing, as a few failed hunts could lead to a sure starvation for the entire family. It also worked against the maternal instincts, as players would not feed their cubs, fearing that they would not be able to provide at all if they did not eat themselves to boost their stamina.
With the concept of being forgiving toward players, we made sure that the stamina would always regain to a certain limit when being still or walking. So regardless of how many hunts you failed, you would always be able to try again. If the player eats, they still get a boost in their stamina, which achieved the effect that was the purpose of player starvation from the start; that eating yourself or giving the food to your cubs should feel like a tough choice at times.

How exploration grew as a feature

5 Explore

The first part of making exploration worthwhile was to make large, beautiful, and diverse levels. Without that, the other factors would have fallen short. It needed to be a visually pleasant nature experience.
However, the levels were difficult to navigate, and it was a bad sign when developers who played it still could not find their way around after months of level development. This was partly solved by landmarks, but it was yet a part of the game that was saved by the sniff feature. Marking the home tree and the level transitions with symbols appearing when sniffing did a lot for players being able to navigate the areas.

The collectables had about as many iterations as there are deaths in a book by George R. R. Martin.
In the original design, they had a gameplay purpose of preparing your nest before you gave birth to your cubs. I really liked this on a conceptual level, as did several others in the team, which is probably why we tried to make it work for a long time.
Carrying leaves and feathers to your den was never engaging. It became a drag, even though the section was a few minutes long, regardless of encouraging feedback. Players did not get it, and we did not really either.

6 Collectables

We had a notion that all you collected in the world should appear around your nest, so skulls, mushrooms, branches and all, just teleported to the den. This worked in all technicalities, but it never felt like it worked with the world. How would we communicate that it teleported to the den? We thought at one point that the first time you picked something up away from the den, a text prompt would be shown with ”Mother Lynx returned to her den with what she had just found”, but that also felt overly shoe-horned in. And I would seriously question the mental health of Mother Lynx if she walked all the way back to her hoarder den just to drop off a pretty rock that she found at the furthest edge of the Tundra.

The final iteration came late in the process. (Yeah, there is definitely a pattern here.) All randomization was removed. Earlier, the collectables were randomized on the levels, and you could get them from shaking trees. We instead decided to have a set number placed on each level, the different categories shown in a menu together with how many of each type you had found.
This was more distanced from the core game, and we decided to not force in an explanation of why Mother Lynx picks up loose crap here and there (even though that is a cat-like behaviour). We let the collectables be a reward for explorers and completionists, to mark how much of the game world you have seen. That it also serves as a counter for how many animals of a certain type you have killed via the skull collectables has also been an appreciated component.

The memory map was supposed to be representations of the lynx’s memory of what she have seen in the world, abstractions of noteworthy places and general areas (”it was a waterfall this way, then a forest”). However, some players regarded this as an exact map, and were frustrated that it was not. Though some players viewed it as intended, and appreciated it as a complementing exploration feature to the collectables, communicating boundaries of the world and potentially unexplored areas. So we left it in as it were, and felt it was fine that not all players saw the need to use it.

On learning and minimizing text content

A goal from the start was to have as little text as possible, but to still have a smaller amount of text screens to narrate certain moments of the game.

These screens, in addition to their narration purpose, helped to hint about goals and mechanics. As an example, we never tell the player how to hunt (or even that you should). But that the narration text describe how Mother Lynx ventures into the world to find food for her family, together with the player having learned to run, hungry mewling cubs, and a lot of rabbits around the den, testers figured out how it all fit together without more outspoken guidance.

We did not want to over-tutorialise, but we were afraid to repeat Shelter 1’s problem of many players having to look up online how to get out of the cave at the very start.
Tutorials should not interfere too much with the play, but we wanted to make sure that players could not miss the vital ones, which is why the tutorials here pauses the game and goes up all over the screen, instead of the original Shelters more discreet tutorial images appearing off centre.

We started out with tutorials for every type of interaction, and weeded out the unnecessary ones as we went along. For example, the feature of calling your cubs is something most figured out, while no one tried to eat for themselves if we did not have a prompt for it. Mostly, we had to observe testers to figure out how we needed to approach how they learned the game.

7 Tutorial

The goal of tutorializing as little as possible also lead to a few exceptions, such as the tutorial for sniffing. The feature is helpful when hunting, but not vital. We wanted players who experiment with the controls get to figure this one out by themselves, but the players who do not should not have to play the entire game without it. So from the moment hunting is introduced, we check how many times the player use the sniff. If they have used it a few times within a time frame, they have probably figured out what it means, and we do not show them the tutorial.
A similar exception approach was taken to the movement. WASD is not revolutionary in any way. Most gamers will assume it, try it, and start to walk around immediately. But as Shelter 2 should be casual-friendly, we decided to keep the tutorial for it that shows after a time frame if the player does not move.

In the process of making the game understandable, it was important for us to test it with both typical gamers and people who rarely play games. Shelter 1 was praised for its simplicity, that parents could play it with their kids, and that it could be used to introduce someone to digital games. This breadth of audience and low threshold to play was something we definitely wanted to keep.

To see if players understood concepts required outside testers, but we also had a dimension on how hard the game was when you knew how to play. There were several voices in the studio who advocated for the game to be more difficult at times, when people got a case of developer blindness. What went well here is that we have one voice that is terribly unskilled at playing games, which balanced up the other views. This was very constructive and needed at several times in the production to end up with something that would be forgiving to play.

The scope and perils of open world

8 Open world

It sounded great when the concept of an open world was pitched with weather, seasons, and dynamic events. I had never made anything open world, and had a big case of coder optimism.
There were estimations on the amount of time that would be reasonable to write the isolated systems, but I did not reflect too much on the amount of work that it would mean to get all systems to always cooperate with each other, and weeding out the never-ending stream of obscure corner case bugs.

Optimization also became an issue, as well as making systems practical instead of naturalistic. An example of that is the spawning of prey animals. I started out by spawning prey all over the map, entirely random. And if the player hunted a lot in an area, it would take time before prey started spawning there again. It was a nice system, it was logical, and it was completely worthless.
It was only frustrating for players who could not find prey to feed their hungry and demanding cubs.
I started to spawn prey in a radius around the player instead. However, consensus was that spawns were never allowed to happen in the cameras frustum, which lead to some trouble.
Even with a number of guaranteed rabbits always semi-close to the player, many testers (including developers) found few of them. Watching people play, many walked straight ahead, turning rarely and barely touching the camera, frustration growing that there were no prey in their view even though they had walked for several minutes.

So in the iteration of spawning that actually went into the finished game, I do spawn prey in the frustum, just a little further away than if I would have spawned them outside the frustum. Sometimes things pop visually, but that is rarely noticed.

Moral of the story is that we several times lost track of the experience of the game for designs that made sense on a conceptual level, instead of going for what was actually practical and necessary for the experience to work.

A continuation of the art style

9 Russian pattern

Shelter 2 have kept the art style at its core, but developed with a few differences. Instead of the Japanese kamon patterns in Shelter 1, the textures in Shelter 2 are inspired by Russian sewing patterns. The 3D-models are slightly more high poly, while still staying angular abstractions of nature, moving the style a bit further from the more cartoony feel of the predecessor.

This lead to a few things in production. Levels ended up having a higher degree of detail in the decoration. The abstract style showed to be very forgiving towards entities popping or not having entirely smooth transitions, which simplified some elements. The leaf meshes on the trees are just swapped without transitions when blooming up or decaying as the seasons change, which does not disturb the visual unity.

The style iterations also meant that animations and visual polish needed to step up to be believable in the context. (In addition to choosing a cat animal as the protagonist, which most people can recall how it should move. Few have seen badgers in movement, making it easier for the predecessor to get away with more unrealistic animations.)

As a reference, Mother Badger have 29 animation clips all in all. Mother Lynx have 125.

I had never used Unity’s mechanim tool when I started, but I pretty much know it inside and out after completing (amongst other) this little animation tree.

10 Animation

Team composition and production episodes

While the team that made Shelter 1 was damaged from the pid production, the team that started on Shelter 2 was a newly assembled and untested team where several people had little experience, such as myself. There were four people in the team that had worked on pid and Shelter 1, of which two were part timers on the project.
We also had a steady stream of interns coming and going, of which some definitely lifted the game a lot. An example is the birth scene, which was one of the first tasks of an animation intern. It still makes me tear up when I see it, even after looking at kittens every day at work for one and a half year.

In the beginning of the project, we were producing content after a GDD, but with a lot of extra notions on how to make the game more challenging, naturalistic or logical. Minuscule details were debated for far too long, and focus of what the game should be was skewered at best.
This made development a slowly progressing drag, and the closer we got to the original deadline of August 2014, the more obvious it became that it was not going to work. We had something, but it was buggy, unpolished, and incoherent.

For the studios economic survival, a hard decision was made on how to carry on. 2 people were laid off. Me and Peter Stråhle, the lead artist, was set on organizing Shelter 2 as it was postponed for half a year, while the rest of the studio focused on completing The Blue Flamingo (which we had laid on ice earlier that year) so we could release something in the meantime.

Me and Peter started by just making everything work together as it was and filling in assets where they were missing. It was a much more organized time than previous in the development. We had clear lists on what needed to work in what way, and what time frame we had to do it.

I finished early before the new feature lock, so we added some more things to the game that we felt would lift it, and that could be afforded with the extra time if executed in a stupidly simple fashion. Around here is when the fog, the map, and the sniff (which saved so many different aspects of the game) got in.

We also went through features that we had promised in press, and elements that were specified from the beginning that we had not had time to make. Naming cubs, the family tree, and texture progression on the cubs as you continue the generations was one of those, which in retrospect have done a lot for the game and its replayability. I simplified the design of it to make it manageable to create in a short time frame, but that still added a depth to the game.

To be able to carry the cubs, and the cubs starting to hunt as they grow up was also wedged in here. Carrying the cubs had earlier been decided to be left out to keep the deadlines, but it was so much more fun to code that than to solve bugs one afternoon, so it got in (and looking back, it has been one of the features causing the least problems). The cubs starting to hunt began as a comment of ”wouldn’t it be cool if…”, and was implemented at the same time.
I did not tell the team, and instead they found out when playing the build the day after. I thought that people would get cranky at me going rogue over decisions, but no complaints came as everyone liked the changes. Time was pressing, but these smaller scale tests and additions were still an important part of the creative process, and several other functionalities of that type of scope were tried out during the autumn of 2014.

Though it was firstly after the release of The Blue Flamingo that we really started to scrutinize the game, bringing testers in from the outside, and iterate to make the game work as a whole. This trailed throughout January 2015, which we said we were going to be finished at the end of.

The rest was about bug fixing up until the finish line. Shelter 1 was made without crunch, but not Shelter 2. The chaotic start, and the design falling into place so late in the process lead to a lot of overtime near release just to get everything to function technically.

After the release, we have supported the game with bug fixes and making smaller fan requests while working on a DLC (containing new dangers and a new area). We kept the number of developers involved on it small, which has worked out smoothly. We have known what works in the core game when designing the new content, while also using our community on Steam for requests, input, and beta testers.

Conclusion

In the end, I am happy over how Shelter 2 turned out, and that the game has been so successful that we are able to keep working on expanding the world. I think we hit the sweet spot of not hand-holding the player to create the dynamic, non-force fed experience we were aiming for, while keeping the difficulty level low to suit casual players. It feels great to see the breadth of the fan base. From people who rarely play games to hardcore shooter fans who feel a dire need to proclaim their male gender in their Steam reviews, a diverse collection of people have been emotionally touched by their experience as a Mother Lynx.

Regarding production, the overtime and skewered vision is something that we as a studio are addressing for upcoming projects, and really nothing that we would like to repeat. Being aware of the problem areas I have brought up in this post mortem is a start. However, the decision mid-production that few people should steer up a chaotic, sinking project with more time at hand was definitely one of the better (Brook’s law in motion there).

Drawing inspiration from the animal kingdom have given us a steady stream of dramaturgy and gameplay elements. When sketching out the plan for the DLC, we were not short of ideas. Rather, we picked out the ones that we liked the most and those who were most doable in the time frame.
Working on the Shelter world is fun, but it is also essential for us as a studio to keep making experiments, as Shelter was one from the beginning.

Will there be more Shelter? There is a pile of unused ideas for the Shelter world, but it is important for us to not continue the brand just for the sake of it. There might be more areas in the dramaturgy of motherhood and nature left to explore, and time will tell.

11 Avslut

One Comment

  1. Andreas

    Great read 😉

Leave a Reply