Design Patterns for Game Programming (Unity 6 Compatible)
- Descrição
- Currículo
- FAQ
- Revisões
Want to create code that is robust, optimized and reusable? Then you need to learn about programmming design patterns.
Game Programming Design Patterns are templates for building modularised code that are generally a repeatable solution to a commonly occurring mechanic applied in computer games. They are general solutions that aren’t tied to a particular problem, making them reusable. One such pattern is object pooling. Whether a game needs an onslaught of constantly spawning zombies or bullets fired from a gun or asteroids to pummel the player’s spaceship, an object pool is a group of classes that can be reused, exactly as they are, across not only these scenarios but a plethora of others whenever game objects need a spawn manager.
In this course, Penny will take you through the top 12 game programming design patterns with C# and the Unity Game Engine using her internationally acclaimed Holistic teaching style and expertise from over 25 years teaching, researching and writing about games. Throughout the course you will follow along with hands-on workshops designed to teach you these core programming concepts that will take your games to the next level.
Learn how to program and work with patterns such as:
-
commands
-
flyweight
-
observer
-
prototype
-
singleton
-
states
-
object pools
-
game loops
-
updates
-
components
-
…and more.
Contents and Overview
The course begins with a brief introduction and then you are straight into hands-on exercises, working through each of the design patterns as listed above. There are a variety of scenarios you will work on in both 2D and 3D from an asteroid shooter, to a radar object finding system to a programmable prototype prefab system. All starter files and Unity assets (including models and scenes) are provided for you.
If you want to become a knowledgeable and skilled game developer, then this course is for you.
What students are saying about Penny’s courses:
-
Excellent course!! I am already in game development industry and there is one quote here from the course that says it all “Whenever you are not able to solve complex problem, its the right time to get back to the BASICS”.
-
She is the best teacher ever in this platform
-
I do like Penny de Byl’s courses and way of teaching, they are much more specific than your average “master Unity” kind of courses and usually you don’t learn just the engine, but also how things work behind the scenes (albeit briefly, at least it gives you an idea if you want to investigate more on your own). She’s really amazing!
-
1IntroductionVídeo Aula
This lecture gives you an overview of the content of the course and the concepts you will learn about.
-
2Join the H3D Student CommunityVídeo Aula
H3D has a bustling online student community. Here's how to get involved.
-
3Contacting H3DTexto
How to contact us
-
4Frequently Asked QuestionsTexto
Regularly asked questions you should check out before starting the course.
-
5Updating to Unity 6Vídeo Aula
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.
-
6Commands Part 1Vídeo Aula
In this lecture we look at the command design pattern and start building an abstract class to encompass it's simple functionality.
-
7Commands Part 2Vídeo Aula
In this lecture we will finish creating the initial version of a command class and use it to control the animations of two animated characters.
-
8Commands Part 3Vídeo Aula
In this video we will extend the command pattern by adding replay and undo functionality.
-
9Commands Part 4Vídeo Aula
In this video we complete the undo facility to generate animations that run backwards when they are taken away from the replay list.
-
10Investigating MemoryVídeo Aula
In this lecture we will begin with a small experiment that illustrates the importance and workings of the flyweight design pattern.
-
11Scriptable Objects Part 1Vídeo Aula
In this lecture we will walk through the process of making a scriptable object and adding them to an existing project to store data about game objects.
-
12Scriptable Objects Part 2Vídeo Aula
In this section tutorial on examining scriptable objects you will learn how to grab the data added to a prefab from them and display it on the screen.
-
13Unity's ECS Part 1Vídeo Aula
In this lecture we will a Perlin landscape from cube prefabs readying for a comparison with Unity's ECS System.
-
14Unity's ECS Part 2Vídeo Aula
In this lecture we will begin putting together the game objects and components that will become entities in an ECS.
-
15Unity's ECS Part 3Vídeo Aula
This lectures completes our brief look at how ECS conforms to the Flyweight design pattern and compares performance between using GameObjects versus Entities.
-
16A little ECS Optimisation ExtraVídeo Aula
In this lecture we will optimise the performance of the ECS with a little rendering trick and then take a drive around the scene with the camera.
-
17Observers Part 1Vídeo Aula
In this lecture the observer pattern will be introduced and a project setup to apply it.
-
18Observers Part 2Vídeo Aula
In this lecture we will complete the egg spawner and create the base classes for Events and Event Listeners.
-
19Observers Part 3Vídeo Aula
In this lecture we will begin using the events and listeners to pass messages as well as extend this to have items appear on the radar.
-
20Observers Part 4Vídeo Aula
In this video we will add in other objects to appear on the radar as well as work at taking them away.
-
21Observers Part 5Vídeo Aula
In this video we will complete the process to take items away from the radar system as well as perform a challenge to display popup text on the screen.
-
22The Prototype PatternVídeo Aula
In this lecture we will start to examine the prototype pattern. Most game engines automatically take care of this functionality themselves, though we will try our best to illustrate the old way of doing things.
-
23Cloning a Game ObjectVídeo Aula
In this video you will learn how to turn your procedurally created cube into a cloneable object.
-
24Dynamic Prefab CreationVídeo Aula
In this lecture you will learn how to create a dynamic game object that you can save into your assets folder as a prefab.
-
27The State PatternVídeo Aula
This lecture introduces the state design pattern and starts setting up a project for building a finite state machine for a patrolling and attacking NPC.
-
28Creating and Using a State ClassVídeo Aula
In this lecture we will create the state base class and build an idle state that inherits from it.
-
29Patrolling the PerimeterVídeo Aula
In this lecture we will add in the patrolling state and set the npc to walk around a set route.
-
30Chasing the Player Part 1Vídeo Aula
In this lecture we start writing the pursue and attack states to add to the NPCs behaviour.
-
31Chasing the Player Part 2Vídeo Aula
In this video we will complete the code for getting the NPC to pursue and attack the player.
-
32State ChallengeVídeo Aula
In this video you will be given a challenge to add a new state to the NPCs behaviour.
-
33Setting Up the ProjectVídeo Aula
In this lecture we will cover object pooling and start building a classic game scenario in which pooling is critical for memory management and performance.
-
34Adding in an Object PoolVídeo Aula
In this lecture we will add the code for an object pool to take care of the asteroid and bullet spawning.
-
35Extending the Object PoolVídeo Aula
In this video we will extend the object pool to make it expandable.
-
36Blowing Up the ShipVídeo Aula
