In this course, I will be able to teach you game programming from the ground up. We will cover all the aspects required to start programming games in Unreal Engine. By skipping the basics of general programming we get to dive straight into the interesting parts of game programming and finish this course with a proper game filled with essential coding concepts and a well-designed game framework.
Coding your game foundation
You will learn how to properly build your game including a solid framework to write professional-grade code that can be applied to many genres and designs. The code you write will be invaluable regardless of your own game project’s design as you learn to code games containing flexible coding principles that are widely applicable. This includes a ‘Gameplay Ability System’ style system we create from the ground up and event-based coding principles for efficient game code and UIs.
- Building C++ Game Framework
- Combining C++ and Blueprint for flexible game logic
- Unreal’s Gameplay Systems
- Event-based Programming Principles
- AI Programming (Behavior Trees, Blackboard, EQS, Custom C++ Nodes)
- Multiplayer Networking (Replication architecture, low-bandwidth, best practices)
- Saving Game State to Disk (Saving/loading player progression and world state)
- Performance Profiling Tools (Unreal Insights & in-editor tools)
- User Interfaces with UMG (using Event-based Principles)
- Async Asset Loading & Soft References
Besides the countless features listed above, the course contains so much more! It’s packed with many obscure tips and tricks. Even seasoned programmers will learn a thing or two from following this course!
Coding the Unreal Way
Throughout the course, we will cover the Unreal-specific C++ features and concepts including the Unreal Property System which is a powerful tool to expose your code to the editor and Blueprint. We create a game on top of Unreal’s Gameplay Framework using the “unreal way” of making games. Along the way I will explain the reasoning behind the code we write, normally only discovered through years of tinkering, and iterating.
Effective Debugging & Profiling
Debugging your code is an invaluable skill, and so we will cover debugging tools and tricks for both C++ and Blueprint. We finish that up with performance profiling tools to find bottlenecks or bugs that affect your gameplay.
AI & Multiplayer
The game would not be complete without some AI opponents or multiplayer with friends, you will learn how to implement both! You will discover how to use the Unreal Engine AI features including Behavior Trees, Environment Query System, and create custom C++ nodes to extend the AI capabilities. We then move on to make all our game logic work seamlessly in multiplayer as well.
Deepen your understanding...
But even that is not all. I will demonstrate how to save the game state to disk, asynchronously load game assets, show how to control VFX and materials from code, build responsive User Interfaces with UMG, tricks to utilize the powerful GameplayTags, Extending Animation Blueprints, creating of debug commands and so much more!
Challenging & Fun Assignments
Throughout the course, you will work on 7 challenging assignments to complete on your own. These are backed up with in-lesson walkthroughs and source code repository to see how your solutions compare to mine including reasoning with code discussed during class.