Multiplayer game development with Unreal Engine 5 create compelling multiplayer games with C++, Blueprints, and Unreal Engine's networking features

Discover Unreal Engine 5's networking techniques to create scalable and fully functional multiplayer game experiences Key Features Design a captivating multiplayer game using networking techniques from this illustrated guide Understand how to use the Unreal Engine networking system with C++ and...

Descripción completa

Detalles Bibliográficos
Otros Autores: Secchi, Marco, author (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/alma991009769021606719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedications
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Introducing Multiplayer Games
  • Chapter 1: Getting Started with Multiplayer Game Development
  • Technical requirements
  • Pre-requisite knowledge
  • Hardware requirements
  • Software requirements
  • Introducing multiplayer games
  • Becoming a network programmer in video games
  • Understanding multiplayer game categories
  • First-person shooters
  • Third-person shooters
  • Real-time strategy
  • Massively multiplayer online role-playing games
  • Multi-user dungeons
  • Multiplayer online battle arena
  • Reviewing gameplay twists
  • Asymmetrical gameplay
  • Hide-and-seek gameplay
  • Asynchronous gameplay
  • Is multiplayer technology just for games?
  • Cinematography
  • Architecture
  • Education
  • Unreal's Collab Viewer template
  • Summary
  • Chapter 2: Understanding Networking Basics
  • Technical requirements
  • What is computer networking?
  • Types of computer networks
  • Local Area Networks
  • Wide Area Networks
  • Virtual Private Networks
  • Introducing network protocols
  • Packet switching
  • TCP/IP suite
  • Understanding network issues
  • Security
  • Packet loss
  • Latency
  • Introducing the Unreal Engine multiplayer system
  • Network modes and server types
  • The replication system
  • Network role
  • Pawns and PlayerControllers
  • Relevance and priority
  • Remote Procedure Calls
  • Summary
  • Credits
  • Chapter 3: Testing the Multiplayer System with a Project Prototype
  • Technical requirements
  • Creating a multiplayer game prototype
  • Setting up the project from a template
  • Adding Quixel Megascans
  • Modifying the Player Controller
  • Testing a multiplayer game locally
  • Playing as a Listen Server
  • Updating over the network
  • Adding additional character spawn points
  • Updating properties over the network.
  • Creating the pickup Blueprint
  • Adding pickup variants
  • Adding a points counter to the character
  • Executing functions over the network
  • Spawning Actors
  • Skinning characters
  • Testing the game
  • Summary
  • Part 2: Networking and Multiplayer Games in Unreal Engine
  • Chapter 4: Setting Up Your First Multiplayer Environment
  • Technical requirements
  • Introducing Unreal Shadows - Legacy of the Lichlord
  • Explaining the project brief
  • Starting the project
  • Understanding C++ in Unreal Engine
  • Blueprints and C++
  • Understanding C++ classes
  • Anatomy of a UE C++ header
  • The Unreal Engine Reflection System
  • Memory management and garbage collection
  • Starting your Unreal multiplayer project
  • Creating your project file
  • Creating the project game instance
  • Creating the Game Mode and the Game State
  • Adding the player classes
  • Compiling your source code
  • Creating the Character Blueprint Class
  • Adding the Player classes to the Game Mode
  • Summary
  • Chapter 5: Managing Actors in a Multiplayer Environment
  • Technical requirements
  • Setting up the character
  • Adding basic settings to the character
  • Adding interaction to the character
  • Importing the Enhanced Input Module
  • Adding user interaction to the character
  • Testing the character's movement
  • Controlling the connection of an Actor
  • Understanding Actor relevancy
  • Understanding relevancy
  • Testing relevancy
  • Testing the relevancy settings
  • Introducing authority
  • Controlling authority with the Role and Remote Role properties of an Actor
  • Autonomous and simulated proxy
  • Summary
  • Chapter 6: Replicating Properties Over the Network
  • Technical requirements
  • Adding character stats
  • Creating the stats structure
  • Creating a stats data table
  • Reading the data table from the character
  • Adding the data table to the character.
  • Understanding property replication
  • Enabling property replication
  • Referencing Actors and components over the network
  • Handling character level-ups
  • Planning ahead
  • Declaring PlayerState properties and functions
  • Implementing the PlayerState logic
  • Adding coin pickups to the level
  • Adding a HUD to the game
  • Creating the Widget Blueprint
  • Adding code logic to the Widget Blueprint
  • Adding the HUD to the character
  • Testing the game
  • Summary
  • Chapter 7: Using Remote Procedure Calls (RPCs)
  • Technical requirements
  • Understanding what an RPC is
  • Reliability of an RPC
  • Validating RPCs
  • Executing RPCs over the network
  • Calling a function on the server
  • Implementing a door system
  • Creating the Interactable interface
  • Implementing the interact action
  • Creating the door Blueprint
  • Testing the interact action
  • Summary
  • Part 3: Improving Your Game
  • Chapter 8: Introducing AI into a Multiplayer Environment
  • Technical requirements
  • Setting up the AI system
  • Creating an AI opponent
  • Adding the navigation module
  • Creating the minion class
  • Implementing the minions' behaviors
  • Adding opponents to the level
  • Creating a spawner class
  • Testing the spawner
  • Summary
  • Chapter 9: Extending AI Behaviors
  • Technical requirements
  • Making AI opponents more challenging
  • Making some noise
  • Enabling the hearing sense
  • Testing the hearing sense
  • Implementing an alert system
  • Declaring the Game Mode functions
  • Making the AI send alert messages
  • Adding health to the AI
  • Adding a weapon system to the character
  • Creating a dagger projectile
  • Implementing the weapon component
  • Attaching the WeaponProjectile component to the character
  • Adding an input system for the weapon
  • Testing the weapon system
  • Creating AI variations
  • Creating an AI sentinel
  • Creating an AI miniboss.
  • Updating the minion spawner
  • Summary
  • Chapter 10: Enhancing the Player Experience
  • Technical requirements
  • Animating the character
  • Creating the animation assets
  • Adding the Animation System to the character
  • Adding the throw animation
  • Adding NPC Actors
  • Creating the NPC character
  • Testing the NPC Actor
  • Making further improvements to the game
  • Let's make some noise!
  • I need a key!
  • Improve your arsenal, my hero!
  • You are not a machine gun
  • No time to waste
  • Tables, tables everywhere!
  • Need some help?
  • Summary
  • Chapter 11: Debugging a Multiplayer Game
  • Technical requirements
  • Introducing network debugging
  • Explaining game debugging
  • Introducing multiplayer options
  • Logging in a networked environment
  • Filtering the LogNet category
  • Creating a custom log category
  • Emulating a networked environment
  • Enabling network emulation
  • Testing the game with network emulation
  • Using the Network Profiler
  • Recording a profiling session
  • Analyzing a profiling session
  • Improving performance and bandwidth utilization
  • Turning on replication only when necessary
  • Avoiding invoking RPCs that are not required or essential
  • Distinguishing between reliable and unreliable RPCs
  • Validating data
  • Remembering that the GameMode exists only on the server
  • Using a naming convention for RPCs
  • Summary
  • Part 4: Deploying Your Game Online
  • Chapter 12: Managing Multiplayer Sessions
  • Technical requirements
  • Understanding game sessions
  • Introducing the Online Subsystem
  • Understanding session commands
  • Understanding connection errors
  • Preparing a project game session
  • Creating a session
  • Adding the visual elements
  • Implementing the Visual Scripting logic
  • Joining a session
  • Creating the SessionItemRenderer widget
  • Creating the FindSessions widget
  • Creating the Main Menu widget.
  • Summary
  • Chapter 13: Handling Data During a Session
  • Technical requirements
  • Creating the main menu level
  • Creating the Pawn
  • Creating the GameMode
  • Creating the level
  • Testing the session system
  • Handling data during a session
  • Updating the US_GameInstance class
  • Adding the CharacterSkins data
  • Updating the US_MainMenuPawn class
  • Updating the BP_MainMenuPawn Blueprint
  • Updating the US_Character class
  • Updating the BP_Character Blueprint
  • Making further improvements
  • Leaving and destroying sessions
  • Handling player death
  • Selecting the player skin
  • Summary
  • Chapter 14: Deploying Multiplayer Games
  • Technical requirements
  • Going online for real
  • Compiling the Unreal Engine
  • Downloading the Unreal Engine source project
  • Compiling from the source code
  • Setting up a dedicated server
  • Creating the project
  • Building the project solution
  • Building the dedicated server
  • Testing the project
  • Summary
  • Chapter 15: Adding Epic Online Services (EOS)
  • Technical requirements
  • Introducing EOS
  • Accessing the Developer Portal
  • Accessing the Epic Games Developer Portal
  • Creating a Product
  • Configuring the Product services
  • Getting started with the EOS SDK
  • Downloading the EOS SDK
  • Integrating the system into your game
  • Summary
  • Index
  • Other Books You May Enjoy.