Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.

Learning Path: Unreal Engine: Master Game Development

Become proficient at game development using Unreal Engine with this Learning Path

3.5
(1 rating)

Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.

If you’re a game developer who is familiar with Unreal Engine 4, and video game development in general, but want to learn more about gameplay programming in Unreal Engine 4, this learning path is for you.

Unreal Engine holds the undisputed title of being the the most successful video game engine.

Learning Path: Unreal Engine: Master Game Development is Packt’s Video Learning Path that is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The above-mentioned activities are some of the highlights of the course.

Beginning with implementing an RTS-style free roaming camera from scratch, you will then move on to selecting Non-Playable Characters (NPCs) through mouse input, and using basic Artificial Intelligence (AI) and Pathfinding to have selected NPCs move around a level. You will then be exposed to the architecture of Unreal Engine 4 classes, memory management, and basic coding utilizing the C++ programming language.

Moving on, create your own high standard game with Unreal Engine 4.x. Finally, in the last module, add a second unit to the game, making a unit attack,creating destructible environments, and bring everything together with an RTS-style user interface using Unreal Motion Graphics (UMG).

The goal of this Learning Path is to make a industry-standard game developer out of you.

This Learning Path is authored by one of the best in the field.

Jonathan A. Daley

Jonathan A. Daley is a co-founder of independent game studio Nacelle Games, which he founded with his wife Carrie Daley, in 2014. Since then they've shipped several games and apps for iOS and tvOS, as well as consulted on several VR projects. He has programmed and designed over 20 games and apps since 2013, using everything from the Unreal Engine 4 and Unity 3D game engines, to programming games and apps from scratch in Xcode and Visual Studio.

Dr. Alireza Tavakkoli

Dr. Alireza Tavakkoli is an Associate Professor of Computer Science at the University of Houston-Victoria. He is the director of the Digital Gaming and Simulation program. He is also the founding director of the Computation and Advanced Visualization Engineering Laboratory. His research interests include visual computing and visualization, Artificial Intelligence and machine learning, virtual reality for telepresence and telerobotics, and high-performance computing. During his tenure at the university, he has taught graduate and undergraduate courses in Computer Science and Gaming, including Advanced Level Design, Game Engines Programming, Gaming Network Architecture, Artificial Intelligence, Parallel Computing, and Theory of Computation.

Paul MauvielPaul Mauviel is a freelance contract consultant specializing in Virtual Reality, Unreal Engine and Containerized Web Application Technology. His most recent work is that of DreamDesk which is a Virtual Reality Desktop Application built in Unreal Engine 4 which differentiates itself from the competition by allows users to view any of their open windows in VR. Paul has also worked on multiple containerized application solutions for dynamic web application hosting and deployment.

Who is the target audience?

A game developer who is familiar with Unreal Engine 4, and video game development in general, but want to learn more about gameplay programming in Unreal Engine 4

The template we are using in Unreal Engine 4 does not use a free roaming camera. We have to create one utilizing a Pawn class. We alsohave to integrate it into the GameMode.

Creating a New Pawn Class for Controlling the Camera

09:27

The Top Down Template comes with some key bindings, but we will add some more. Then we will implement controlling the camera's movement through the use of Input Axis Events, and finally we will test the camera setup.

Implementing Keyboard Controls through Key Bindings

11:53

Most games in the RTS genre allow their camera to zoom in on the action. We can implement this functionality by modifying the SpringArm's Target Length dynamically, using Action Mappings.

Implementing Camera Zoom

12:42

The TopDown Character Blueprint that came with the Top Down Template has a lot of what we need for an infantry unit, but it also has a lot of extra things we don't need.

In this video we’ll be creating an AIController, and an Input Action, to allow us to begin programming movement for our infantry unit.

Creating an AIController and Input Action for Controlling NPC Movement

08:01

In this video we’re going to setup the User Interface for sending commands to our Infantry Units.

Implementing Responses to Mouse Input through Visual Feedback in UI

12:00

In this video, we will take advantage of Unreal Engine 4's powerful navigation and pathfinding system by utilizing the AIController class to direct Infantry Units to move to a specific location chosen by the player clicking in the game world.

Implementing Utilization of AIController to Have NPCs Path to a Desired Location

13:11

In this video, we’ll discuss several ways to begin modifying Navigation in your levels, including how to set Actors with collision interact with the Nav Mesh, reviewing Area Classes for Navigation, and how to use the Nav Modifier Volume.

Utilizing Navigation Settings on Actor'

13:12

In this video, we add some stairs and a platform to demonstrate how to use the Nav Mesh Bounds Volume to add verticality to our levels when using a navigation mesh.

Modifying Nav Mesh Data with Nav Mesh Bounds Volume

06:47

In this video, we will review how characters use the Navigation Mesh to determine where they can safely traverse a level. Then we will add custom paths into the Navigation System by using a Nav Link Proxy, and finally, we will link together several Nav Link Proxies to create complex custom paths.

During game development, a programmer may have difficulties finding assets for use within their project when on a budget. They may also need advice and guidance throughout the process. Luckily, there are a few resources for Unreal Engine developers to use.

Assets and Resources

02:46

There are many options to choose from when creating a project in Unreal Engine 4. Furthermore, navigating the generated code and setting up your IDE can be daunting.

Project Setup

05:44

