Design document

From HeatherWiki

Jump to: navigation, search

This document was generated on January 17, 2010. Contents of sections will be up-to-date. If the index was altered since this page was generated, the structure of the document may be outdated and sections may be missing.

Contents

1 Game overview

Introduce the game. Section populated by content from one sheets and treatments.

1.1 Game name

Shelf Life

1.2 Authors

Heather Arbiter, Michael Ey, Kelley Piering, Joseph Pietruch

1.3 Basic concept

Döscher Fridgwick is a gnome who lives in the refrigerator of a famous TV cooking personality. When the door to the fridge is closed, Döscher works to rearrange the contents of the fridge to prevent any food from remaining in the fridge long enough to go bad. Food that goes bad will come to life and chase Doscher around the fridge. Score points by saving food (getting it removed) and lose points for letting spoiled food remain in the fridge after it has gone bad.

1.4 Objective

The ultimate goal is to get as much food out of the fridge when its opened before the food is spoiled. Points are therefore awarded for food successfully removed and the player is penalized for food that has spoiled and isn't in a position to be removed (see fridge open)

2 Game play

Everything you need to know about gameplay. Critical path, mechanics, physics, systems, units of measurement, game rules, scoring, win/lose states, etc.

2.1 Fridge graph

The fridge graph is a grid collection of fridge cells the size of a fridge. All food and enemies has to reside in fridge cells. The fridge shelves and walls also fit into the fridge graph. Food must fit into cells and can only placed within them. The graph is used for food location, some collision detection, enemy navigation, and various elements of game logic (food lay in the front 3 rows from the door to be removed, enemies must be within 5 units).

2.2 Camera

The camera is attached to the rear of the fridge and it always points at Doscher. The player can control the camera by using the camera controls. This will move the camera along the rear plane of the fridge. The camera always looks at Doscher. When food is between Doscher and the camera, it will become semi-transparent so the player can still see their character.

2.3 Units

Units that are used through the document and how they relate to real-world units if possible.

2.3.1 Refrigerator units

Refrigerator units or rfu are the units that describe the size of items in the fridge. A square rfu is the size of an average apple. A single rfu is 4 3du (length, width, and depth).

2.3.2 Fridge cell

A fridge cell is a location in the fridge graph. Each cell is the size of a rfu3.

2.3.3 Hit points

Hit points, or hp, are units of health.

2.3.4 Seconds

Seconds, s, are real-world seconds. They do not correspond to anything on the clock.

2.3.5 World units

Units in world coordinates of the game. One world unit is 4 rfu. These correspond to the size of the default grid in Maya.

2.4 Food properties

All foods have these standard properties

2.4.1 Size

Size is the height, width and depth of the food as measured in rfus.

2.4.2 Life

Specific foods have a set lifetime. When they are placed in the fridge they are given that lifetime to start and as the game is played, that lifetime is decremented until it reaches 0. The lifetime is given a slight randomization so all food isn't exactly the same. Different foods have different starting lifetimes. The lifetime of food when it is added is also shortened based on how many times the fridge is opened. (see Fridge open for details). As food decays, it will be tinted progressively more green until it reaches 20% of its original life. Then it will begin flashing green to alert the player of its impending spoilage.

2.5 Mechanics

What can the player do and how does the game respond to the player. Rules, systems, abilities.

2.5.1 Fridge open

The fridge is opened every 70 seconds. When the door is opened, the game is paused until the player resumes it. The Fridge open screen is shown tallying up the score. During this time, the fridge is cleaned.
  • Food that has more than 50% decayed and is within 3 rfu from the front of the fridge is removed.
  • Players are awarded 100 points for each food removed.
  • Enemies that are within 5 rfu of the front are removed.
  • Players are penalized 100 points for each enemy that wasn't removed.
  • New food (random kinds) is added to the fridge in random locations.
  • The amount of food added is 7 + the amount of food removed.
  • The food added has its lifetime shorted by 1.7 times the number of times the door has been opened.

Players are not scored at any other time. Nor can enemies or food be removed until this time. Players know the door opening is approached with the clock.

