QuadTree

You can download the game for free on itch.io
Since this is my first bigger programming project I did decide not to share the code.
In this 2.5D game you are in the role of a babysitter trying to avoid children from doing unwanted things that lead to very unwanted results. I did all the programming.
Overview:
  • 2nd semester team project
    (04.2023 – 07.2023)
  • Role: general programmer (C#)
  • Engine: Unity
Important Learnings:
  • Git management
  • AI NavMesh pathfinding with dynamic obstacles
  • Pathfinding real-time interruptions
  • Align character animations with objects of interest
My contributions (shoreel):
Gameplay Implementations:
Pathfinding:
While Unity provides the user with a well-functioning NavMesh-Navigation-Tool, getting multiple agents in a room to walk randomized to individual currently opened targets was still a big challenge, because the agents are constantly moving around, having different wait-times at different targets and therefore might be blocked for some seconds before they can move to the next open target. Also, agents should avoid going to the same destination.
For me it worked out pretty well with the solution of having two states for each possible target, which are the Booleans isOpen and isTargeted. IsOpen tells an agent if there is a child on the target currently. IsTargeted means that a child currently is going to this target. If IsOpen is false, or IsTargeted is true, the other agents will ignore that specific target.
The agents always recalculate their path as soon as they have done their task (e.g., waiting at a wait target). If after that no target is currently reachable, the agents fall into an isStopped-Mode, which frequently checks for new open targets. Meanwhile the agent holds its position at the current target and keeps isOpen true. That’s the reason, why there is both an isOpen and isTargeted Boolean.
For the project I did lots of research on different solutions for pathfinding, also on its history and progression over years.
Consumables:
Another complicated task was to implement the consumable-mechanic. If you throw in a plate of cookies, the child should immediately cancel the current action and go there (at least, when it is walking to a destination or it is in a danger-zone, but not, when it is at a non-deadly zone).
There were several things to do for getting the cancellation right, like resetting the current timer, if there was one at that moment, changing the animation, resetting the old animation from the obstacle, letting the children recognize it stands in the consumable if the player decides to throw it right into the child instead of just putting it next to the child so then it is in the radius-zone, and lots more.
Full game walkthrough:
LSDesign
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.