Dynamic Button Prompts
We wanted our game to be playable on both controller and keyboard, so I followed this tutorial to have button prompts in any piece of UI text, which automatically change to the corresponding control depending on the input method that was just used.
This also involved sending up an Input Manager that made sure all the button prompts worked correctly with the new Unity Input System.
Fixing the Friction
To avoid the player sticking onto walls, I had to make a custom physics material that had no friction, and simulate the effect of slowing down when the player was both on the ground and was not inputting any movement. However, this meant the player would still be affected by slopes, and would slide down them. As a temporary fix until I make a more advanced character controller I made a “sticky” physics material which uses a very high friction. I then applied this to sloped objects such as the ramp inside the vents leading to the kitchen.
Adding Blinking
To allow the rat to blink using the closed eye sprite that Hugo made, I duplicated the rat’s material to make a new one using the sprite. Then, I simply switched between the two materials during the rat’s idle animation. This is a very unprofessional way of doing it, but as long as it works and doesn’t lag too much I’m happy.

Playtesting Day
Before people came in to playtest the games, we made one final check to the game, and noticed that there were some broken normals and non-sharp edges on some of the assets Indiana had added to the scene.
We managed to quickly re-import these back into Blender and fix the issue right before the playtest, and the models looked great.
One bug Xane found when playtesting was being able to squeeze the collider into spaces it shouldn’t by rotating the rat. This lead to the walls hitting the ground check spheres and letting players scale them. This could be avoided by perhaps disallowing rotation in narrow areas, but a much more practical fix was moving furniture closer to the walls so such manoeuvres were not possible.
However, we kept the gap behind the grandfather clock in the dining room as a little easter egg for speedrunners for the time being 🙂
Adding Camera Collision
A common complaint with the more simplistic orbit camera system I implemented was that there was no camera collision, which means that it would clip out of bounds and obscure the rat and show the void when in tight spaces such as the entrance to the house.
To fix this I added a sphere cast that goes out from the player towards the direction of the camera. If the sphere hits an object on the Walls layer, the camera is moved forward in this direction towards the player so as not to collide with the object.

This fixes the issue entirely! However, some new issues come up, such as the camera getting to close to the player and clipping inside of them. One solution to this would be clamping how close the camera can get, or more ideally fading the player to total transparency as the camera reaches this close range. However, this would probably require a package like DOTween to fade the transparency of the player.
Leave a Reply