Skip to content

phantichchai/MassTower

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MassTower

Tower Defense 2D Game

This is my first unity project which practice skills to build a simple tower defense game from coding in c# and unity engine.

Table of Contents

Technology

Game Engine Unity Version 2020.3.15f2

IDE Microsoft Visual Studio 2019

Main Menu

UI Component

  • Play button
  • Music button
  • Effect button

Game Menu

UI Component

  • Status bar (use singleton design that makes this class can be access by entire system)
  • Difference tower button
  • Speed button
  • Start button

Game menu with debug grid show tile layouts for placing tower from tower button at UI.

Tower

In Tower class, there are several attributes such as damage, range, target etc.

There are 3 extended classes using inheritance of tower class that is archer, stone, and ice tower.

Bullet

There are 3 extended classes using inheritance of bullet class that is arrow, stone magic, and ice magic.

In ice magic, there are special effect slow enemy which this effect will be apply on enemy class.

Each extended bullet class are different behavior for move transition.

Enemy

Enemy class

  • There is one attribute that is debuff class which design by polymorphism concept for take different debuff.
  • Control by EnemyAI class, this class will call methods from enemy class such as add debuff or move position, etc. There is a game system class calculate the path (use Astar algorithm for path finding) for enemy AI which path will be store in EnemyAi class

Grid

Grid system using generic type for different type of grid. For example, Tile grid be used to placing tower, path grid for navigation etc.

Thank you

https://www.youtube.com/c/CodeMonkeyUnity

About

Tower Defense 2D Game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages