Foo Sharks

SRS: Sonic Boxmo

Version: 1.1

CS 4500, University of Utah, Spring 2008


1.0 Introduction

1.1 Purpose of this Document

The purpose of this document is to outline the functional requirements of the game Sonic Boxmo.

1.2 Scope of Project

Team Foo Sharks will create a puzzle game entitled Sonic Boxmo. It will consist of novel and innovative features including a multi-cursor multi-player user interface and fast-paced music based puzzles, which will immerse the players into a unique musical environment. Each player in the game is going to have their own cursor and speaker, and will play in a shared 3D hardware-accelerated environment.

1.3 Definitions, Acronyms, and Abbreviations

1.4 References

OpenGL Primer, 3rd Edition - Angel, Edward
Software Project Survival Guide - Steve McConnell

1.5 Overview of Document

This document provides an overview of the Sonic Boxmo project implementation plan. The information proveded is not overly technical or highly specific.


2. General Description

2.1 User Personas and Characteristics

Lt. Worf:

Cpt. Kirk:

Geordi LaForge:

2.2 Product Perspective

Sonic Boxmo is a stand-alone Windows application. It will interface with existing multichannel sound hardware, multiple USB mice and Nintendo Wii Remotes.

2.3 Overview of Functional Requirements

  1. Display game screen and user interface
  2. output sounds coresponding to interface and gameplay actions
  3. Handle gameplay mechanics, rules, etc.
  4. read files containing user-editable game levels

2.4 Overview of Data Requirements

There are no data requirements. Users can edit and create game levels, but it is not required.

2.5 General Constraints, Assumptions, Dependencies, Guidelines

Sonic Boxmo:

2.6 User View of Product Use

Scenario 1:

Without reading the help documentation, Lt. Worf picks up the controller with the intent to start a single player game of Sonic Boxmo. The game mode selection screen loads with a few options, but Worf has never seen Sonic Boxmo running before. Worf experiences no confusion because single player mode is the first to be hi-lighted. Worf selects the game mode using the game controller and begins to play Sonic Boxmo.

Scenario 2:

After delving into the help documentation, Capt. Kirk knows everything about Sonic Boxmo, except the experience of it. He is almost content not playing the game because of how amazingly thorough the documentation is.


Scenario 3:

Gerodie LaForge doesn't really need to play any more Sonic Boxmo.


3. Specific Requirements

3.1 External Interface Requirements

User Interface:

The user interface will consist of several elements: a menu, the game-play interface, and a sand-box interface.

The Menu will allow users to set options such as: Game Mode, Video Resolution, Sound Channels, Number of Players, etc. It will show as a list in the middle of the screen with heirarchical organization of sub-menus and possibly some fancy game-play graphics in the background.

The game-play interface will include a music bar which will indicate the position of the song and show the elements of the song, in time. Also, a shared 3D puzzle-field which will have colored glyphs for the various puzzle piece types. The puzzle will be manipulated via clicking and rotating the Wii Remote or using the mouse scroll weel.

The Sand-Box interface will allow users to create songs and will resemble the game-play interface with the exception of the puzzle field being removed and the music bar extended.

3.2 Detailed Description of Functional Requirements

3.2.1 Template for describing functional requirements
purpose a description of the functional requirement and its reason(s)
inputs which inputs; in what form/format will inputs arrive; from what sources input will be derived, legal domains of each input element
processing describes the outcome rather than the implementation; include any validity checks on the data, exact timing of each operation (if needed), how to handle unexpected or abnormal situations
outputs the form, shape, destination, and volume of the output; output timing; range of parameters in the output; unit measure of the output; process by which the output is stored or destroyed; process for handling error messages produced as output
3.2.1 Options Menu
purpose Provides easy access to game settings
inputs reads current/default settings from a file & handes mouse events to allow changes
processing changes values according to the options specified (game mode, resolution, etc.)
outputs Shows current settings on the screen and saves a file containing the desired settings.
3.2.2 Gameplay Mode
purpose Allow 1-4 players to play the game
inputs Player-generated HID actions (mouse movements & clicks, Wii Remove motion & buttons)
processing Game rules and events will be managed. Inputs will be checked and illegal actions discarded.
outputs The puzzle will be drawn to the screen with current scores and other user information. Will also determine a winner and halt the game accorsingly.
3.2.3 Sand-Box Mode (level Editor)
purpose Allow 1-4 players to create and edit songs and puzzles
inputs Player-generated HID actions (mouse movements & clicks, Wii Remove motion & buttons)
processing calculate note-placement, timing, etc.
outputs Save a puzzle file for use in gameplay mode

3.3 Performance Requirements

This product imposes no limitations with the exception of the number of simultaneous players. The graphics and sound capabilities are dependant on the hardware/driver components of the host system.

3.4 Quality Attributes

The game should be fully playable on a computer meeting the specified minimum system requirements.

3.5 Other requirements

None at this time


4.0 Change Log

1.0 (2/5/2006) Initial release
1.1 (2/10/2008) fixed numbers in section 1