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


Discuss the features you want (20 minutes)

Message format at the outer level

We agreed in class on the following format for all messages. Unless you can convince the professor otherwise, you are expected to follow this outer-level description of all messages.

Designing your message types

Your task is to design the messages that will be transmitted between the server and client for your game.

Your documentation must consist of the following sections in the following order:

  1. Message types and formats Explain the fields that are present for a given message type. 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.

    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.

  2. Dialog

    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.

Document the above in the protocol.txt file in your repo.

Finishing up

When you done with this lab, you must be cleared by the TA to receive credit.

If you worked in a team using a group– repository:
  • Your work must be committed in that repository for this demo.
  • Each team member must complete this form and have the TA authenticate.
    For example, if there are two of you, then the form must be submitted twice, so that each person's last name and 6 digit ID is captured with the repository name.
  • The repository name must be included on each of the submissions.

group– Enter the name of your group repository here
Last name 6-digit ID

TA: Password:

Last modified 12:37:32 CDT 14 April 2011 by Ron K. Cytron