Table Of Contents
Intro
Our game is a fully 3D Tower Defense utilising the complete space between two stars as the environment. At the beginning of the game, the player is allowed to place nodes as waypoints for their attacking ships to rally to. Once the player has placed their nodes, the game begins. During the build phase of the game (a brief intermission between each wave), the player has time to place towers in order to defend their sun from the enemy and its ships, who does the same. Once enough ships have gotten to one of the two suns and the player has no more lives remaining, their sun explodes (spectacularly).
Technologies
- Deferred Rendering
- Scene Graph
- Depth Based Fog
- Camera Spline
- Sun Effects
- Sun Animation via 3D Perlin Noise (Simplex Noise)
- Sun Explosion
- Z Sorting of Alpha Materials
- 3D Uniform Spacial Subdivision
- Collision Detection
- Ray cast Intersections for User Interactions
- Bloom
- User Modifiable Pathing
- Particle Effects
- Detailed GUI
- AI
Gameplay Video
Sun Explosion
Depth Based Fog
Screenshots
Libraries:
- FreeType
- Imgui (development)
- SFML (audio)
- GLM (math)
- json-parser https://github.com/nlohmann/json
References:
- Bloom: https://learnopengl.com/#!Advanced-Lighting/Bloom
- Particle Code from Professor Zoë Wood
- Text: https://learnopengl.com/#!In-Practice/Text-Rendering
- Deferred: http://ogldev.atspace.co.uk/www/tutorial35/tutorial35.html
- Simplex Noise Function: github.com/ahima/webgl-noise
- Fog: http://in2gpu.com/2014/07/22/create-fog-shader/