2.5.2 Health

Doscher has 100 hit points of health. This is indicated by the health bar
Damage
He takes 25 damage whenever he collides with an enemy. After taking damage, the corners of the screen will flash red to alert the player, and the character will cry out.
Invulnerability
After taking damage, the character is invulnerable for 1 second. During that second, the player's health will not regenerate.
Regeneration
Health is only regained by regeneration. Health will regenerate until full whenever the player is not invulnerable (having just taken damage) or has just used stun. Health regenerates at a rate of 2 hp/s.
Death
When the player's health reaches 0, they will die.

2.5.3 Death

The player dies when Doscher runs out of health. Death leads to a game over and the player will be brought to the Game over screen.

2.5.4 Stun

Stunning is an ability possessed by Doscher. He can stun enemies, briefly disabling them. This is one of Doscher's few defenses against enemies since he cannot kill them himself. The stun is emitted radially from Doscher in a sphere around him at a radius of approximately 1 rfu. Any enemies that are in that range are frozen in place for 2.5 seconds. While they are stunned they cannot move or hurt Doscher. Stunning is done by pressing the stun button. It has a cool-down (time before it can be used again) of 2 seconds.

When the player uses the stun ability, it will stop the regen of his health for 1 second.

2.5.5 Unspoil

To unspoil food, the player will bring Doscher close to it and press the unspoil button. Food will throb blue while this occurs. Only food that is directly above, below, north, south, east, and west of the character will be affected. While food is being unspoiled, 15 seconds of lifetime is restored per second that food is being affected by this ability. This only lasts while the player remains near the food and is holding the button.

2.5.6 Movement

Any that moves in the game: how does it do it. Controls, movement models, speeds, directions, etc.
2.5.6.1 Jump
The Doscher can jump onto a height of a little over 2 rfu. Doscher can move while in the air. His jump carries him in an arc which gives him some extra distance from his jump.

The player causes Doscher to jump by pressing the jump button. Jumping is necessary to climb up steps created by stacking food to reach other levels. While in the air, Doscher can push, pick up, and unspoil food. He can also carry food while jumping.

2.5.6.2 Player movement
The player moves Doscher with the movement controls. Doscher can move in all directions on the plane he is standing on. His movement model is a kind of waddle since he is made of ceramic and his feet are attached to a base. He can move at a speed of 18 3du/s. He will turn in the direction he is moving.

Forward on the movement controls moves the character towards the front of the fridge (away from the camera). Back is towards the back of the fridge (towards the camera). Left goes to the left, and right to the right.

The player can also rotate the character in place clockwise and counter clockwise.

2.5.6.3 Food movement
Food is moved by the player. It cannot be moved if it has another food or an enemy on top of it. Food does not decay while it is moving or being moved.
2.5.6.3.1 Pick up
The player can pick up a food that is in front of him at a distance of less than or equal to 1 rfu. This is indicated by a particle effect in front of the gnome. Food that is being hit with this effect can be picked up. The gnome can jump up and move his locator and therefore where he can place or pickup food.

When food is picked up, it shrinks down and floats over Doscher's head. While carrying food, Doscher cannot pickup, other food, unspoil food, or push food. He can still jump, move, and stun.

Once food is held, the gnome will be able to place it back down in a space in the same range as his pick up range. The location of where the food will be placed is highlighted with an orange box the same size and shape of the food to be placed. If that indicator is not present, there is no room to put the food there. Doscher can rotate food that he is holding to change its orientation. the orientation of put down indicator will also change. Doscher can also rotate in place to help him put food down exactly where he wants it.

