You are previewing Unreal Engine: Game Development from A to Z.
O'Reilly logo
Unreal Engine: Game Development from A to Z

Book Description

Develop fantastic games and solve common development problems with Unreal Engine 4.

About This Book

  • Investigate the big world of Unreal Engine, computer graphics rendering and Material editor to implement in your games

  • Construct a top-notch game by using the assets offered by Unreal Engine, thereby reducing the time to download, create assets on your own.

  • Understand when and why to use different features and functionalities of Unreal Engine 4 to create your own games

  • Learn to use Unreal 4 by making a first person puzzle game, Blockmania, for Android.

  • Who This Book Is For

    This path is ideal for those who have a strong interest in game development and some development experience. An intermediate understanding of C++ is recommended.

    What You Will Learn

  • Explore the Unreal Engine 4 editor controls and learn how to use the editor to create a room in a game level

  • Get clued up about working with Slate, Unreal’s UI solution through the UMG Editor

  • Put together your own content and materials to build cutscenes and learn how to light scenes effectively

  • Get tips and tricks on how to create environments using terrain for outdoor areas and a workflow for interiors as well using brushes

  • Explore the ways to package your game for Android Devices and porting it to the Google Playstore

  • Know inside out about creating materials, and applying them to assets for better performance

  • Understand the differences between BSP and static meshes to make objects interactive

  • In Detail

    Unreal Engine technology powers hundreds of games. This Learning Path will help you create great 2D and 3D games that are distributed across multiple platforms.

    The first module, Learning Unreal Engine Game Development, starts with small, simple game ideas and playable projects. It starts by showing you the basics in the context of an individual game level. Then, you'll learn how to add details such as actors, animation, effects, and so on to the game. This module aims to equip you with the confidence and skills to design and build your own games using Unreal Engine 4. By the end of this module, you will be able to put into practise your own content.After getting familiar with Unreal Engine’s core concepts, it’s time that you dive into the field of game development.

    In this second module, Unreal Engine Game Development Cookbook we show you how to solve development problems using Unreal Engine, which you can work through as you build your own unique project. Every recipe provides step-by-step instructions, with explanations of how these features work, and alternative approaches and research materials so you can learn even more. You will start by building out levels for your game, followed by recipes to help you create environments, place meshes, and implement your characters. By the end of this module, you will see how to create a health bar and main menu, and then get your game ready to be deployed and published.The final step is to create your very own game that will keep mobile users hooked.

    This is what you'll be learning in our third module, Learning Unreal Engine Android Game Development,Once you get the hang of things, you will start developing our game, wherein you will graduate from movement and character control to AI and spawning. Once you've created your application, you will learn how to port and publish your game to the Google Play Store.

    With this course, you will be inspired to come up with your own great ideas for your future game development projects.

    Style and approach

    A practical collection of bestselling Packt titles, this Learning Path aims to help you skill up with Unreal Engine by curating some of our best titles into an essential, sequential collection.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Unreal Engine: Game Development from A to Z
      1. Table of Contents
      2. Unreal Engine: Game Development from A to Z
      3. Unreal Engine: Game Development from A to Z
      4. Credits
      5. Preface
        1. What this learning path covers
        2. What you need for this learning path
        3. Who this learning path is for
        4. Reader feedback
        5. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      6. 1. Module 1
        1. 1. An Overview of Unreal Engine
          1. What goes into a game?
          2. What is a game engine?
          3. The history of Unreal Engine
          4. Game development
            1. Artists
            2. Cinematic creators
            3. Sound designers
            4. Game designers
            5. Programmers
          5. The components of Unreal Engine 4
            1. The sound engine
            2. The physics engine
            3. The graphics engine
            4. Input and the Gameplay framework
            5. Light and shadow
            6. Post-process effects
            7. Artificial intelligence
            8. Online and multiplatform capabilities
          6. Unreal Engine and its powerful editors
            1. Unreal Editor
            2. Material Editor
              1. The Cascade particle system
              2. The Persona skeletal mesh animation
              3. Landscape – building large outdoor worlds and foliage
            3. Sound Cue Editor
            4. Matinee Editor
            5. The Blueprint visual scripting system
          7. Unreal programming
            1. Unreal objects
          8. A beginner's guide to the Unreal Editor
            1. The start menu
            2. Project Browser
            3. Content Browser
            4. Toolbar
            5. Viewport
            6. Scene Outliner
            7. Modes
          9. Summary
        2. 2. Creating Your First Level
          1. Exploring preconfigured levels
          2. Creating a new project
          3. Navigating the viewport
            1. Views
            2. Control keys
          4. Creating a level from a new blank map
          5. Creating the ground using the BSP Box brush
            1. Useful tip – selecting an object easily
            2. Useful tip – changing View Mode to aid visuals
          6. Adding light to a level
            1. Useful tip – positioning objects in a level
          7. Adding the sky to a level
          8. Adding Player Start
            1. Useful tip – rotating objects in a level
          9. Viewing a level that's been created
          10. Saving a level
          11. Configuring a map as a start level
          12. Adding material to the ground
          13. Adding a wall
          14. Duplicating a wall
          15. Creating an opening for a door
          16. Adding materials to the walls
          17. Sealing a room
          18. Adding props or a static mesh to the room
          19. Adding Lightmass Importance Volume
          20. Applying finishing touches to a room
            1. Useful tip – using the drag snap grid
          21. Summary
        3. 3. Game Objects – More and Move
          1. BSP Brush
            1. Background
            2. Brush type
            3. Brush solidity
          2. Static Mesh
          3. BSP Brush versus Static Mesh
          4. Making Static Mesh movable
          5. Materials
            1. Creating a Material in Unreal
            2. Materials versus Textures
            3. Texture/UV mapping
              1. How to create and use a Texture Map
              2. Multitexturing
              3. A special form of texture maps – Normal Maps
          6. Level of detail
          7. Collisions
            1. Collision configuration properties
              1. Simulation Generates Hit Events
              2. Generate Overlap Events
              3. Collision Presets
              4. Collision Enabled
              5. Object Type
              6. Collision Responses
                1. Trace Responses
                2. Object Responses
              7. Collision hulls
            2. Interactions
          8. Static Mesh creation pipeline
          9. Introducing volumes
            1. Blocking Volume
            2. Camera Blocking Volume
            3. Trigger Volume
            4. Nav Mesh Bounds Volume
            5. Physics Volume
              1. Pain Causing Volume
              2. Kill Z Volume
              3. Level Streaming Volume
              4. Cull Distance Volume
              5. Audio Volume
              6. PostProcess Volume
              7. Lightmass Importance Volume
          10. Introducing Blueprint
            1. Level Blueprint
          11. Using the Trigger Volume to turn on/off light
          12. Using Trigger Volume to toggle light on/off (optional)
          13. Summary
        4. 4. Material and Light
          1. Materials
          2. The Material Editor
            1. The rendering system
            2. Physical Based Shading Model
            3. High Level Shading Language
            4. Getting started
            5. Creating a simple custom material
            6. Creating custom material using simple textures
            7. Using custom materials to transform the level
          3. Rendering pipeline
          4. Shaders
          5. APIs – DirectX and OpenGL
            1. DirectX
              1. DirectX12
                1. Pipeline state representation
                2. Work submission
                3. Resource access
          6. Lights
            1. Configuring a Point Light with more settings
              1. Attenuation Radius
              2. Intensity
                1. Use Inverse Squared Falloff
              3. Color
            2. Adding and configuring a Spot Light
              1. Inner cone and outer cone angle
            3. Using the IES Profile
              1. Downloading IES Light Profiles
              2. Importing IES Profiles into the Unreal Engine Editor
              3. Using IES Profiles
            4. Adding and configuring a Directional Light
              1. Example – adding and configuring a Sky light
            5. Static, stationary, or movable lights
              1. Common light/shadow definitions
              2. Static Light
              3. Stationary Light
              4. Movable Light
            6. Exercise – extending your game level (optional)
              1. Useful tips
              2. Guidelines
                1. Area expansion
                  1. Part 1 – lengthening the current walkway
                  2. Part 2 – creating a big room (living and kitchen area)
                  3. Part 3 – creating a small room along the walkway
                  4. Part 4 – Creating a den area in the big room
                2. Creating windows and doors
                  1. Part 1 – creating large glass windows for the dining area
                  2. Part 2 – creating an open window for the window seat
                  3. Part 3 – creating windows for the room
                  4. Part 4 – creating the main door area
                3. Creating basic furniture
                  1. Part 1 – creating a dining table and placing chairs
                  2. Part 2 – decorating the sitting area
                  3. Part 3 – creating the window seat area
                  4. Part 4 – creating the Japanese seating area
                  5. Part 5 – creating the kitchen cabinet area
          7. Summary
        5. 5. Animation and AI
          1. What is animation?
          2. Understanding how to animate a 3D model
            1. Preparing before animation
            2. How is animation created?
          3. What Unreal Engine 4 offers for animation in games
            1. Importing animation from Maya/3ds Max
              1. Tutorial – importing the animation pack from Marketplace
            2. What can you do with Persona?
              1. Tutorial – assigning existing animation to a Pawn
            3. Why do we need to blend animations?
              1. Tutorial – creating a Blend Animation
              2. Tutorial – setting up the Animation Blueprint to use a Blend Animation
                1. AnimGraph
                2. EventGraph
          4. Artificial intelligence
            1. Understanding a Behavior Tree
            2. Exercise – designing the logic of a Behavior Tree
            3. Example – creating a simple Behavior Tree
            4. How to implement a Behavior Tree in Unreal Engine 4
            5. Navigation Mesh
              1. Tutorial – creating a Navigation Mesh
            6. Tutorial – setting up AI logic
              1. Creating the Blueprint AIController
              2. Creating the Blueprint character
              3. Adding and configuring Mesh to a Character Blueprint
              4. Linking AIController to the Character Blueprint
              5. Adding basic animation
              6. Configuring AIController
                1. Nodes to add in EventGraph
              7. Adjusting movement speed
              8. Creating the BlackBoardData
                1. Adding a variable into BlackBoardData
              9. Creating a Behavior Tree
              10. Creating a simple BT using a Wait task
              11. Using the Behavior Tree
              12. Creating a custom task for the Behavior Tree
              13. Using the PickTargetLocation custom task in BT
              14. Replacing the Wait task with Move To
            7. Implementing AI in games
          5. Summary
        6. 6. A Particle System and Sound
          1. What is a particle system?
          2. Exploring an existing particle system
          3. The main components of a particle system
            1. Modules
          4. The design principles of a particle system
            1. Research
            2. The iterative creative process
          5. Example – creating a fireplace particle system
            1. Crafting P_Fireplace
              1. Observing the solo emitters of the system
              2. Deleting non-essential emitters
              3. Focusing on editing the Flame emitter
              4. Looking at the complete particle system
          6. Sound and music
          7. How do we produce sound and music for games?
          8. Audio quality
          9. How are sounds recorded?
          10. The Unreal audio system
          11. Getting audio into Unreal
            1. The audio format
            2. The sampling rate
            3. Bit depth
            4. Supported sound channels
          12. Unreal sound formats and terminologies
          13. The Sound Cue Editor
            1. How to open the Sound Cue Editor
          14. Exercise – importing a sound into the Unreal Editor
          15. Exercise – adding custom sounds to a level
          16. Configuring the Sound Cue Editor
          17. Summary
        7. 7. Terrain and Cinematics
          1. Introducing terrain manipulation
            1. Exercise – creating hills using the Landscape tool
            2. Landscape creation options
              1. Multiple landscapes
              2. Using custom material
              3. Importing height maps and layers
              4. Scale
              5. The number of components
              6. Section Size
          2. Introducing cinematics
          3. Why do we need cut scenes?
          4. Cinematic techniques
            1. Adjusted camera functions
              1. Zoom
              2. Field of view
              3. Depth of field
            2. Camera movement
              1. Tilt
              2. Pan
              3. Dolly/track/truck
              4. Pedestal
            3. Capturing a scene
              1. Lighting
              2. Framing
                1. Some framing rules
                2. Shot types
              3. Shot plan
          5. Getting familiar with the Unreal Matinee Editor
          6. Exercise – creating a simple matinee sequence
          7. Summary
      7. 2. Module 2
        1. 1. Getting Acquainted with the UE4 Interface
          1. Introduction
          2. Installing UE4 and folder structure
            1. How to do it…
            2. There's more…
          3. UI overview
            1. Getting ready
            2. How to do it…
          4. Navigating the viewport
            1. How to do it…
          5. The Content Browser overview
            1. Getting ready
            2. How to do it…
          6. Importing your own content
            1. Getting ready
            2. How to do it…
        2. 2. Level Design – Building Out Levels or Greyboxing
          1. Introduction
          2. Building a room
            1. Getting ready
            2. How to do it…
          3. Building out a level
            1. Getting ready
              1. Some keyboard tips
              2. Seeing double – duplicating elements
            2. How to do it…
          4. Applying materials to geometry brushes
            1. Getting ready
            2. How to do it…
          5. Converting brushes to static meshes or volumes
            1. Getting ready
            2. How to do it…
        3. 3. Creating Quality Interior Environments
          1. Introduction
          2. Placing static meshes
            1. Getting ready
            2. How to do it…
          3. Placing a particle system
            1. Getting ready
            2. How to do it…
          4. Using Groups
            1. Getting ready
            2. How to do it…
          5. Meshing an example map
            1. Getting ready
            2. How to do it…
          6. Adding life to static meshes
            1. Getting ready
            2. How to do it…
        4. 4. Building the Great Outdoors – Exterior Environments
          1. Introduction
          2. Creating a landscape
            1. Getting ready
            2. How to do it…
          3. Building an exterior level using the Sculpt mode
            1. Getting ready
            2. How to do it…
          4. Creating rivers with the Flatten tool
            1. Getting ready
            2. How to do it…
          5. Placing trees and rocks using the Foliage tool
            1. Getting ready
            2. How to do it…
          6. Streaming levels
            1. Getting ready
            2. How to do it…
        5. 5. Lights, Camera, Action – Cinematics
          1. Introduction
          2. An introduction to Matinee
            1. Getting ready
            2. How to do it…
          3. Creating an opening cutscene
            1. Getting ready
            2. How to do it…
          4. Playing a Matinee via Blueprints
            1. Getting ready
            2. How to do it…
          5. Preventing a player from moving via cinematic mode
            1. Getting ready
            2. How to do it…
            3. See also
        6. 6. Lighting and Shadows
          1. Introduction
          2. Lighting overview – learning the types of lights
            1. Getting ready
            2. How to do it…
          3. Adding moveable lights – flashlight, part 1
            1. Getting ready
            2. How to do it…
          4. Creating a Day/Night cycle
            1. Getting ready
            2. How to do it…
            3. See also
        7. 7. Art Pipeline – Working with Materials
          1. Introduction
          2. Creating a custom material
            1. Getting ready
            2. How to do it…
          3. Creating a mirror material
            1. Getting ready
            2. How to do it…
          4. Using Textures and normal maps with Materials
            1. Getting ready
            2. How to do it…
          5. Creating glowing materials with static emissive lighting
            1. Getting ready
            2. How to do it…
          6. Seeing through walls
            1. Getting ready
            2. How to do it…
            3. See also
        8. 8. Blueprint Scripting – Level Effects
          1. Introduction
          2. Building a flickering light
            1. Getting ready
            2. How to do it…
          3. Converting from Level to Class Blueprints
            1. Getting ready
            2. How to do it…
          4. Using Trigger Volumes – opening a door using Matinee
            1. Getting ready
            2. How to do it…
          5. Adding to an existing Blueprint – flashlight, part 2
            1. Getting ready
            2. How to do it…
          6. Creating a Health/Damage system, part 1 – taking damage
            1. Getting ready
            2. How to do it…
            3. See also
        9. 9. C++ Programming – Gameplay
          1. Introduction
            1. When to use C++/Blueprints
          2. Setting up your development environment
            1. Getting ready
            2. How to do it…
          3. Displaying text during runtime
            1. Getting ready
            2. How to do it…
          4. Networking 101 – creating collectables with networking
            1. Getting ready
            2. How to do it…
          5. Saving or loading games and keyboard input with C++
            1. Getting ready
            2. How to do it…
          6. Creating custom blueprint nodes
            1. Getting ready
            2. How to do it…
            3. See also
        10. 10. User Interface
          1. Introduction
          2. Creating a Health/Damage system, part 2 – creating a healthbar
            1. Getting ready
            2. How to do it…
          3. Dynamic enemy healthbars
            1. Getting ready
            2. How to do it…
          4. Creating a main menu
            1. How to do it…
          5. Animating a menu
            1. Getting ready
            2. How to do it…
            3. See also
        11. 11. Publishing and Deployment
          1. Introduction
          2. Packaging your project
            1. Getting ready
            2. How to do it…
          3. Creating an installer for Windows
            1. Getting ready
            2. How to do it…
      8. 3. Module 3
        1. 1. Getting Started with Unreal 4
          1. What to expect
          2. System requirements
          3. Downloading and installing UE4
            1. The Windows directory structure
              1. Windows DirectXRedist
              2. Launcher
              3. 4.X folders
          4. The Engine Launcher
            1. News
            2. Learn
            3. Marketplace
            4. Library
            5. UE4 Links
          5. Summary
        2. 2. Launching Unreal Engine 4
          1. Meet the Editor
          2. The Unreal Project Browser
          3. The user interface
            1. The tab bar and the menu bar
            2. The toolbar
            3. Viewport
            4. Modes
            5. World Outliner
            6. Content Browser
            7. Details
          4. Hotkeys and controls
          5. Summary
        3. 3. Building the Game – First Steps
          1. Projects
            1. Creating a new project
            2. Opening an existing project
            3. Project directory structure
          2. Bloques
            1. Concept
            2. Controls
            3. Creating the project for the game
          3. BSP brushes
            1. Default BSP brush shapes
            2. Editing BSP brushes
          4. Blocking out the rooms with BSP brushes
            1. The first room
            2. The second room
            3. The third room
            4. The fourth room
          5. Content Browser
            1. Migrating and importing assets
              1. Importing assets
              2. Migrating assets
          6. Placing actors
          7. Materials
            1. The Material Editor
              1. The tab and menu bar
              2. The toolbar
              3. The Palette panel
              4. The Stats panel
              5. The Details panel
              6. The Viewport panel
              7. The Graph panel
            2. Applying materials
            3. Creating the materials
              1. Pedestals
              2. Doors
              3. Key Cubes
              4. Decorative assets
          8. Lighting
            1. Mobility
            2. Lighting up the environment
          9. Summary
        4. 4. Using Actors, Classes, and Volumes
          1. Basic classes
            1. Adding basic class actors to the game
              1. Placing the Player Start actor
              2. Adding triggers
                1. Room 1
                2. Room 2
                3. Room 3
                4. Room 4
          2. Visual Effects
            1. Adding Visual Effect actors to the game – Post Process Volume
          3. Volumes
            1. Adding Volumes to the game
              1. Lightmass Importance Volume
              2. Nav Mesh Bounds Volume
                1. Room 3
                2. Room 4
          4. All Classes
            1. Adding actors from All Classes
              1. Camera
              2. Matinee actors
              3. Target Point
                1. Room 3
                2. Room 4
          5. Summary
        5. 5. Scripting with Blueprints
          1. How Blueprint works
          2. The Level Blueprint user interface
            1. The tab and menu bars
            2. The toolbar
            3. The Details panel
            4. The Compiler Results panel
            5. My Blueprint panel
            6. The Event Graph
          3. Using Level Blueprint in the game
            1. Key cube pickup and placement
          4. The Blueprint class
            1. Creating a Blueprint class
              1. Viewport
              2. The Construction Script
              3. The Event Graph
          5. Scripting basic AI
          6. Summary
        6. 6. Using Unreal Matinee
          1. What is Unreal Matinee?
            1. Adding Matinee actors
          2. The Unreal Matinee user interface
            1. The tab and menu bar
            2. The toolbar
            3. The Curve Editor
            4. The Tracks panel
            5. The Details panel
          3. Animating the door
            1. Room 1
            2. Room 2
            3. A bridge for the AI character
          4. Summary
        7. 7. Finishing, Packaging, and Publishing the Game
          1. Adding the main menu using Unreal Motion Graphics
          2. UMG Editor
            1. The tab and menu bar
            2. The toolbar
            3. The Graph Editor
            4. The Details panel
            5. The Palette panel
            6. The Hierarchy panel
            7. The Animations panel
          3. Creating the main menu
          4. Installing the Android SDK
          5. Setting up the Android device
          6. Packaging the project
            1. The Maps & Modes settings
            2. The Packaging settings
            3. The Android app settings
            4. Building a package
          7. Developer Console
            1. ALL APPLICATIONS
              1. APK
              2. Store Listing
              3. Content Rating
              4. Pricing & Distribution
              5. In-app Products
              6. Services & APIs
            2. GAME SERVICES
              1. Game details
              2. Linked apps
              3. Events
              4. Achievements
              5. Leaderboards
              6. Testing
              7. Publishing
            3. REPORTS
            4. SETTINGS
            5. ALERTS
          8. Publishing your game
            1. Activating Google services
            2. Preparing the project for shipping
            3. Uploading the game on the Play Store
          9. Monetization methods
          10. Mobile performance and optimization
          11. Summary
        8. A. What Next?
          1. Learn
          2. AnswerHub
          3. Forums
          4. Summary
      9. A. Bibliography
      10. Index