Game Development Patterns with Unreal Engine 5 Build Maintainable and Scalable Systems with C++ and Blueprint

Improve your game's code to make it more readable, reusable, modular, and optimized, guided by design patterns to enhance your overall use of C++ with Unreal Engine Key Features Explore the fascinating world of design patterns and their applications in Unreal Engine 5 game development Learn how...

Descripción completa

Detalles Bibliográficos
Otros Autores: Butler, Stuart, author (author), Oliver, Tom, author, Headleand, Christopher J., author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing Ltd [2023]
Edición:First edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009792869906719
Tabla de Contenidos:
  • Cover
  • Title page
  • Copyright and credits
  • Dedication
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Learning from Unreal Engine 5
  • Chapter 1: Understanding Unreal Engine 5 and its Layers
  • Technical requirements
  • Introducing Unreal Engine 5
  • Installing Unreal Engine 5 and preparing your development environment
  • The "Fuzzy" layer - bridging the gap from C++ to Blueprint
  • Property Specifiers
  • Function Specifiers
  • Useful inheritance
  • Translating back from Blueprint to C++
  • Worked example
  • Summary
  • Questions
  • Answers
  • Chapter 2: "Hello Patterns"
  • Technical requirements
  • S.O.L.I.D. principles
  • Single responsibility
  • Open-closed
  • Liskov substitution
  • Interface segregation
  • Dependency inversion
  • Exploring solutions to common problems
  • The moving box problem
  • The rotating box problem
  • The cascading cast chain problem
  • The trade-off
  • Summary
  • Chapter 3: UE5 Patterns in Action - Double Buffer, Flyweight, and Spatial Partitioning
  • Technical requirements
  • Double buffer
  • Flyweight
  • Spatial partitioning
  • Introducing World Partition
  • Understanding when objects are loaded
  • Ensuring actors are loaded when required
  • Enabling World Partition on an existing level
  • Summary
  • Chapter 4: Premade Patterns in UE5 - Component, Update Method, and Behavior Tree
  • Technical requirements
  • Understanding and creating components
  • Applying the update method for prototyping gameplay
  • Working with behavior trees
  • Creating the AI controller
  • Creating the Blackboard asset
  • Building the behavior tree
  • Summary
  • Part 2: Anonymous Modular Design
  • Chapter 5: Forgetting Tick
  • Technical requirements
  • Before we begin
  • A world that ticks
  • A clock that stops
  • Event driven systems
  • Summary.
  • Chapter 6: Clean Communication - Interface and Event Observer Patterns
  • Technical requirements
  • Interfacing communication across classes in UE5
  • Blueprint interfaces
  • Interface events versus functions
  • Interfaces in C++
  • Building an example interface communication
  • Implementing event delegate communication across UE5
  • Event delegates in Blueprint
  • Event delegates in C++
  • Building a useful delegate tool
  • Summary
  • Chapter 7: A Perfectly Decoupled System
  • Technical requirements
  • Using UML to plan a sample hierarchy
  • What are the types of class relations?
  • What is a sequence diagram?
  • Decoupling the reference train
  • Modularity and decoupling
  • Establishing infrastructure
  • Implementing decoupled design in an example
  • Benefits of decoupling
  • Summary
  • Part 3: Building on Top of Unreal
  • Chapter 8: Building Design Patterns - Singleton, Command, and State
  • Technical requirements
  • Implementing a Singleton pattern - understanding why it's a Pandora's box
  • Implementing the Command pattern for different use cases
  • Command pattern for undo functionality in Blueprint Utilities
  • Command pattern for gameplay in C++
  • Creating the many levels of a state machine
  • Exploring animation state machines
  • Enum/switch implementation
  • Static versus instanced states
  • Concurrent state machines
  • Hierarchical state machines
  • Pushdown automata
  • Summary
  • Chapter 9: Structuring Code with Behavioral Patterns -Template, Subclass Sandbox, and Type Object
  • Technical requirements
  • Exploring the template pattern
  • Building the template (parent class)
  • Creating child classes
  • Template pistol
  • Template shotgun
  • Understanding subclass sandbox
  • Building the sandbox (parent class)
  • Creating child classes
  • Sandbox pistol
  • Sandbox shotgun
  • Type object pattern
  • Variants
  • Data Tables.
  • Data Assets
  • Summary
  • Chapter 10: Optimization through Patterns
  • Technical requirements
  • Using dirty flags to reduce unnecessary processing
  • Application of dirty flags
  • How data locality affects code efficiency
  • Hot/cold splitting
  • Contiguous arrays
  • Object pooling our resources to save time later
  • Implementing object pooling
  • Making an object pool
  • Summary
  • Index
  • Other Books You May Enjoy.