To The Rescue! http://totherescuegame.com The dog shelter simulator Wed, 23 Dec 2020 00:57:05 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.6 Dev Diary #16: Foster Homes for Imaginary Dogs http://totherescuegame.com/dev-diary-16-foster-homes-for-imaginary-dogs/ http://totherescuegame.com/dev-diary-16-foster-homes-for-imaginary-dogs/#comments Wed, 23 Dec 2020 00:57:05 +0000 http://totherescuegame.com/?p=968 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

A fostering poster by Beyond Rescue, who say that “Foster homes are the lifeline of our organization” in a recruitment post.

Hiya, folks! We’re getting back into the dev log habit by bringing you all some more info about a much-requested feature for TTR: the Foster Network. The presence of foster homes as an important tool for managing the shelter is something that we’ve been promising for a while, so we’re excited to say that our first prototype of the feature is coming along nicely. The Foster Network is one of several new features we’ve been working on, but it’s one that personally really excites me to see in the game.

So, what are fosters and why are we including them in the game? Well…

Fostering in the Real World

Fosters function as temporary homes for animals up for adoption. Many real-world shelters rely on fosters to help care for dogs. There are a ton of reasons that shelters might utilize foster homes. They provide many invaluable benefits, including safe, comfortable alternatives when the shelter is running low on space, training for young puppies, comfortable spaces for special needs dogs, and more. Some fosters are also interested in simply “trying out” dog ownership before dedicating fully, but even short-term care can really help lighten the burden of caring for all of the dogs in the shelter.

Perhaps most importantly, no matter how limited the space in the shelter is, the number of animals that can inhabit foster care is only limited by the number of available foster homes. So, recruitment of reliable and safe fosters is vital! Some rescues don’t even have full-fledged shelter facilities, and rely completely on a network of fosters to help find homes for animals (shout out to our local foster network, Out of the Woods Animal Rescue!)

Fostering in To The Rescue!

In the real world, good fosters are valuable, temporary, and scarce, and so they are designed in TTR to reflect this. Once the player unlocks the Foster Network through their LeashedIn skilltree, foster applications will start to trickle in to the shelter. The list of fosters currently in the network can be viewed in the computer, and as soon as they join the network, they can be assigned dogs to take care of!

An early draft of the foster network screen.

However, not every foster home is the same. Some homes will have restrictions that will prevent them from taking certain types of dogs. A foster family with cats, for example, probably wouldn’t vibe super well with dogs that have the Bad With Cats trait! In addition to restrictions, though, fosters also a number of slots that represent the total number of dogs they can have at once, as well as a reliability rating, which represents how many total dogs they will be able to house before they leave the network.

Even this early draft of the mechanic does a lot of interesting things for the game. The network isn’t super intrusive on day-to-day gameplay. New fosters are pretty rare (however, they will be ways the player can increase their frequency as well as quality!) and once dogs are assigned to fosters, they can be adopted without having to bother with the regular adoption process, even though their chances are still influenced by their adoptability score. However, if the shelter is full and euthanasia is looking inevitable, a foster home showing up in the nick of time provides a massive sigh of relief that really drives home how important they can be.

Takeaways

Some Features are More Important Than Scope. Simulation games can be really difficult to scope. There are so many interconnected elements that can be made into game features that it’s a massive challenge to pick and choose between them. TTR has been no exception here: we’ve had to spend a lot of work deciding where to draw the line. Each time we come up with something that would fit great in the game, we have to balance two main concerns. First, will the new feature add something important to the simulation? This question can also be extended to consider whether or not the game can be considered an honest simulation of the theme if the feature is missing. The other, perhaps more important and universal question is whether or not the feature is feasible with existing timelines and limitations.

Our initial vision of the game didn’t include fostering as a mechanic. We discussed it very early on, and decided that even though it would be nice, it would be over complicating other player interactions and we would have to add it onto a pile of constantly growing features.

However, our perspective on including fostering in the game eventually changed. While working on the game, it became increasingly clear that we absolutely had to include foster homes in some form. That’s because we learned that fosters are incredibly important for many real-world shelters! Lots of people with much more real-world experience with shelters than we have were puzzled by the absence of fostering, and after revisiting it and doing more research, we realized that they were completely correct. If we want our simulation game to capture some part of the realities of running shelters, then it stands to reason that it would be negligent to ignore some of the most import aspects of how they work!

Fosters Rule. This is a huge takeaway from this whole process. People having the capability and the kindness to open their homes to animals with nowhere else to go absolutely can’t be thanked enough!

If you’re interested in learning more about becoming a foster, please contact your local shelter and ask how you can help! And, for some more information about fostering in general and how it works, check out this handy-dandy article from Rover.com.


Thanks so much for reading! Hopefully this provided new insights about some of the new things being added to the game, and also maybe helped to shed some light on the importance of fosters to real shelters. Let us know what you think in the comments! Have you ever fostered a pet? What do you think about the Foster Network in TTR? What sort of things would you expect the fosters to provide to your in-game shelter? How important is closely representing the real world to you in simulation games you play?

– Olivia

]]>
http://totherescuegame.com/dev-diary-16-foster-homes-for-imaginary-dogs/feed/ 2
Dev Diary #15: Out of the Doghouse – Part 2 http://totherescuegame.com/dev-diary-15-out-of-the-doghouse-part-2/ Wed, 11 Nov 2020 18:09:02 +0000 http://totherescuegame.com/?p=911 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

An Update!

This is an update to an existing mechanic! I’m going to share a bit about our new expanded construction mechanic that will really let you customize and expand your shelter. If you haven’t seen Part 1, you can check it out here!

Shelter Construction

In Part 1 I talked about the ways that kennel placement and layout factor in to a player’s TTR experience. Essentially, players are trying to maximize space as a resource while accommodating individual dog compatibilities. Since then we’ve expanded this mechanic to let you build your shelter up, room by room!

The new Shelter Construction tool! (With rough draft art)

