Book Image

Multiplayer Game Development with Unreal Engine 5

By : Marco Secchi
Book Image

Multiplayer Game Development with Unreal Engine 5

By: Marco Secchi

Overview of this book

If you’re fascinated by the immersive gaming experiences that enable multiple users to engage in collaborative or competitive gameplay, this Unreal Engine 5 game development book is for you. In this book, you’ll learn the foundational principles behind multiplayer games. Starting with a sample project, you’ll learn how to set up a networked system and make it work. Once the prototype of the project is functional, you’ll start adding game logic, including obstacles and AI opponents, to heighten the challenges and engagement, offering a captivating experience for players. Next, you’ll learn how to debug and optimize the project, before finally deploying the game build and integrating it with cloud services such as the Epic Online Services system. By the end of this book, you’ll have the confidence to develop and manage multiplayer experiences using the Unreal Engine environment, taking your newfound programming skills in your upcoming projects.
Table of Contents (22 chapters)
1
Part 1:Introducing Multiplayer Games
5
Part 2:Networking and Multiplayer Games in Unreal Engine
10
Part 3:Improving Your Game
15
Part 4:Deploying Your Game Online

Executing RPCs over the network

In this section, you’ll do some practice with RPCs by fixing the issue we are experiencing with making the character sprint correctly. As you may remember, when the character is sprinting on the client, you will get “jumpy” behavior – the character seems to start running but it is immediately brought back to a walking speed.

This happens because the sprint action is being executed on the player client, but it is not being executed on the server, which is the one that is in command; hence, the override from the server slows the character to its move speed on every update. This means that you are trying to move your character at a sprint speed but, as soon as the server replicates the movement on the client, it will bring the character back to moving speed.

We don’t even want the client to control this kind of important interaction – remember that it is the server who is in command – so, get back to...