CMG2

From Computing and Software Wiki

Revision as of 21:45, 24 October 2009 by Poitrj2 (Talk)
Jump to: navigation, search

(TBD) is a computer game developed by Group 2 of the Software Engineering & Game Design 2009/2010 4GP6 Capstone Project. It is a first-person strategy computer game developed under the C4 Engine.

All sections of this document are subject to change as the full scope of the product requirements and restrictions become available.

Contents

Overview

The Facts

Theme TBD
Graphical Style Cartoon / Cell Shaded?
Category Action/Strategy/Puzzle
Platform PC (C4 Engine)
Target Audience Kids/Teens – Boys & Girls
Suited For Everyone
Similar Product Pikmin / Crash Bandicoot


The Game

Overview

(EDIT GAME NAME) is a 3D action/strategy/puzzle game where players must capture multiple enemies with the intent of building a small army. As the player captures enemies they join the player where he/she can control each unit to further attack and capture larger and more menacing enemies. These friendly units are also used to solve puzzle that help move the player through each level. Levels will have an ultimate goal such as defeating a "Boss" enemy or capturing all units within it to give the user a goal to work towards. Each levels contains new enemies to be captured with new abilities/strategies to be used allowing for the users experience to evolve with each level.

Story

The story will be kept to a strict minimum so we can focus fully on game play. However the purpose of this story is TBD. ^^^FILL IN BACK STORY HERE. The story should give the user a sense of belonging and responsibility in the game world. Story triggers and advancement should be used to introduce new enemies and characters as well as give the user a sense of linearity in the overall story. The user should see how the overall world dilemma or goal is being achieved. Please keep this in mind when putting ideas on paper.^^^^^

Key Features List

Build your army

Like any hero, a humble beginning helps to encourage any underdog to overcome the odds. Capturing small creatures in the environment will help you build up a formidable force to conquer the land and further your goals.

Interactive creatures/units to create your thrilling army

Creatures for you to overcome are what this game is about; they will all be rendered in the game’s 3D world to ensure that the world is beautiful and immersive as possible, as well as providing a rich combination of creature interactions.

Play simple & quick, let your creatures help you along the way

Game play shines when a player has to capture another creature. The player can interact with the world directly in only one manner. A "shock wave rifle" will allow the player to impart a force on enemies and objects in an attempt to move them around to his/her advantage while fighting, solving puzzles, or trying to capture creatures. Once a creature is captures, it can be selected ordered to move, follow the player, attack other creatures and even move object.

Not all heroes are born of blood and tears

The overall feel of the game however should not be dark or sinister. Creature deaths as well as the overall look of the environment, the creatures, and the larger enemies will be cartoonish. The intent is to focus on game play and bring a light hearted feeling to conquering each level.


Functionality and game play

Goal of the game

The goal of the game is to conquer each land by assembling an army of creatures to do your bidding.

Basic game play

The main game play elements will be collecting creatures to help grow your army as well as solving environmental puzzle to help move through each subsection of a level.

As creatures are defeated they will join your army enabling you to defeat and collect larger and more able creatures. The player is limited in how they interact with the world and rely mainly onthe creatures to do the work.

Point of view

Set in a 3D environment, the camera will follow behind the player in a standard 3rd person view. The player will have full freedom of rotation but will be limited in how the control the pitch of the camera. This will enable the player to easily control how the select creatures within their army as well as aiming of their "shock wave rifle".

Interactive creatures/units to create your thrilling army

This game is about the creatures and building armies with them. Our plan for this game is to include as many different types of creatures as possible to make the game play feel diverse and amusing. The table below list possible creatures with their description. If the creation of creatures and their animations ends up ends up being more difficult than expected,time will be spent to analyse if we are able to reduce the number of creatures but make each creature more interactive.
x x
x x
x x
x x
x x
x x
xt x

Play simple & quick, let your creatures help you along the way

The core game play is all about the player’s ability to carefully build an army and decide where and when to try and capture the next level of creature. Depending on the player's current army as well as the strategy they chose to engage the enemy, players can master each level in a combination of ways.

Once a player begins a level

  1. Use the environment and the "Shock wave rifle" to capture small non aggressive creatures.
  2. Select captured creatures to help solve environmental puzzles as well as attack aggressive creatures, or trap non aggressive ones.
  3. If attacking creatures kill a friendly creature it is removed from the game and must be replaced by capturing a new unit.
  4. Should the player be attacked and killed, he or she loses the level and must restart. (Levels may have multiple incremental steps).
  5. Accomplishing the overall goal brings the player to a new level where he or she can discover new creatures and new puzzles to be solved.

Priority in user experience

There are four aspects of the user experience that we intend to work on intently to make our game as immersive and enjoyable as possible.

  1. Simple controls: The control has to be simple enough to be picked up quickly by any player.
  2. Clear objectives: At any moment of the game, the player must know what he has to do and how to do it.
  3. Good feedback: For every action you need to have a reaction. Every time an action is performed the game will let the player know (either through graphics or sounds) that the action was performed and what impact it had.
  4. Low input and high output: The game has to be simple to play but rewards the player properly in order to keep the player feeling good about their experience and want to continue.


OLD STUFF (REMOVE THIS IF IT IS NOT NEEDED)

The general purpose of this multiplayer game it to build an army of characters by means of catching them through a number of ways while avoiding enemy characters. The main character, (TBD), runs through various maps, building his army of little minions in order to destroy any enemy characters that prevent him from advancing to the next stage.

