Overview
Syllabus
– Course Introduction and Project Overview
– Setting Up the Project and Art Assets
– Creating Game Objects and Using Transform
– Working with Prefabs for Reusable Assets
– Introduction to C# and MonoBehavior
– Creating a Path System with Waypoint Arrays
– Using OnDrawGizmos to Visualize the Path
– Enemy Setup and Basic Movement Logic
– Understanding Life Cycle Methods OnEnable, Awake
– Implementing Time.deltaTime for Consistent Speed
– Pathfinding: Moving Enemies from Waypoint to Waypoint
– Deactivating Enemies at the End of the Path
– Creating an Enemy Spawner
– Optimizing Performance with Object Pooling
– Building the Object Pooler Script
– Adding Multiple Enemy Types
– Data-Driven Design with Scriptable Objects
– Defining Enemy Waves with Wave Data
– Using Dictionaries to Link Data to Object Pools
– Creating Endless Wave Loops with Modulo
– Implementing the Observer Pattern for Events
– Adding Customizable Breaks Between Waves
– UI Setup: Displaying Wave Numbers with TextMeshPro
– Tracking and Displaying Player Lives
– Tower Defense: Adding and Configuring Towers
– Visualizing Tower Range with Colliders
– Physics and Collision Detection Rigidbody 2D
– Projectile Logic: Aiming and Shooting
– Managing Tower Damage and Health Scaling
– Creating Dynamic Health Bars
– Implementing Resource and Currency Systems
– Organizing Sorting Layers for 2D Rendering
– UI Panels: The Tower Selection Menu
– Detecting Clicks with the New Input System
– Pausing the Game with Time.timeScale
– Dynamic UI: Generating Tower Choice Cards
– Preventing Build Overlap and Resource Logic
– Coroutines: Displaying Temporary Warning Messages
– Game Speed Controls Slow, Normal, Fast Forward
– Creating the Pause and Main Menu Scenes
– Scene Management: Loading and Restarting Levels
– Implementing Game Over and Win Conditions
– Exporting and Building for Windows
– Advanced Persistence: Don't Destroy On Load
– Level Design: Creating Levels 2 and 3
– Audio Management: SFX and Background Music
– Mobile Development: Touch Controls and Simulator
– Adding Custom Fonts to the Entire UI
– Professional Level Design with Tilemaps
– Adding Visual Polish with Particle Systems
– WebGL: Publishing Your Game Online
Taught by
freeCodeCamp.org