Dangerous Hunting-Requirements

From Computing and Software Wiki

Jump to: navigation, search

Contents

Requirements for Dangerous Hunting

Jaganvir Sandhu, Greg Libera, Sam Chow


Project Overview

The goal of the project is to develop a multi-player game where some enemies attempt to catch and kill the player while the player tries to kill the enemies. In the game players are running though a 3D environment and trying to kill several types of enemies which move differently. There are to be enemies which move intelligently and chase the player at varying speeds, enemies which are also intelligent but avoid the player, enemies which are “dumb” and just move randomly in the environment, and enemies which follow a predictable path. All these enemies and players will be physical so they will have full collision detection within the game. Being caught by the animals will result in a point penalty or death. A key part of the project is that it is not only the game that is being developed but rather a framework so that a non-programmer will be able to develop new worlds and scenarios within the theme of the game. This will be done by adding in scripts for the creator to use and also allowing models to be replaceable.

Given Requirements

The following requirements were given as required for this project.

Software Environment
These are the requirements provided in terms of the software to be used.
  • GR01 - The C4 engine by Terathon must be used as the base of the game.
  • GR02 - SVN shall be used for source control of all code and documentation.
  • GR03 - All software must run on the following Operating Systems:
    • Windows Vista [Vista 08]/XP [XP 08].
    • Mac OS X [OS X 10.5].
Hardware Environment
The hardware environment requirements describe the hardware platforms that must be supported.
  • GR04 - This software shall be developed for personal computers with standard hardware consisting of a monitor, keyboard, and standard 2-button mouse.
  • GR05 - The minimum base machine that this software must run on will be provided by the minimum requirements for the C4 Engine:
    • The minimum graphics card expected (which will cause some features to not work) by the C4 Engine: For Nvidia hardware Geforce 5200 or higher, for ATI hardware Radeon 9600 or higher, and for some Intel hardware GMA X3000 and later.
    • The typical graphics card expected by the C4 Engine: For Nvidia hardware Geforce 6600 or higher, and for ATI hardware Radeon X1300 or higher.
User Interface
The user interface requirements simply describe the intended attributes of the game’s user interface and in section 4.3 more details are outlined.
  • GR06 - The interface to design the worlds will be the C4 Engine world editor.
    • All scripts and models can be added to the custom world through this world editor.
    • Non-programmers shall be able to create custom worlds using this interface.
  • GR07 - The interface shall be simple and intuitive with minimal clutter.
    • The interface must facilitate ease of to use by not including too much information such that game play would be hindered.
    • Only the most necessary information will be displayed with more important information being more attention drawing.

Game Play

The game is done in the style of a FPS. The camera is placed inside the avatar so the viewing perspective is of the avatar. The player sees what the avatar would see. Movement and orientation is controlled by some combination of the keyboard and mouse. The player is also able to interact with its environment. The player will be able to hit enemies and other players with their weapons. They will be able to cause certain enemies to behave differently based on proximity. The player will be able to activate triggers that cause different events in game, such as picking up a new weapon. The players and enemies will respect collision with the environment and each other.

Specifically the game while have a hunting theme with the objective being to hunt enemies. The enemies will move in different ways according to the individual type they are and should be differentiable from the environment, though this is not necessarily immediately obvious. Animals are the desired type of enemy, however this is pending being able to create appropriate animations for them.

Enemies will follow one of the four different movement types. A player should be able to differentiate which enemy is following which movement type. Enemies following the intelligent evasion movement type will try to run from the player and not allow itself to be shot. Enemies following the intelligent chasing movement type will try to catch the player and deal damage to it. If enough damage is accrued the player will die and points will be deducted. Intelligent chasing enemies can also be killed and should be worth the most points. Both of these movement types will only start to evade or chase the player is the player is within a certain range of them, or a certain location (a den for example), or otherwise detects the player. The following is a diagram showing the movement types: Different Movements of Enemies

Each type of enemy will have a certain amount of health which is drained when it is successfully shot by a player. When the health of an enemy reaches 0 it is killed and the player is awarded a certain amount of points based on the enemy. Dead enemies are removed from the game. When a player dies and only one player is playing the game ends, if multiple players are playing that player will be allowed to reenter the game with a significant point reduction.

The multiplayer for the game will be very similar to the single players. Multiple players will be placed into the same world and will all hunt the same enemies and will compete for points. Enemies moving intelligently will try to avoid all players if possible, but can be herded if players work together. A penalty is given if a player kills or wounds another player.

The player should have access to different weapons that have different functionality and advantages/disadvantages. For example: a shotgun will have high damage at close range, but low damage at long range. A rifle will have medium damage at close range and long range.

The player will be given access do different tools to assist him/her. For example: Players should be able to obtain an air horn which will startle nearby enemies causing them to immediately begin moving despite possibly being out of their normal detection range (The bonus requirement for a “force gun”). Players should also be able to obtain special items that allow them move further within the creature's normal detection range without being detected.

Game
  • GP01 - The game shall be created in the style of a first person shooter.
  • GP02 - The game shall be able to accommodate multiple players in the same instance of the game.
