What you will learn:
Theory with examples
In Section 1 I will explain all the concepts of OOP:
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
*I will also explain Composition and WHY "prefer composition over inheritance" is a good advice.
Refactoring an example Shoot'em up game prototype
To understand OOP you need to practice how to apply Encapsulation, Abstraction, Inheritance and Polymorphism in a real project.
That is why I have prepared an example prototypical game project that we will refactor to show the benefits of OOP.
Clear explanation of OOP solution
In the Hands-On part I will explain every solution using simple UML diagrams as well as by explaining WHY this solution will make is easy for us to add new features to our games or to make the current functionality more maintainable..
What you can expect:
5h of video content
Learning OOP can be done only through practice. After you watch the theory (Section 1) I have prepared few example problems related to Game Dev so that you can PRACTICE what you have learned.
A Fully working Shoot'em up game prototype
Theory (WHY) is useless if you don't know how to apply it in practice.
I have prepared a working prototype of a small game that we will refactor so that you can learn HOW to use OOP and WHEN to do it.
Project files and scripts
For each video where we write some code I will provide a github link so that you can view the changes in the code as well as my full project that you can open in unity to find any issue / difference / bug that you might have.
My help
If you don't understand something just ask here in the comment section or on courses Discord channel. I do my best to daily answer any question.
Subtitles
For each video I have provided English and Spanish subtitles (autogenerated).
14-Days refund policy
If you don't enjoy the course let me know and I will issue a refund if you are within the 14 days from the date that you made the purchase.
About Sunny Valley Studio:
Hi! I'm Peter - a programmer with around 5 years experience in Unity 👋
I have always loved to code and to play games 😁
Professionally I have mostly worked as a HVAC Engineer and a Programmer on a Machine Learning project using Python. I have spend all my free time improving my coding skills and creating small unity game projects, and helping other indie devs on their projects as a programmer.
You can find all most of them on my YouTube channel: Sunny Valley Studio 🙂
I know that learning to code can be hard. At the same time creating games is a very much iterative process which means that new features needs to be added to the code.
If it is not maintainable you will spend more time fixing bugs then on actually designing the game. 😬
That is why I am doing my best to help others to learn how to write well architected code in Unity 😉
Videos
- Downloading the Starter Project (2:59)
- Project overview (5:14)
- Why do I need OOP? (7:15)
- Object vs Class (6:23)
- Encapsulation (8:09)
- Abstraction (6:48)
- Inheritance P1 - Abstract Class (8:21)
- Inheritance P2 - Interface (12:22)
- Polymorphism (8:46)
- Composition (5:35)
- Do we need all this complexity? (5:43)
- Leave a review!