Werewolf Project

From SwinBrain

This project involves the analysis, design, and implementation of an online application used to play the Werewolf party game. This game will be server based and will demonstrate the creation and styling of web applications.

This project is supervised by Andrew Cain and Clinton Woodward, and will be undertaken by Eyal Gross, Allan Jones, and Joost Funke Kupper.

This project is part of the PSD Summer Scholarship 2006.

Milestone 1: Spikes

Before starting to develop the application we need to close a few gaps. The following spikes will set us up to be able to proceed further with this project.

Output:

  • Spike reports and presentations

Milestone 2: Basic Site Design

The initial design outline for the game. This must include details of the following points.

  • Site map
    • Page outline and functionality
    • Navigation
  • Screen mockups (hand drawn)
    • Two and three column layout
    • Day and night cycle theme ideas
  • Details of the model
    • Structure chart(s)
    • State chart(s) as required, note if none needed
    • Indication of which pages use which operations
  • Database design
    • Table design
    • Setup and Tear down scripts for the DB
    • Identification of all update transactions
    • Development of all update/select transactions
  • Error and exception handling decisions
  • Input data error handling
  • Data structure selection
    • What and Why
  • API needed (packages/namespaces)
  • External libraries (if any)

Deliverables

  • A document capturing decisions related to above
  • Hand-drawn screen mock-ups (DO NOT USE SOFTWARE TOOLS)
  • An overview document explaining solution direction (and rationale as needed)
  • SQL Scripts (Setup, Tear down and Data integrity checking)
    • Data integrity checking at a minimum should look for null values, invariants
  • For every update transaction, write a table with 3 columns that captures the Name-Value pair that are passed in along with validation rules for each value

Milestone 3: Functionality

  • Implement basic page structure
  • Create CSS, theme to day night and 2&3 column layout
  • Create database
  • Implement game functionality
    • Start with account creation
    • Then Village creation and enrolment (set number of players)
    • Start on announce day and auto start when n players have announced
    • Create voting module, with discussion attached
    • Roll from Day to Night on > 50% vote for one player (start Night after announce)
    • Change players state on lynching/eating
    • Attach day/night theme
    • Only Wolves can see night, everyone else gets just a standard page (Ghosts can see but not interact)

Output:

  • Werewolf game page, including download, installation and operation instructions, screen shots, etc.
  • Working game site