I finally got around to playing Superliminal, and decided to recreate one of the mechanics, namely the scaling gameplay mechanic that gets used throughout the game to solve various puzzles since it seemed the most straightforward for a bit of fun.
When first prototyping I broke down the perspective-based scaling into several parts:
Scaling based on distance
Moving the Scalable Object based on the Camera
Adjusting the Mass based on scale
When playing through Superliminal, I noticed the object scaling was based upon the distance between the player's camera and the scalable object on the x,y,z axes. The scaling here is done based upon that direction relation, with a slight dampening of the scale factor so it wouldn't grow too large too fast.
Next up was moving the object based on the camera, where I would (when held) transform the scaled object to wherever the Unity Camera's raycast was (did not quite get down the clipping issues :' ) so it ended up clipping through the floor a bit sometimes when getting larger.
This gave that sort of trippy, perspective-based scaling and moving of objects I really liked about the game!
After I got the scaling and moving of objects, I added a bit of mass scaling, which could be used for placing objects on buttons and overall adding more weight.
Lastly, I put together a little scene! I enjoyed playing Superliminal from the clever puzzles to the storytelling, so here's my little systems breakdown and cover of it :D
Commentaires