371 Spring 2006 Project: Requirements Analysis                                                                                   Scott Blauert

 

SYSTEM OVERVIEW

 

The application is a three-dimensional, animated, multiplayer game, loosely based on DOOM.  The game will be played from a first-person viewpoint, and will likely be multiplayer only, although less social players will have the option of fighting inanimate objects.  After one player creates a server, multiple players will be able to logon to a server and do battle, with one or more weapons, at their leisure.  Players’ avatars will be fully 3D and will include several animations..  The game environment will be an enclosed area consisting of a floor, a ceiling and walls.  An intricate point system which includes assigning a point to a player who “frags” another player will be implemented, and a running tally during the game will be visible to any player at the touch of a key.  Other features may be implemented as time allows.

 

SCHEDULE

 

March 3rd-Implement server mode with simple 3D environment with full functionality for one player.

April 6th-Implement support for connecting clients.  Interaction between players need not yet be possible.  Build art for 3D environments.

May 4th-Finish 3D models for players.  Implement interaction between players.  Begin testing, debugging, and finalizing of game.

 

USE CASES

Use case: Create server

 

Actors: Host

 

Goals: To create a server for the user and other players to connect to.

 

Summary: Creating a server should be a simple task for the user involving only a few steps.

 

Steps:

 

Actor actions                                       System responses

1.  Start game client.                             2.  Prompt user to either create or join server.

3.  Select “create server”.                     4.  Prompt user for desired map.

4.  Select map.                                     5.  Prompt user for desired game username.

6.  Enter username                                6.  Initialize map for player.

 

 

Use case: Join server

 

Actors: Clients

 

Goals: To join a game already in progress.

 

Summary: Join a game by simply entering the computer name hosting the game.

 

Steps:

 

Actor actions                                       System responses

1.  Start game client.                             2.   Prompt user to either create or join server.

3.  Select “join server”.                         4.   Prompt user for computer name.

4.  Enter computer name.                      5.   Prompt user for desired game username.

6.  Enter username.                               6a. Warn user if connection failed and return to 2.

                                                            6b. Join specified game.

 

 

Use case: Movement

 

Actors: Players

 

Goals: To move forward, backward, or turn sideways in the 3D world by a series of keystrokes.

 

Summary: Navigation in the world will be simple and will realistically disallow physical impossibilities such as walking through walls and other players.

 

Steps:

 

Actor actions                                       System responses

1.   Join or create server.

1a. Press a movement key.                   2. Update screen and player location on server.

 

 

Use case: Attack

 

Actors: Players

 

Goals: To kill another player in order to earn a point.

 

Summary: Using the mouse, a player will be able to aim their weapon and fire.  If a player is in the line of fire, damage should be dealt according to the weapon used.

 

Steps:

 

Actor actions                                       System responses

1.   Join or create server.

1a. Move mouse.                                  2.  Center screen on mouse movement.

3.   Fire weapon.                                  4.  Reduce ammunition count.

4a. Deal damage to other player if hit.

4b. Kill player if health is zero.

4c. Respawn player in other location.

 

USE CASE DIAGRAM

 

 

CLASS DIAGRAM