Get a month of TabletWise Pro for free! Click here to redeem 
TabletWise.com
 

Learn C++ for Game Development

Learn the basics of C++ to prepare you for game programming.

Learn C++ for Game Development

Learn the basics of C++ to prepare you for game programming.
7
Views
12:40:40
Share the link to this class
Copied
To program in C++, you must have an IDE (Integrated Development Environment). We will learn all about how to use one in this series! Do you have a Mac? No problem! Download XCode (the Mac version of an IDE you can use).
We begin by creating our first Visual Studio project and source file. We create our first program which sends a text to the screen.
We learn about variables and how they can be declared, initialized, and overwritten with new values. We conclude with a whiteboard talk about several different data types and when to use them.
Introducing a couple of new terms: Statement and Expression, and explaining what they are.
We learn how each expression has a truth value associated with it.
We're almost ready to use what we've learned in a program! Here we discuss relational operators as a way to compare truth values, which we will be able to use in our code when we create if statements.
We finally learn the tool we can use to combine truth values and relational operators in a way that your program can use! Let your code make decisions based on conditions in your program.
We finally put our skills to use with a simple if statement! Creating conditions in your code adds power to the program.
Now we learn how to create an alternative series of statements that will execute if the condition is false in an if statement.
Setting up a branch in your logic with an if/else statement.
In addition to if and else, you also have the else if an option, which can string multiple statements together and give you even more flexibility!
We dive in and create some branches in logic using the else if statement.
Just what do those curly braces actually do? It turns out they represent a very important idea in programming - scope. This video explains it all!
How do you know whether your variable names will work? Watch this lecture and find out!
Learn about certain keywords that have special uses in the programming language.
Functions are extremely useful for creating routines of code that can be called by name to perform their tasks.
We dive in and get some extensive experience creating and calling functions!
We get more practice with functions!
Learn about the increment operators and other mathematical tools.
We use these operators in some real C++ code.
Run a series of statements repeatedly until a condition is met.
Let's see how these loops actually work!
This type of loop will enter the loop body first, then check the condition after.
We discover looping for a number of times!
We learn about the reference, an alias for another variable.
We practice with references in our code.
We learn how to have multiple functions with the same name that do different things based on the input.
The theory behind the string, how they worked in C, and how much easier they are in C++!
Actually put strings to use in C++!
How to create a variable that can't vary.
Learn about the tools of logic and how they are used in programming!
We get hands-on with these tools of logic and use them in our code!
We discover that you can have a variable that holds multiple values in a sequence.
We create arrays and discover how to access their contents.
Enums are an efficient way to control states in your game or code.
Use enums and discover how useful they can be to control states.
If you have a long series of if statements, there is a better way!
See how easy they can be, and use them with enums!
We start to harness the real power of Object Oriented Programming (OOP) by creating a struct!
Now let's create some structs in code!
Pointers are tricky. But they don't have to be! I explain it clearly and simply.
Let's use these pointers and see how valuable they can be!
We are finally able to understand Object Oriented Programming by learning about the key tool to OOP - Classes.
We create some simple classes and give them member variables and functions.
Constructors are a special type of function that gets called upon object creation.
We learn how to give our classes custom constructors.
Downloadable: This is one of the main strengths of Object Oriented Programming: how a class can inherit members and functions from other classes.
We get hands-on with inheriting properties from a parent class.
Continuing with inheritance practice.
Finally learn what those keywords: public, private and protected mean!
Use access modifiers and see how they work in actual practice.
Dynamic memory is used in programs when you need your objects and variables to be created at run time, dependent on circumstances of your game/program.
We create variables on the heap dynamically in some examples.
Destructors take care of any code that needs to be executed upon an object's deletion.
Now we create some classes with destructors!
Learn about the different ways to use the static keyword in your programs and games.
Hands on static practice!
We learn how to give child classes their own version of inherited functions.
Get some practice overriding virtual functions!
Polymorphism can be a tricky subject to understand. Not when it's explained correctly though!
Now we actually put our theory to use and see how it works!
Classes in C++ can inherit from multiple parents (derived classes), and this can cause some issues.
Casting is the conversion of an expression from one type to another.
We cast with an inheritance hierarchy modeled after that in Unreal Engine.
Ever wonder how large programs are managed, especially with hundreds or thousands of lines of code? With header files!
We organize a program into header files for each class and see just how much more organized it can be.

There are many C++ tutorials for Unreal Engine or other game engines out there, but most just assume you have a solid background in C++, or they cover the basics quickly. This is because Unreal Engine C++ is already too complicated to cover learning an entire programming language plus Unreal Engine programming in a single course. This course is designed to teach you C++ from the ground up, starting at absolute beginner level content and working up to advanced level techniques. This course will prepare you for programming video games in Unreal Engine, Cryengine, Lumberyard, or any game engine. Unreal Engine is not used in this course.

