Kleptomania Display Server Specifications

The Red Team is developing the Display Server as a part of the infrastructure software of the Kleptomania game system. The essential idea behind integrating the Display Server in the infrastructure is to give a (possibly) coherent view about the current status of the game to all spectators.

The Display Server fundamentally consists of two main components.

  1. The Communications component, and
  2. The Display Component.

The Communications component

The Display Server needs information to be put up on the Display. The information that the Communications component may receive is in 3 different forms:
  1. Player Status Messages - These messages determine the status of each participant in the Kleptomania game system.The format of the status message is

    STATUS:player-name:status-string

    As one can see, the tokens in the message are separated by the colon character. So far, we have categorized the following states that a player might be in at any given time

    These state messages are sent by the Control System of the Kleptomania infrastructure. There are additional states of player's that the can be determined from the dialog messages coming from each individual strategy system.

  2. Dialog Messages - These are the ongoing dialogs at each individual strategy system's terminal. The strategy systems must send these in the following format

    DIALOG:team-name:dialog-string

    So as the extract the potential status information of a player embedded in a dialog message (like STEAL, and SPY), the Communications component has to parse each incoming dialog message.

  3. Clock messages - These are the period messages sent by the Control system denoting the current logical period of activity. The characteristics of each period may be looked up in the Control System's documentation. The format of these messages is

    CLOCK:period-name:time-in-secs
    where the period-name may be RED, BLUE, GREEN, or YELLOW.

  4. Alarm messages - These messages are sent by the Control system informing the triggering of an alarm in an area. The format of this message is

    ALARM:area-name:player-name

The Communications component listens currently to port 4123 for any incoming connection requests from either the Control system, or any of the Strategy systems. It spawns a new thread for each new communication session subsequently.

The Display Component

The display component roughly divides the display into 3 main parts, one for each team. Each team's display portion in turn is divided into the player status half, and the ongoing dialogs half. Currently the player name's have been hard-coded, we can make this dynamic by introducing an initial bootstrapping phase where the Control system delivers the player names of each team to the Display system. A separate panel is also provided for the Clock countdown at the top of the display.