Project Spec

From Group 4
Jump to: navigation, search

Project Description

- What kind of game are you planning to build?

A collaborative third person mini-adventure and boss battle game, where four players in a spaceship work together to escape a dungeon and, upon exiting, they must battle a monstrous hydra tentacle beast. The arena will be in the hold of the ship, which is a closed environment where players can bounce of the walls. To give the game an interesting twist, the ship's gravity generator was broken by the monster, so it turns on and off randomly, as well as switching where the center of gravity is. Each player will have different abilities and tools (see below for character description), which must be used in synchrony to fight the monster. The beast will have two stages (the tentacles, and the heads) at each stage, two things change: the fighting scheme of the boss, and the abilities of the players. As such, players need to re-adjust their fighting strategy to defeat the monster.


Characters:

1. A bouncing cyborg guy, he has special shoes that give him an overpowered jump of any surface (wall) and a piercing weapon in place of an arm.

2. A girl with a laser gun and a harpoon gun that lets her latch on to special hooks in the arena and swing from them.

3. A scientist girl with a saber and a cyborg eye that lets her see weak spots of the monster, when she focuses on a weak spot, she can show it to the other players.

4. A gravity mechanic guy, he has special shoes that let him stick to any surface, and he can deactivate panels on the walls to change where the center of gravity is temporarily, he also has a hammer.


The dungeon should test every character's power (so it's used as a tutorial), so it needs:

  • Mechanic Gravity panel that needs to be activated to change gravity's center of mass (so maybe mechanic starts on the ceiling)
  • Tentacles that are obstructing the way, and can be defeated by hitting the weak spot
  • A trigger (button) that is reachable by jumping there with the cyborg
  • A trigger that should be shot with the laser gun


Controls:

  • A: Action button. Normally jump, where everyone can wall jump
  • Right Trigger: Attack button, per character:
    • Cyborg: Sword Arm
    • Shooter: Laser Gun
    • Scientist: Saber
    • Mechanic: Hammer
  • B: Special power (or switch to special power, and then use right trigger), per character:
    • Cyborg: Super Jump
    • Shooter: Harpoon Gun
    • Scientist: Focus on weak spot
    • Mechanic: Reprogram panel (Initially just press B, maybe later it'll be to follow a pattern)
      • Could also be stick to the panel, and then trigger behaves differently for the mechanic
  • Left joystick: Move
  • Right joystick: Move camera, otherwise, camera follows behind player (3rd. person view)


- What are the goals of the game, how do players win, how do they lose?

The goal of the game is to defeat the beast through collaboration. Players win by teaming up, and using their different capabilities to kill the giant boss. Players lose once the monsters have killed everyone. If there is at least one player alive, they have the capability of reviving other players, but in order to defeat the beast, all four players must fight together.


- What are the interesting or unique aspects to your game?

Collaborative fighting with different characters and capabilities provides for a multitude of fighting strategies and encourages teamwork between players, as opposed to fostering competition. Also, the fact that the gravity generator is broken will provide for a very interesting game play mechanic.


- What are the list of features of your game?

Minimal Viable Product

  • Controls (Xbox controller).
  • 3rd person camera following character.
  • Cube representation of players that can bounce and crash into monster.
  • Cube representation of tentacles that can slam against player.
  • Four players can join a session, and must collaborate to defeat the monster.
  • HUD displaying health bar, health goes down when hit by monster.
  • When health bar depleted, player dies (or freezes/disappears).
  • If everyone dies, all players restart at the boss battle.


Must Have

  • Epic giant tentacle/hydra boss model
  • Bouncing Cyborg Character guy model
  • Spaceship Arena environment
  • Collision Detection
  • Sound effects for the boss.
  • Background music for the battle.
  • Sword arm for the cyborg
  • Two phases for the boss: tentacles and heads
  • You start in the game, some mechanism (like a gate) will let everyone start (ex. open) when they hit A.
  • HUD: health, controller description (for buttons that have more than one action)


Would be really nice

  • Intro scene for the boss.
  • At least 2 powers for each boss phase (ex. smash and shoot / byte and fire breath)
  • More Characters:
    • A cyborg eye girl character with a saber that can see the monster's weak-points
    • A shooter girl character with a harpoon gun
    • A gravity mechanic guy character that can deactivate gravity panels and change the center of gravity with a hammer
  • Collaborative dungeon before boss where every character can test out their power
    • Bouncing to a button
    • Switching gravity
    • Killing tentacles with weak-points
    • Shooting a lock
  • Sound effects for the characters.


Cool but only if ahead of schedule

  • Healing/Revival capability for everyone, in some form (healing packets that fall, or healing spot you drag dead players to)
  • Learning AI for the boss
  • Character Stages, where characters' powers evolve
  • Exploding ending boss scene.
  • Pause dynamics (that character freezes, or a screen pops up for everyone)
  • Taunts!!
  • Choosing your character.
  • Area in dungeon that looks like boss area but nothing's there (or maybe the bear is there!). Then you go outside and it feels like you're done, but then there's a boss!

Group Management

- What are the major roles in your group’s management?

Graphics:

   Justina
   Bryan

Networks:

   Bryan
   Franklin

Game Engine:

   Nathan
   Haro
   Suman

Game Logic

   Suman
   Haro

Music:

   Michael

Modelling

   Justina
   Michael

- How will decisions be made? By leader, consensus?

Decisions will be made by consensus.

- How will you communicate? Email, meetings in the lab, discussion board?

Email and weekly 1 hour status update meetings Mondays at 2 pm. We also have a doodle with everyone’s schedule, so we can set up times to work together in the lab.

- How will you know when you're off schedule, and how will you deal with schedule slips?

We will have a schedule with milestones which we will revise during our weekly meetings, if we don't meet a deadline, then we will know that we are off schedule. If this happens, we will take the following actions:

  • Discuss cutting features
  • Dynamic role allocation (move people to areas that need more work, since every team member is willing to work on different aspects of the game)


To avoid going off-schedule, we will have clear communication of events, projects, homeworks, trips, or other circumstances with the team, at least a week in advance.

- Who will produce the weekly group status reports?

We will all produce the status report during our weekly meeting.


Project Development

- What are the development roles and who will handle them?

This was already discussed above.

- What tools will you use?

Graphics and Audio: DirectX 9

Modelling: 3D Studio Max

Development: Visual Studio

Version control: Git (for code) and Dropbox (textures and models)

Language: C++

- How will you do testing?

Each developer is responsible for generating unit tests for their features.

Black box testing of all features by every member in the team.

We will implement a testing mode where only one person can play and test out the controls and feel of the game, but not beat the monster (since collaboration is required for that, perhaps we can also add a way to turn off collaboration for the monster and dungeon so the game is beatable by one player).

- How will you do documentation (both internal group documentation as well as external player documentation)?

Function headers: what the function does, what the parameters mean, example use, pre-conditions

Meaningful variable names.

Author functions and changes.

Camel case for function, variables, and classes.

We might add a tutorial to the intro, but the player can figure out the controls through exploration, particularly because the HUD will show common control actions.


Project Schedule

Click here!