Key Concepts #

This section provides a baseline understanding of key components used in the Game Instance service. To learn how these components work together, see Game Instance Tasks.

Game Instances #

GameInstance.GameInstance represents a running game instance, and includes details about the parties, players, and a custom-defined payload of extra game information that will be used to create the game instance.

property/methoddescription
idunique GameInstanceId of the game instance
playerslist of players in the game instance
partieslist of parties in the game instance
gameServerZonethe game server zone the game instance is using
inMatchmakingboolean value indicating whether the GameInstance is currently enrolled within matchmaking to find more players
removedPlayerslist of players previously removed from the game instance
extthe ExtGameInstance created during matchmaking in the NewGameInstance

Game Parties #

GameInstance.GameParty represents a party within a game instance.

propertydescription
idunique party ID
playerslist of players in the game instance
extthe ExtGameParty set by the NewGameInstance and GameInstanceUpdate. Used to store unique data for a party in a game instance.

Game Players #

GameInstance.GamePlayer represents a player within a game instance.

propertydescription
playerIdunique player ID
socialIdunique social ID
displayNameplayer’s public display name
partyIdparty ID for the party the player belongs to
teamNumberplayer’s assigned team number
extthe ExtGamePlayer created during matchmaking in the NewGameInstance or GameInstanceUpdate. Used to store unique data for a player in a game instance.

Game Instance Service Plugins #

The GameInstancePlugin and GameInstanceMatchmakingPlugin can be used to prepare custom data to send to the game server, matchmaking service, or player. A list of the customizable data can be found in the Game Instance Methods, Calls, and Events topic.

End of Game Processing #

When game instances end, the Game Instance service processes individual players, as well as the complete game instance end flow. This includes making parallel requests to all services that need to process game instance results, aggregating the respective results, and sending the results notification to players. See End a Game Instance for more details about how Pragma Engine handles game ends.