CSPA Project Work

Groups | Schedule | Specification

Project is a modeling, specification and programming work to create a communications system. Result is specifications document and implemented system.

  • Project work trains skills to create communication systems in practice.
  • Project work divides into two phases
    • Design and specification of communication, result ⇒ Specification document
    • The group result specification will be randomly (mostly) assigned to new group to implement
    • Implementation of application with specified communication, result ⇒ working communicating software
  • Project work is done in two person groups
  • Assignments and deadlines will be given on exercises page.
  • The work topic will be assigned to your group. Check the groups list.

Phase1: Modeling and Specification

Result Document

  • Is written in english.
  • Is a specifications for a topic.
  • Game topic layer specification and game session layer specification are put into same document (for simplicity).

Improving design specification

Phase2: Implementation

  • Implementation is fully functioning game system along given assignment topics and specification.
  • Implementation communications interoperability goes along specification
    • if in specification are definitions that are no able to implement you have to add point into review comments with a reason and deliver it to specification group
  • In addition to specification design you have to make implementation based design in practice (does not have to documented but implemented)
  • Implementation language is python by default (but you are free to use other language as well (but that is not “supported”))

Result Code

  • delivered in .zip package
  • no “trash” files (mostly no *.pyc)
  • Function demonstrated.
  • You have to be able describe code fully.

Project work requirements

(these are requirements for project work, you have to specify layer specific service requirements by yourself)

  • Resulted systems specifications have to present a consistent model for topic gaming system with working communication.
  • Specified system communication have to be able to implement in networked environment.
  • Game layer
    • Modeled and specified game topic communication.
  • Session layer
    • Modeled and specified game session communication.
    • Chat functionality communication.
    • Multiple concurrent games, identification of game session, co-ordination of communication along game session.
  • Gaming system have to be communicate upper part entities. User Interface (UI) on client side and Control component on server side. Game layer is used by some kind of User Interface (UI) on GameClient side and some Control component on GameServer site. You do not need specify these (implementation thing) But on Game layer there have to be SAP interfaces for use.
  • There have to be at least three processes. 2 clients and 1 game server.
  • There should be able to run multiple games concurrently. Session layer should provide this feature.
  • Byte Count coding towards TCP provided service in support layer.

Given Constraints for Project Work

(these are constraints for project work, you have to specify layer specific service constraints by yourself)

  • System role model is client – server
  • Assumed Transport layer: TCP. You have to reverse engineer TCP design to fit the project work design – TCP usage primitives.


  • You have to think and specify which service requirements goes to game topic specific layer and which go to general game support layer.
  • Games are assumed to be player between humans, so forget any game AI.
  • Game event calculations (actions) are not relevant in this level design (they are implementation level detail issues), but you have to design when game event is happening and what happens after the event. Game event is for example checking ending conditions in chess.
  • Game logic are rules are handled by game server and player (client) may not be trusted.

Project work grading

For 30 points in course grading.

Project work topics

Assignment for topics is on groups page.

Topic A

Game is Reversi

Topic B

Game is Chess

  • wikipedia Chess (game)
  • Win condition is not calculated, but by communication voted by players.
  • Client can move unit to every place but game service have to check legal move.

Topic C

Game is Polar Battleship

  • Wikipedia description Battleship (game)
  • I)n addition to plain Battleship game game creates initial map where is random icebergs (where ships cannot be deployed) and communicates the map to game clients.
Last modified: 2013/07/01 14:42