Sometimes babysitting can be a real horror, literally. That Little Devil is a spooky and hectic first-person game about a not so regular babysitting job. You signed up to a last-minute call from little Timmys parents to babysit Timmy for just the evening. However, the parents left a small but not unimportant detail out: babysitting Timmy is unlike any other babysitting job. Restlessly he sabotages all kinds of parts in the house and you are tasked with fixing it. As darkness falls, the true identity of little Timmy is slowly revealed and you frantically keep trying to keep everything under control. As time ticks away, your only goal is to make it through the evening alive. Complete minigames, keep track of Timmy, and make it through the night in a spooky house with an unique art style.
In this project i worked on all the UI in the game, including the main menu. I also worked on the Ability and lightning systems.
I created convenient user interface with the aim of it being complementary and not too much, simply because I didnt wanna take the players attention away from what is important. I tweened my UI animations using code aswell.
Sense I was working on all the abilities in the game I built the framwork for how abilities flow in the game. Using a base class to define what every ability needs and then inheriting from it to create unique abilities. I created 3 abilities. A torch ability that gives the player defence. A coffe ability that increases the movment speed of the player and finally a TV ability that distract the child the player is babysitting from sabotaging the house.
The snippet below is from the TV Ability and is an example for how all the abilities were setupped.
public void OnPlay() { EnableAbility(); TVOnPanel.SetActive(true); childBehaviour.IdleByTV(myTimer.MaxTimerValue); } public void EndCondition() { DisableAbility(); myTimer.Active = false; active = false; afterCooldownTimer.Active = true; InCooldown = true; } public void DisableAbility() { Debug.Log("TV is off!"); TVOnPanel.SetActive(false); //close screen //make baby move normally }