When the player reaches the third stage of the game and takes over the brand new, but unfinished shelter, they will gain access to shelter construction. There was only enough money initially to build the basics. A lobby for dog intake and adoptions, a medical room, a supply room, and space for some kennels. There is even a bit of land behind the shelter already zoned for expansion when the player has the funds!

Kennels

Just like before though, the player’s first order of business is to build some long-term kennels for the dogs arriving at the shelter. And already you can see there is a bit more variety than before at this stage!

Players have access to the kennel footprints shown in the last post, but now they come in 3 distinct tiers. Players can progress from using the cheapest kennels available to the nicest K9 suites that money can buy! More expensive kennels offer passive benefits like reduced cleanliness loss, and passive happiness boosts.

We’re also experimenting with unique kennels for special situations! ‘Dog Run’ kennels let you save floor space and give the dogs outside access for a nice happiness boost!

But the player won’t have the cash for those fancy kennels at the start, and that’s okay! A big conceptual aspect of this push for us was giving the player options in terms of how they use space as a resource. They will likely need to do both eventually, but now players can choose whether spend their money expanding the shelter, or improving it.

Don’t have enough money for that deluxe kennel? Start basic and invest to upgrade it later!

Let’s talk a bit more about the improvement approach first. The core of this mechanic is the kennels but we are exploring some other shelter-related upgrades. Maybe we will talk more about those in a future update, but in the meantime I want to talk about kennel upgrade slots!

So, in addition to building and upgrading different tiers of kennels, some of those kennels also have upgrade slots. Players can purchase these upgrades on a per-kennel basis to specialize their fancy kennels even further. Some of your dogs have a problem with stress? Get them some comfy cushions and a soothing radio to make sure they are nice and relaxed when they are up for adoption! New litter of puppies appear? Get some Small Dog Zone upgrades to increase how many puppies and small size dogs the kennel can hold! We won’t spoil all the potential upgrades yet, but they are a great way to specialize your kennels to get the most out of the space you have!

Rooms

So, we’ve talked about all the changes to the kennels, but what happens when you run out of room? Well, you build more! Rooms that is.

Players will be able to expand their shelter using room blueprints however they want! Build new wings to the shelter to organize dogs by size, breed, adoptability, or traits! To start players can build hallways, kennel rooms, and doors, but will also be able to place specialized rooms like supply rooms, medical rooms, break rooms, outdoor play-spaces, and more!

But what if you don’t like the default wallpaper and flooring? Well, you can customize that too! This is the first step we are exploring in letting players decorate their shelter a bit to really make it their own!

Expansions

So, now you’ve filled up the starting area with kennels and rooms but what the dogs just keep showing up! What are you going to do?

Uh… Where can I build next?

Well, there is plenty of empty land around the shelter. The city is even willing to give you a good price for it! When the player is ready, they can buy a new plot of land to build on. These expansions will be limited by expansion points that are doled out over the course of the game. Players can buy an adjacent plot of land to expand into with six times the starting area available. That’s a big shelter!

What’s Next?

Well, since Part 1 we’ve made a lot of progress! We’ve really honed in on the mechanics we want to represent with the construction system. Our goal moving forward is to refine and expand content for the existing mechanics. We want to make sure we have a good coverage of room blueprints and customization options as well as making sure the editor is smooth and easy to use.


So, do you have any ideas you definitely want to see as decor, shelter upgrades, or kennel upgrades? We would love to hear what you’re most excited about!

-Tanner

]]>
Dev Diary #14: Post-Gamescom and the Value of “Feedbark” http://totherescuegame.com/dev-diary-14-post-gamescom-and-the-value-of-feedbark/ Wed, 09 Sep 2020 23:54:00 +0000 http://totherescuegame.com/?p=899 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Gamescom Indie Arena Booth Recap

Hi, everyone! If you’ve been keeping up with us on Kickstarter or Discord you probably already know all about it, but we recently wrapped up from our Gamescom and Indie Arena Booth festivities. We had so much fun hanging out in our virtual booth, seeing the game being played by fans on Twitch, answering questions, and chatting on Discord.

Our virtual Indie Arena Booth!

The response to the game was overwhelmingly amazing. Thanks to the event, we got so many new eyes on the game, lots of new friends and fans in Discord, and a wealth of valuable feedback.

Between our streams, Discord conversations, and bug reports, we now have a lot of data about how people played the demo and what issues they had. So now, we’re working on addressing that feedback as we transition back into making progress on the game.

In case you missed it, here is the YouTube playlist to which we are going to be uploading all of the videos from our Twitch streams in case you missed them (if they aren’t all there yet, don’t worry: they are being uploaded, we are just having some issues on our end. Stay posted!).

Now, on to feedback…

Next Steps

Organizing and quantifying feedback can be a lot of work, but it’s definitely work worth doing. So, we’ve been doing it!

The first thing we’re doing as part of addressing feedback is tagging and prioritizing. We went through each and every bug report to figure out a few things. First, whether other people are reporting the same thing (multiple reports of the same bug). Second, whether it’s a bug we already know how to fix/reproduce. And third, the priority, based largely on the number of reports.

Two pie charts, each breaking down feedback categories. In the first, the labels consist of Dog AI Locking, Dogs Pathfinding, Difficulty, Camera Issues, etcetera. In the second, the labels describe Known Bugs, Unknown Bugs, Edge Case Bugs, General Feedback, and Intended Behaviors.
A breakdown of a few metrics by which we categorized feedback.

From looking at this data it was immediately clear that there were a few things that came up over and over again in the demo, most of which you are probably familiar with if you’ve tried it. We have had a really sticky bug regarding the dog behavior AI that causes them to totally freeze and be unable to eat. This was a really annoying bug during gameplay, because it made it difficult (well, impossible) to take care of dogs: i.e. the main player task! Additionally, there were several issues with dogs getting caught on terrain (doorframes) that made handling them a problem. The good news with both of those issues is that we are already on the path towards fixing them with a totally new AI system that we will hopefully have a dev log about soon!

Additionally, the difficulty of the demo was a common complaint, in the bug reports and otherwise. This feedback is great for us, because it communicates a few things: that some mechanics for alleviating difficulty are not well-communicated, and that even for a demo, we should have made there be a better ramp-up with a longer period to ease players into the game loop. The reason for the difficulty is tied closely to wanting to show as much of the game as possible, and to keep the pace hectic so that – while some other mechanics are not yet implemented – the player is always busy. In future demos (and in the final game), these are things that we are going to be carefully to address.

I’m not going to mention our approaches for every piece of feedback we received, but the summary of our interactions with it is that we are going to utilize each and every piece of feedback to help make the game better. Whether that means explaining things better to our players, changing mechanics, fixing edge case bugs (hilarious, gamebreaking, or somewhere in between), or tweaking systems and designs. Some of the issues have already been fixed since Gamescom, and in between implementing new things, we’re going to continue to help make every part of the experience better!

Takeaways

As a developer, a huge takeaway from our experience with this event is to always include an easy-to-find, accessible way for players to provide feedback! The TTR demo included an in-game link to a bug report form, which made it easy for players to report issues and tell us their thoughts without having to cross the barrier of seeking out the best way to contact us. Even though this demo is considered to be a pre-alpha preview, having players provide feedback, even at this relatively early stage, was great! And for players: reporting bugs is always helpful, so thank you for doing it!

A screenshot of the "Report a Bug" button in To The Rescue!.
The bug report button

Additionally, events like this are extremely valuable for not only marketing the game, but for connecting with our audience and remembering why we’re doing this. Most everyone that has generously offered their feedback has been incredibly kind and understanding, and have given us helpful insights into what our game needs to be. It’s incredibly motivating to see people get so excited about our game. So for that, thank you!


Thanks for reading! Feel free to tell us in the comments or on Discord about your experiences with the demo and with Indie Arena Booth. Did you have any feedback that you didn’t submit during the event? Have you ever provided feedback that has had a measurable impact on a final game/product/experience/book/whatever? Let us know!

I hope you are all doing well. Cheers!

-Olivia

]]>
Dev Diary #13: Finding a Fur’ever Home Part 1 http://totherescuegame.com/dev-diary-13-finding-a-furever-home-part-1/ http://totherescuegame.com/dev-diary-13-finding-a-furever-home-part-1/#comments Thu, 06 Aug 2020 19:21:40 +0000 http://totherescuegame.com/?p=869 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

The Heart of To The Rescue!

It’s been a while since the last Dev Diary! We’ve been doing a lot of behind-the-scenes work that isn’t very exciting to read about, but I thought we would jump back in with a new feature that is SUPER important to TTR. Adoptions.

Adoptions are what the game is about at it’s core. Every dog deserves a loving home and your role in getting them there in To The Rescue! should feel almost as good as it would in real life. There will inevitably be some sad or stressful situations in the game, but our goal is to make sure that each successful adoption is an emotional bookend to those less positive moments.

There is a lot to unpack with this mechanic though. How do we simulate an adoption? How does the player maintain an active role during this process? Can we make the emotional core of the game, just as rewarding and engaging as the rest of the mechanics?

Adoptability?

One of the hardest tasks is finding a way to weight how appealing a dog is to a given visitor. Every dog is 5 stars to the right person, but some dogs do need special accommodations. To address this, we decided to determine their appeal or “Adoptability” in several stages.

First, each trait has a base impact on their adoptability. This is a measure of how the trait would mesh with the “average” adopter. For instance, a dog with the tendency to bite or snip would generally appeal to fewer potential adopters than being good with kids. That doesn’t mean that the former dog can’t find a good home, just that they need someone who can accommodate and mitigate their negative behaviors.

All of their traits are summed together with the base adoptability (3 Stars) to create a composite score. But as those “glowup” rescue dog posts we see on social media show us, a bath, a checkup, and a healthy diet can go a long way towards a dog’s adoptability. That’s why we use the aforementioned composite score as their ‘maximum adoptability’. Their welfare determines how their current adoptability stacks up with their maximum adoptability. A dog getting a low rating from a visitor, might just need a bath and nice meal!

Their welfare (red bar) determines their current rating out of their maximum rating.

On top of their welfare, they can gain and lose traits from shelter conditions or special events. But honestly? The adoptability in their file is just an estimate. What really matters is the connection between a potential adopter and the dog.

Playing Matchmaker

A little sneak peak at some of our visitor designs!

The visitors to the shelter are just as varied and unique as the dogs you take care of and each one of them could be looking for something different in a dog. These individual preferences are the next layer to a dog’s adoptability.

Each visitor that arrives shows up with a general disposition and maybe even a clear idea of the kind of dog they are looking for. They might want a dog of a certain breed, size, with certain traits, without certain traits, or traits they don’t mind. Dogs that they view that match this criteria get a bonus towards their adoptability in the visitors eyes.

Duke was at a three star level until this visitor saw that Duke was a large dog!

But just because they see a dog that matches what they were looking for when they came in, doesn’t mean that’s the one they will be leaving with. Sometimes you just know the right dog when you see them, even if you weren’t looking for them!

So how do you give a dog the best possible chance to find a home? Well, you’ve got a lot of options. Make sure they have a high welfare level by filling their needs, give them some extra attention to score a happiness bonus, and match them up with a visitor’s preferences! But what if that still isn’t enough?

How it Works

That’s where our new mechanic comes in. During adoption, the player will have some opportunities to intervene, hopefully fudging things for a better outcome. Let’s work through an adoption, step by step.

When a visitor arrives, the player will get a notification, so the first step is to go and greet them to find out what they are looking for. Any preferences they have will be stored on the task panel. This visitor is looking for a dog that is Trained and Intelligent. High standards!

So, next the player needs to check if they have any dogs that match the visitor’s preferences. A real pro will have a good idea of the dogs in their shelter but if the player isn’t sure, the folder has all the information that might be relevant to an adoption. Sirius here is a perfect match. But their welfare could use some work. It’s knocking their adoptability down to three stars from their five star potential.

This is an easy fix though. Let’s grab Sirius’ favorite food and some fresh water! That will definitely give them a boost. This is a pretty simple solution, but sometimes a dog might be sick, injured, dirty, and needs a bit more work to get ready.

