Enemy NPC's - UQcsse3200/2024-studio-2 GitHub Wiki

Overview

The enemy NPC feature will introduce dynamic and challenging opponents and diverse animal types that increase in stat difficulty as the player progresses through levels. Enemies will spawn and then initiate battles when within a certain radius, and each animal type will have unique abilities and potentially super effective moves. Defeated enemies will drop items, and players will face a new set of enemies in each element al kingdom, ensuring a fresh and exciting experience.

Entity-Specific Documentation

Each entity has unique characteristics like whether they attack or shock player by throwing items, drop items that can prove fruitful later etc. Their details can be found below:

Land Enemies

In the land area, players will encounter various enemies, each with unique characteristics and abilities. These enemies include:

NPC Image Documentation Link
Chicken Chicken Documentation
Monkey Monkey Documentation
Bear Bear Documentation

Underwater Enemies

In the water area, enemies have adapted to the aquatic environment, offering unique challenges:

NPC Image Documentation Link
Frog Frog Documentation
Eel Eel Documentation
BigSawFish BigSawFish Documentation
Octopus Octopus Documentation

Sky Enemies

Sky enemies take advantage of aerial mobility, offering unique tactics to challenge players:

NPC Image Documentation Link
Bee Bee Documentation
Pigeon Pigeon Documentation
Macaw Macaw Documentation

Programming Guide

For specifics about how to develop and use Enemy NPCs in game see Enemy NPCs Programming Guide

Testing Plan

The testing plan for the game project will focus on a combination of unit tests, integration tests, and visual testing. The primary goal is to ensure that key features, such as cutscenes, enemy interactions, and animations, function correctly without introducing new bugs. Visual testing will confirm that the cutscenes and animations display properly, while regression tests will ensure that changes made during refactoring do not break existing functionality. Additionally, playtesting will be used to verify that gameplay behaves as expected in various scenarios.

⚠️ **GitHub.com Fallback** ⚠️