Original location of the document: http://www.soberit.hut.fi/T-76.115/02-03/palautukset/groups/GameMasters/de/docs/requirements/requirements.html

T-76.115 User Requirements Document

Version Date Author Description
1.0 18.10.2002 Kari Kostiainen First draft
1.1 19.10.2002 Kari Kostiainen Continuing with the use cases
1.2 23.10.2002 Kari Kostiainen Finishing the use cases
1.3 24.10.2002 Janne Vuorenmaa and Pauli Kaila All the rest
1.4 26.10.2002 Pauli Kaila Few modifications inspired by customer
1.5 26.10.2002 Janne Vuorenmaa A few modifications
1.6 10.11.2002 Kari Kostiainen Updating use cases
1.7 27.11.2002 Kari Kostiainen Updating use case C01
1.8 2.12.2002 Kari Kostiainen Adding few use cases
1.9 22.1.2003 Kari Kostiainen Modified old C01 into two different use cases (C01 and C02)
1.10 5.2.2003 Kari Kostiainen Start game and Stop game are now administrator use cases (used to be game master use cases). Also updated some priorities.
1.11 12.4.2003 Pauli Kaila Updated use case P02

Contents

1. Introduction
2. System overview
3. Business goals
4. User Groups
5. Functional requirements
6. Properties
7. Constraints
8. Terminology and concepts
9. Acronyms and abbreviations

1. Introduction

1.1 Purpose of the document

The purpose of this document is to define what the system is to do from the user’s point of view. User requirements define system functions that users can see and system properties that customers are ready to pay for.

In short, a requirement is a statement of

Table 1: Possible readers of this document

Group of the readers

Reasons for reading

Users and customers

To give feedback about the user requirements

System developers

To understand what functions and properties the system must contain

Testers

To test the system against the requirements

Writers of user manuals

To get material for user manuals

Project team

To follow-up the status of the project against the requirements

1.2 References

List here all the documents that have been used as an information source and are necessary for understanding of this document. List also other specifications that have been used as a reference.

Table 2. A list of all other relevant documents

Name of the document

Short  description of the document contents

Tero Hanninen & Sami Makinen-Okubo: Text Based Multi-Player Adventure Game Requirements Document, 2001

The document describes the requirements of the Text Based Multi-Player Adventure Game.

Kauppinen,Aaltio/QureProject/SoberIT, User Requirements Document Template, v1.1, 8.10.2002

A template for User Requirements Document (this document)

Marjo Kauppinen, T-76.115 Software Definition and Use Cases lecture, 8.10.2002

Slides used on a lecture about Use Cases

Haikala & Märijärvi, Ohjelmistotuotanto, 7th edition, Satku 2000

A book about software production

2. System overview

Name of the system, which requirements are defined in this document, is MrX (Mobile roleplaying eXperience). MrX is a system for creating and running mobile roleplaying games. It contains the game-engine, game creating tools, tools for a gamemaster and a client for playing the game. There is a graph in section 5 explaining the different users and functions of MrX.

3. Business goals

Customer wants the system mainly for research purposes. The object of the research would be to find out how communities using mobile devices could be born, evolve, survive and maybe die. In this case, the community will be a mobile roleplaying community. The system could also be used for testing AI controlled characters in the game and their co-operation with human players. Even though system is aimed at research, the customer hasn't excluded the possibility of gaining profit with it. Another goal of the customer is to collect experience of developement of open source software. That is why customer eagerly wants that group uses existing opensource software where ever it is possible.

4. User groups

This section describes intended users of the system.

Table 3. Users of the system

User group Description Number of users
Game creators Game creator creates a game with the game creating tools. He has to use a scripting langu 1/game
Game masters Person monitoring a running game, controlling the NPCs and doing the runtime manipulations of the virtual world. 1/game
Administrators Person who is responsible of the technical side of the servers. few/system
Players Players connected to the game with mobile devices. 10+ /game
Researchers Persons who want to use the system for scientific purposes (e.g. AI research). n

The amount of players varies -- in each game, the maximum number of players will be specified, but the minimum reasonable amount of players per game might be 10 or more. The number of researchers will depend on the amount of interest in conducting the experiments with MrX. There cannot be more than one Game Creator creating one game at one time, because two creators might create different things to same place at the same time. The reason why game masters and game creators are restricted to one is that the system will not (at least the initial version) support multiple game master clients. Nor can a single game be edited and created by multiple game creators concurrently. Nothing, of course, prevents multiple people switching seats, so to speak, when creating or running the game.

5. Functional requirements

This section defines the services that the system provides to the users. The services were defined using use cases. The following image presents the use case diagram of the over all system.

The use cases are discussed in following sections. The priorities are 1 = must have, 2 = essential, 3 = nice to have.

Player use cases

Game master use cases

Game creator use cases

AI player use cases

Administrator use cases

6. Properties (quality requirements, non-functional requirements)

As the game engine itself will be used by industry experts and is propably going to be under constant development, the main characteristics of the system will be:

7. Constraints

The system should be made and run using free systems, platforms, server software, libraries and services (e.g. Java, MySQL, Linux, Apache, Tomcat, Jabber) because the project organization does not have the resources for using commercial software and the project results will be published under BSD license.

The system has to be able to run on a low-end Linux system and still be able to cope with a reasonable number of users. When the load increases, the hardware requirements should not increase dramatically.

At the moment the mobile terminals constitute harsh constraints on the clients, but in the future these constraints will be diminished and this must be taken into account in the design.

8. Terminology and concepts

The following terms and concepts are used in the project and it's implementation:

Term or concept

Description

Administrator

Person who is responsible of the technical side of the servers e.g. checking the system log and solving technical problems.

AI player

Artificial Intelligence player -- a computer program which runs a character according to certain specified rules.

Character

An ingame object controlled by a player, AI player, game master or the game engine. Subtypes: Non-player character, player character etc. (see below)

Client

An application which communicates with the game engine and is used by every user of the system. Subtypes: game master client, mobile client, AI client, game creator client

Game

Set of data describing the virtual world, it's denizens and everything else inside (e.g. monsters, objects, locations, treasure, etc.) including the player characters

Game Creator

Person who creates the virtual world, defines the logic behind it and defines the options available for players and game masters.

Game Engine

Game engine is the most important part of MrX architecture. It's the component which parses the definition of virtual world that has been submitted to it and serves all of the clients.

Game Master

Person monitoring a running game, controlling the NPCs and doing the runtime manipulations of the virtual world.

Ingame Things existing or happening in the game world (e.g. An ingame object). Used, for an example, when describing the state of a player. (Player is ingame = player is playing the game)

Non-Player Character

A character which controlled by the game engine, AI player or the game master instead of a human player.

Offgame Everything that does not exist in or affect the virtual world (and, likewise is unaffected by events and objects in the virtual world) either momentarily or permanently. E.g. a player is offgame if he is not currently playing and his client is switched off.

Player

A person connecting to the game via a mobile client.

Real World

Anything that can be perceived and manipulated without the use of the game client exist in the real world.

Virtual World

Anything existing only in the system. The world that can be experienced only with MrX!

The following picture shows the relationships of the main concepts:

9. Acronyms and abbreviations

AI

Artificial Intelligence

GM Game Master
MrX Mobile Roleplaying eXperience

NPC

Non-Player Character

PC

Player Character