Player Controls:

Movement: WASD & Arrow Keys

Player Look Direction: Mouse Pointer

Tower Controls:

Click on a tower pad (outlined by yellow hazard markings) to bring up the tower buy menu for that specific pad.

Click on a placed tower to bring up the tower sell or upgrade menu.

Game User Interfaces:

Game Main Menu

Game Play Screenshot

Tower Buy Menu

Tower Sell or Upgrade Menu

Game Over Screen

Additional Features Attempted:

User Interface (UI) Functionality

  • End of game screen with feedback on how well the player performed.
  • A restart game screen / button.

Advanced Programming Functionality

  • Path-finding (of e.g. enemies, or NPCs).
  • Attract mode (i.e. the game should play itself like  an arcade game to attract player's attention).
  • Multiple levels / screens / a scrolling screen.

Asset List:

Enemy

  • Scripts
    • EnemyHealth.cs
      • Manages the enemy health system and death system (money awarding, enemies killed counter and enemy alive counter
    • EnemyMove.cs
      • Handles enemy movement via the waypoint pathing system and end goal system (live subtraction, enemy alive counter, etc)
  • Sprites

    • enemy.png
      • The enemy graphics sprite
    • TemporaryEnemy.png
      • An early placeholder enemy sprite
  • HardEnemy.prefab
  • MediumEnemy.prefab
  • SimpleEnemy.prefab

Fonts

  • ethnocentric rg it.iff
    • Italicised version of the main game font
  • ethnocentric rg.ttf
    • Main game font

Misc Scripts

  • ExitButton.cs
    • Old UI close system, replace by on click events coupled with gameobject active flags
  • GameManager.cs
    • Responsible for detecting the game over state, detecting if a tower menu is open and activating end game object destruction.
  • GameStats.cs
    • Responsible for centrally storing user money, lives, the current wave number and the enemies killed.
  • SceneSwitcher.cs
    • Facilitates scene switches via button on click events
  • TowerBuyMenu.cs
    • A pass through system that stores which towerPoint is currently being modified by the player. The name does not reflect its current use as it is used for the sell or upgrade menu too. 
  • UpdateEnemiesKilledUI.cs
    • Updates the value for enemies killed in the gameover UI overlay
  • UpdateEnemyAliveUI.cs
    • Updates the value for enemies alive in the game UI overlay
  • UpdateLivesUI.cs
    • Updates the value for the current lives in the game UI overlay
  • UpdateMoneyUI.cs
    • Updates the value for player money in the game UI overlay
  • UpdateSellTowerUI.cs
    • Updates the value for sell amount of a tower in the tower sell or upgrade menu UI overlay
  • UpdateTowerBuyUI.cs
    • Updates the value for buy cost of a tower in the tower buy menu UI overlay
  • UpdateUpgradeTowerUI.cs
    • Updates the value for the upgrade cost of a tower in the tower sell or upgrade menu UI overlay
  • UpdateWavesUI.cs
    • Updates the value for the current wave number in the gameover UI overlay and the game play UI overlay 
  • WaveManager.cs
  • Responsible for the whole enemy wave spawn system, determining how many enemies to spawn, what types, etc
  • Waypoints.cs
    • A collection of waypoints for the waypoint path system enemies use to move.

Player

  • Scripts
    • BulletLogic.cs
      • Handles all bullet logic for the game, including towers and player
    • PlayerMovement.cs
      • Handles the eight-way movement system for the player
    • RotateToMouse.cs
      • Rotates the player to face the direction of the mouse
    • Shooting.cs
      • Handles the player shooting system
  • Sprites
    • Bullet.png
      • The bullet graphics sprite
    • player_sprite.png
      • the player graphics sprite
  • Bullet.prefab

    • Prefab for the player bullet

Scenes

  • GCDMainMenu.unity
    • The main menu scene for the game
  • GCDPlay.unity
    • The actual game play scene for the game

Sound

  • main menu loop.wav
    • The main menu music loop
  • Sad Violin - Sound Effect (HD).mp3
    • The gameover music loop
  • Steamtech-Mayhem_Looping.mp3
    • The main game play music loop

Tiles

  • bedrock_underlay
    • Used for the raised area ground
  • Crate
    • Used for misc decoration
  • dirt_tile/dirt_underlay

    • Used for the negotiable terrain areas
  • All hazard tile variants
    • Used for outlining the tower placement points
  • metal_tile/metal_underaly
    • Used for foundation on the tower placement points
  • Tileset
    • The tileset for the game level

Towers

  • Scripts
    • BuyTower.cs
      • Handles the buying tower process for each tower buy button
    • PlaceTower.cs
      • Handles the click event logic for the tower placement points and stores the GO for the placed tower
    • SellTower.cs
      • Handles the sell tower logic behind the sell tower button
    • TowerAI.cs
      • Handles everything to do with the tower AI for enemy interactions
    • TowerData.cs
      • Holds information about the buy, sell and upgrade cost for each tower, etc.
    • UpgradeTower.cs
      • Handles the click event logic for the tower upgrades and the logic behind actually upgrading a tower
  • Sprites
    • Holds ALL of the tower sprite assets
  • Bullet.prefab
    • The bullet prefab for the railgun
  • IonCannon.prefab
    • The Ion Cannon tower prefab
  • IonCannonBolt.prefab
    • The Ion Cannon projectile bolt
  • PlasmaBolt.prefab
    • Plasma bolt for the plasma auto turret
  • Railgun.prefab
    • The railgun tower prefab
  • RepeatingPlasmaGun.prefab
    • The plasma auto turret prefab

Barrier.png 

  • The barrier for the player end zones

MusicManager.cs

  • Handles the music management for the gameplay scene

References:

Tower Graphics Assets
https://zintoki.itch.io/ground-shaker
Player Graphics Assets
https://opengameart.org/content/animated-top-down-survivor-player
Tile Graphics Assets
https://opengameart.org/content/scifi-tds-kit
Enemy Graphics Assets
https://tyst.itch.io/top-down-robotic-enemies
Game Play Music Loop - STEAMTECH MAYHEM
https://soundimage.org/sci-fi/
Main Menu Music Loop - Sci-Fi Main Menu Screen Theme (Game Sound Effect)

Game Over Music Loop - Sad Violin - Sound Effect (HD)

Main Game Font - Ethnocentric https://www.dafont.com/ethnocentric.font

Download

Download
GCD Build 1.0.zip 3 MB
Download
GCD Build 2.0.zip 3 MB

Development log

Leave a comment

Log in with itch.io to leave a comment.