Breakdown : Framework

Based on Compendium Cedric Neukirchen

Example of Dedicated Server with 2 clients

From Reuben Wards course

  • Game Instance :
    Game instance created when game starts and lasts until that game executable closes, persisting across level changes and joining sessions etc.
    Game instance is only aware of its own executable. Does not have any connection between server and clients. Lives only on the client (is this correct?, also the server is an .exe)

In steam multiplayer of FD_Online:

BP_FD_OnlineGameInstance (Parent class = FD_OnlineGameInstance in C++)

  • Event Show Main Menu (Interface)
  • Event Show Host Menu (Interface)
  • Event Show Server Menu (Interface)
  • Event Show Options Menu (Interface)
  • Event Show Loading Screen (Interface)
  • Event Launch Lobby (Create Advanced Session and open FD_Lobby, as listen) (Interface) Setup Host as listen server
  • Event Join Server (Interface)
  • Event Save Player Info (Interface)
  • Event Main Menu Player Info (Interface)
  • Event Update Friends List (Interface)
  • Event NetworkError
  • Event TravelError
  • Event Destroy Session Caller (Interface)
  • Event Store Character Seleceted (Interface)

Several Gamemodes and PlayerControllers

Game and Server Default Map is FD_MainMenuMap . In level BP : Event BeginPlay sets resolution and starts Show Main Menu

FD_MainMenuGM has no content, is only used the get the FD_MainMenuPC activated

FD_MainMenuPC

  • Event BeginPlay
    Gets playername and image from Steam and also the friends

Map FD_Lobby has no Level BP. Starts FD_LobbyGM

FD_LobbyGM :

  • PlayerKicked
  • AddToKickList
  • Event OnLogout
  • StartLoadingScreen
  • LaunchGame (Actual start of the selected level)
  • ChangeCharacter

FD_LobbyPC:

  • InitialSetup (only on client)
  • LoadPlayerInfo
  • SavePlayerInfo
  • CallUpdate (only on server)
  • SetupLobbyMenu (only on client)
  • AddPlayerInfo (only on client)
  • UpdateLobbySettings (only on client)
  • ShowLoadingScreen (only on client)
  • UpdateNumberOfPlayers (only on client)
  • EventEndPlay
  • Kicked (only on client)
  • AddPlayerToKickWindow (only on client)
  • UpdateAvailableCharacters (only on client)
  • AssignSelectedCharacter (only on server)
  • AssignPlayer (only on server)
  • GetChatMessage (only on server)
  • UpdateChat (only on client)

Gamemaps like FD_World and FD_Prototype uses BP_FD_OnlineGM

At this moment BP_FD_OnlineGameStateBase and BP_FD_OnlinePlayerState are not used.

BP_FB_OnlineGM :

  • EventOnSwapPlayerControllers
  • SpawnPlayer
  • EventOnLogout
  • UpdateChat

BP_FD_OnlinePC :

  • EventBeginPlay
  • PassCharacterInfoToServer (only on server)
  • SetupUI (only client)
  • GetChatMessage (only on server)
  • UpdateChatWindow (only on client)
  • InputActionChat

Share Button

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.