NEW Testing Grounds FPS shipping now, including...
English closed-captions through the course, Spanish in first section only.
This course started as a runaway success on Kickstarter. Get involved now, and get access to all future content as it's added. The final course will be over 50 hours of content and 300+ lectures.
Learn how to create and mod video games using Unreal Engine 4, the free-to-use game development platform used by AAA studios and indie developers worldwide.
We start super simple so you need no prior experience of Unreal or coding! With our online tutorials, you'll be amazed what you can achieve.
Benefit from our world-class support from both other students, and the instructors who are on the forums regularly. Go on to build several games including a tank game, and a First Person Shooter.
You will have access to a course forum where you can discuss topics on a course-wide basis, or down to the individual video. Our thriving discussion forum will help you learn and share ideas with other students.
You will learn C++, the powerful industry standard language from scratch. By the end of the course you'll be very confident in the basics of coding and game development, and hungry to learn more.
"Any serious game programmer needs to know C++"Jason Gregory, Lead Programmer at Naughty Dog (creators of Uncharted & The Last of Us)
Anyone who wants to learn to create games: Unreal Engine is a fantastic platform which enables you to make AAA-quality games. Furthermore these games can be created for Windows, consoles, MacOS, iOS, Android and Web from a single source!
If you're a complete beginner, we'll teach you all the coding and game design principles you'll need. If you're an artist, we'll teach you to bring your assets to life. If you're a coder, we'll teach you game design principles.
What this course DOESN'T cover...
Whereas this course is already huge, we can't possibly cover everything in that time. Here are some things we will not be covering...
Note: access to this course comes with an optional, free community site where you can share games and 3D models, as well as connect with other students.
Start your transformation now, you won't be disappointed!
Ben Tristem explains what this course is, and why you should consider taking it.
Software changes regularly. If your install options are different please post a screenshot in the Q&A so we can update the course. Thanks.
NOTE: Since Visual Studio 3 has released you must now use Unreal version 4.12.5 or later with this course if you are on a PC.
Check your basic understand of the Unreal ecosystem.
You’ll be ready to dive into Unreal.
(Unique Video Reference: 1b_BC_URC )
* McConnell, Steve. Code Complete. Microsoft Press 2004. Chapter 3.3
Consolodate your knowledge so far.
Wow, has it been 10 lectures already? Let's consolodate your knowledge.
Wahoo, 10 more lectures down... are you feeling clever yet?
Write a method to print a game summary to the screen once the game is over.
(Unique Video Reference: 33_BC_URC )
* Read more in Sylvester, T. Designing Games - O’Reilly
Congratulations on getting this far. Check your knowledge, watch the wrap-up video and start the next section right away!
View and download the latest slides from Google Slides, link attached.
(Unique Video Reference: 1b_BE_URC)
For more information read...
(Unique Video Reference: 1b_BT_URC)
Show mouse cursor in Unreal UI
Use a Scale Box for background image scaling
Add a Start button
Customise fonts inside our UI Widget
Set anchors so UI scales to different aspect ratios.
Bind Start button event to Blueprint
Create custom WidgetReady event
Make Start menu button focused on play
Ensure we can quit from the game
Aim towards Steam “Full Controller Support”.
How to find the camera look direction
What the WorldLocation parameter does
WorldDirection returned is a unit vector.
We want world position of anything visible
Use the ECC_Visibility channel for what’s seen
Remember HitResult is a rich object
Use HitResult.Location for Location member.
You can add required components in C++
Our Tank Aiming Component is a good candidate
We will delegate all AimAt() requests…
… regardless of their source (AI or player).
How speed and velocity relate
The high and low projectile arc
Setting a launch speed on the tank
If we #include in a .h file we create a “chain”
Any .h file that includes us will in-turn include
This can be hard to keep track of
To simply use a type, we can “forward declare”
Simply put class ClassName; under the includes
You’ll still need to #include in the .cpp to use.
This mid-section challenge will help you integrate your knowledge and really cement what you’ve done in the past few lectures. It will also give you a great foundation of practical understanding on which to build. Please give it a good shot before watching my solution.
This is the 2nd part of the solution to this section’s longer challenge. We’ll be finishing off the turret rotation, giving us complete barrel aiming control by the end :-)
Move away from CreateDefaultSubObject()
Make aiming a BlueprintSpawanableComponent
Get our code re-compiling as soon as possible
Experience hard crash and add pointer protection
Possibly get exasperated that we can’t find the suspected null-pointer causing the crash.
We don’t have a Aiming Component reference
It is hard to find a sensible time to set it
Also we don’t need the reference on the tank
We can Get Components by Class in Blueprint
Mock-up our C++ code in Blueprint.
We’re nearing the end of the section
You have several challenges over to try
These include various fixes and improvements...
Use StartSpectatingOnly() in Player Controller
DetachFromControllerPendingDestroy() in AI
Fixing a bug with our starting health
In this section we covered...
Our player controller line traces to aim
This can hit the UI in some circumstances
Change our line trace channel to ECC::Camera
Add a 1st person camera
Use the Toggle Visibility Blueprint node
Bind input and enjoy simple camera swapping.
The concept of the game
The rules of the game
Some of the asset requirements for the game
Identify possible technical challenges.
Why we need two gun meshes.
Creating Blueprint components.
Scene components vs Actor components.
Camera rotation with control rotation.
Parallel actions in Behaviour Trees.
Aborting lower priority with decorators.
Organising conditional Behaviour Trees.
(Unique Video Reference: 76_TG_URC)
(Unique Video Reference: 77_TG_URC )
(Unique Video Reference: 78_TG_URC)
(Unique Video Reference: 79_TG_URC)
(Unique Video Reference: 80_TG_URC)
(Unique Video Reference: 81_TG_URC )
(Unique Video Reference: 82_TG_URC)
(Unique Video Reference: 83_TG_URC )
(Unique Video Reference: 84_TG_URC )
(Unique Video Reference: 85_TG_URC )
(Unique Video Reference: 86_TG_URC )
(Unique Video Reference: 87_TG_URC )
(Unique Video Reference: 88_TG_URC )
(Unique Video Reference: 89_TG_URC )
(Unique Video Reference: 90_TG_URC )
(Unique Video Reference: 91_TG_URC )
(Unique Video Reference: 92_TG_URC)
(Unique Video Reference: 93_TG_URC)
(Unique Video Reference: 94_TG_URC)
(Unique Video Reference: 95_TG_URC )
(Unique Video Reference: 96_TG_URC )
(Unique Video Reference: 97_TG_URC )
(Unique Video Reference: 98_TG_URC)
Hi, I'm Ben. I have a degree in computing from Imperial College London, and a physics diploma from the Open University.
I started working for myself at the age of 15, and never looked back. I explored careers as varied as being a commercial pilot, stunt-man, rock climbing instructor, and more. None of these provided a continued challenge, and stable income in the same way technology does.
After building and selling a home computer support business, I became an angel investor and business mentor here in Cambridge UK. I fell in love with teaching game development through one of my investments, and I now spend all of my time sharing my passion with people like you.
I can't wait to help you experience the fulfilment, and financial freedom, that having a deep understanding of technology brings.
So why not start learning to make games with me and my team now?
See you soon!
I wrote my first game when I was 14 and ever since, programming has been a key part of both work and play in my life. I studied Computer Science at the University of Cambridge where I still teach undergraduates. When I'm not teaching, I'm a freelance software engineer and enjoy my work with tech start-ups and social businesses.
For me, Udemy is the opportunity to combine my passions for teaching and programming.