Difference between revisions of "GAM666/Team A*"

From CDOT Wiki
Jump to: navigation, search
m (To-Do List)
(To-Do List: beef!)
Line 75: Line 75:
 
|World loading / rendering
 
|World loading / rendering
 
|
 
|
|Load the world into memory from file (format to be decided). And render on screen.
+
|
 +
# Load the world from file into an array in memory. (file format to be decided)
 +
# Draw the world based on the array.
 
|cfbale
 
|cfbale
 
|-
 
|-
 
|User input
 
|User input
 
|
 
|
|Ability to recognize all user actions based on the control list above.
+
|
 +
#Ability to recognize all user actions based on the control list above.
 
|mahsan3
 
|mahsan3
 
|-
 
|-
 
|Camera placement and movement
 
|Camera placement and movement
 
|
 
|
|Get the camera at a fixed angle looking down at the world. Ability to move it to all four locations.
+
|
 +
#Camera looks down on the world in the center, between a 30-60 degree angle.
 +
#Ability to rotate the camera in all four pole positions (N E S W)
 
|mahsan3
 
|mahsan3
 
|-
 
|-
 
|HUD
 
|HUD
 
|
 
|
|Create a HUD for displaying the players cash and the current selected node/tower. And what wave the player is on.
+
|
 +
#Shows current wave number
 +
#Shows current selected tile (or tower)
 +
#Shows amount of enemies remaining on wave
 +
#etc...
 
|jsantos13
 
|jsantos13
 
|-
 
|-
 
|Enemies
 
|Enemies
 
|
 
|
|Enemies that traverse the map using a node-based way pointing system.
+
|
 +
#Enemies traverse the map using a node based system.
 +
#Enemy Class stores information:
 +
##* Current Health/Max Health
 +
##* Speed
 +
##* Speed Modifier (for slow/freeze towers)
 +
##* Current Node
 +
##* Next Node
 
|
 
|
 
|-
 
|-
 
|Tower Building
 
|Tower Building
 
|
 
|
|Move though the grid, select a node, select a tower and place it on that node.
+
|
 +
# Move through nodes.
 +
# Select nodes (currently highlighted is selected?)
 +
# Purchase/Place tower on node.
 +
# Sell/Remove tower on node.
 
|cfbale
 
|cfbale
 
|-
 
|-
|Towers AI
+
|Towers and Tower AI
 +
|
 
|
 
|
|Towers shoot little pellets at the '''closest''' enemy from them AND damage them.
+
# Tower class which includes all information for the tower:
 +
#* Name
 +
#* Type
 +
#* Cost
 +
#* Sell Cost
 +
#* Upgrade Cost
 +
#* Upgrade Level
 +
#* Enemies Killed
 +
#* etc...
 +
# Towers shoot little pellets at the '''closest''' enemy from them AND damage them.  
 
|
 
|
 
|-
 
|-
 
|Lighting
 
|Lighting
 
|
 
|
|Towers will emit light. One giant light (the sun) across whole world.
+
|
 +
# Towers emit some light.
 +
# One giant light (the sun) across whole world.
 
|
 
|
 
|-
 
|-
 
|Win/Lose Condition
 
|Win/Lose Condition
 
|
 
|
|The player wins if he beats all the waves. The player loses if '''one''' enemy makes it to the other side. (subject to change)
+
|
 +
#Player has 100hp
 +
#Each enemy does 10hp
 +
#If all HP is lost, the player loses and lose screen is shown.
 +
#If all waves are completed, the player wins and the win screen is shown.
 
|mahsan3
 
|mahsan3
 
|-
 
|-
 
|Start Dialog
 
|Start Dialog
 
|
 
|
|Improve the starting UI's dialog box. Make it much more user friendly. (think Unity)
+
|
 +
# Make the start dialog similar to that of [http://paulbourke.net/exhibition/askap_walk/dialog.jpg Unity's]
 +
# Simple options and easy to read interface/font.
 
|jsantos13
 
|jsantos13
 
|-
 
|-
Line 139: Line 177:
 
|
 
|
 
