Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Game Development C++

Learn C++ Programming By Making Games Volume 2

In depth and practical look at Object Oriented Programming
Rating: 4.2 out of 54.2 (161 ratings)
1,973 students
Created by Serge Lansiquot
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Students will learn good OOP fundamentals
  • Students will learn some fundamentals of 2D computer graphics using SDL
  • Students will have created a shell app that will contain 4 games
  • Students will create a game like Tetris
  • Students will create a game like Break-out!
  • Students will create a game like Asteroids
  • Students will create a game like Pac-man
  • Students will learn some vector math in 2D

Course content

22 sections • 189 lectures • 28h 19m total length

  • Preview01:42
  • Preview02:22
  • Preview01:04
  • Preview00:42
  • Preview00:25

  • Preview02:13
  • Bottom up vs Top down design
    01:54
  • Classes and Objects
    Preview08:42
  • Encapsulation - Public and Private access
    02:52
  • Data members
    01:52
  • Methods
    02:53
  • Structs Vs Classes
    01:53
  • Section 2 Practice Problems
    00:22

  • Constructors
    06:34
  • Initializer lists
    02:19
  • Delegating Constructors
    01:25
  • Destructors
    04:31
  • Class scope
    01:41
  • The this pointer
    06:37
  • How to have references in a class
    02:59
  • Explicit constructors
    04:12
  • Section 3 Practice Problems
    00:32

  • Calling methods on objects
    01:33
  • Objects within objects
    02:56
  • An array of objects
    02:16
  • Copy constructor
    04:18
  • Static keyword with classes
    05:27
  • Using const in classes
    02:34
  • Inlining methods
    01:55
  • Section 4 Practice Problems
    00:17

  • What are Operators?
    01:46
  • Operators In your classes
    04:52
  • A Vector Class
    02:14
  • Friend functions and one More Operator overload
    07:59
  • Friend classes
    02:06
  • Section 5 Practice probelms
    00:03

  • Comparing Floating point values
    14:19
  • Negating a Vector
    04:57
  • Vector multiplication by a scalar
    11:35
  • Vector Addition and Subtraction
    07:12
  • A Vector's Magnitude
    03:06
  • Unit Vectors
    05:13
  • Distance formula
    02:49
  • The Dot Product
    03:43
  • The Dot product interpretation 1 - Projection
    10:51
  • The Dot Product interpretation 2 - Trigonometry
    04:24
  • Reflecting a vector
    05:10
  • Rotating a Point
    09:48
  • Section 6 Practice Probelms
    00:03
  • Section 6 Source Code
    00:01

  • Dynamic Memory in classes
    00:54
  • Shallow copy vs Deep copy
    06:19
  • Operator equals
    03:18
  • Using new in constructors
    02:18
  • Cleaning up dynamic memory
    01:38
  • Pointers to objects
    01:13
  • Semi-complete DynamicIntArray
    09:19
  • Section 7 Practice Problems
    00:46

  • SDL2 Windows Setup
    09:38
  • SDL2 Mac Setup
    10:36
  • Setting up SDL 2.0 Window
    09:29
  • SDL Window Surface
    08:52
  • SDL Pixel Format
    03:17
  • The Color Class
    22:11
  • Screen Buffer Class
    26:52
  • The Screen Class
    29:48
  • Line Class
    23:49
  • Bresenham's Line Algorithm
    03:03
  • Drawing a line
    11:28
  • Section 8 Practice Problems
    00:10
  • Section 8 Source Code
    00:01

  • Motivation: Is-A Relationships
    01:55
  • Basic Inheritance
    04:29
  • Access control: protected keyword
    02:34
  • Static and Dynamic binding
    05:36
  • Overriding methods
    01:22
  • Using base class methods
    01:11
  • Inheritance and dynamic memory
    03:42
  • Section 9 Practice Problems
    00:07

  • Pure virtual functions
    02:01
  • Abstract base classes
    02:20
  • Pure virtual classes
    01:29
  • Multiple inheritance
    01:43
  • Multiple inheritance pitfalls - don't use Multiple inheritance
    01:56
  • Protected and Private Inheritance
    01:26
  • Section 10 Practice Problems
    00:17

Requirements

  • Good understanding of basic C and C++ such as loops, if statements, variables, pointers, and references etc
  • Good understanding of your IDE and how to setup your C++ environment
  • No understanding of Objects or OOP will be necessary for this course

Description

An in depth practical course on OOP using C++. We learn the very basics of OOP like Classes and Objects up to more advanced topics like move semantics and lambda expressions. We then take those topics and apply them through a complex application that will contain 4 different arcade games: Tetris, Break-out!, Asteroids and Pacman. We will code 2 of those games together using the techniques we learned in the previous sections. The other 2 games will be projects for students.

We'll be making this arcade app from SCRATCH (mostly), using SDL for window management, input and colour but that's it! Everything else will be hand coded by us so we can get a good understanding of what's happening underneath the hood in game engines.

What we make from scratch:

  • Drawing lines and shapes

  • Vectors

  • Polygon fill algorithm

  • 2D texturing

  • 2D sprite animations

  • 2D rotations

  • Loading bitmap files

  • Sprite sheets

  • So much more!

This is an exciting course for students to take their skills to the next level through challenging problems and games. This is a HARD course, but if you stick with it (and finish all the exercises and projects), you'll not only be a better programmer than most of your peers, you'll be one step closer to getting that industry job you've been dreaming about.

There’s no risk!

This course comes with a full 30 day money-back guarantee. If you are not completely satisfied with the course, Udemy will refund you what you paid - no questions asked.

Register for the course today!

Who this course is for:

  • Anyone who is interested in learning more about C++ and making games
  • Students with a good understanding of C++ basics: Loops, control flow, functions, pointers

Instructor

Serge Lansiquot
AAA Game Developer, Indie Game Developer, Programming Tutor
Serge Lansiquot
  • 4.1 Instructor Rating
  • 547 Reviews
  • 3,260 Students
  • 2 Courses

A veteran programmer of 16 years, I now work in the AAA game industry on some of the game industry's biggest titles like Minecraft and Halo. I've worked/work on core systems and AI. Before that I worked as the lead iOS developer at a successful mobile apps company.

In my spare time I work on my own indie game projects and continue to learn new technologies and techniques.

I've been a programming mentor at VFS and I tutor University students regularly in programming. I'm a life long learner and I have a passion for teaching others what I know about programming.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.