Alright, as Sirius digs in, we can see their welfare raise enough to reach their maximum adoptability. Just bumping them from 3 stars to 5 stars means that their chance for being picked just increased by 66%

Now that Sirius is all taken care of, let’s grab the Show Ribbons to move Sirius and some other dogs out to the show kennels. The Show Ribbons let the player quickly move dogs to the Show Kennels while keeping them linked to their home kennels.

Let’s see what the visitor thinks of Sirius. Five stars… plus two bonus stars for their trait matches for a total rating of SEVEN STARS! That’s good because to trigger an adoption, the visitor’s willingness (yellow bar) needs to exceed their resistance (red bar). If the player can’t beat that, they might leave without adopting any of the dogs.

After seeing all five dogs, the visitor just isn’t sure. This is when the player can intervene. They have a few options to nudge things along. They can give a discount to boost each dog’s rating by 20% but lose money on the adoption fee, emphasize a trait match to give a particular dog a better chance, or let the visitor spend some one-on-one time with the dogs to boost each dog’s rating at the expense of time.

When their willingness finally exceeds their resistance, they are ready to choose! Each dog’s chance to be picked is proportional to their impact on the visitor’s willingness. Here we picked the Play action and it was just enough to secure the adoption. And they picked Sirius in the end!

And all of this is just one example. The player can unlock new actions to use in adoptions, improve how effective those actions are, and unlock new ways to boost and maintain a dog’s adoptability. There are also different kinds of visitors. Some have more or less resistance making for harder or easier adoptions, while others react differently to the various adoption actions the player can take.

What’s Next?

We have a ton of ideas to expand adoptions and tie them closely with future mechanics! Soon we will be talking about our new skill system which will let the player unlock and improve those adoption actions among other cool things. Our upcoming social media mechanic will let the player affect the broader community and receive updates from the dogs and their new families!

A major planned improvement is the presentation. We want to create a lot of build up to the resolution of the adoption. Closeups and camera shakes with polished sound and animation to really sell the moment of decision!

Takeaways

I think the big two takeaways here are agency and interconnection. Part of why this mechanic works so much better than the previous iteration is because the player has much more control over making the adoptions succeed. In some older footage of the games you can see the “Wheel of Adoption” that we used to represent the decision process with. There were a few problems with this, but one of the biggest was that it boiled down the potential for a big positive emotional moment to a roulette spin. After you picked some dogs to show , that was it. It was out of your hands. Now the player can pick the dogs, purchase new actions with skill points, improve those actions further, and take advantage of the visitor’s personality to maximize their chances.

It also ties back into so many other systems in the game now. Players are incentivized to learn the dogs in their shelter and make sure they are well cared for. Hopefully they will have that ‘aha!’ moment when they remember they have just the dog for this visitor. They also have to make decisions about the costs associated with each action. Will spending extra time or money put them in a bind? Is it worth it to get this dog adopted? Do they boost the super adoptable dog or the dog with the lower rating if they know they will get an adoption either way? All these choices matter and tie back into the broader game.

Focusing on these two elements really improved this aspect of TTR and I think that paying attention to these elements is usually a net positive for any game.


Whew! This was a long Dev Diary, but I hope it was an exciting one. We are thrilled with this feature and we can’t wait for you all to try it very soon! In the meantime, what would you love to see added to adoptions? Do you have any really cool ideas for actions or visitor personalities? Let us know in the comments!

– Tanner

]]>
http://totherescuegame.com/dev-diary-13-finding-a-furever-home-part-1/feed/ 4
Dev Diary #12: Pick’n Bugs http://totherescuegame.com/dev-diary-12-pickn-bugs/ http://totherescuegame.com/dev-diary-12-pickn-bugs/#comments Fri, 01 May 2020 23:51:15 +0000 http://totherescuegame.com/?p=836 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

https://gph.is/g/aQQzNNx

Is that a Bug?

This time, I thought I’d share a particularly frustrating issue that we ran into recently. After a very productive development push, we eagerly made a new build for the first time in a while. We had overhauled the animations and many of the systems in the game and everything seemed to be going great. When we loaded up the game however, we saw a pretty glaring issue.

The various parts of the player character weren’t layering properly. Sometimes the arms would appear below the body when they should be above it, and other times the body would appear above the head. The perplexing element was that the issue was nonexistent in the editor.

Well darn. This definitely put a damper on our excitement for this new milestone. It seemed like a small issue at first but it made it exceedingly difficult to take screenshots and game play footage that would be usable for very long. On the surface it also felt like a careless mistake, but this issue proved to be pretty difficult to track down.

Bug Spray

Okay. So, now that we’ve found a bug, how do we get rid of the sucker? Issues like this are particularly tricky to diagnose for a few reasons. First, there was not error associated with the issue. The game didn’t seem to think anything was wrong and we weren’t getting anything in our log files. Second, the issue only occurred in the built version of the game. That meant we couldn’t easily change settings on the fly and the turn around time for testing potential fixes was a few minutes at least because the game had to be rebuilt for each test. Finally, we couldn’t find any other instances of similar issues. It seemed like Unity itself was broken.

An example of the simple animation giving us big issues.

Even more perplexing was that our test script seemed to indicate the animation simply wasn’t executing any changes to the sprite renderer’s sorting order. It never changed from the starting layer.

So what did we do? Well, we started tweaking things, one setting at time to test. We started adjusting the import settings for the sprite sheet. We thought maybe something related to the compression of the files post build was preventing the layer order for changing because of some obscure efficiency. No Dice

Eventually, through trial and error we found the culprit. The blending settings in the animator layers were set to additive when they should have been set to override as shown below.

Animation layers are a really useful tool. For 3D animations, the blending setting allows you to blend two separate animations together to create a more complex result. For instance, you can mix a running animation with an aiming animation in an FPS and weight them to the lower and upper body respectively to achieve a really nice animation in unity without any animation experience needed.

We are using animation layers to cleanly manage the different elements of human character animation. This means we can separate the various components into their own animations and mix them as needed, all while synchronizing them with the same animation control variables.

