Toby's Terror was developed as a team project for the Introduction to Artificial Intelligence (CS-3368) class. The project explores AI techniques in a gaming environment, focusing on an AI-driven enemy, Toby, who interacts dynamically with the player and environment. Toby’s behavior adapts based on player proximity and actions, demonstrating skills in AI programming, C# scripting, Finite State Machines (FSM), Navigation Mesh (NavMesh) pathfinding, and raycasting within Unity’s 3D environment.
Toby's Terror is an immersive horror game where the player is pursued by an AI enemy named Toby, designed to simulate complex, reactive behavior. Using Finite State Machines (FSM) and Navigation Meshes (NavMesh), Toby can navigate through obstacles, detect the player's location, and adapt its actions dynamically, creating a suspenseful and unpredictable experience. The AI’s behavior changes based on triggers, such as distance from the player, allowing for realistic transitions between actions like searching, chasing, and attacking. These mechanics add depth to the gameplay, making Toby a challenging and engaging opponent.
- Unity: The game engine used for development.
- C#: The programming language for scripting the game's logic.
- Finite State Machine (FSM): The architecture used to control Toby's AI behavior.
- Navigation Mesh (NavMesh): Used for pathfinding in the game's dynamic environment.
- Raycasting: Implemented to improve Toby's navigation and prevent getting stuck in obstacles.
- Clone the repository:
git clone https://github.com/your-repo/tobys-terror.git
- Open the project in Unity.
- Ensure all necessary packages are installed via Unity Asset Store:
- Modular First Person Controller
- POLYGON Dungeons
- Build and run the game from Unity.
This project was a collaborative effort by the members of Team Skynet Dev Club:
- Dhruv Maniar
- Hunter King
- Taylor Dobson
- Sebastian Baglo
References:
- Sindhu, R. M., et al. "Development of a 2D Game using Artificial Intelligence in Unity." 2022 6th International Conference on Trends in Electronics and Informatics (ICOEI), 2022, pp. 1031-1037.
- Toll, Wouter G. van, et al. “A Navigation Mesh for Dynamic Environments.” Computer Animation and Virtual Worlds, vol. 23, no. 6, Wiley, June 2012, pp. 535–46.
Working on Toby's Terror provided valuable experience in AI-driven game development:
- AI & NPC Behavior: Developed a deeper understanding of Finite State Machines (FSM) for controlling complex NPC behaviors, enhancing realism through dynamic state transitions.
- Pathfinding and Navigation: Applied NavMesh for real-time pathfinding, allowing Toby to navigate challenging 3D environments smoothly and effectively.
- Raycasting Techniques: Used raycasting to improve Toby’s navigation, ensuring it avoids obstacles and can follow the player effectively.
- Collaborative Game Development: Improved project planning, communication, and version control practices, utilizing Unity and GitHub to enhance productivity and maintain cohesion.
- Problem-Solving in Game AI: Refined problem-solving skills in AI behavior design, navigation challenges, and player interaction, leading to an engaging, interactive experience.
This project sharpened my skills in creating intelligent, immersive gameplay elements using modern game development tools.