“Catchable” characters are easily distinguished by enemy characters. (TBD) Both types of characters have different types of behaviours; characters which move randomly with no intelligence, fast characters that move faster then the player can move but move predictively (to some different patterns), “intelligent” objects that evade the players, and “intelligent” enemies objects that are chasing the players and try to catch/eat them.

All objects and players are physical. The main character is equipped with a ‘gravity’ weapon that is able to repel/attract (TBD) other characters within a certain radius. The main character has all the attributes of a real human-being, including but not limited too, jumping, running, crouching (TBD), etc.

Once a character has been caught, it will begin to follow the main character as miniature helpers in order to defeat enemy characters. Points are awards for capturing/defeating characters using a predefined scoring system (TBD). The main player receives three lives for each level (TBD) and if killed by an enemy if it does an appropriate amount of damage (TBD).

Customer Requirements (CuRS)

(THIS SECTION NEEDS TO BE CHANGED LATER INTO FORMAL REQUIREMENTS "STYLE")

The game will be implemented using the C4 Gaming engine. The C4 engine provides the tools, such as graphics rendering, scene graphs, networking.

The following is a list of the features the minimal system should contain:

  • Interface such that a non-expert programmer can customize the game. This includes the development of script elements (the non-expert uses scripts to develop a particular game play). Script elements include: spawn scripts (select object type and parameters to spawn an object), message scripts (display a message on the screen)
  • Moving Objects, must have one of the following properties/controller assigned:
    • Random move controller,
    • Path following controller
    • Intelligent evasive controller
    • Intelligent chasing controller

All objects, including the player will respect each other (collision detection) and the environment.

  • Sound effects are played if you catch an object, if you are caught, and a danger warning sound is played if an object or character is approaching you and there is danger that you could be caught.
  • Worlds, Artwork, must have at least two sample worlds such as a city and a forest environment. The types of objects should be identifiable by there shape. Other players should be animated, and look different then the default C4 Soldier character.
  • User Interface, must implement a splash screen, a menu system (choose network mode, character name, etc.), a current score report, and pop-ups if other players join/leave the game.
  • Networking, the game has to be multi player and you have to implement a Server Mode (host a game) and a Client Mode (join a game and participate in play).
  • Documentation, must use a documentation tool (e.g. Doxygen or DocBook) for your code, a code repository (so many people can work on the same code), and an on-line electronic tool to write your documentation in your group (e.g. a Wiki).

Functional Requirements (FuRS)

(describe the game play, all the characters) Your idea about the Game

System Requirements (SyRS)

SubSystem Requirements (SuRS)

X SuRS

Y SuRS

Z SuRS

Usage Aspects

Players

they need an interface, and other things to make it fun, convenient and interesting).

World Designers

they need scripts, ways to change models without programming, ....).

Programmers


Based on the current customer requirements as well as the game concept/play mechanics outlined in this requirements document, the developers will required the following set of design tools.

Controllers

Path followers
Given a set of location markers in the world/level an NPC should follow the path marked out by these markers in a repeating loop.
A path follower will travel faster than the player such that the player will be required to first analyze the path being followed before he/she can effectively capture the unit.
Evaders
Evasion NPCs should simply try to avoid being captured by ALL active players.
Evaders will attempt to run from the closest player using different strategies such as zig-zag, random turns and random direction changes.
Evaders will run only slightly slower than the player, making it possible for the player to capture the unit.
Attackers
Attacking characters will actively seek out and attack players as well as a players friendly units.
Initially, attackers will simply "roam" or "wander" in designated areas based on map design and placement.
Should an attacker encounter an enemy, he or she will then actively seek out that enemy in an attempt to destroy it. If the enemy is too quick and can distance itself adequately from the attacker, the attacker ::will simply return to its original roaming zone and wait for the next attacker to approach.
Random Runners
Place in the world based on map design these NPC simply run around in random directions waiting to be captured. Random runners will run slightly slower than the player making it possible for the player to ::capture the unit.
Follower
Once a unit has been captured, the unit will follow the player as a "friendly unit". The unit should always follow the player within a given radius. Unit speed will be based on the units' size and properties.
Larger units may walk slower than the player.

Tools

Enemy Manager
The enemy manager will enable programmers to maintain a working list of the current active enemies or non "friendly units" in the world.
Friendly Unit Manager
The friendly unit manager will enable programmers to maintain a working list of the active friendly units tied to a specific player.
Controller Manager(Local)
The controller manager will enable programmers to attach and manage multiple controllers designated to a single unit.
Selection Manager
The selection manager will enable the programmer to maintain a working list of the current friendly units that are selected to perform an action.
Path Determination
Given two points, mainly the units current location and a destination, the unit should dynamically find the most efficient path to its destination taking into account the terrain as well as any potential obstacles.
Multiple Unit Selection
Based on a geometry drawn by the user onto the playing field, a list of friendly units that appear within that bounding geometry should be built.
Console Commands
(for world design / testing?? I think this should go in user section)

Artwork, Sounds & Animations

Artwork

What do you need in terms of these things?

Sounds

Due to limited resources and experience in creating sound effects and soundtracks, this game will feature existing samples from video games that already exist on the market. Since this game is non-commercial, VGMusic.com[1] and other various sources may be used to generate any sound effects and soundtracks used throughout the game.

Sounds might also be created through applications such as Apple's Garageband and mixed in with existing soundtracks.

Animations

Characters are created in Newtek's Lightwave 3D and imported into C4 Editior using the COLLADA plugin. S

Personal tools