Book Image

Mastering Game Development with Unreal Engine 4 - Second Edition

By : Matt Edmonds
Book Image

Mastering Game Development with Unreal Engine 4 - Second Edition

By: Matt Edmonds

Overview of this book

<p>To make a basic combat game from scratch, you will quickly override existing UE4 classes, and add and implement simple C++ functions while running and building them. These are all discussed as a short summary for new developers and as a quick refresher for experienced developers. Next, you will build a combat player character with expanded controls, create logic for a character, swap weapons, attack and move, bridge over scene changes and transitions, retain data between scenes, and manage the scene-change process. </p><p>You will then build an intelligent enemy AI and add physics based particles for weapon impacts. You will also get acquainted with cutting-edge features such as Volumetric Lightmaps for precomputed lighting, and Atmospheric and Volumetric Fog, to build advanced visuals in our ongoing GitHub project. </p><p>Moving on, you will explore the tools required to build an in-game cut-scene for a more professional gameplay experience and story direction. </p><p>Along the way, you will implement a solid game UI, including writing a full in-game load and save system that will enable players to resume their game from any point. You will also prepare, build, and work on VR and AR taking them from editor to real-world, building two new projects one in each of these brand new areas of UE4 and integrate classes from the main project into AR! </p><p>By the end of the book, you will have mastered all major UE features and will be able to bring self-imagined games to life through Unreal Engine 4.18+.</p>
Table of Contents (15 chapters)

Technical requirements

For this chapter, you will need the following components:

  • Visual Studio 2015 or 2017 (any edition)
  • Unreal Engine 4.18.3 or higher built from source code

Some quick notes on platforms and installations: the aforementioned components assume that you will be using a Windows 10 PC, but there is no reason that a Mac running a current version of Xcode cannot benefit from and perform all the same work explored in this book. As the work presented will be from VS and reference some of its features, this is the recommended working environment as we progress through the chapters, but it is not specifically required. Samples will be tested from time to time and built on Mac mainly for iOS purposes in later chapters, but this book will not focus on IDE specifics other than giving steps (typically in Visual Studio terms) and tips. Code samples may reflect formatting that comes from wholeTomato.com's Visual Assist tool, which I highly recommend for Visual Studio users, but their tool does not affect building or results.

You can find all the sources referenced in all of this book's chapters at https://github.com/mattedmonds404/Mastering, with revision history for the work presented in each chapter.

For this chapter and its work, be sure to select the branch named Chapter1, the branch's dropdown on the top left of GitHub's web interface, or use the direct link for this chapter's branch at https://github.com/mattedmonds404/Mastering/tree/Chapter1

Two notes on using the project directly from GitHub: You still need to have the engine installed from source locally so you can right-click the project (Mastering/Mastering.uproject) and click Select Unreal Engine Version, and you will need to choose your installation file, which will also build the proper project files. Upon launching the Mastering.sln file in VS, please go through the following steps:

  1. Right-click the Mastering game project in the solution explorer and select Set as Startup Project so when running from VS, you launch directly into the editor for this project.
  2. Set the configuration to Development Editor, with the platform set as Win64.
  3. It may be necessary to right-click directly on the UE4 Project in the solution explorer and click Build. Sometimes, when building a game project, it will not pick up the full dependencies needed for building the engine, if this was not already done separately.

The engine version that we will be using is 4.19.0.