-
Notifications
You must be signed in to change notification settings - Fork 1
Status Effects
Status effects are entities which can be collected by the player and may trigger some kind of environmental or movement effect on the player. Available status effects are outlines in the com.deco2800.game.effects.StatusEffect
enum, but are summarized below:
Effect Name | Duration (Seconds) | Is Debuff | Details |
---|---|---|---|
BOMB | 4 | true | Obscures the player screen (not yet implemented) |
JUMP | 6 | false | Increases jump height |
FAST | 4 | false | Increases player speed |
SLOW | 4 | true | Decreases player speed |
STUCK | 2 | true | Stops the player |
TIME_STOP | 2 | false | Stops the void |
A series of methods and Components make these status effects work. On a high level, the spawnStatusEffect(StatusEffect, x, y)
method in LevelGameArea can be used to spawn any status effect on the map. In the future, these effects will be able to be saved/loaded from the level file.
The StatusEffectController
component is used for triggering status effects on players which collide with the entity, it listens for "collisionStart"
events and if collided by an entity with an associated StatusEffectTargetComponent
, it will trigger a StatusEffectTrigger
event with the StatusEffect
as an argument. It will automatically "dispose" of itself by ignoring future contacts.
The StatusEffectTargetComponent
is associated with entities which can receive status effects. This component listens for StatusEffectTrigger
events and when it receives one, triggers the appropriate effect on the entity or environment.
Currently this component is designed only to work with the player as it relies on other player-specific components, however if desired this component could be adapted to work with any entity.
The StatusEffectUIComponent
also listens for StatusEffectTrigger
events. When an event is triggered, it will create a spiral countdown clearly showing the time remaining on the effect.
Again, this component could easily be applied to other entities if necessary in future development.
A class diagram is provided below.
Testing Plans
Team 1
Team 2
Team 3
Team 4
Team 5
Team 1
Team 2
Team 3
Team 4
Team 5
User Testing
Sprint 1 - Game Audio
Sprint 1 - Character Design
Sprint 1 - Menu Assets
Sprint 1 - Map Design
Sprint 1 - Void
Sprint 2 - Game Audio
Sprint 2 - Character Design
Sprint 2 - Menu Assets
Sprint 2 - Interactable Design Animation
Sprint 2 - Levels 1 & 4, and Level Editor
Sprint 2 - Proposed Level 2 & 3 Designs
Sprint 2 - Current Game State
Sprint 3 - Menu Assets
Sprint 3 - Map Design
Sprint 3 - Score Display
Sprint 3 - Player Death and Spawn Animations
Sprint 3 - Pick Ups and Pause Screen
Sprint 4 - Gameplay
Sprint 4 - Game UI and Animation
Sprint 4 - Level Background and Music
Sprint 4 - Game User Testing
Sprint 4 - Final Game State Testing
Entities and Components
Status Components
Event System
Player Animations Implementation
Development Resources
Entities and Components
Level Editor (Saving and Loading
Multiple Levels)