Have you ever wanted to create your own computer game from scratch? Are you a programmer that would like to also create your own 3D art assets? Then this course is for you. In it, you will follow along learning both the coding and art side of game development giving you the necessary skills required to be an independent game developer.
Dive right into over 20 hrs of hands-on content.
Have you ever wanted to create your own computer game from scratch? Are you a programmer that would like to also create your own 3D art assets? Then this course is for you. In it, you will follow along learning both the coding and art side of game development giving you the necessary skills required to be an independent game developer.
Dive right into over 20 hrs of hands-on content.
This course takes a holistic view at creating a Tower Defence game level through the examination of game mechanics, coding exercises in C# with the Unity Game Engine (works in all versions of Unity including Unity 6. ), and 3D art asset creation in Blender.
Through the investigation of this simple but compelling casual gaming genre, the course is broken into 2 parts that can be taken separately or together:
In Part A learn how to program and work with:
Pathfinding
Character Animation
User Interface Development and Programming
Economy systems including player lives, and money accumulation & spending
Special effects including sound effects, particle systems, and explosions
Automated enemy-sensing towers
In Part B learn how to design and work with:
Blender
Modular 3D art assets for game level design
Procedurally Generated Textures
A multipart game character with sub-meshes that can be independently controlled with code in Unity
In this course, Penny and Mike teach all the invaluable skills you will require to design, program, and model your own Tower Defence game from scratch. You will learn from their combined 40 years of knowledge about Unity and Blender through detailed descriptions and hands-on workshops.
What students are saying about Penny and Mike's other courses:
As a game developer with 3+ years experience under his belt, I would like to say that I have learned a lot, and also improved on what I knew already before the course.
This course is absolute gold. I am a Software Engineering Teacher as well as a solo game developer, and of all the courses I have taken on Udemy, this is has been the most useful and eye opening by far.
I've taken some great courses on this site, this has to be the best in terms of volume, clarity and thoroughness. In this course you will: 1) Learn several procedural generation methods 2) Learn some cool Blender functionality 3) Learn how to make a pathfinding algorithm I was only expecting number 1) but seeing how much extra stuff is here, I'm definitely coming back to go deeper and help some of the trickier stuff sink in. Can not recommend enough. Do this course now.
In this video students will get an overview of the content of the course from Mike and Penny.
H3D has a bustling online student community. Here's how to get involved.
Please read over this list of regularly asked questions as they will help you navigate the course content.
In this lecture the students will be introduced to the game mechanics that go into constructing the rules for a tower defence game.
In this video students will learn how to setup the AI Navigation package for the versions of Unity that it is not automatically included with. This package will be used later in this course.
While this course was developed in a previous version of Unity, we've tested the projects and they work with Unity 6. This video is a guide to help you adjust your learning in this course to use Unity 6.
In this lecture students will learn how to setup a basic navigation mesh and add obstacles to it.
In this lecture students will learn how to setup a navmesh agent and program it to move to a destination location.
In this lecture students will learn how to create multiple spawn points that will spawn differing navmesh agents.
In this lecture students will learn how to determine when all the agents have been destroyed as well as limiting the number of agents created and the times they are created.
In this lecture students will learn how to instantiate and place objects in the world with a mouse click.
In this lecture students will learn how to drag and object around in a 3d world with the mouse and position it based on raycasts.
In this lecture students will learn how to restrict the placement of turrets onto of a platform as well as investigate how the code base can be adapted for mobile devices.
In this lecture students will learn how to modify the project to cater for actual mesh models of turrets.
In this lecture students will learn how to add a graphical user interface with buttons.
In this lecture students will learn how to program a button to instantiate a turret and then drag it onto a platform.
In this lecture students will learn how to create a popup menu for upgrading turrets.
In this lecture students will learn how to make a menu open and close as well as be repositioned when a turret is clicked on.
In this lecture students will be challenged to add a new turret type from scratch.
In this lecture students will learn how to add triggers to the turrets to detect when an enemy is nearby and then to target them.
In this lecture students will learn how to restrict the horizontal movement of the turret.
In this lecture students will learn how to rotate the tower vertically to further enhance aiming capabilities.
In this lecture students will learn how to reset the rotation of the turret back to the default when there are no enemies in range.
In this lecture students will learn how to use scriptable objects to store data relating to a series of prefabs.
In this lecture students will learn how to create a 2D healthbar that will sit above the head of an enemy.
In this lecture students will learn how to reduce the health on an enemy when being shot at.
In this lecture students will correct the shooting accuracy of the turrets which in turn reveals another rotational problem that will also be fixed.
In this lecture students will create a scriptable object to store the properties of the turrets.
In this video students will create a scriptable object for the turret properties, set the shooting behaviour and add a firing sound.
In this lecture students will learn and practice defining the properties of turrets using scriptable objects.
In this lecture students will learn how to add a new enemy character from scratch and spawn it in the scene.
In this lecture students will learn how to work with colliders to turn them on and off as required.
In this lecture students will start building the environment with proper models of walkways.
In this lecture the placement of platform models for the turrets will be discussed with respect to location and scaling.
In this lecture students will learn how to add extra shooting sounds to the other tower types and change the speed of shooting and the amount of damage.
In this lecture students will learn how to put together a particle system to simulate a simple flame blast.
In this lecture students will learn how to control the particle system with script to turn it on and off with the sound effects
In this lecture students will learn how to work with multiple particle systems and mesh emitters.
In this lecture students will learn how to create a particle system explosion effect using a flipbook of images.
In this lecture students will learn how to use Unity's object pooling system to control the amount of explosions on a screen at any one time.
In this lecture students will learn how to call the explosions on enemy death and ensure the objects are returned to the pool in addition to tweaking the explosion position.
In this lecture students will learn how to refactor the code to include waves of enemies being created by the spawn locations.
In this lecture students will learn how to add a delay between the end of a wave and the next.
In this lecture students will learn how to put together a simple UI to display the game information.
In this lecture students will learn how to update the wave text to display the current wave number and the total number of waves.
In this lecture students will be challenged to program the money making mechanic and display the player's money in the UI.
In this lecture students will learn how to decrement the number of lives a player has each time an enemy reaches the home position.
In this lecture students will learn how to create a set of buttons to control the speed of the game.
In this lecture students will learn how to manage the in game economy to take money away when a tower is placed on the map.
In this lecture students will learn how to modify the players money when towers are upgraded and destroyed.
In this lecture students will learn how to hook up a simple game over panel to have the level restart with the player either loses or their lives or, all of the enemies have been destroyed.
In this lecture, Michael welcomes you to the Blender section of the course.
In this lecture, we discussed the importance of refrencematerial whenever you're working in Blender.
Sometimes you can use real-world reference material other times you have to rely on the creations of others.
In this lecture, we will discuss the workflow that we will be taking in this course, so you know what to expect coming up.
In this lecture, we will discuss how there are multiple approaches to any project, however, in a program like Blender that has multiple options on how to complete a similar or same task, it is important to understand that there is no "right" way.
In this lecture, we discuss what to do if you get stuck in the course. After completing this lecture, you should be in an excellent position to unstick yourself and know how to ask brilliant questions to get solutions quickly.
In this lecture, you will understand the importance of sharing your work.
As remote teachers, it can be challenging to know how your students are doing – therefore sharing your work is a great way to get feedback, it inspires us, tutors, as well.
In this lecture, you will find out where to find resources when they are needed in the course.
In this lecture, you will be guided as to continuing the course should you make an error where your work becomes irrecoverable.
This could be for any number of reasons, but by the end of this lecture, you will know how to continue the course.
In this lecture, we will be covering Recommended Preferences, and in this lecture, you will learn how to customize Blender's settings to optimize your workflow and enhance your user experience.
In this lecture, we will be covering Editors and Workspaces, and in this lecture, you will learn how to use and customize the different editors and workspaces in Blender to streamline your workflow and improve your productivity.
In this lecture, you will understand how the same shortcut key can mean multiple things, depending on where you are within the Blender interface.
In this lecture, you will understand how to move around the 3-D view port, rotating around your model, zooming in and panning, and a few other great tips keep going.
In this lecture, you'll understand one of my favourite methods of navigating around your model – the walk mode.
In this lecture, we will have a look at the different 3-D editor modes that exist in Blender.
In this lecture, Michael will give you a bit of reassurance, especially if you need to Blender. Blender is incredibly shortcut heavy, and it will take a while for you to learn those shortcuts.
In this lecture, you will learn all about a quick way to access many other functions in Blender – the search feature.
In this lecture, you will learn the basics of adding primitive objects to your scene.
In this lecture, you will learn how to transform your objects, to move, scale and rotate them.
In this lecture, we will learn what the little orange dot(s) and cross hairs mean in the 3D view port.
In this lecture, we will learn about snapping – a fundamental tool whenever you need to align anything within Blender.
In this lecture, you will be introduced to the power of duplication, a time-saving tool that saves you from repeating yourself.
In this lecture, you will learn that you can type units into Blender's fields.
In this lecture, you will learn how to edit those primitive objects that you've added before – creating new mesh data.
In this, like sure you understand the fundamental difference between an object and the data contained within the object.
In this lecture, you will learn how to use part of a model to generate new mesh data.
Invoice lecture, you'll learn the importance of naming.
In this lecture, you will learn how to select face and edge loops to speed up your modelling.
In this lecture, you will learn about fills the filling gaps and creating new face data, and insetting.
In this lecture, you will learn how to separate mesh data from an object, and to combine objects together into one single object.
In this lecture, you will learn how to create a hierarchy of objects that are linked to one another.
In this lecture, you will move onto the next step of organisation by putting things into collections.
In this lecture, you will learn about bevels. Bevels are a great way of adding detail, so the edges of your mesh.
In this lecture, you will learn another optimisation when it comes to modelling, and that is mirroring. This will save you a lot of time from having to repeat yourself on multiple sides of a model.
In this, like sure you'll understand how you can add more detail to a model.
In this lecture, we dive a little deeper into Blender's data structure and discuss linked data.
In this lecture, we will have a look at viewport shading. Changing how the model looks in the viewport so that you can focus on your model in various ways.
In this lecture we go over the basics of water material is.
In this lecture, we look at the various properties that a material can have.
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.