Requirements

A working computer, the internet, and enough memory for Microsoft Visual Studio or XCode are needed.

To program in C++, you must have an IDE (Integrated Development Environment). We will learn all about how to use one in this series! Do you have a Mac? No problem! Download XCode (the Mac version of an IDE you can use).
We begin by creating our first Visual Studio project and source file. We create our first program which sends a text to the screen.
We learn about variables and how they can be declared, initialized, and overwritten with new values. We conclude with a whiteboard talk about several different data types and when to use them.
Introducing a couple of new terms: Statement and Expression, and explaining what they are.
We learn how each expression has a truth value associated with it.
We're almost ready to use what we've learned in a program! Here we discuss relational operators as a way to compare truth values, which we will be able to use in our code when we create if statements.
We finally learn the tool we can use to combine truth values and relational operators in a way that your program can use! Let your code make decisions based on conditions in your program.
We finally put our skills to use with a simple if statement! Creating conditions in your code adds power to the program.
Now we learn how to create an alternative series of statements that will execute if the condition is false in an if statement.
Setting up a branch in your logic with an if/else statement.
In addition to if and else, you also have the else if an option, which can string multiple statements together and give you even more flexibility!
We dive in and create some branches in logic using the else if statement.
Just what do those curly braces actually do? It turns out they represent a very important idea in programming - scope. This video explains it all!
How do you know whether your variable names will work? Watch this lecture and find out!
Learn about certain keywords that have special uses in the programming language.
Functions are extremely useful for creating routines of code that can be called by name to perform their tasks.
We dive in and get some extensive experience creating and calling functions!
We get more practice with functions!
Learn about the increment operators and other mathematical tools.
We use these operators in some real C++ code.
Run a series of statements repeatedly until a condition is met.
Let's see how these loops actually work!
This type of loop will enter the loop body first, then check the condition after.
We discover looping for a number of times!
We learn about the reference, an alias for another variable.
We practice with references in our code.
We learn how to have multiple functions with the same name that do different things based on the input.
The theory behind the string, how they worked in C, and how much easier they are in C++!
Actually put strings to use in C++!
How to create a variable that can't vary.
Learn about the tools of logic and how they are used in programming!
We get hands-on with these tools of logic and use them in our code!
We discover that you can have a variable that holds multiple values in a sequence.
We create arrays and discover how to access their contents.
Enums are an efficient way to control states in your game or code.
Use enums and discover how useful they can be to control states.
If you have a long series of if statements, there is a better way!
See how easy they can be, and use them with enums!
We start to harness the real power of Object Oriented Programming (OOP) by creating a struct!
Now let's create some structs in code!
Pointers are tricky. But they don't have to be! I explain it clearly and simply.
Let's use these pointers and see how valuable they can be!
We are finally able to understand Object Oriented Programming by learning about the key tool to OOP - Classes.
We create some simple classes and give them member variables and functions.
Constructors are a special type of function that gets called upon object creation.
We learn how to give our classes custom constructors.
Downloadable: This is one of the main strengths of Object Oriented Programming: how a class can inherit members and functions from other classes.
We get hands-on with inheriting properties from a parent class.
Continuing with inheritance practice.
Finally learn what those keywords: public, private and protected mean!
Use access modifiers and see how they work in actual practice.
Dynamic memory is used in programs when you need your objects and variables to be created at run time, dependent on circumstances of your game/program.
We create variables on the heap dynamically in some examples.
Destructors take care of any code that needs to be executed upon an object's deletion.
Now we create some classes with destructors!
Learn about the different ways to use the static keyword in your programs and games.
Hands on static practice!
We learn how to give child classes their own version of inherited functions.
Get some practice overriding virtual functions!
Polymorphism can be a tricky subject to understand. Not when it's explained correctly though!
Now we actually put our theory to use and see how it works!
Classes in C++ can inherit from multiple parents (derived classes), and this can cause some issues.
Casting is the conversion of an expression from one type to another.
We cast with an inheritance hierarchy modeled after that in Unreal Engine.
Ever wonder how large programs are managed, especially with hundreds or thousands of lines of code? With header files!
We organize a program into header files for each class and see just how much more organized it can be.

About the instructors

Stephen Ulibarri

Software Engineer, Game Engineer, Teacher
Share the instructor profile
Copied
All Classes
Free for 30 Days
   The video is currently being processed.
   An error occurred while uploading the video. Please upload another video.
   Please upload the required file.
Quiz: #TITLE#
Questions: #QUESTIONS_COUNT#
Quiz: #TITLE#
Question /#QUESTIONS_COUNT#
Quiz: #TITLE#
Result: You correctly answered out of questions. Result: You correctly answered out of question. Result: You correctly answered out of questions attempted. Result: You correctly answered out of question attempted. Result: You did not attempt any question.
0
Saves
7
Views
This class has not been saved

Sign Up