Ultimately we aren’t sure why the issue only appeared in the build. Based on the documentation, Additive seemed like the more appropriate setting and in the Unity editor at least, it worked fine.

Issues like these can take a lot of development time unfortunately, especially for a seemingly small issue.

Takeaways

The best way to handle bugs is a preventative approach. Similarly to preventing bugs of your furry friends, you want to prevent bugs and by checking for them often and eliminating any you find before they become a much bigger problem. Plan out your design before you code, use good coding practices, write tests, and test frequently. A big reason this issue was so hard to track down was because we waited too between builds of the game. The more often we test, the fewer changes there are to check of issues between builds.


Are there any particularly frustrating bugs you’ve encountered? Any hilarious ones? If you’re a developer, what’s the trickiest bug you’ve encountered?

]]>
http://totherescuegame.com/dev-diary-12-pickn-bugs/feed/ 2
Dev Diary #11: ‘Lab’ Report http://totherescuegame.com/dev-diary-11-lab-report/ Wed, 08 Apr 2020 00:08:44 +0000 http://totherescuegame.com/?p=690 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Handling a Crisis

Well… This seems as good a time as any to talk about a feature we rebuilt in recent months. By now, we are all likely aware of how disease can affect society. This is something that’s been a consideration in To The Rescue! for a while. For this post, I’ll be diving into how the disease system works. In many ways, recent events will make ‘teaching’ this mechanic easier. Concepts like social distancing, quarantining, and how hygiene affects health, are certainly much more front and center in peoples minds now.

A classic element of management games are ‘crises’. They are often about building systems that become more and more efficient as you progress but these efficient systems can often develop weaknesses. Crises in are a way of creating tension that force the player to reevaluate their strategy or take proactive steps to mitigate future risk. A classic example are the natural disasters in the SimCity franchise.

Players have to decide whether they want to spend time and resources preparing for the variety of disasters that could beset their city or focus on expanding as much as possible. Have they planned ahead and for the right threat? Mechanics like these help provide fresh new challenges and keep the game interesting.

Simulating Sickness

Communicable diseases are one way we are trying to create these variances in game play. They were one of the first features we added after getting the dog’s core needs implemented and it’s developed quite a bit since then.

It was an intuitive choice for us because most people are probably pretty familiar with the kinds of vaccines and treatments their dog needs. Anyone who’s encountered a flea problem in their home knows the importance of preventative care.

There are four varieties of afflictions in the game. External Parasites, Internal Parasites, Viral, and Bacterial. Each one requires a different treatment and spread at different rates. Additionally, factors like physical proximity and hygiene affect how quickly diseases can spread.

Each time a dog comes into close contact with another dog, we check each of these factors to determine if the disease spreads. Sickness represents a huge impact to a dog’s welfare and in turn, their adoptability. An outbreak left unchecked can spell disaster for a shelter and they dogs they house.

Staying Healthy

But players aren’t helpless against the spread of disease. They have a number of options to slow and prevent the spread of disease in their shelters. The most effective is preventative treatments. Treating a healthy dog will protect them from future exposure to that disease.

Providing each dog that enters the shelter with a full set of vaccines and treatments can be expensive though. Players may not have the resources to do so, or disease may strike before they are able.

The layout of the shelter can be another way to be proactive. Keeping dogs in individual kennels and leaving space between each kennel can give the player time to react. Once a dog is identified as being sick, players can move them to the medical kennel. This represents moving the dog to quarantine. Dogs housed in the medical kennel won’t spread disease, but they can’t stay there forever.

Treating Disease

To treat a disease, players move the affected dog to the medical table and use the corresponding syringe on the dog to treat them. Treating a sick dog once will remove the disease, and treating them with a second dose while they are healthy will vaccinate them against the disease in the future.

Treating one case of an illness may be simple, but making sure that the necessary precautions are in place is a much more daunting task.

Takeaways

Ultimately, mechanics like diseases and vaccines let us keep the game interesting and dynamic, well into the later stages. Crises provide players with a reason to think about more than just their next action. We think it’s important to make sure they aren’t isolated events though. The player should understand what kinds of risks they face and what kinds of action they can take to avoid or respond to the situations.


Let us know what kinds of ‘complicating’ events would you like to see in a game like To The Rescue!? Additionally, we want to urge everyone more than ever to support their local shelters if they are able. The current pandemic makes it even harder for the organizations supporting animals to do their work and find good homes.

-Tanner

]]>
Dev Diary #10: Isolation, Inspiration, and Island Life http://totherescuegame.com/dev-diary-10-isolation-inspiration-and-island-life/ http://totherescuegame.com/dev-diary-10-isolation-inspiration-and-island-life/#comments Mon, 23 Mar 2020 23:12:04 +0000 http://totherescuegame.com/?p=689 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Developing Games and Social Distancing

We hope everyone is doing well and staying safe during the current chaos. It’s a stressful time for everyone, and the TTR team is doing our best to stay put and not get distracted from our work. That being said, the last thing we did before self-isolating as much as possible is buy Animal Crossing: New Horizons for the Nintendo Switch.

We bought it because we want to play it (and it is a great source of entertainment during our downtime while stuck at home), but Animal Crossing is also a huge source of inspiration for To The Rescue! We love the atmosphere, pacing, and style of the game. So, we thought it might be productive to take some time to play it and see what we can learn from it. Of course, we aren’t trying to make an AC clone, but there is a lot of overlap in who the game appeals to and what it’s trying to evoke. It can be really useful to see how existing games do what they do, and in this case, how AC creates a whimsical, accessible, wholesome, and fun experience.

What’s Similar?

A screenshot from Animal Crossing: New Horizons featuring a version of the player character that looks similar to the main character from To The Rescue!, standing next to a dog house.
Spot the difference!

Look and Feel – A major similarity between AC and what we are aiming for in TTR! is the look and feel, including the color palette, character design, sound design, and UX. Inhabiting a verdant island filled with flowers and bugs and animal pals just feels good, and it’s easy to get lost in the experience of just hanging out in that space. In TTR!, though, you aren’t on an island: you’re in a one building (a dog shelter) a vast majority of the time, and with less varied scenery it can easily feel very same-y. Because of that, we are using lots of bring colors and simple designs – similar to what AC does – so that everything can still feel pleasant to look at and interact with.

