Sigma : Design proposal

About the actual programming of the game.

Sigma : Design proposal

Postby catageek » Fri Dec 20, 2013 2:30 pm

Hello,

I took a little time to try to put in image how I think the engine should work. There are no new concepts but it is maybe the first time that someone put this on a paper. I dit it mainly for my comprehension, but also in order to share our design ideas.

The main principles that have been adopted:
- The server and all the players will run a bullet simulation.
- The server is authoritative for the World and the simulation.
- The server will run the simulation on all the world in absolute coordinates (double precision), while the players will run a simulation in relative coordinates (single precision).
- To run the simulation, only movement caused by players are used as input after validation by the server. The server use all the movements, while the players simulation use only movements caused by players around them.
- A parallel process will synchronize entities between server and players, after selection, transformation in player relative coordinate, and conversion in float.
- The initial coordinate of the player in its own simulation is the center (0,0,0), and the player will move in its own coordinate system. The center of the coordinate system is moved if the player goes far away, with an entity update round if necessary.
- The network layer and crontrollers have not been mentioned for clarity.

Image

Being in holiday starting tomorrow, I will not be able to update the drawing before 2 weeks. I leave it for comments and future reference if it is still valid.

NB: this PR implements the PhysicalWorld with the (unfinished) "Model to User restriction and transformation" function that will run at boot time and after a "teleportation".
catageek
 
Posts: 39
Joined: Tue Oct 15, 2013 2:23 pm

Re: Sigma : Design proposal

Postby VladVP » Fri Dec 20, 2013 3:51 pm

I'd love to have a bigger image of that graph, instead of having to zoom in in my browser.
VladVP
 
Posts: 95
Joined: Fri Nov 01, 2013 8:31 pm

Re: Sigma : Design proposal

Postby catageek » Fri Dec 20, 2013 5:04 pm

VladVP wrote:I'd love to have a bigger image of that graph, instead of having to zoom in in my browser.


Sorry for the quality, but I left the original in another computer and I can't resubmit it.

The imageshack direct link may be easier to zoom in : http://img19.imageshack.us/img19/7184/420k.png
catageek
 
Posts: 39
Joined: Tue Oct 15, 2013 2:23 pm

Re: Sigma : Design proposal

Postby VladVP » Sat Dec 21, 2013 1:31 am

catageek wrote:
VladVP wrote:I'd love to have a bigger image of that graph, instead of having to zoom in in my browser.


Sorry for the quality, but I left the original in another computer and I can't resubmit it.

The imageshack direct link may be easier to zoom in : http://img19.imageshack.us/img19/7184/420k.png


Nope. That's the one I already used to zoom in lol. xD
VladVP
 
Posts: 95
Joined: Fri Nov 01, 2013 8:31 pm

Re: Sigma : Design proposal

Postby croxis » Sat Dec 21, 2013 9:21 pm

The client will need to be double precision as well -- there might be cases where the client will be tracking the position of objects that are more than 10000 meters away (with mm precision), perhaps directional long range comm antenna or a telescope. If anything I would go as far as to say that the client is the same codebase as the server, just with graphics, its model non authoritative, and only tracks what the server says the client can see.
croxis
 
Posts: 282
Joined: Tue Aug 13, 2013 1:37 am


Return to Code

Who is online

Users browsing this forum: No registered users and 1 guest

cron