Book Image

The Essential Guide to Creating Multiplayer Games with Godot 4.0

By : Henrique Campos
3 (2)
Book Image

The Essential Guide to Creating Multiplayer Games with Godot 4.0

3 (2)
By: Henrique Campos

Overview of this book

The Essential Guide to Creating Multiplayer Games with Godot 4.0 guides you in exploring the built-in network API for online multiplayer games, offering practical knowledge through concrete use cases. Throughout the book, you'll assume the role of a network engineer in a fictional indie game studio, tackling real-world requests from your peers and gaining expertise in adding new network features to the studio's games. Following step-by-step instructions, you’ll go from making your first network handshake to optimizing online gameplay. You’ll learn how to sync players and pass data over the internet as you add online multiplayer features to a top-down shooter adventure game. This book puts you in a fictional game project team where you set up your first online server before advancing to creating an online chat system and transitioning local gameplay to go online. With a focus on implementing multiplayer features, you’ll create shared world adventures and learn optimization techniques to allow more players to join your virtual world. By the end of this book, you’ll have learned how to set up a client-server network, implement remote procedure calls (RPCs), sync node properties remotely, and optimize your games to create smooth online multiplayer experiences.
Table of Contents (19 chapters)
1
Part 1:Handshaking and Networking
6
Part 2:Creating Online Multiplayer Mechanics
12
Part 3:Optimizing the Online Experience

Understanding network resources

We’ve already mentioned the importance of bandwidth and throughput; in Chapter 1, Setting up a Server, we even had a brief introduction to and a visual representation of the topic in Figure 1.3 and Figure 1.4. Now it’s time to wrap our heads around these concepts, which are fundamental to network usage optimization and will be our major resources to measure the improvements we made toward our optimization goals.

As a general rule, the less bandwidth and the lower the throughput of our network code, the better. Of course, we need to keep in mind that all optimizations should maintain the game experience, so we are in a very delicate position. Different from other processing, memory, and graphics optimizations, our work can’t create “beautiful accidents,” such as a processing optimization that can lead to a cool mechanic. No, our job as network engineers is to replicate the already established mechanics and effects...