003: Physics and AI Project

This project uses a physics engine built from scratch along with some AI features. The project was developed as part of the university project which helped me learn concepts of how the game engine works.

The aim of this project is to understand the aspects of a game engine and put it to use. However, it should be noted that the project is not a game but my understanding of how certain features in the game work.

Concepts learned during this project:

  • Physics
    • Raycasting
    • Linear Motion
    • Angular Motion
    • Collision Detection
    • Collision Response
    • Constraints and Solvers
  • AI
    • State Machine
    • Path Finding

    Destroy on Collision

    AI Pathfinding

    Behaviour State

    Project Highlights:

    The physics component incorporates the utilization of Newtonian physics, alongside collision detection and resolution systems, to replicate physically accurate interactions among objects and within the environment. In terms of game mechanics, different type of collision boxes were made using the concept of layers in Unity. Another feature implemented was adding constraints to simulate opening of gate.

    AI was demonstrated in various forms, ranging from basic state machines responsible for managing moving platforms to AI adversaries employing behavior trees. Behavior trees enable the modeling of intricate behaviors and seamless transitions between them. Additionally, these AI entities made use of a straightforward pathfinding grid, featuring an implementation of the A* pathfinding algorithm.

    Problems faced during project:

    Problems I faced while making A* pathfinding was that the Goose won't move to a certain point in the path and cause vector subscript out of range error. It was solved by increasing the radius which it considers a point and decreasing the speed at which it moves.

    Project Showcase: