Download

Micro-maps within a map - performant?

This thread is focused on the case of multiplayer games where each map will have a small number of players, and we need to host a large number of maps.

Are there any performance gains to be found by having a map that contains a number of “micro-maps”? The replication distance would be tuned down, and these “micro-map” areas would not have any replication range overlaps with each other. Effectively serving multiple maps from the same unreal server process.

I’m wondering if this could have performance gains by running a fewer number of server processes.

Anyone have any facts or results on this topic?

It’s looking like this case is perfect for the use of the “Replication Graph” system.

Replication Graphs:
Replication Graph | Unreal Engine Documentation

With the use of replication graphs the replicated actors in each “micro-map” will not consume CPU trying to determine if they should be replicated to players in other micro-maps.

I’m assuming you are trying/want to run multiple small games on a single server instance.

e.g. 2v2 arenas, with 4+ arenas on the same instance aka Persistent level.

How do you plan to handle the Game Mode?

Yes running multiple small games on a single unreal server process.

So let’s say we have 100 players connected. If the map contained 20 isolated rooms (using Replication Graph nodes per room), each containing 5 players - then could that be higher performance than running 20 unreal server processes?

You’ll save on the install weight and base usage of the engine. But you’ll eat resources in the GM/GS etc managing it all.

Edit/add-on…

Thinking in the terms of traditional dedicated servers you’d have a physical server (hardware) and a game instance that has allocated resources (HDD, CPU cores, RAM, networking etc). On a single physical box you’d have multiple instances of the game and other games running. For example you could have 2 CSGO servers, 1 Team Fortress2 server and a CoD 4 server (depending on physical resources).

In your particular instance you’d upload a single copy of the game to the server. You’d install a tool such as Fire Daemon and create multiple instances of the game. Basically run multiple copies of the same game.exe as Service.

Unreal Engine eats a lot of resources. Back in the day I could squeeze around 4 16p Unreal Tournament servers on to a full dedicated box. Not sure what you’d be able to do with UE4 & UT4.

My opinion is you’ll probably be better off doing traditional instances. Profile the resources needed for a single arena add 5-10%, then do a bit of math on max instances per bare metal box.