A screenshot from Animal Crossing: New Horizons featuring the player talking to a villager.
Chatting with neighbors makes you feel less like a player, and more like a member of the community.

Simulation Made Personal – Really early in the design process for To The Rescue!, we knew we didn’t want to make a management game that abstracted your actions from the world. This style suits lots of other management games, like Rimworld and Prison Architect, where you are performing complex tasks and managing a large facility or settlement. But we wanted to take that idea and make it more personal, by having the player control a character moving through that space and performing similar tasks while having to engage with the dogs on a face-to-snoot basis. We don’t want the dogs to feel like numbers: we want the players to be able to easily engage with them, become attached to them, and be invested in their fates beyond just fascination and experimentation. As it turns out, Animal Crossing does this too! An important part of AC is inhabiting the island as one of the villagers and performing tasks with your own digital hands.

For more information about this “distance” in management games, and some of our challenges with putting the players in difficult situations, check out my talk from Pixelpop 2018: Cute Dogs and Comfort Zones.

Finding the Right Tool For the Job – In Animal Crossing, you need an axe to chop wood, a pail to water plants, and a pole to vault rivers, among other things. In To The Rescue!, you need a scooper to clean kennels, a bucket to provide water to dogs, and the right food for the right dog, also among other things. Managing your tools is a big part of the core loop of both games. But there are also some important differences that change the way that works in practice. So…

What’s Different?

While there are a lot of similarities between Animal Crossing and To The Rescue!, they definitely don’t share all of the same goals. TTR! has a more somber undertone at times, and includes some mechanics and themes that make it a bit more of a hectic management game. So, there are definitely places where we should make (and are making!) different design decisions than the Animal Crossing team did.

A screenshot of Animal Crossing: New Horizons featuring the player looking through their open inventory.
So much inventory space!

Inventory Management – I mentioned that using tools is a large part of the core loop of both games. However, because To The Rescue! relies a lot less on item collection and organization, the inventory and inventory management in the game takes a different form than in AC. Firstly, TTR! provides much less inventory space. This is simply because there are significantly fewer items that you can possibly carry than in AC. If we had as large of an inventory as Animal Crossing, the player would simply be able to carry every item at once and never have to take the time to consider what they should bring to maximize the effectiveness of their trips, which is something that AC maintains even with a large inventory. This is doubly true because items in To The Rescue! do not break over time. Also, because there is a specific action that is vital to the moment-to-moment gameplay of TTR!, we make it possible to handle dogs no matter what the state of the inventory is. Lastly, it’s possible to select from multiple nearby objects in TTR! to reduce the effect of random dog movement and item placement on the difficult to select the exact target that you want. So in short, these differences from AC all exist for a reason, and they benefit the slightly different playstyle and pace of our game.

For more information about the early stages of our new inventory system, check out Dev Log #6: New Tricks!

Admiring your collection can be a very cathartic experience.

Collecting Them All… Or Not – One of the many appeals of Animal Crossing (to me, at least!) is the collectible aspect. I love filling my museum with bugs and fish and fossils, trying to get all of the fruits from trading with my friends, and seeing how many villagers I can meet and have move to my island. However, the idea of collecting – as satisfying of a mechanic/motivation as it is for games – is extremely antithetical to what we are trying to do with TTR!. We want to reward players for finding dogs homes, not for hoarding them to show off. This has been somewhat of a design challenge for us, because we know that the instinct of a lot of players is to see “what dogs they can get,” even if the game doesn’t inherently encourage them to. We’re implementing some compromises here, though! There will be rare Superdogs that spawn (most of which will be inspired by the real-world dogs of some of our Kickstarter backers) that will feel really special and unique. However, we are still going to make it clear that even though you may grow attached to the dogs in the shelter, the best thing for them in the long run will be to find them new homes. Besides just the dogs, though, there will be a few things in-game to collect and customize!

Night and DayAnimal Crossing progresses in real-world time, so when it’s night in real life, it’s night in the game (assuming you aren’t changing the system time from your own). This has the effect of making AC a very slow-paced game. Each day there will always be a few new things to do, but with buildings taking real-world days to finish completion and certain things only happening at certain times, it’s meant to be engaged with casually and is a very slow burn towards reaching the island of your dreams. It’s pretty uncommon for games to do this, and TTR! is no exception there. We do have a fairly simply day/night cycle, but it mainly just provides small breaks and choke points at the end of the day where you can reset before things continue and give you new challenges. The nature of having day cycles in games like this means that there are some inherent similarities still, but the pacing of real-world progression doesn’t really fit our initial vision for the game, which is to simulate the hectic day-to-day of managing a shelter.

Takeaways

There is a lot to be gleaned from looking at our inspirations for ideas and to figure out solutions and small details that may have eluded us so far. That being said, it’s also important to recognize differences in both our goals as designers and the needs of our audience, and to be aware that just because Animal Crossing is both fun and successful, we can’t just blindly copy them, even with the tiniest things.


I hope this was interesting, whether or not you have been enjoying Animal Crossing: New Horizons as much as we are. We would love to hear your thoughts about learning from inspirations, what elements of AC you think do or don’t transfer to what your idea of TTR! might be as players, and what games you are playing to pass the time while social distancing.

Thanks as always for reading, and stay safe out there!

-Olivia

]]>
http://totherescuegame.com/dev-diary-10-isolation-inspiration-and-island-life/feed/ 2
Dev Diary #9: Doing Pupperwork http://totherescuegame.com/dev-diary-9-doing-pupperwork/ Mon, 16 Mar 2020 20:05:52 +0000 http://totherescuegame.com/?p=671 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Catching Up

Sorry about the hiatus last month! We’ve been hard at work meeting some internal deadlines, but we have plenty to talk about this month! We are going to try and release some extra Diaries this month to make up for lost time. I thought we would start things up again by talking about a feature that has been in TTR since very nearly the beginning.

