1 option
Game Development Patterns with Unreal Engine 5 : Build Maintainable and Scalable Systems with C++ and Blueprint / Stuart Butler, Tom Oliver, and Christopher J. Headleand.
- Format:
- Book
- Author/Creator:
- Butler, Stuart, author.
- Oliver, Tom, author.
- Language:
- English
- Subjects (All):
- Video games--Development.
- Video games.
- Three-dimensional display systems.
- Video games--Programming.
- Physical Description:
- 1 online resource (254 pages)
- Edition:
- First edition.
- Distribution:
- London : Bloomsbury Publishing (UK), 2025.
- Place of Publication:
- Birmingham : Packt Publishing, 2024.
- System Details:
- text file HTML
- Biography/History:
- Butler Stuart: Stuart Butler is an Unreal Engine Expert with over 13 years of experience in teaching Games Development in Higher Education. Stuart has published projects in a multitude of disciplines including Technical Design, Art, and Animation. Stuart is the Course Director for Games Technology at Staffordshire University, responsible for the programming team within the UK's largest Games Education Department. Stuart is also an Unreal Authorised Instructor and Educational Content Creator who works with Epic Games on developing learning materials for Unreal Engine 5. Stuart holds a BSc (Hons) in Computer Games Design and a PgC in Higher and Professional Education. Oliver Tom: Tom Oliver is a game programmer with over 10 years of experience in working with game engines both commercially and in an educational capacity. He has used Unreal Engine for contract work both in and out of the games industry, creating systems for games to mixed reality training simulations. Tom is the Course Leader for the BSc (Hons) Computer Games Design and Programming program at Staffordshire University, responsible for maintaining the award winning structure and teaching of the course in the UK's largest Games Education Department. Tom holds a BSc (Hons) in Computer Games Design and Programming and a PGc in Higher and Professional Education. Tom specialises in researching gameplay systems driven through mathematical phenomena.
- Summary:
- 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 to translate code from Blueprint to C++ to implement performant solutions in game development Discover best practices for writing clean code and applying it to Unreal Engine 5 and C++ Purchase of the print or Kindle book includes a free PDF eBook Book Description Design patterns serve as a toolkit of techniques and practices that enable you to write code that's not only faster, but also more manageable. With this book, you'll explore a range of design patterns and learn how to apply them to projects developed in Unreal Engine 5. You'll begin by delving into the foundational principles of coding and develop a solid understanding of the concepts, challenges, and benefits of using patterns in your code. As you progress, you'll identify patterns that are woven into the core of Unreal Engine 5 such as Double Buffer, Flyweight, and Spatial Partitioning, followed by some of the existing tool sets that embody patterns in their design and usage including Component, Behavior Tree, and Update. In the next section of the book, you'll start developing a series of gameplay use cases in C++ to implement a variety of design patterns such as Interface and Event-based Observers to build a decoupled communications hierarchy. You'll also work with Singleton, Command, and State, along with Behavioral Patterns, Template, Subclass Sandbox, and Type Object. The final section focuses on using design patterns for optimization, covering Dirty Flag, Data Locality, and Object Pooling. By the end of this book, you'll be proficient in designing systems with the perfect C++/Blueprint blend for maintainable and scalable systems. What you will learn Grasp the essence of design patterns and their inherent utility Understand the layers within UE 5 and how they work together Identify the relationship between C++ code and Blueprint in Unreal Engine 5 Recognize the design patterns found within existing Unreal Engine 5 functions Explore design patterns to understand their purpose and application within Unreal Engine 5 Creatively apply design patterns to existing code to overcome common challenges Who this book is for If you are a beginner or intermediate game developer working with Unreal Engine and looking to improve your C++ coding practices, this book is tailor-made to help you produce clean, reusable code through the application of design patterns. While this book will cover introductory tasks to show the fundamentals of Unreal Engine 5, its primary purpose is not to teach Unreal Engine from scratch. Prior experience with Unreal Engine will be beneficial, but don't fret if your knowledge isn't in-depth; the book will introduce tools and features as needed.
- Contents:
- 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"
- 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
- Chapter 3: UE5 Patterns in Action - Double Buffer, Flyweight, and Spatial Partitioning
- 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
- Chapter 4: Premade Patterns in UE5 - Component, Update Method, and Behavior Tree
- 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
- Part 2: Anonymous Modular Design
- Chapter 5: Forgetting Tick
- Before we begin
- A world that ticks
- A clock that stops
- Event driven systems
- Summary.
- Chapter 6: Clean Communication - Interface and Event Observer Patterns
- 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
- Chapter 7: A Perfectly Decoupled System
- 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
- Part 3: Building on Top of Unreal
- Chapter 8: Building Design Patterns - Singleton, Command, and State
- 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
- Chapter 9: Structuring Code with Behavioral Patterns -Template, Subclass Sandbox, and Type Object
- Exploring the template pattern
- Building the template (parent class)
- Creating child classes
- Template pistol
- Template shotgun
- Understanding subclass sandbox
- Building the sandbox (parent class)
- Sandbox pistol
- Sandbox shotgun
- Type object pattern
- Variants
- Data Tables.
- Data Assets
- Chapter 10: Optimization through Patterns
- 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
- Index
- Other Books You May Enjoy.
- Notes:
- Includes bibliographical references and index.
- ISBN:
- 9781803246185
- 1803246189
- OCLC:
- 1414110768
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.