|Add sound to projectiles firing and enemies dying. Sounds from [http://www.superflashbros.net/as3sfxr/ here]
 
|Add sound to projectiles firing and enemies dying. Sounds from [http://www.superflashbros.net/as3sfxr/ here]
 +
|-
 +
|Fancy Dialog
 +
|
 +
|Something like [http://cf.shacknews.com/images/20120716/7562103516_7022f79aff_o_22760.nphd.jpg this] possibly
 
|-
 
|-
 
|More Enemies
 
|More Enemies

Revision as of 23:03, 10 October 2012


GAM666/DPS901 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources


Pathfinder

Project Marking Percentage

Group work:      40% 
Individual work: 60% +
-------------------------
Total           100%

Team Members

  1. Clinton Bale, Lead Programmer
  2. Jesse Santos, Programmer
  3. Hardik Sharma, Programmer
  4. Muhammad Ahsan, Programmer

Email All

Repository

Repo ID

svn://zenit.senecac.on.ca/dps901_123arep2/

Trunk Status

Refer to #teamastar for current trunk status.

Proposal

Our game will be a Tower defense styled game. Where enemies spawn on one side of the map and you have to prevent them from getting to their destination as they wind though the paths. The camera will be in a fixed position over the field. Looking down at the world at around a 30-45 degree angle. The player will be able to rotate this camera 90' around the field but that is it. The player will start with an undetermined amount of money that will allow him to buy towers to defend off the incoming waves. The towers will be modeled in 3DS max and imported into the game. The game will have a max of 2-3 towers upon finish. There are multiple types of waves that the player will encounter: fast waves, slow but strong waves and boss waves; There could be more depending on the time we have.

Outline

  • Fixed 3D camera looking down at the world on an angle from the four compass directions. (player controlled)
  • Multiple waves of enemies
  • Grid based tower placement.
  • Node based waypoint enemy movement.

Concept Picture

  • Note: 3D Representation not present in picture.
Team as concept.jpg










Controls

Keyboard

Left Arrow = Move camera 90' to the left.

Right Arrow = Move camera 90' to the right.

WASD = Move the currently selected tile around the level.

Space = Select tower or block

Ctrl = Place tower

F = Cycle available towers.

Xbox Controller

D-Pad Left = Move camera 90' to the left.

D-Pad Right = Move camera 90' to the right.

Left Thumb-Stick = Move the currently selected tile around the level.

A = Select tower or block

X = Place tower

Y = Cycle available towers.

  • Note: All controls above are subject to change.

To-Do List

Priority 1

Task Status Notes Assigned To
World loading / rendering
  1. Load the world from file into an array in memory. (file format to be decided)
  2. Draw the world based on the array.
cfbale
User input
  1. Ability to recognize all user actions based on the control list above.
mahsan3
Camera placement and movement
  1. Camera looks down on the world in the center, between a 30-60 degree angle.
  2. Ability to rotate the camera in all four pole positions (N E S W)
mahsan3
HUD
  1. Shows current wave number
  2. Shows current selected tile (or tower)
  3. Shows amount of enemies remaining on wave
  4. etc...
jsantos13
Enemies
  1. Enemies traverse the map using a node based system.
  2. Enemy Class stores information:
      • Current Health/Max Health
      • Speed
      • Speed Modifier (for slow/freeze towers)
      • Current Node
      • Next Node
Tower Building
  1. Move through nodes.
  2. Select nodes (currently highlighted is selected?)
  3. Purchase/Place tower on node.
  4. Sell/Remove tower on node.
cfbale
Towers and Tower AI
  1. Tower class which includes all information for the tower:
    • Name
    • Type
    • Cost
    • Sell Cost
    • Upgrade Cost
    • Upgrade Level
    • Enemies Killed
    • etc...
  2. Towers shoot little pellets at the closest enemy from them AND damage them.
Lighting
  1. Towers emit some light.
  2. One giant light (the sun) across whole world.
Win/Lose Condition
  1. Player has 100hp
  2. Each enemy does 10hp
  3. If all HP is lost, the player loses and lose screen is shown.
  4. If all waves are completed, the player wins and the win screen is shown.
mahsan3
Start Dialog
  1. Make the start dialog similar to that of Unity's
  2. Simple options and easy to read interface/font.
jsantos13

Priority 2

Task Status Notes
Smoother Camera Smooth rotating camera around the origin of the level.
Sound Add sound to projectiles firing and enemies dying. Sounds from here
Fancy Dialog Something like this possibly
More Enemies More enemy types!
More Towers More tower types!
More Waves More waves!