Player
  • GP03 - The game shall be created in the style of a first person shooter.
  • GP04 - The player shall control the avatar using some combination of a keyboard and a mouse.
  • GP05 - The player shall be able to interact with the environment by respecting collision with world objects.
  • GP06 - The player shall be able to interact with other players and enemies through collision as well as having the ability to damage them with their weapons.
  • GP07 - The player shall be able to activate triggers which cause different events to occur in the game.
  • GP08 - The players shall have a certain amount of health. When a player is shot by another player, or successfully attacked by an intelligent chasing enemy it will lose health.
  • GP09 - The player shall be awarded points for successfully killing an enemy.
  • GP10 - When the health of a player reaches 0, they shall die.
  • GP11 - When a player dies the game will end if only one player is playing.
  • GP12 - If multiple players are playing the player shall be able to reenter the game with a significant point reduction.
  • GP13 - A player should be able to differentiate between enemies according to their movement type.
  • GP14 - If a player attacks another player points will be deducted from the attacker.
Enemy
  • GP15 - A player should be able to differentiate between enemies according to their movement type.
  • GP16 - The enemies shall be able to move according to one of four different movement types.
  • GP17 - The enemies shall be differentiable from their environment. Though this does not necessarily have to be immediately obvious.
  • GP18 - The enemies shall have a certain amount of health. When it is shot by a player it will lose health.
  • GP19 - When the health of an enemy reaches 0, they shall die.
  • GP20 - Dead enemies shall be removed from the game.
  • GP21 - Enemies following intelligent evasion shall attempt to run from the player, and not allow themselves to be shot.
  • GP22 - Enemies following intelligent chasing shall attempt to catch the player in order to damage it.
  • GP23 - Enemies following intelligent evasion or intelligent chasing should activate based on a player’s proximity.
  • GP24 - Enemies following intelligent evasion or intelligent chasing shall move while attempting to account for all players currently in the game.

Usage Aspects

Players
  • UA01 - Players shall control the characters through mouse and keyboard.
  • UA02 - Players shall have control of one character at a time.
  • UA03 - Players will have a interface that makes it fun and easy to play the game while providing all necessary information.
World Designers
  • UA04 - The C4 world editor shall be used by world designers to create custom worlds.
  • UA05 - Scripts/controllers will be available to the world designers within the world editor.
Programmers
  • UA06 - Doxygen will be used to create documentation for programmers.
  • UA07 - A wiki with all the documents relevant to the project will be maintained.
  • UA08 - Changes in the required project details will be discussed with the group once announced and revised in this document.


Artwork, Sounds and Animation

Artwork
  • AS01 - The player can pick one character from the list of characters, each of which will have different models.
  • AS02 - The enemy characters are all animals, these models will be obtained from model repositories.
  • AS03 - Three different robust worlds will be created, each providing a different environment with unique obstacles.
  • AS04 - Several different weapons models will be available.
  • AS05 - The worlds will all be oriented towards typical hunting area themes.
Sounds
  • AS06 - The game will have a sound for the following situations:
  • Start Game - When the game starts, reminds every player
  • End Game - When a user clicks end game
  • Shooting - Every player will have a sound appropriate for the gun they are using when shooting
  • Weapons - Sound effects for different guns
  • Attacked - When the player is attacked by an animal, remind the player
  • Death - Player’s death or enemies’ death
  • Items - When the player picks up an item from the ground
  • Kill an enemy - If the player kills an enemy, add score and pop up the sound
  • Score - If the player has certain amount of kills, pop up the sound
  • Jump - When the player hits jump button
  • Running - When the player walks or runs in the game
  • Background - Wind, leaves movement for the tree, water sound for river
  • Weather - Normal weather, thunderstorm, snow
  • Enemy approaching - When there is an enemy chasing the player, pop up the sound
  • Message - Every time when the player enters a message
  • Win/Lose - Pop up win or lose sound
Animation
  • AS07 - Each player model will have animations for walking, running, shooting, dieing.
  • AS08 - Each animal model will have animations for walking, running, dieing.
  • AS09 - Weapons will have animations for shooting.
  • AS10 - There will be several animations within the world for moving objects such as water, trees etc.

Definitions

  • Avatar - The avatar refers to the player's character in the game environment.
  • Enemy - An enemy is a computer controlled opponent that the player must avoid or defeat in order to be successful.
  • Environment - Refers to the game world.
  • First Person Shooter - A first person shooter (FPS) is a genre of video game in which the camera is positioned inside of the avatar's head. The player sees what the avatar would see. The objective of these games is to use weapons that are provided by the game to shoot, or otherwise kill opponents.
  • Intelligent evasion - An enemy that is intelligently evading the player will utilize some sort of AI to prevent the player from catching it.
  • Intelligent chasing - An enemy that is intelligently chasing the player will utilize some sort of AI to catch the player.
  • Movement type - Refers to the four different ways in which enemies move in the game; random movement, predefined path, intelligent evasion, intelligent chasing.
  • Path - A path is a set of locations in the world editor that an object will move along.
  • Predefined path - The world designer will create a path in the world editor for which an enemy is attached. The attached enemy will move along this path in a loop.
  • Random Movement - An enemy under the random movement type will move about the world randomly.
  • Trigger - A trigger is a region in the game that when something passes through an event to signify this occurs.
  • World Editor - The world editor is the tool World Designers use to create a world.
Personal tools