The File Folder

So, every dog in the game has a host of info that makes it unique. They have a unique name, a variety of traits and medical conditions, a favorite food, size and breed details, various needs, and even more juicy details that aren’t immediately obvious.

So how do we convey this information to the player? After all, one of our main goals is to create a connection between the player and the individual dogs in the shelter. A lot of work is going into trying to make them feel unique in the way they behave and interact, but we need to quickly contextualize some of this information for the player more concretely. That’s why we designed the Dog Folder.

The Dog Folder will almost always be on the screen for the player to use. It’s job is to summarize the important information of a given dog in an unobtrusive way. It can be toggled active/inactive with the ‘F’ key. When dogs are nearby, the focus marker transforms into an eyeglass and the folder slides into view.

Dog Data

So what data are we trying to present? Well, they can be broken up into three general categories.

General Info

This first section is all the info that describes ‘who’ the dog is. Their name, age, size, breed , appearance, and food preference. These aspects of the dog are static for the most part and are useful ways to organize dogs in the Dog Log tool on the computer.

Traits

The traits section provides some details on the dog’s personality and health status. Each trait has a hidden weight that affects adoptability positively or negatively. The health traits also includes their disease and vaccination information. Their traits collectively determine a dog’s adoptability ‘potential’ as represented by the number of grey stars in the next section. Stickers appear when the dog either has the disease or has been vaccinated against it.

This section can change pretty frequently. A dog’s traits can be affected by the things happening around them. They can develop traits, both positive and negative, as a result of their time in the shelter. The player will be notified about these changes via events.

Welfare

This last section is by far the most important. A dog’s welfare is determined by the average of their three needs and welfare determines a dog’s effective adoptability. As their welfare changes, so does their effective adoptability as shown by the filled in stars.

Ensuring a dog’s needs are met will give them the best chance to adoption that they can get, but if their welfare falls too low, they will be considered in neglect. At the end of each day, the player will be fined for each dog in neglect.

Takeaways

One of the most challenging parts of a game like management game like TTR is finding an effective approach to presenting data without damping the emotional goal. We’ve generally tried to use diegetic approaches to keep the player ‘present’ in the game. One of our biggest worries is the dogs to becoming ‘just data’ to the player. Hopefully by framing the data in proximity to the dog itself, presenting the necessary information as concisely and clearly as possible, and letting the AI and animation do a lot of ‘the talking’ we can make sure players know and love each dog in their shelters.

Obviously this balance isn’t vital for every game. Plenty of great games are text and numbers heavy. But I think it’s worth considering the ways we can contextualize data in games and what impact that can impart to the player.


This was a fairly specific dev diary, but as you can see from the gallery at the top of the post, the Dog Folder mechanic has been in the game a long time and gone through several iterations. Much of the content has been present since the beginning but is there anything that you would love to see added to this UI element?

– Tanner

]]>
Dev Diary #8: Out of the Doghouse http://totherescuegame.com/dev-diary-8-out-of-the-doghouse/ Sat, 08 Feb 2020 22:19:57 +0000 http://totherescuegame.com/?p=655 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Kennel Construction

This week I’m showing off the early stages of a feature we have been excited about for a long time, and that’s Kennel Construction! After you finish the introductory portion of the game, where you’ve been playing both in your garage and in a temporary shelter space, you’ll move to the newly finished city shelter! Only… It’s not so finished.

The city ran out of funding before they could totally finish the shelter, so you will need to expand it as you go. The basics are there. A lobby and show kennels to facilitate adoptions, a medical room to treat the dogs, and a utility room for supplies. But there is no where for the dogs to stay long term!

Therefore, the first order of business will usually be to build enough kennels to house all the dogs that you arrived with, as well as enough space to handle the next few new arrivals. But what kind of kennels to build?

Kinds of Kennels

This is where it starts to get interesting. There are 4 kennel layouts available to build and each one has a different capacity, a different footprint, or a different cost. The 1×1 Kennel is the most basic version. It’s the cheapest, but only holds 1 dog. The 2×1 and 1×2 Kennels cost 50% more than the 1×1 Kennel but hold 2 dogs. And finally, the 2×2 Kennel holds 4 dogs and costs twice as much as the 1×1 Kennel.

That may make it seem like bigger is better. But there is a fixed space to build in so, tiling the different kennels together to support all the dogs in your shelter and staying under budget quickly becomes a challenge. In addition, each of your dogs have their own preferences and personalities and may not get along in the same kennel together, not to mention their food preferences should match up.

Jelly Bean and their large friends Zena, Keats, and Clifford all get along as kennel-mates because they have matching food preferences and no conflicting traits. Their neighbor Lucky does better on their own because of their food aggression.

And all of these factors are why we are so excited about this feature. It emphasizes a core element of the game, the uniqueness and personality of each dog, while providing players options to meet the challenges of caring for them. These factors will also ripple out in some of the hardest decisions in the game. When you’re overcrowded or under funded, space becomes a critical element to consider, and one that players have some measure of control. Maybe they will realize they can reorganize the shelter a bit to make room or that they can sell some extra kennels in a tight spot to make it to tomorrow.

What’s Ahead?

Now that we have the most basic implementation, we can start to improve the mechanic based on what works! The first item on that list is to improve the editor.

Kennel Construction Editor V1

There are two aspects of the editor that are priorities for improvement. First is the build window. We need to streamline the process for representing the shelter layout so the player understands where they are building a kennel. The second is utilities to support upgrades to individual kennels. The player will be able to build improved versions of kennels or add special improvements to different parts of the shelter.

Takeaways

This time, I think the takeaway is that the best mechanics are ones that reinforce and build upon the existing mechanics. Part of what we’ve been doing with our refactoring is reconsidering what the core loop of the game is and how we can emphasize the parts of the game that work the best. The main reason that anyone is going to be interested in To The Rescue is likely to the be the dogs.

They are our central mechanic. The player should care about individual dogs, enjoy watching them interact, and want to save them. An adoption isn’t exciting if you aren’t happy for the dog, and the euthanasia doesn’t matter if the player doesn’t fell like the dogs are sympathetic and realistic.