Perforce is the best source control solution available to an Unreal Engine 4 developer. Unfortunately, it can also be tricky to set up. But luckily, there are several tools available for setting it up in Unreal Engine 4.

Connecting to a Perforce Repository

08:32

Git is possibly the easiest and most accessible option when it comes to Source Control. Unfortunately, Unreal Engine 4’s support for Git is still rudimentary. But fortunately, with a little knowledge, implementing Git within a project is simple.

Connecting to a Git Repository

04:25

The online and included documentation provided for Unreal Engine’s C++ API can be quite daunting for a new developer. In this lesson, I point developers in the right direction and teach them how to navigate the API.

Navigating the C++ API

06:23

Unreal Engine has a few practices and standards that should be known when working with C++. In this lesson, we explore these practices.

Unreal Engine C++ Workflow

13:22

Unreal Engine is a large framework with a strict hierarchy of class inheritance for accomplishing certain tasks. In this lesson, we explore the most common classes and data types you’ll be working with in Unreal Engine.

Unreal Engine Data Types

07:53

Unreal Engine is very macro heavy when it comes to working in C++. In this lesson, we explore the most common macros as well as their most used specifiers.

Common UE4 Macros

06:49

There are many ways to debug an Unreal Engine C++ project. Some require more time while some are more time efficient. We explore the various ways to debug projects in editor and also detail how to debug packaged applications.

Debugging C++ Projects

17:42

Knowing how to work with Unreal Engine’s built-in physics engine is key to creating realistic interactions within your game. This lesson will introduce developers to enabling physics within C++.

Basic Physics

04:21

Often developers will need to customize the physical attributes of objects in their game to achieve the behaviour they want. This lesson will go into how to apply various physical materials to your objects to achieve this.

Tuning Physics

03:40

Raycasting is one of the most utilized physics functions in 3D game development. This lesson will introduce developers to basic raycasting theory as well as show how to perform a simple raycast in Unreal Engine 4.

Basic Raycasting

08:47

Basic raycast behaviour is often not what developers need when utilizing raycasts. This lesson will go over how to customize object responses to raycasts, how to make raycasts that return multiple results, and also how to deal with the results returned.

Advanced Raycasting

07:00

Developers will often need to import pre-made assets provided to them by another Unreal Developer. Furthermore, creating levels in Unreal Engine can be a lengthy process. This lesson explains how to import animation and level assets into your project as well as gives an overview of the level provided.

Importing Assets + Level Overview

05:12

The most common type of object used to create characters in Unreal Engine is, fittingly, the ACharacter class. This lesson goes over creating a base character class which contains a camera and a mesh.

Character Foundations

07:24

The most common control methods in video games today are the keyboard and mouse, alongside the traditional gamepad. This lesson explores how to enable character movement and camera control using these control schemes.

Character Input

14:21

Animations and particle effects are heavily used in today’s 3D games to bring worlds to life. This lesson focuses on connecting our character’s mesh to various animations and adding particle effects to make actions feel more visceral.

Character Animations and Particle Effects

09:35

3D platformers are known for their tight controls and well-tuned running and jumping mechanics. This lesson explores various ways of implementing genre standard mechanics in Unreal Engine.

We need a skeletal mesh for our Vehicle unit. Luckily, Unreal Engine 4 comes with several feature packs to get you started on pretty much anything.

Importing a Sedan Skeletal Mesh

05:35

We need to create a new Character Pawn for our Vehicle Unit. Most of the Vehicle's functionality is in common with the Infantry unit we created in the previous Volume. So we're going to make our Vehicle unit a subclass of our Infantry unit.

Creating a New Pawn Class for a Vehicle Unit

14:26

We want to limit where our Vehicle can take a path to in our game level. We can do this by utilizing a custom NavArea, with a custom Navigation Query Filter, and a custom AI Controller.

Implementing Movement and Selection for New Vehicle Unit Pawn Class

17:20

In order for our Vehicle Unit to attack, we need to create a projectile for it to fire; in this case, it will be a grenade.

Creating and Implementing an Actor Blueprint of a Grenade Weapon Projectile

20:26

We need a way to control when our vehicle units are attacking, so we need to create a user interface.

Creating and Implementing a User Interface to Launch a Grenade

17:20

We need to update our unit's Blueprint Interface to include a method for Attacking, and then we'll implement the new Attack method in the Vehicle Character Blueprint.

Implementing Launching a Grenade Projectile Blueprint from a Vehicle NPC

12:43

To begin creating a destructible environment for our game, we need to create a Destructible Mesh.

Creating a Destructible Mesh

07:05

In order for our Destructible Mesh to affect the Navigation System's NavMesh, we need to create a Blueprint to house the Destructible Mesh.

Creating a Blueprint for Destructible Environment

06:17

We need to update our unit's Blueprint Interface to include a method for Attacking, and then we'll implement the new Attack method in the Vehicle Character Blueprint.

Implementing Having the Destructible Environment Affect NavMesh During Gameplay

08:30

In this video, we need to add a few buttons and some text to our User Interface (UI) to allow players to have a better control over and a better indication of unit selection.

Laying Out an RTS-Style UI Using UMG

09:38

In this video, we'll add functionality to the Player Controller and make it available to our UMG UI.

Scripting a UMG UI to Control Selecting and Deselecting NPC Units

18:14

In this video, we'll be using UMG's Animation system to add visual flourish to our UI.

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.