Mô tả

Improve your coding skills by learning Object Oriented Programming and how to apply it in Unity.


All the theory is explained on game-related examples and next we use a Hands-On project - a prototype of a 2D Shoot 'Em Up game to learn how to apply what we have learned in a Unity project.


Do you find it difficult to add new Enemies, Weapons or new Game Mechanics to your game? Do you spend more time fixing bugs than actually testing the new feature that was meant to take you few minutes to add? If so I bet that you will benefit a lot from learning OOP!


Instead of talking about generic concepts like Animal-Dog or Person-Employee we will use game-related examples like implementing different weapons to your game or how to add multiple different enemies to your project.


This course is made out of 2 parts:


Theory Part:

In Section 1 I will explain WHAT is Object-Oriented programming:

  • Encapsulation

  • Abstraction

  • Inheritance

  • Polymorphism

  • *We will also talk about composition and why "prefer composition over inheritance" is a GOOD advice.


Practical Part:

NEXT we will work on a HANDS-ON project by implementing new features and seeing HOW and WHY to apply OOP solution. We will explore why a prototypical code will fail when we want to expend our game with new features and I will show you HOW to use OOP to enable us to easily add new weapons, enemies and other features that we want to have in our game.


There is no way to learn OOP just by exploring theory. You need to PRACTICE and explore some game dev related examples to get a feel for how to apply OOP in your code ?


We will tackle the most common game dev tasks:

  • Adding different weapons to your game

  • Adding a new game mechanic

  • Making tour code more component-based

  • Adding a new enemy


What you can expect from the course: ?


  • 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.



  • 30-Days refund policy

    If you don't enjoy the course let me know and I will issue a refund if you are within the 30 days from the date that you made the purchase.


Sunny Valley Studio has already helper more then 4350 students in addition to almost 10 000 subscribers on my YouTube channel to improve there C# coding skills and there knowledge about Unity by showing how to make 2D Platformer, a Juicy 2D shooter game or a 3D Survival game as video courses. On YouTube you can find everything from how to create Minecraft-like voxel world, a turn-based 2d game or an inventory system.


Hi! I'm Peter and will be your instructor.

I am passionate about programming and Unity (worked for about ~5 years as a programmer / unity dev) and I will do my best to help you to develop game dev and programming skills that you can use to make your own games or to get a job in a game dev studio as a programmer )


See you in the course!

Bạn sẽ học được gì

Learn how object oriented programming works in practice

Understand Composition and how to use it

Learn how to apply OOP in Unity

Learn how to refactor your code to improve its quality

Develop a problem solving attitude

Get experience using Unity 2021

Learn good coding and design patterns

Learn how a 2D space shooter game works

Practice exercise per each section

Yêu cầu

  • Mac or PC capable of running Unity 2021 or later
  • A passion and willingness to learn how to code
  • I know my way around Unity
  • I understand the basic of C# language

Nội dung khoá học

7 sections

Introduction

3 lectures
How to ask QA / get a refund
01:56
Assets used in this course are CC0 licensed
00:11
Join the community!
00:05

OOP theory

11 lectures
Started Project download
02:59
Project overview
05:14
Why do we want to use OOP?
07:15
Object vs Class
06:23
Encapsulation
08:09
Abstraction
06:48
Inheritance P1
08:21
Inheritance P2
12:22
Polymorphism
08:46
Compostion
05:35
Do we need all this complexity?
05:43

Problem 1 - Adding multiple weapons

7 lectures
Problem with the current implementation
07:54
Planning a solution
12:17
Encapsulation - Weapon class
09:39
Abstraction - Attack Pattern SO
13:19
Inheritance - different Attack Patterns
10:37
Challenge - Burst Attack Pattern
00:05
Solution - Burst Attack Pattern
07:24

Problem 2 - Adding meteorite to our game

6 lectures
Problem - Bullet collision is rigid
03:59
Creating a common interface
03:26
IHittable interface
06:54
Refactoring Player and Enemy scritps
11:16
Challenge - Create a meteor
02:46
Solution - Create meteor
07:40

Problem 3 - Duplicate code

7 lectures
Problem - Adding Feedback to hit logic
07:41
Unity Components architecture
12:07
Health class
12:48
Reusable feedback
14:35
Player feedback
16:59
Challenge - Bullet feedback
06:22
Solution - Bullet feedback
06:46

Problem 4 - Adding more enemy types

6 lectures
Problem - Adding more enemy types
04:58
Solution: Inheritance?
06:15
Composition: MovementActionAI
05:57
Composition: Shoot and Aim Actions
12:03
Challenge - New Enemy Type
04:43
Solution -New Enemy Type
06:31

Summary

2 lectures
Summary
04:25
Bonus lecture
00:04

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.