Software Requirements Specification

Version 1.0
February 02, 2008

Online Tower Defense

Epicurity

Casey | Mark | Matt | Tyler


1.0 Introduction

1.1 Purpose of this Document

The purpose of this document is to describe the functional and performance requirements for our Online Tower Defense flash game.

1.2 Scope of the Development Project

Team Epicurity will develop an online Flash based Tower Defense game.  Tower Defense is a genre of video games popularized by Starcraft and Warcraft 3, but has recently taken off as an online flash game. So far, however, the flash versions pale in comparison to the originals. We are determined to reduce this gap, and make one of the best tower defense games on the internet.  When users first enter our web-page the flash application will launch, presenting game-play options such as difficulty and game modes.

1.3 Definitions, Acronyms, and Abbreviations

AS – Action Script

TD – Tower Defense

1.4 References

Desktop TD - http://www.handdrawngames.com/DesktopTD/game.asp

Vector TD - http://www.candystand.com/play.do?id=18047

Blizzard Entertainment - http://www.blizzard.com/

 

1.5 Overview of Document

The first part of the document is a general description of our users, and what they can expect for our Online Tower Defense game. The second section of this document is an overview of the technical requirements for our project.


2.0 General Description

2.1 User Personas and Characteristics

Hardcore Gamer - This is a person who plays Online Tower Defense on a regular basis. They have developed the complex strategies necessary to proceed farther into the game.

Casual Gamer – This is a person who plays Online Tower Defense occasionally, mostly because it is a fun way to kill some free time.  

2.2 Product Perspective

This product consists of a web-based, Flash, tower defense game. Users can access the game from the internet using any web browser.

2.3 Overview of Functional Requirements

  1. Select Game Play Settings - Allows user to select difficulty, game mode, etc.
  2. Play Game - Allows users to play our Online Tower Defense game.
  3. Enter Name - Allow users to enter a name to be associated with their score.

2.4 Overview of Data Requirements

The input for a TD game consists of mouse clicks and keyboard shortcut keys used by the players to choose and place towers, upgrade towers, and/or sell towers for resources.  The output will be a Flash based application displayed in the user’s web browser.  Since it is entirely played in a web browser, there will be no data stored on the user’s system.

2.5 General Constraints, Assumptions, Dependencies, Guidelines

The product must be web based.

This product requires Flash.

2.6 User View of Product Use

As discussed earlier, when a player first enters our website, the Flash application will launch a short intro, and then prompt the player with some simple game-play choices, such as Difficulty Level and game modes.  After choosing game modes, the player is presented with a game board in the center of screen, with beginning tower options on the side bars.  A player can then place and/or sell towers with some starting resources, and when complete with the initial building process, will press Start.  After the Start button is pressed, each wave of targets will appear after a set amount of time.  After a set amount of levels or when a user runs out of lives, the game ends, a final score is calculated, and players are asked to give a name for their score, which is then stored on a scoreboard.


3.0 Specific Requirements

3.1 External Interface Requirements

User Interface: When a user first accesses our website they will see a progress bar showing the status of the ActionScript download. Once complete, we will play a short introduction video. Afterwards, a simple menu will appear that allow users to select their game play options and start the game. The in-game interface will consist of a top bar that displays the current level, time till next level, a button to go to the next level, user’s life total, resource total, and point total. A sidebar will display all the towers that a user can currently build. Hovering over a tower in the sidebar will display information about that tower. Selecting a tower that has already purchased will display information about that tower as well as provide options including upgrading and selling the tower.

3.2 Detailed Description of Functional Requirements

3.2.1 Enter Game Play Settings

purpose

Allows the user to set certain game play options to their liking so that the game will be more enjoyable.

inputs

The inputs could includes difficulty, game mode, etc.

processing

The processing will be determining which options the user has selected and altering parameters in the game accordingly.

outputs

The output will be the beginning of the game.

3.2.2 Play Game

purpose

Allows the user to play our Online Tower Defense game.

inputs

The inputs will be mouse clicks and keyboard strokes.

processing

The processing will be determining how those mouse clicks and keyboard strokes affect the game state.

outputs

The output is to display a visual representation of the game state.

 
 
3.2.3 Enter Name

purpose

Allow users to enter a name to be associated with their score so they know how they compare to other players on the internet.

inputs

The input is the user’s name.

processing

The processing is to determine the rank of the user’s score.

outputs

The output is the scoreboard of the top scores as well as there own.

3.3 Performance Requirements

One issue that needs to be determined is the number of users that can simultaneously access the host website to download our ActionScript. Another issue is the response time, or speed, of our game. We need to make sure that we can do our in game computations efficiently enough so that the game can run smoothly and be enjoyable.

3.4 Quality Attributes

We need our web site to have enough bandwidth so that our host site can be available at all times. We will achieve maintainability by including headers in our ActionScript files to prevent them from being cached by the web browser. This forces users to get the latest version of our software every time they visit our host site.   

3.5 Other requirements

None at this time.


Change Log for Software Requirements Specification:

Date

Version

Description

February 02, 2008

1.0

Software Requirements Specification Document Created.