Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GameExperience: Elimination GameStateComponent #353

Open
wail opened this issue Sep 7, 2024 · 0 comments
Open

GameExperience: Elimination GameStateComponent #353

wail opened this issue Sep 7, 2024 · 0 comments
Labels
Code Engineering Task Implementation Code Implementation Task

Comments

@wail
Copy link
Collaborator

wail commented Sep 7, 2024

High Level
Define a new Elimination GameStateComponent

Technical Overview
The standard UnrealEngine GameFramework classes are not usually used in a modular or composable way. In order to make OpenTournament more extensible, we want to utilize the concept/framework of GameExperiences. A GameExperience is a concept that encapsulates everything about a Mode, from the rules of the mode, the HUD elements of the mode, even the characters+charactercomponents in the mode.

Utilizing GameExperiences we compose an 'Experience' from various single-purpose components. Assembling various components together can easily recreate classic modes as Experiences, but also gives us flexibility to rapidly construct new Experiences without additional engineering.

Technical Details & Acceptance Criteria
We define a Elimination GSC. This component can be utilized in game Experiences such as Deathmatch, CTF, Domination/DoubleDomination, BombingRun, or other types of experience/mode.

The Elimination GSC tracks elimination events (e.g. kills). When elimination events occur, the component sends a message to other listening components (e.g. Deathmatch Experience might turn this elimination event into a scoring event)

  • Listens for Player Deaths and Determines if a Death is an Elimination Event
  • Optionally broadcasts Assist Events
  • GameStateComponent communicates State to other components & UI elements utilizing GameplayMessagingSubsystem
@wail wail added Code Engineering Task Implementation Code Implementation Task labels Sep 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Engineering Task Implementation Code Implementation Task
Projects
Development

No branches or pull requests

1 participant