Kennel construction reinforces this in spades and it gives the player more agency, which has been a concern of ours for a while. Development time and resources are limited, so identifying important central and supporting mechanics and boosting them is important.

What kinds of upgrades and options would you like to see in the Kennel Construction mechanic?

-Tanner

]]>
Dev Diary #7: Barks Heard Around the World http://totherescuegame.com/dev-diary-7-barks-heard-around-the-world/ Fri, 24 Jan 2020 03:12:41 +0000 http://totherescuegame.com/?p=646 As always, if you haven’t already, head over and join our discord to hear about new Dev Diaries as soon as they go up!

Intelligent Refactoring

Hey, everyone! For this update, I thought it would be good to start talking about some of the specific things that we are doing to try and make To The Rescue! a great game. We’ve already mentioned (at least I’m pretty sure) that we are doing a whole lot of refactoring and reimagining of existing systems withing the game that we thought could use some improvement. Since TTR! is our first big project, a lot of the early implementations of mechanics and features were done with the mindset of “get it done, in whatever way you come up with first and address any problems when they happen.” Which in retrospect, was a terrible plan!

We’ve learned a lot about design, programming, and our engine along the way, which is great. But it also means that we know that in order to add the new features we want, there is a whole lot of revision to be done.

In particular I’ve been working on a few things, including entity generation and game event management (which I may write more specific future dev diaries on!). But for now, I’m going to talk about localization, and why it’s important to think about it early and often.

Now, Not Later

We always knew we wanted to translate TTR! into other languages. Of course we wanted to! It’s just an easy thing we can add on real quick to make the game more accessible to a wider audience, right? Well, as I’m sure you probably already know, as naive first-time developers we were definitely WRONG. Localizing a game is not as easy as popping terms into Google Translate.

In this game, and in a lot of games, text and symbols are used in a lot of different ways. For us it’s in menus, it describes dogs, it informs players what to do next, it alerts players to the current game state, it provides personality to the world and the characters, and more. Because of how extensive language is used in games, it would be disastrous to wait until last-minute to try and add variants because of how interconnected those things are to other game systems, for one.

Why? Well, every single item that needs to be localized to the player’s language needs to know what that language is as well as what version of text corresponds to that language. There’s a lot that needs to be handled preemptively for that to work. And that’s not to mention any little bits of code that may accidentally be language reliant, such as hard-coded strings (oof) and other procedural-generated information. So, we realized that we had to re-vamp the way we treated text everywhere that it is used in the game, which meant rebuilding several forms of data processing from the ground up.

The Right Tools for the Job

Luckily, we are far from the only ones to have this problem to solve. There are as many ways to approach this problem as there are projects trying to address it. For our workflow, we decided to look for a tool to help ease the process, and we found one! After doing a lot of tests and research, we are using a handy-dandy Unity tool called I2 Localization to make the process a bit easier.

With I2 Localization, we’re able to set up every piece of text in the game in regards to “Terms,” rather than text. Simply put, the I2 Localization tool utilizes a dictionary of “Terms,” which are keyed values containing the translation of a word, phrase, sprite, or audio clip. Instead of manually setting the strings of text to appear in each place they are relevant, Unity objects instead have a reference to this Term which can then dynamically determine which language-specific value to use!

A screenshot of the I2Localization term dictionary from testing
A handy-dandy dictionary of Terms (from a test)

Since we are in the midst of completely revising systems rather than making incremental changes them as needed, we were able to set up a localization workflow that looks a little something like this:

  1. Enter text data in a spreadsheet with a column for each language to translate to.
  2. Export spreadsheets to CSV format.
  3. Import the spreadsheets into the Term Dictionary using the I2 Localization tool within Unity.
  4. Ensure that text or image elements have a reference to the proper term. (For game event generation, for example, there are scriptable objects with a field for the term key that is used to change the in-game UI element with a Localize component at runtime).
  5. Give player a way to set the language using in-game settings.
  6. Done!
Spreadsheets = easy peasy

This tool has allowed us to have a streamlined process for adding new content to the game (including things like events and dog info), and importantly it also will make it simple for localizers to translate in-game elements in an easy-to-access way (it’s all on a spreadsheet! Wowza!), and adding new languages will (HOPEFULLY) be as simple as adding a new column to each spreadsheet, then re-importing them.

There are still a few in-game elements that are slightly more complex to translate than others, such as how to dynamically conjugate verbs in a sentence with different trait types. For example, we want to say a dog “has” the flu, not “is” the flu, and across languages it won’t always be as simple as replacing the term in the same place in the sentence. But this structure still gives us a great place to start from with room to handle exceptions.

Takeaways

So, the takeaways for this dev diary may seem obvious, but we really want to be honest about our process and the things we are learning, so that maybe someone in our shoes might be able to avoid having some issues.

I really don’t like the phrase “work smarter, not harder,” but you know what? I think it might apply here. If we had thought about localization much earlier in the development process, we definitely would have saved a lot of time. But, since these revisions are happening at the same time as some other major data structure changes, it all came together really nicely for a streamlined process. Planning for localization doesn’t just make localization easier but helps everything it touches work better, too! If you’re designing text entry to be easy to localize, chances are it will be easier for you to use down the line, too. At least, that’s exactly what our experience seemed to suggest!

Secondly, don’t be afraid to use existing tools and strategies for solving problems like these. I2 Localization has made what originally seemed like a daunting problem into a breeze. Might it have been more kosher to build our own localization tool? Maybe. Did it save us a boatload of time? Definitely. And right now, that makes it totally worth it.


This diary was a bit of a technical one, but hopefully someone finds it valuable to see a little bit of what we are thinking about behind the scenes while making this game. If you have any questions, or want to tell us everything we’re doing wrong (eep!), feel free to let us know. We’ll have another diary in a few weeks!

NOTE: we are not sponsored by I2 Localize, we’ve just really enjoyed using the tool and it was extremely relevant to discussing this specific game revision.

– Olivia

]]>