ShooterMaps Dissection
The ShooterMaps plugin uses ShooterCore for the base game play. It defines some maps and experiences as follows:
Interesting Maps
Common experience settings are further below, but 2 maps in particular warrant further investigation as they implement two different types of experience.
L_Expanse– team death match (elimination) experienceL_Convolution_Blockout– team control point experience
Other Maps
L_Expanse_BlockoutL_FiringRange_WP- Essentially a test map
- Contains all the elements of the other maps, in a compact area, and the bots hit like kittens.
L_ShooterFrontendBackground- This map is hard-coded into Lyra to be the front-end’s lobby background scene.
- Worth looking at to see how they did the cinematic camera sequence, if nothing else.
Differences to ShooterCore
Because ShooterCore contains an elimination map similar to L_Expanse, I’ll not cover that here.
Instead I’ll focus on the L_Convolution_Blockout map which is a control point experience.
Experience: B_LyraShooterGame_ControlPoints
- Activate
ShooterCoreGameFeature Plugin- Required because we’re now in the
ShooterMapsplugin, soShooterCoreis not active unless we activate it
- Required because we’re now in the
Pawn Data: HeroData_ShooterGame
Same as Elimination experience
Action Sets
Same as Elimination experience
Experience Ability Sets
LyraPlayerState injections:
| Component | Parent Class |
|---|---|
AbilitySet_ControlPoint |
ULyraAbilitySet |
Ability Set: AbilitySet_Elimination
| Ability | Input Tag |
|---|---|
GA_ShowLeaderboard_CP |
InputTag.Ability.ShowLeaderboard |
GA_AutoRespawn |
Experience Component Injection
LyraGameState injections:
Same as Elimination experience, except for:
| Component | Parent Class | Tick Group | Scope |
|---|---|---|---|
B_ControlPoint_Scoring |
B_ShooterGameScoringBase |
During Physics |
Client + Server |
B_MusicManagerComponent_ControlPoint |
B_MusicManagerComponentBase |
During Physics |
Client |
Experience Widgets
| Slot ID | Widget |
|---|---|
HUD.Slot.TeamScore |
W_CPScoreWidget |
HUD.Slot.ModeStatus |
W_ControlPointStatusWidget |
Game Logic
All the same logic happens as for the Elimination experience, except for the few components that were swapped out above.
Logic from LyraGameState injections
B_ControlPoint_Scoring logic
todo
B_MusicManagerComponent_ControlPoint logic
todo