Hello and Welcome.
I'm your Code Monkey and in THIS course you will learn step-by-step how to make a Builder-Defender game.
The design is sort of a mix between a City Builder and a Tower Defense game so if either of those genres are something you're interested in then this course is just for you.
With the knowledge you will learn from this course you will be able to make City Builders, RTSs, Tower Defense games, Tycoons, Village simulators and much more.
Hello and Welcome.
I'm your Code Monkey and in THIS course you will learn step-by-step how to make a Builder-Defender game.
The design is sort of a mix between a City Builder and a Tower Defense game so if either of those genres are something you're interested in then this course is just for you.
With the knowledge you will learn from this course you will be able to make City Builders, RTSs, Tower Defense games, Tycoons, Village simulators and much more.
About me, I'm a Professional Indie Game Developer with several successful games published on Steam covering a wide range of genres, I've been Programming for over 20 years and using Unity for almost 10.
Also a couple of years ago I started a YouTube channel making Free Video Tutorials to share the knowledge I have accumulated to help you learn how to make YOUR OWN games.
If you'd like to try out my learning style before purchasing the course you can watch the over 300 Videos available for Free on the YouTube channel.
They are presented as clear step-by-step tutorials just like this course.
A bit more about the game...
It's a really interesting mix between a City-Builder and Tower-Defense game.
The player has the ability to place buildings and those buildings gather resources.
There's three starting resource types, Wood, Stone and Gold, although everything is set up in such a way that you can easily add more Resource Types.
The Resource Generation is based on proximity so a Wood Harvester needs to be placed near Trees in order to gather Wood.
The Buildings take some time to be Constructed and it shows that progress with a nice visual element and a really awesome Shader effect.
Then we also have some Enemies, they are simple but still look great.
Our HQ can defend itself by shooting arrows and we can also place Towers to add more defenses.
Over time more and more enemies will be spawned until the player can't take it anymore.
So its all about Placing Buildings, Gathering Resources, Placing more Buildings and Defending your HQ for as long as you can.
The whole game has tons of effects and lots of awesome features. You can see some cool shaders, glow, screenshake, post processing, tooltip, lots of UI elements, smooth camera, particles and so on. The final game plays really great and feels very satisfying.
This course starts with a completely empty project starting completely from scratch and step-by-step we will get to the final game.
Everything is built in a very clean and modular way so you can easily take this as a base and expand upon it with more Building Types, Enemies, Maps and so on.
This course is presented as a thorough step-by-step guide where I will show you exactly how to do what I'm doing and why it is that I'm doing it so you can learn how to think like a game developer.
This course will cover a bunch of topics including:
How to create a Building System
Handle Building construction and Resource spending
Also how to manage Resource Generation
Handle Enemy AI with Attack Logic and a Health System
Build up the World with Resources in specific places
Learn the basics of Unity tools like Shader Graph, Post Processing, Particle System...
And much much more.
As for requirements you really just need to know the absolute basics of Unity and C#.
If you've never touched Unity or C# before then there are two lectures in the extras section which cover the basics
If you know, how Unity works, what are Game Objects and Components, what is MonoBehaviour and basic C# syntax then you should be able to follow everything without any issues.
If you feel confused or lost at any point in the course make sure you post your questions in the Q&A section
I will be there to help with whatever issues you may have
Alright so go ahead join me on the course and lets build this awesome game together.
- Code Monkey
Hello and Welcome to the Complete Builder Defender Course!
Let's check out a complete Overview of everything we will be doing in the course.
Let's learn about Unity Hub, how Unity versions work and create a completely brand new empty Project.
Set up the Unity Layout we will be using throughout the course.
Install the Universal Render Pipeline so we can publish our game to any platform and to be able to use Shader Graph to make our game look awesome!
Prepare the Project, Camera, Scene in order to get started.
Before we start, let's review our Game Design so we know what game we're trying to build.
Start off by looking at how we can get the Mouse World Position and Place a Building.
Let's learn about Scriptable Objects and how they help us set up Building Types in a way that makes future expansion easy.
Create the Resource Manager Class to manage all of the resource amounts we have in storage and various functions to interact with them. Also create Resources using Scriptable Objects.
Let's apply Resource Generation to our Buildings so we can generate resources over time.
Set up the UI and add a visual for the current Resource Amounts.
Add a nice background texture for our World Map.
Install Cinemachine and use it to move our Camera.
Create the UI buttons to select which type of Building we want to place.
Let's make a visual Ghost to show the Building shape on top of our Mouse Position.
Make objects to represent Resource Nodes in the World and handle all the logic for the buildings to only generate if near resource nodes.
Define some rules to how the Buildings can be placed.
Must be placed on a clear area, cannot be too close to other Building of the same type and cannot be too far from any other building.
Let's learn about the Unity Animator and apply some Animations to our Buildings.
Let's build an Overlay to showcase how many Resources each Building is generating.
Define Building Resource Costs for Construction.
Create a Tooltip to give the Player extra information. Use to display Building Names, Costs and Placement Error Messages.
Create a Health System to manage the health points of Buildings and later Enemies.
Let's make Enemies that move towards the Buildings and deal damage.
Let's build a Defensive Building for the Player. Shoots Arrow Projectiles at nearby Enemies.
Create a Enemy Wave Manager class to handle how enemies are spawned, how many per wave and how often each wave.
Add Post Processing and some nice effects.
Learn about Unity Shader Graph, let's build some custom simple Shaders and let's also look at the more complex Grass Wind Shader.
Make a new object type to handle the Building Construction stage, after some time the Buildings finish Construction and work as normal.
Add a simple button to handle Building Demolish along with a slight recoup on the resources spent.
Set up a Minimap so we can quickly look at the whole world.
Add a Game Over Screen that gets triggered when the Player HQ is destroyed.
Add a simple button to Repair a damaged Building at the cost of Gold.
Create a Sound Manager so we can play Sound Effects on various actions.
Make a simple Music Manager to play some Music.
Create an Options menu to modify the Sound and Music Volume. Also enables Pause.
Create a Simple Main Menu to handle Quit and Play.
Now that the Core Game Design is implemented let's look at Polish!
Add some Separators to each Health Bar so we can easily see how much Health each entity has.
Add Trails to the Enemies as they move.
Limit the Camera movement so the Player cannot go off screen.
Let's add the ability to move the Camera with the mouse on the Edges thus enabling our game to be entirely played with just the mouse.
Let's learn about Unity PlayerPrefs and how we can save persistant data.
Iterate and Balance the Game by tweaking tons of values.
Add some Particles when the Enemies die.
Add some Particles when the Buildings are Placed and Destroyed.
Add some Screen Shake to our game using Cinemachine.
Add a nice Chromatic Aberration Effect on top of Screen Shake.
Add a simple visual Day Night Cycle.
Fix the issue where we can place Buildings where there are no resources.
Add some Particles to the Arrow Projectiles as they fly.
Refactor and Clean up our code by implementing the Game Assets class.
Let's check out the Awesome Game that we created throughout this course!
Let's quickly learn C# Basics!
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.