Here is a few solutions for optimizing the game multiplayer feature

Hello my dear,
if you are here you might sak yourself “hey bruh , how can i make the game better for people in multiplayer and avoid latency problems”

answer is simple : maximaze the compression of data sent.

for example :
when your character move, they do not send evey data on their position , rather , they send their objective and the client.

the game should be sending the fewest information, there it would send a 32 bits long information for each character.

let me explain, there are 2 kinds of data that have to be transfered :
Randomly generated data that’s why people prefer to use "the seeds"
it avoids a lot of problems

users input and functions:
So a data packet should look like :
[User][Function][Target][Data] and so you will be optimizing a lot of things.

the blocks willing to be build should not be tranfered, it makes no sens, they should bevisible to the player only as a visualization tool.

so for example you would have :
SERVER|Generate_new_army||x=1,y=2,z=3|seed:45678

and here you go , you don’t have to create each orc and you juste have to send the seed generated to every player.

the server also controls other caracters :
Server|send_army_attack|army3|player 3|
and this command let the individuals attack the other base without having to do much.

a vilain will attack the nearest enemy and if pathfinder is well done, they should find the way easily. (i reccomend using a 3 way calculation : straight, sinuous , long_calculated)
this avoids a lots of problems to reach someone entrance as you juste have to generate a new path and not send the path data.

to ensure everything is right,

the server does a position check and send it to players every once in a while.
so player have a better experience and are sure their game is behaving properly.

if you have any question on how to optimize network usage, i’ll be glad to give you indication on how to do so ^^

I’m under the impression that the network background will not be a problem, considering GGPO - Wikipedia is a creation of the Cannon brothers.
What worries us all is the cpu and gpu computations, not only from server, but client side too.

2 Likes

Another problem the devs will be trying to work through is the way a person will host so that both people who have the humble bundle and those with steam can work together. What if we go to a different sever where the client side will be on our personal computer and the server would be on another computer where we can just log onto and find our world. It would create different problems granted. Consider what Creativerse does. You can make your own world and play by yourself but you can also set a password and with this, friends with this password will be able to access the world.

They should then try to avoid as much problems as possible. Usually a visuak program is always the right balance between computing and memory usage.
I feel like not much data are being compressed
Storage is a good example.
For a chief to find the méat hé look for, he have to search within all the stockpile and chest.

Data compression would be the best way to optimise such a game.

An example would be a list categorized by type that allow fast search for items.
The game usés to much memory because of inidivual management of character and IA.

Maybe make less deep IA ?
Allow them stupidity factor that prevent too much calculation when task is too hard.

If i had the code i could give more advices but i do not X) so it makes it hard for deeper help.

But i definitely think that they should try to optimise the game through compression

How about à semi-pro persistent world,
Where when no player is connected, the game does pauses. When à player is connectés , other player earthlings will stay at à normal pace, his construction ans zone stay safe.

They should just work on a standby system.
This will correct a lot of problems .

1 Like