CSE 132 (Spring 2009)
Lab 5a: Protocol Design for Multiuser Game

Fill in the following. Make sure your document is submitted as described below, and turn in the printout of the filled-in text below to get credit for this lab.
Some notes:
Your task is to design the messages that will be transmitted between the server and client for your game. Your document must consist of the following sections in the following order:
  1. Overall message structure: Explain the fields that are present for every message. Be specific about field names (to facilitate discussion), field lengths, valid values for a field, and the meaning/interpretation of each field.
    Recall the detail that was provided for FLAP in Studio 7. You must be specific about the number of bytes provisioned for each field of a message. You must also state the format of each portion of a message.

    Use common types where possible. For example, if the format for some field is a primitive Java type, such as short, then just say so, but indicate that 2 bytes are taken by the field.

  2. Message types and formats

    For each message type, document its specific fields in the same detail you should have specified for the overall message structure. Explain the circumstances under which you expect to see messages of a given type.

  3. Protocol

    Describe the sequence of events and messages that should occur in the game. If a finite state machine helps to describe possible sequences of events, feel free to use such notation. Think of the states as points of arrival and the messages as triggers for action and state changes.

    Where possible, separate the portions of the protocol to simplify discussion. For example, there may be elements of the protocol that are unique to joining or leaving a game.

    Where possible, group similar protocol elements together in your document so that the similarity (or small differences) in their fields can be more easily appreciated.

The documents will be reviewed, graded, and returned to you in Lab.

Last modified 20:10:57 CST 11 January 2010 by Ron K. Cytron