StartedMarch 14th 2022

Time8 weeks

LanguageC#

EngineUnity

Inceptum 32

C#UnitySchoolGroupPuzzle

Inceptum 32 is a puzzle game where you play as a human that can solve puzzles by switching between a human and a slime, each with their own unique abilities. I mainly worked on the player and its abilities. I also did some smaller parts on the UI and game logic.

Team

DeveloperJeroen G
ArtistBoy B
DeveloperKellin S
ArtistLuuk S

Player Controller

The PlayerController was for me the most difficult part of this project, it was required to have good and smooth feeling movement, while also being able to walk on walls & upside down.

I achieved this by using a character controller & doing some math with quaternions for the rotations. I handle the velocity in 2 separate functions, one for movement, and the other for gravity. They both get rotated and affected based on the rotation of the ground / climbable wall.

The rotation gets send in from the WallStick component, this component checks if the player is standing on a wall with the ClimbableWall component, then it grabs the normal of the component and sends in the rotation.

State Controller

The StateController is what allows the player to switch between the human and the slime. It enabled / disabled abilities and sets the values in PlayerMovement. It also activates the animation when switching states.

Rotate Chaotically

At the end of the game, the last room starts rotating chaotically. This rotation is done with multiple types of rotation types, which allows precise control over the rotation.

AccelerateAccelerate towards a certain speed over time.
ConstantConstantly rotate a number of times.
StopAtRotationStop at a exact rotation.