Lectures include:
-
Section Intro - Obstacle Assault - We overview the prototype for the game and our plan of action for creating it.
-
Project Setup - We start by downloading the asset packs we need and starting a project from one of these. We create our own map and bring in a different player character.
-
Customizing The Character - We create our own child character class and tweak the inputs to match our project.
-
Compilers and Editors - We see why we need a compiler and source code editor and how they fit into the process of making games.
-
PC - Installing Visual Studio - We show you how to install our compiler for PC: Visual Studio Community and which version and features are required.
-
Mac - Installing XCode - We show you how to install our compiler for Mac: XCode.
-
Installing VSCode - We install the final piece of the puzzle, our source code editor, VSCode. Then install plugins that will help us with C++ development in Unreal.
-
Compiling a C++ Project - We add a C++ file to our project and learn to compile the editor.
-
UPROPERTY Variables - We learn how to add variables to a C++ class and how to make these visible in the editor. We then see how to compile our class using Live Coding.
-
C++ Files & BeginPlay - We see how to use the Cpp files to implement our code. We encounter the BeginPlay function and use it to add up variables.
-
Using Structs In C++ - We learn to create FVector variables and how to construct a Struct as well as access itâs component parts using the dot operator.
-
Calling Functions in C++ - We see what function calls look like in C++ and learn that their inputs are called Arguments. We learn how to SetActorLocation with both a variable and a constructor.
-
Tick - We learn about the Game Loop and how Tick allows us to update things every frame. We use this knowledge to make our moving platform move!
-
Local Variables - We introduce the concept of a local variable and understand the concept of scope.
-
Pseudo Code - We learn about Pseudo code and comments and use this to write a description of how we want our code to work.
-
Function Return Values - We learn the difference between a statement and expression in C++. And we see how function calls can return values for us to use.
-
Velocity & DeltaTime - We update our current location from a vector and we look at how we can make this frame rate independent using DeltaTime.
-
Scope Resolution Operator - We see how to use the :: operator to access functions within a class. We use this to calculate and visualise the distance moved by the platform.
-
If Statements - We make the platform return along itâs path by using an If-Statement and comparison operators.
-
Using Member Functions - We use the member functions of FVector to GetSafeNormal() and calculate the direction of movement.
-
Blueprint Child Classes - We make a Blueprint Child Class to get some configuration in Blueprint as well as C++.
-
Forcing Character Collisions - We work around an issue with the character by forcing it to update itâs position each frame. We then build out our obstacle course with pushing platforms.
-
GameMode - We see how to setup our own Game Mode as the project default and how this can allow us to use the âPlay from hereâ menu item.
-
Writing To The Output Log - We see how to use the UE_LOG function for write text and float variables to the output log. We use this to print our overshoot distance.
-
FString - We see how to put strings into C++ variables and then how to print these out in a log message. We use this to print the name of the actor doing the logging.
-
Member Functions - We see how we can refactor into functions to keep our code small and legible.
-
Return Statements - We learn how to make our own functions return values so that we can make our code even more legible.
-
Const Member Functions - We see how to use the const keyword to make const member functions that cannot modify members of the class. We also see how that change can require us to make other functions const.
-
FRotator - We learn how to get and set the rotation of an actor using the FRotator type. We use this to create a new rotating platform Blueprint.
-
Level Design & Polish - We sketch out a level design on paper using the elements that we can change. We then go ahead and implement this in the editor.
-
Obstacle Assault: Wrap-Up - We overview the learning takeaways from the section and see how we could take our project further.