Game System Overview - LSFN/Design GitHub Wiki

The LSFN Game System is broken down into 4 main parts:

LSFN breaks from the traditional client-server model by introducing the user-client-server-server model. The players are the users, the interfaces are the clients the users interacts with, the ships are the local ship servers, and the environment is the remote (or possibly local) game server. They interface with one another in that sequence. These are explained more below.

Environment Server

This can be considered to be very close to "the game server" in the traditional client game model. It holds the single source of truth for game state. It is responsible for the simulation of the game universe and everything in it. Many ship servers will connect to a single envrionment server.

Ship Server

Each ship server is closely linked to the in-game concept of a ship. It acts mainly as a network hub, connecting as a client to a single envrionment server and also acting as a server to multiple interfaces. interfaces will subscribe to the ship server for pieces of information about the ship's state and the ship server will pipe this information out to all the subscribe interfaces. The ship server is not the storage location for the ship's state, that is stored on the envrionment server (because it is the single source of truth). Input comes from the interfaces and is piped immediately to the envrionment server, output comes from the envrionment server and is piped immediately to subscribed interfaces.

Interfaces

This is fairly close to the traditional game client. The players interact with this to get information about the game state and to effect actions within the game. The interface will be highly customisable and will be usable on a wide variety of devices so that players can configure their ship bridges however they like.

Players

The player is, perhaps obviously, not a piece of software and will not be developed by the developers (however, players may choose to develop themselves however they please). The player is however an integral part of the game because player to player interactions will be a large part of playing LSFN. A fair amount of the gameplay is therefore entirely removed from the game's software and beyond the control of the developers. That said, it is entirely possible to influence the actions of the players and guide them down certain paths.