Disease Tower Defense

Alex Gravenor, David Heyer, Evan Zang, John Potz
CSC 476 - Spring 2020 - Zoe Wood

Project Description

A strange new virus appeared in Wuhan, China. Amazon packages seem to be carrying the virus. Can you stop the spread before it's too late?

Use toilet paper to buy towers that can protect healthy houses before everyone is infected with the virus. To win you must balance buying towers with paying to destroy virus spawn points. Players start of with a certain amount of toilet paper and can earn more by killing viruses

Controls

Use WASD to move the camera around the level

Right click then drag mouse to rotate camera

Click on a house or tower to select it

Click on the buttons in the UI to select a new tower to place. Hover over target location with mouse, then use left click to place the tower

Screen Shots and Videos



Screenshot of Main menu

Screenshot of level 1

Screenshot of level 4

Screenshot of level 4

Credits

References Used

Technologies Implemented

General Requirements

  • At least one single level complete game - Alex, David, Evan, John
  • Fun and enjoyable to interact with - Alex, David, Evan, John
  • Some kind of audio - Alex and Evan
  • Good software development design - Alex, David, Evan, John

Required Technologies

  • 3D camera - Alex
  • Nice complex environment - Alex, Evan, John, David
  • Animated character and non player elements
    • rotating towers and viruses - Alex and David
    • particles spawned from important events - Everyone
    • rotating projectile from pill tower - David
    • squish on collision for viruses - Alex
    • camera transition animations - Alex, Evan
  • Collision detection and response - Alex, David, Evan, John
  • Shadows - Alex and David
  • Hierarchical view frustum culling - Evan

Specialized Rendering Techniques

  • Instance Rendering - Alex, David
  • Normal Mapping - Evan, Alex, David
  • Stencil Testing - David
  • Virus effects in vertex shader - Alex

Free Choice Techniques

  • Level creation - John
  • Menu / UI - Alex, John, David, Evan
  • Tutorial - Alex
  • Particle System - Alex and Evan

Libraries Used

  • glad
  • imgui - GUI
  • irrKlang - Sound
  • lodepng - PNG loader
  • rapidjson - JSON reader
  • stb_image
  • tiny_obj_loader

Download link and instructions to run