Raincoat
This is a little mascot platformer reminiscent of games like Jak and Daxter or Spyro, an informal project among a few friends during lockdown. Raincoat is a game about a kid who has to set out on an adventure across a baroque fairytale landscape in order to save his village. And there is a lot of physics.
I worked primarily on the 3Cs - Character, Controls, and Camera. Right from the outset we had a really versatile and fun controller - Raincoat can walk, run, jump in various ways, climb, glide, swim, dive, hang off ledges, zipline, push and pull objects… All of this also works with a variable gravity source, with animations and cloth physics.
Environmental sounds and music are implemented in FMOD.
Since this is a work-in-progress and not a solo project, I can’t give direct access to a build or the source here, but feel free to get in touch and we can work something out. In the meantime, enjoy the following wall of colour!
Any object can be a gravity source. Here you also have a great view of the first level in the background. The custom camera easily adjusts to the new up direction.
Environmental interaction! Any object with a Rigidbody can be pushed, pulled, or rolled around.
What 3D platformer would be complete without walljumping?
A closeup of the really fun blobby pickups scattered around the world. I made this with raymarching shader magic.
Raincoat is followed everywhere by a little orb companion. He can use it to project energy structured like this shield. This is all also done with raymarching, while the orb itself is a bunch of chunks animated via code.
Raincoats eyes are the window to his soul. Done totally with ShaderGraph.
I went really overboard with the tools and gizmos. Since the game is so focused on tight platforming, we have tools that allow our designer to customize them by speed, height, airtime, and distance. This visualization is created with the help of Shapes, by Freya Holmér.
I love giving designers tons and tons of flexibility. Here's a peek at the options menu for the character controller.