I’ve been playing with two methods of replicating the tile map or playing field (i.e civilization type map) to clients. Both have their ups and down in programming complexity, but ultimately I’m worried about future performance. Not looking to ‘optimize’ early on, but mainly get a develop a good paradigm I can grow into.
Create each tile on the server which replicates to the clients by setting bReplicates as well as any properties I want the tiles to replicate. I’ve noticed when I have 400+ tiles, that when a client connects, it’s pretty slow at loading in the world, however the programming behind the actor is relatively easy as the replication system handles updates to the tiles. This makes it really easy as each of the actors is responsible to contain their own data and it is ensured they always have the latest information about that tile.
Each client creates their own set of actors where each of their states are updated by a change in the GameState. The client requests the server to move a ‘piece’, the server updates the GameState, and after the GameState replicates to the client, it updates each of the clients tiles.
I’d like to hear some thoughts of the community on these options, or even another idea. I’m not looking to download and use any plugins in the market place since I’d rather learn the networking and programming theories behind UE4.
FYI, I’ve also posted this in AnswerHUB, not sure which was the best place to post this.