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
