CMG2
From Computing and Software Wiki
(→World Designers) |
(→Controllers) |
||
Line 172: | Line 172: | ||
===Controllers=== | ===Controllers=== | ||
- | :'''Path followers''' | + | :*'''Path followers'''<br/>1. 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. <br/>2. 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'''<br/>1. Evasion NPCs should simply try to avoid being captured by ALL active players.<br/>Evaders will attempt to run from the closest player using different strategies such as zig-zag, random turns and random direction changes.<br/>Evaders will run only slightly slower than the player, making it possible for the player to capture the unit. | |
- | :'''Evaders''' | + | |
- | + | ||
- | + | ||
- | + | ||
- | :'''Attackers''' | + | :*'''Attackers'''<br/>Attacking characters will actively seek out and attack players as well as a players friendly units.<br/>Initially, attackers will simply "roam" or "wander" in designated areas based on map design and placement.<br/>Should an attacker encounter an enemy, ite will then actively seek out that enemy in an attempt to destroy it.<br/>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''' | + | :*'''Random Runners'''<br/>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''' | + | :*'''Follower'''<br/>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.<br/>Larger units may walk slower than the player. |
- | + | ||
- | + | ||
===Tools=== | ===Tools=== |
Revision as of 23:42, 24 October 2009
(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. 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.
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 with new abilities 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 is being solved 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 and 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 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
- Use the environment and the "Shock wave rifle" to capture small non aggressive creatures.
- Select captured creatures to help solve environmental puzzles as well as attack aggressive creatures, or trap non aggressive ones.
- If attacking creatures kill a friendly creature it is removed from the game and must be replaced by capturing a new unit.
- Should the player be attacked and killed, he or she loses the level and must restart. (Levels may have multiple incremental steps).
- 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.
- Simple controls: The control has to be simple enough to be picked up quickly by any player.
- Clear objectives: At any moment of the game, the player must know what he has to do and how to do it.
- 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.
- 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.
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
- Random move 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
- Player Control
- The player must have the ability to move through the world by walking, running and jumping.
- World Interaction
- The user must have the ability to interact with the world.
- Multiple Unit Selection
- The user must have the ability to select multiple units at one time.
- Unit Management
- (Optional)The user must have the ability to quickly select subsets of units.
- H.U.D
- Used to display pertinent and important information to the user such as health, number of units remaining, etc.
- Console Commands
- Changing mouse sensitivity
- Changing controls
World Designers
- Generating Paths
World Designers need a mechanism for creating a path that will be followed by a creature - Placing Players
World Designers need a mechanism for placing a player in the world with the appropriate model - Placing Enemies
World Designers need a mechanism for placing creatures in the world with the appropriate model and behaviors. - Placing Elements
World Designers need a mechanism for placing objects in the world with the appropriate model and appropriate interaction behaviors.
(Eg. Can be picked up by creature x, can be moved by player.)
- Generating Paths
Programmers
Based on the current customer requirements as well as the game concept/play mechanics outlined in this requirements document, the developers will require the following set of design tools.
Controllers
- Path followers
1. 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.
2. 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.
- Path followers
- Evaders
1. 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.
- Evaders
- 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, ite 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.
- Attackers
- 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.
- Random Runners
- 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.
- Follower
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.
Artwork, Sounds & Animations
Artwork
The artwork of the game is very simple and unporportioned to give a cartoon like appearance. Environments will consist mainly of open concepts with moderate to high lightning. The feel of the game is aimed to target players of all ages and is intended to give a overall 'warm' feeling to the player.
(THIS SECTION NEEDS TO BE UPDATED LATER TO REFLECT ACTUAL CHARACTER CHARACTERISTICS)
- (TBD-Name) is the main protangnist of the game. He is of moderate height compared to the rest of the characters. He is very simple phsyically, with attributes similar of a (TBD - Add more as character is created)
- (TBD-Name) are catchable characters within the game. They vary is size, shape, and texture. They are smaller than the main character but various features to distinguish their properties.
- (TBD-Name) are enemy characters which vary from size to shape to physical appearance. They can be distinguished by their larger size and more agressive and darker look.
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. The characters skeleton and editable mesh will be weighted and exported into COLLADA fully reset and non-scaled. All animations such as running, walking, jumping, dying, attacking, shooting, etc will also be loaded into COLLADA and will be created in Lightwave as appropriate. From this, characters and corresponding animations will be loaded into the C4 Model Editor where it will be assigned to each other for usage in design.
List of Terms
- NPC - Non Player Controlled Character
- H.U.D - Heads up display
- Friendly Creature - Captured creature controlled by the player
- Unit - Interchangeable with Friendly Creature