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...
Otros Autores: | |
---|---|
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.