Skip to content

dorianbayart/TowerDefenseGame

Repository files navigation

Tower Defense Game - Three.js Experimentations

Description: Building a Tower Defense Game while experimenting the Three.js library.

Note: Each chapter is based on the code of the previous chapter.

tower-defense-favicon.svg


01. Hello World - Cube

Draw and rotate a simple cube.
Live here.


02. Wave of Spheres

Animate a grid of spheres.
Live here.


03. Lights

Lihts and reflection on objects.
Live here.


04. Camera

Camera moves around the scene.
Live here.


05. Maze

A maze generator.
Live here.


06. Mouse Events

Detects mouse events to do action on the maze.
Live here.


07. Mobs

Mobs are coming !
Live here.


08. Towers

Build towers on the map.
Display text with Pixi.js library (directly on the canvas)
Add a bit of 'gameplay': money + score + remaining lives
Live here.


09. Missiles

Missiles are flying through the map !
Live here.


10. Particules (Ammo.js)

Add particules effect on missile explosion.
Add physics (Ammo.js)
Add shadows
Live here.


11. Rotate the map with mouse (OrbitControls)

Huge update to use modules
Zoom in/out
Rotate the map
Add a builder mob + list of tasks to do (build towers)
It takes some time to build a tower
Live here.


12. Energy

Add the energy concept:

  • the builder produces energy
  • building a tower consumes energy
  • towers in 'attack mode' are consuming energy
    Live here.

13. Upgrade towers

Choose the tower you want to build Add different tower types (+ missiles):

  • normal
  • rocket
  • laser
  • speed bump
  • machine gun
  • poison ?

A tower can be upgraded (improve GUI)
Introduce tower experience

Add energy buildings (producer, capacitor/storage)
Live here.


14. Add predefined levels (TODO)

Create predefined levels (Beginner / Intermediate):

  • map
  • initial money
  • mob generation

Select the level you want to play (display a preview)


Ideas (TODO)

  • PWA
  • Improve paths with smooth angles
  • Rotate the towers
  • Rotate the mobs
  • Try to reduce polygons (group adjacent walls into one larger rectangular wall)
  • Overview of the map in a corner
  • Collision detection missiles / walls (higher difficulty mode)