max-mapper / voxel-server

multiplayer server for voxel-engine
74 stars 25 forks source link

Suggested Revision of Architecture #18

Open miketheprogrammer opened 10 years ago

miketheprogrammer commented 10 years ago

I have some suggestions for Improving the multiplayer server engine. Does anyone else experience the lag on Movements.

Generally to build real time multiplayer engines. The server should replicate actions and state, rather than replicating player position.

The client should have all the necessary Game State to render the actions as a results of doAction(action, playerstate, gamestate);

So quick little breakdown Client:

Engine (Where engine is a subset of client):

Server:

Either the Server or Client or Both can handle optimizations such as RedBlack trees. Server can restrict registered receivers based on a function of (gamestate, playerstate) Client can do the same as well, but we lose the bonus of restricting network overhead.

As far as Voxel-* is concerned there needs to be a way to register plugins with the replication framework. Something similar to level-manifest probably

miketheprogrammer commented 10 years ago

One quick comment. By Replicating actions instead of position. The client can render things like Animations such as Jump