Animal Overview - UQcsse3200/2024-studio-1 GitHub Wiki
Introduction
The animal system in the game serves as a core gameplay element, providing players with engaging challenges through diverse enemy encounters. Animals in the game are designed to act as hostile entities that challenge the player through combat. Each animal type has unique movement patterns, attack styles, and animations, all of which contribute to the player’s strategic decisions during encounters. By differentiating animals through configuration, the system allows for a wide variety of enemies that require different approaches to overcome.
System Architecture
Animal Creation
All animals are created using the NPCFactory
class. Animal configuration (tasks, animations, combat stats) is defined in JSON format and loaded into the game dynamically.
Configuration of Animals
The behaviour and characteristics of each animal are defined in the NPCs.json
file. The configuration of this file is covered in the NPC Configuration page.
Key Components Overview
- Behavior Components: AI Task System, Animal Tasks
- Combat and Attack Components: Animal Attack System, Attack Effects
- Animations: Animal Animations
- Health Management: Animal Health System
- Boss System: Boss Room Dialogue System
- Pet System: Pet System
For specific animal types, refer to the Animal Types page.
Integration with Other Systems
Animals interact with core game systems such as AI, Physics, Animation, and Combat. Each system contributes to making the animals responsive, realistic, and challenging.