###### Memo met verschillende datatypes # Different "users" * Server: this is the server where our node server process runs. We serve our website from here. This is also where we keep track of registered “clients”. Our server keeps websocket connections with the clients. There is only one server. * Client: is either a “screen” or a “controller”. * Screen: this is a web browser which makes available its view port to be used for showing the game. Note that one computer could have multiple browser windows and hence multiple “screens”, which might be on the same physical display or on different displays. Multiple computers can register multiple “screens” at the same time. We assume that different “screens” do not overlap. * Controller: this is a smartphone which is used to control a cat in the game. We make use of the gyroscope to move in a certain direction and we make use of the accelerometer to jump through a wormhole. # Info ## Screen Defined by: * Short id Contains: Either * Planet objects (1-3) * Cat objects * Information tile Or * Big QR * Information tile Information tile shows: * Short id of screen * State (free -> big QR for multi screen / Game -> planets) * Connection status with the server (websocket) * Short id of other screens in a multi-screen (WebRTC data) and their connection status * Short id of connected controllers (WebRTC data) to this screen and their connection status * Small picture of the multi-screen setup used to detect the screens (allows users to stand at the correct point of view.) Computed by: PC ## Planet ## Cats / Turtles Defined by: Taken care of by: Controlled by: Remote