課程資料
課程簡介
Learn how to architect your codebase for a 2d platformer using design patterns.
Making games is fun but there is nothing more frustrating than adding new code to create a new game mechanic just to have the old code break. At this point it stops being fun and bug search begin - which honestly is the least fun thing to do when you could instead design a new level for your game. That is why it is so important to learn how to create maintainable and extensible code base for your game. If you search for a solution you will find Design patterns and SOLID principles. If you have every tried to learn design patterns you surely know that it is not intuitive when to use it. Each presents a solution but requires time and additional code to work. Implementing them just for the sake of it is just a waste of time - so when should we use them? The answer is - when adding new features or extending the old ones seems like a lot of work and effort.
In this course you will learn how to use state pattern as a base to create your character controller and how to refactor your code to other design patterns when you can see that adding new feature starts to be "painful" and unintuitive. At the end you will know the way of thinking behind the refactoring process and behind the decision when to use design patterns.
You will learn how to write decoupled classes - meaning that class A doesn't rely on Class B but if they both exist they can communicate witch each other to create our desired game mechanics.
This is an Intermediate course about creating a maintainable and extensible codebase and in effect a full 2d platformer game. You should know your way around Unity and feel comfortable coding in C# using Visual Studio IDE.
You will learn how to:
Create a character that can move and jump and extend it's character controller with new features like: climbing behaviour, attack logic etc.
How to reuse players character controller for enemies
How to create 3 types of enemies as well as a end level boss
How to use factor method pattern to make your code more maintainable
How to use Strategy pattern to implement simple AI system
Specific platformer features that we will implement:
picking up resources
respawn system
adding platforms with one-way collider
creating parallax effect for our level
melee and throwable weapons
and much more!
If for any reason you don't enjoy the course you have 30 days from the purchased date to get your money back - no questions asked.
I hope to see you in the course :)
-Peter
課程章節
- 27 個章節
- 254 堂課
- 第 1 章 Introduction
- 第 2 章 Working with Tilemaps
- 第 3 章 Basic Character movement
- 第 4 章 Making character movement system extendable
- 第 5 章 Adding jumping mechanic
- 第 6 章 Cinemachine camera setup
- 第 7 章 Creating Level 1
- 第 8 章 Climbing Mechanic
- 第 9 章 Adding player UI
- 第 10 章 Respawn system
- 第 11 章 Adding Music and Audio Feedback
- 第 12 章 Weapons system
- 第 13 章 Attack State
- 第 14 章 Hit & Die State
- 第 15 章 Adding a patrolling enemy
- 第 16 章 Adding Feedback To Fighting system
- 第 17 章 Adding range weapons
- 第 18 章 Adding pickable points
- 第 19 章 Adding a shooting enemy
- 第 20 章 Adding main menu
- 第 21 章 Level management system
- 第 22 章 Save system
- 第 23 章 In-game menu
- 第 24 章 Adding Level 2
- 第 25 章 Adding flying enemy
- 第 26 章 Boss fight
- 第 27 章 Extra - New Input System
課程內容
- How to create a 2D platformer in Unity 2020, How to use State Pattern, Strategy pattern and Factory method pattern in a full game project, How to write maintainable C# code, How to save game state, How to create multiple level
此課程所涵蓋的技能
評價
-
ffuzzy_pants mr
It's the best lecture The instructor explains in detail how to use different design patterns that feel difficult. Both the resolution and sound of the lecture video were great. I hope there will be more courses in the future!
-
JJavier Lozano
The best course I have found on Udemy. It's a must to learn how to program a game.
-
JJose
What a fantastic , comprehensive course. The code is clean , readable and makes perfect sense. The explanations are in depth and easy to follow. The value of this course as an introduction to the use of design patterns and moving beyond the basic game tutorials is incalculable 100/100
-
DDave Klein
Awesome course - really helped me learn the State Pattern - thank you!