Shelter 2 – A Post Mortem
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 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. 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. 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 Maternal features 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. 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. 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 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. 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. How exploration grew as a feature 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. The collectables had about as many iterations as there are deaths in a book by George R. R. Martin. 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. 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. 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. 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. 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 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. 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. 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 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. Team composition and production episodes 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. 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. 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 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. 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. |
Great read 😉