Skip to content

Alien Fauna ‐ Programming Guide

pchsa edited this page Oct 2, 2023 · 37 revisions

Introduction

This wiki page outlines implementation and usage of alien fauna in the game.

Adding Animals

New animals can be added in the NPCFactory. See Adding Animals.

AI Behaviour (Movement stuff)

An animal's movement behaviour is dictated by adding tasks to the AITaskComponent.

Taming

Taming passive animals are implemented in TamableComponent. See Taming Animals.

Animations

Animal animations are implemented using the AnimationRenderComponent and are handled using the AnimalAnimationController

Attack Patterns

Hostile combat (including melee attacks and projectiles) are implemented using AttackPatternComponent. Attack Patterns

Projectiles

Hostile animal projectiles are implemented using Projectiles.

Indicator

Indicators appear on the screen to notify the player that there are hostiles in the area that they must defeat. Entity Indicator

UML Diagrams

Running Away Task

Adding interactions with animals and other non-tile entities

Detecting animals in range of player, as well as the animals detecting player / plants to attack is implemented using InteractionDetector. Please read https://github.com/UQcsse3200/2023-studio-1/wiki/Interaction-with-non%E2%80%90tile-entities

OxygenEaterAttackPattern

ProjectileComponent

Clone this wiki locally