top of page
Search

Blue Bot

Updated: Mar 29



GitLab Repository: Click Here

Download Now: Click Here


Game Overview

Blue Bot is a third-person game where players control a robot navigating through a maze while avoiding detection by the Red Bot, an AI-controlled enemy. This project focuses on NavMesh navigation, AI patrol behavior, and pathfinding algorithms.


The idea is to find a way out of the maze while avoiding the Red Bot, which follows a set path and dynamically chases the player when detected.


Development Team

  1. Kanyavee Sematong

  2. Junlacak Juntaslip

  3. Theeramate Saeba


My Role

Gameplay Programmer


Core Mechanic that I created


Enemy AI

This project uses an AI to track the player. The AI ​​automatically follows waypoints placed in the scene. When the AI ​​is close to a waypoint, it immediately changes the order of the points in the array and automatically turns towards the new point. Once it reaches the final point, it loops back to the first point.


Figure 1: Enemy AI navigation system showing automated movement along a waypoint array with seamless rotation and looping logic.
Figure 1: Enemy AI navigation system showing automated movement along a waypoint array with seamless rotation and looping logic.

Another feature of the AI ​​system is its detection system. It uses scanning and a coroutine system, not updates, to conserve resources and prevent game lag.


Figure 2: High-performance detection system using periodic coroutine scanning and FOV logic to optimize CPU resources and ensure smooth gameplay.
Figure 2: High-performance detection system using periodic coroutine scanning and FOV logic to optimize CPU resources and ensure smooth gameplay.

SceneManager

The scene transition system uses collision detection combined with scene management. When the player runs into a predefined object, it calls the Unity function "SceneManager.LoadScene()" to switch to another scene.


Figure 3: Scene transition demonstration showing the player interacting with a trigger object to activate the SceneManager loading logic.
Figure 3: Scene transition demonstration showing the player interacting with a trigger object to activate the SceneManager loading logic.

Main Menu

The Main Menu operation, when starting the game, is set to Time.timeScale = 1f; to reset the game time to normal in case it comes from the Pause screen, where the time was stopped, then Unity is instructed to load the scene with SceneManager.LoadScene(1); with Build Index number 1, and finally, the game is exited using the Application.Quit(); command.


Figure 24: Main Menu interface and controller logic for scene management, time scale reset, and application exit functions.
Figure 24: Main Menu interface and controller logic for scene management, time scale reset, and application exit functions.

Tools Used:

  • Unity 2020.3+

  • GitLab

  • SmartGit


GitLab Repository: Click Here

Download Now: Click Here




 
 
 

Comments


bottom of page