2.5.6.3.2 Push
Food is pushed by one rfu away from Doscher by facing it in the direction you want it to go and pressing the push button. Food is pushed at roughly the same speed that Doscher moves so the player can keep up. Repeatedly pressing the button will push it forward over and over.
2.5.6.4 Enemy movement
Enemies move to chase the player around the fridge. Enemies move at a speed of 2 3du/s. They move in an A* with a depth of 7 rfu (in all directions) in an attempt get as close as they can to the player. Enemies cannot jump nor can they climb down if they are on top of anything. This allows the player to trap them behind walls of food or even trap them on top of food by placing food that is about to spoil on top of another food so the enemy will be trapped there when it spawns. When enemies spawn the food they are spawning from will shrink and they will grow in its place. Enemies can only be disabled by stun. They cannot be killed, only removed (see Fridge open). To get enemies off of food they are trapped on, the player will have to place another food next to the one they are trapped on for the enemy to go onto.

3.1 Enemies

Enemies are hostile NPCs. For Shelf Life, enemies are what food turns into when it spoils. Enemies that are not spoiled are just food. Food becomes an enemy when its life reaches 0. Enemies are moldsters that chase your around (see enemy movement). They can only be removed from the fridge when the door opens. Otherwise, the player can only affect them by stunning them.

3.2 Foods

These are foods in the game.

3.2.1 Milk

Milk

 

Width (rfu) 1

 

Height (rfu) 3
Depth (rfu) 1
Lifetime (s) 130

Concept art source:


3.2.2 Eggs

Eggs

 

Width (rfu) 2

 

Height (rfu) 1
Depth (rfu) 6
Lifetime (s) 180

Concept art source:


3.2.3 Tupperware

3.2.3.1 Mashed potatoes
Mashed Potatoes

 

Width (rfu) 2

 

Height (rfu) 1
Depth (rfu) 1
Lifetime (s) 90

Concept art source:


3.2.3.2 Spaghetti
Spaghetti

 

Width (rfu) 2

 

Height (rfu) 2
Depth (rfu) 2
Lifetime (s) 125

Concept art source:


3.2.3.3 Shredded cheese
Shredded Cheese

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 1
Lifetime (s) 220

Concept art source:


3.2.3.4 Grape jello
Grape Jellow

 

Width (rfu) 2

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 450

Concept art source:


3.2.3.5 Peas
Peas

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 150

Concept art source:


3.2.3.6 Macaroni
Macaroni

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 110

Concept art source:


3.2.4 Apple

Apple

Image:Apple concept.jpg

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 1
Lifetime (s) 235

Concept art source: {{{concept-source}}}


3.2.5 Jars 2

TEST!
3.2.5.1 Mayonnaise
Mayonnaise

 

Width (rfu) 2

 

Height (rfu) 3
Depth (rfu) 2
Lifetime (s) 410

Concept art source:


3.2.5.2 Blueberry Jam
Blueberry Jam

 

Width (rfu) 1

 

Height (rfu) 2
Depth (rfu) 1
Lifetime (s) 305

Concept art source:


3.2.5.3 Cherry Jam
Cherry Jam

 

Width (rfu) 1

 

Height (rfu) 2
Depth (rfu) 1
Lifetime (s) 305

Concept art source:


3.2.5.4 Pickles
Pickles

 

Width (rfu) 2

 

Height (rfu) 2
Depth (rfu) 2
Lifetime (s) 400

Concept art source:


3.2.6 Cheese

Cheese

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 3
Lifetime (s) 165

Concept art source:


3.2.7 Coffee tin

Coffee Tin

 

Width (rfu) 2

 

Height (rfu) 3
Depth (rfu) 2
Lifetime (s) 315

Concept art source:


3.2.8 Baking soda

Baking Soda

 

Width (rfu) 1

 

Height (rfu) 2
Depth (rfu) 2
Lifetime (s) 100000

Concept art source:


3.2.9 Sticks of butter

Sticks of Butter

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 295

Concept art source:


3.2.10 Tub of margarine

Margarine Tub

 

Width (rfu) 2

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 320

Concept art source:


3.2.11 Cake

Half Cake

 

Width (rfu) 2

 

Height (rfu) 1
Depth (rfu) 2
Lifetime (s) 140

Concept art source:


3.2.12 Chinese food container small

Chinese Food container small

 

Width (rfu) 1

 

Height (rfu) 1
Depth (rfu) 1
Lifetime (s) 50

Concept art source:


3.2.13 Chinese food container large

Chinese Food container large

 

Width (rfu) 2

 

Height (rfu) 2
Depth (rfu) 2
Lifetime (s) 75

Concept art source:


4 Interface

How does the player interact with the game? GUI, HUD, controls.

4.1 HUD

The HUD is an overlay on the game screen

4.1.1 Clock

Indicates how much time is left until the fridge is opened. Appears in the upper left of the HUD as a gauge that fills until the door is opened. The guage fills from left to right and goes up in ticks approximately every 3 seconds.

4.1.2 Health bar

The health bar indicates the players health. It is a horizontal bar in the lower right hand corner of the HUD. When the player takes damage, this gauge drops. The gauge lowers from left to right. The gauge flashes red when the player's health is below twenty percent.

4.2 Controls

Controls are how the player interfaces with the platform. Throughout the document, controls should be abstracted from the platform. Only in this section should things like jump button have an explained mapping to a specific input device.

4.2.1 Movement controls

Control Mapping
Gamepad mapping Left analog stick
PC mapping WASD


Rotate in place

Control Mapping
Gamepad mapping left trigger (counter clockwise), right trigger (clockwise)
PC mapping Z (counter clockwise), X (clockwise)

4.2.2 Camera movement

Controls will slide the camera along the back of the fridge. The camera is always pointed towards the gnome.
Control Mapping
Gamepad mapping right analog stick
PC mapping 4, 8, 6, 2 on number pad.

4.2.3 Jump button

Jump button is used to make Doscher jump. Holding this button will allow Doscher to jump higher.
Control Mapping
Gamepad mapping A
PC mapping Space

4.2.4 Stun button

Activates stun.
Control Mapping
Gamepad mapping Right Bumper
PC mapping C

4.2.5 Pickup button

Press the button once to pick up food. Press it again to put it down (if a valid cell is high-lighted).
Control Mapping
Gamepad mapping X
PC mapping E

4.2.6 Rotate button

Allows the player to rotate food being held. (See pick up)
Control Mapping
Gamepad mapping Left bumper
PC mapping Q

4.2.7 Unspoil button

Unspoiling occurs when Doscher is facing a food and holding the button.
Control Mapping
Gamepad mapping B
PC mapping F

4.2.8 Menu navigation controls

To select different options
Control Mapping
Gamepad mapping Up and down on D-pad
PC mapping Up and down arrow


To select the high-lighted option

Control Mapping
Gamepad mapping A
PC mapping Enter


To cancel/go back

Control Mapping
Gamepad mapping B
PC mapping Esc, B (only if it says B on the screen)


To continue/go forward

Control Mapping
Gamepad mapping A
PC mapping Esc, A (only if it says A on the screen)

4.3 Screens

There are screens in the game.

Image:Screen flow diagram.jpg

4.3.1 Main menu screen

4.3.2 Game screen

The game screen is where the game play occurs. It has the HUD as an overlay.

4.3.3 Fridge open screen

This screen is displayed when the fridge is opened. It displays the following:
  • Previous score
  • Number of food saved
  • Enemies not removed
  • Final score.

See fridge open for details on scoring. The player leaves this screen to return to the game screen by pressing A (on keyboard or gamepad. They can also press B).

4.3.4 Loading screen

Goes to Game screen

4.3.5 Help screen

Instructions on how to play and gamepad controls. Use left and right on the D-pad to turn the page.

4.3.6 Options screen

Depending on whether you arrived here from the pause screen or from the main menu screen, you will return to that screen.
  • Fullscreen
  • Game pad/mouse toggle

4.3.7 Splash screen

There may be multiple splash screens but they all function the same and it goes from one to the next until the last one. That goes to Main menu screen.

4.3.8 Pause screen

Comes up if the game is paused from the game screen.

4.3.9 Credits screen

Credits always goes to the Main menu screen. It is seen either directly from the main menu screen or after the game over screen

4.3.10 Game over screen

The game over screen is reached when the player dies. From there the player will continue to the Credits screen.
Personal tools