Reworking the Cape!
I mentioned last time that I saw that Unity could handle cloth physics and wanted to take a look at that. I found this cloth sim tutorial by Cam Ayres and it was very easy to follow. I got a mockup working with the primitive plane in Unity and proved that it would work for this. Next, I just needed to model the new cape.
Modeling the Cape
I didn't think the belt portion of the original cape would play well with both the cloth sim and animations, so I decided to remove the belt. However, I still needed some way to affix it the cape to the coat. Something Cam said in the tutorial stuck out to me about modeling in like lapels/clasps onto the model and that seemed like a decent idea.
I made two clasps that would affix to the coat and put them on each upper corner. For the actual cloth part, I grabbed the outer faces of the previous cape and separated them into their own object that I then combined with the clasps. Next, I exported them all to an FBX (no rigging shenanigans this time!) and brought them into Substance Painter. Some quick texturing later and I have the following.

Adding it in Unity
Now that I had the FBX and textures, I could add it into Unity. I attached it to the Caravan Master and set it up using a couple of capsule colliders, like in the tutorial. I only ended up using two colliders, since it is really just the hip and upper leg that the cape can collide with.

I then had to tell Unity which vertices needed to move (and by how much). I really just made the ones around the clasps static, then the one immediate next to those have some give. Then, the rest of the vertices were left unbound. I'm sure there would be a better way to do it but it looked decent enough.

And here it is in action. It is hard to see because they walk so fast but it is working. The cape does get a little wonky if you run by it or it hits you. It gets all bunched up but eventually straightens itself. I felt this was acceptable for what it is. Please ignore the Glimmerstalker in the background...it is also in progress!

I'm not really sure of the performance implications of using the cloth simulation in Unity but there is only one instance in the game and I think it will be fine. If this were a longer project, I would want to dig into that more. For now, it works!
First Pass at Real Tuning
As previously mentioned, we wanted to have another team call to get the numbers in the game feeling more like an actual game. We hopped on the call and I started out sharing my screen and playing the game initially. In addition to getting numbers in better places, we ended up also fixing a couple of bugs with the snow manager and the reticle, as well as changed the Soothe spell to only use energy if it actually hit a target. The team felt it was too punishing to accidentally miss when the Crew is running away and then not having enough energy to cast it again.
The main problem we were seeing with the game so far was the "actions per minute" was low. You spent a lot of time just walking with the caravan and rarely needed to go out into the darkness. And when you did go out to refill your energy, it would take forever for it to fill. It seemed like when you needed the energy the most was when things were happening but you would have to stop doing those things to run out and stand at a snow pile for like 20 seconds. The game mostly felt like you were either standing doing nothing at the caravan or standing doing "nothing" at a snow pile. It was a lot of "doing nothing".
We ended up increasing the rate at which you could recharge your energy and tweaked a bunch of the numbers (e.g. warmth depletion rate, spell costs, spell power, etc) and it was finally starting to feel fun. We then increased the number of Crew that spawned and that helped a lot. Now you had to actually move around manage your resources better. Granted, this did have the effect of making the game more hectic rather than scary, which was unfortunate.
Next Steps
We identified a couple of areas that still needed improvement before we could do further tuning:
- Icons/overlay for when the Player is being stalked and/or freezing
- We need the music and sound effects for when the Glimmerstalker is stalking and attacking
- Refine the Glimmerstalker brightness
There was also some additional tuning that needs to be done:
- Tune the warmth depletion rate so the Crew don't die before the Glimmerstalker can actually attack
- Tune the Glimmerstalker timers to make it more engaging
- This will depend heavily on the music and sound, so those will need to be done first
- Tune the freezing timers to give the Player more time to respond
- Currently, they only have 10 seconds to warm the Crew once they see the Freezing icon display. This is barely enough time to react and reach them, let alone if they broke and are running away
There were also a few other things we noticed that would improve the experience:
- Granularity on death causes
- Right now it just says the Player died but it doesn't say the cause (e.g. Freezing, Glimmerstalker, Tether, etc)
- Having more of the icons and such would help with that but we'd still want the cause so it can be displayed on the end game screen
- Stop player input when player dies
- Right now when the Player dies, there is a timer that starts before moving to the end game scene. This was to allow time for any animations to play, etc. However, we are not currently disabling the input when they die, so it can feel unfair that you died because the action that killed you actually occurred several seconds before
- Pulse the freeze icon when x duration remains
- Since the Freeze state has a timer that kills the character when it elapses, Terra wanted a way to denote which Crew were in the most peril of freezing, so you could prioritize them. Our plan is to have the icon pulse once the timer reaches a certain threshold so the Player knows who is in immediate peril