Muutke küpsiste eelistusi

E-raamat: Building Multiplayer Games in Unity: Using Mirror Networking

  • Formaat: PDF+DRM
  • Ilmumisaeg: 03-Dec-2021
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484274743
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 03-Dec-2021
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484274743
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Intermediate-Advanced user level

Take a deep dive into creating large-scale, multiplayer games with Unity 3D, using Mirror Networking and a variety of powerful transports. You will learn the fundamentals of RPC/Command multiplayer architecture and dig deeper into networking and data persistence to achieve scalable, highly performant, large-scale, multiplayer games in Unity.

This book explains how to develop multiplayer games using Unity within a commercial or enterprise environment. You will take a look at the networking fundamentals behind multiplayer games, including packets and the importance of keeping packets small. Next, you will look into Mirror Networking and see how to leverage a variety of transport layers to achieve large-scale, multiplayer games. Using Unity 3D as the core focus, you will get an understanding of the RPC/Command architecture and how you can utilize different authoritative structures to best suit your needs. You will also learn how to scale your architecture and explore industry-leading methods of deploying your game to the masses. You will also get a solid understanding of networking principles. 

The book wraps up with advice from leading experts who shed light on past mistakes and provide valuable insights for your next project. This book breaks down daunting concepts into easy-to-understand pieces of knowledge to help you create your first multiplayer game. It is a must-read for any developer looking to understand multiplayer games and networking.



What You Will Learn

?       Learn advanced multiplayer concepts and how to use them

?       Understand the key concepts for creating multiplayer virtual experiences

?       Know the basics of computer networking and how to employ them

?       Deploy large, scalable multiplayer infrastructures for your games

?       Gain insights from other industry professionals



Who Is This Book For

Intermediate to advanced Unity 3D developers looking to understand multiplayer networking and deploying large-scale products. Having a solid understanding of C# and Unity is required, and having an understanding or prior experience with networking principles such as IPv4 would be advantageous.
About the Author xi
About the Technical Reviewer xiii
Chapter 1 A Brief Introduction
1(6)
Why Multiplayer?
2(2)
Benefits of Multiplayer
2(1)
Caveats of Multiplayer
3(1)
The Options of Multiplayer in Unity
4(1)
Why Mirror?
5(1)
Prerequisites and Resources
5(1)
Summary
6(1)
Chapter 2 The Messenger Pigeon, Packets, and a Trip Around the World
7(60)
Introduction to Networking
7(2)
A Brief History of Networking
8(1)
Understanding Packets
9(4)
A Look at TCP Packets
10(2)
A Look at UDP packets
12(1)
How Packets of Data Get Transported Around the World
13(34)
TCP/IP Model
13(2)
IPv4 -- Internet Protocol Version 4
15(3)
ARP -- Address Resolution Protocol
18(1)
DNS -- Domain Name System
19(1)
How a Headshot Travels Around the World
20(3)
The Importance of Keeping Your Packets Small
23(4)
Network Topologies
27(8)
Gateways
35(1)
DHCP -- Dynamic Host Configuration Protocol
36(4)
NAT -- Native Address Translation
40(2)
Port Forwarding
42(1)
Ports
43(4)
Security
47(5)
The Firewall
47(1)
Kinds of Attacks and How to Mitigate Them
48(4)
Networking Diagnostic
52(6)
Tools of the Trade
52(6)
Summary
58(1)
Exercises
59(8)
Chapter 3 A Hall of Mirrors
67(32)
Architecture
67(1)
Transport Layers
68(9)
Comparing Transport Layers
69(2)
Additional Transport Component Logic
71(4)
Layers of Choice
75(2)
The Client, the Server, and the Host
77(3)
The Client
78(1)
The Server
78(1)
The Host
79(1)
The Network Manager
80(14)
Configuration
82(1)
Scene Management
83(1)
Network Info
83(1)
Authentication -- Network Authenticator
84(9)
Player Object
93(1)
Registered Spawnable Prefabs
94(1)
Network Identities
94(1)
Summary
95(4)
Chapter 4 The Chain of Command
99(48)
Authority
99(1)
Game Server Architecture
100(11)
Input vs. State-Based Architecture
101(2)
Deterministic vs. Indeterministic Architecture
103(1)
Peer-to-Peer
104(4)
Lockstep
108(1)
Client-Server Architecture
108(3)
Understanding the Chain of Command
111(26)
Remote Procedure Calls
113(2)
Commands
115(2)
Synchronization -- Properties
117(10)
Synchronization -- Components
127(6)
Network Messages
133(3)
Client-Side Prediction
136(1)
Spawning
137(3)
Registering Prefabs During Runtime
140(1)
Mirror's Order of Events
140(1)
Interest Management
141(4)
A Note About Hosts
145(1)
Creating Our First Multiplayer Game
145(2)
What If I Get Stuck?
146(1)
Chapter 5 The Memory of a Goldfish
147(24)
What Is Data Persistence, and Why Is It Important?
147(3)
Data Persistence Using Player Prefs
147(2)
Data Persistence for Large-Scale Multiplayer Games
149(1)
What Are Database Engines?
150(4)
Relational vs. Non-relational Databases
150(4)
Using DynamoDB
154(15)
Installing the AWS DotNet API
155(1)
Configuring AWS DotNet API
155(2)
Connecting to the Database from Your Game Server
157(1)
Designing the Database
158(3)
Storing Information
161(4)
Retrieving Information
165(2)
Updating Information
167(2)
Serving Content to Your Players
169(1)
Some Closing Notes for AWS API
169(2)
Chapter 6 Scaling Up, A Lot
171(24)
Viral Game Studies
172(3)
How Among Us Became a Part of Us
172(2)
"Halo Meets Portal"
174(1)
Hosting Servers
175(4)
Shared/Virtual Hosting
176(1)
Dedicated Hosting/Bare-Metal
177(1)
So, What Is the Best Option for Hosting Then?
178(1)
Using Cloud Services to Host Your Game Servers
179(15)
AWS -- Amazon Web Services
180(7)
Google Cloud
187(3)
Azure
190(3)
Unity Multiplay
193(1)
Stress Testing, Stress Clients, and Market Research
194(1)
Chapter 7 Insights from the Masters
195(8)
Michael "vis2k" W. -- Mirror Networking
195(4)
Tell Me a Bit About Yourself and Where You Come From
195(2)
What Are Some of the Biggest Networking-Related Challenges That You and Your Team, or Clients, Have Faced While Shipping Multiplayer Games?
197(1)
How Did You Overcome These Challenges?
197(1)
What Would You Say Is Important?
198(1)
How Much Value Per Player in USD Is a Good Target?
198(1)
What Is Your Preferred Cloud Infrastructure Provider for Server Hosting?
198(1)
What Is the Most Crucial Piece of Advice You Could Give to Someone Learning Multiplayer Game Development?
198(1)
Do You Have Any Other Advice That You'd Like to Include for My Readers?
199(1)
Do You Want to Thank Anyone?
199(1)
Curt -- Senior Solutions Architect
199(4)
Tell Me a Bit About Yourself and Where You Come From
199(1)
What Are Some of the Biggest Networking-Related Challenges That You and Your Team, or Clients, Have Faced While Shipping Multiplayer Games?
200(1)
How Did You Overcome These Challenges?
201(1)
What Would You Say Is Important?
201(1)
What Is More Important in Multiplayer-Level Design? Balance or Map Fun Factor?
201(1)
How Much Value Per Player in USD Is a Good Target?
201(1)
How Much Should You Be Spending on Cloud Infrastructure as a Percentage of Your Budget?
202(1)
What Is Your Preferred Cloud Infrastructure Provider for Databases?
202(1)
What Is Your Preferred Cloud Infrastructure Provider for Server Hosting?
202(1)
What Is the Most Crucial Piece of Advice You Could Give to Someone Learning Multiplayer Game Development?
202(1)
Chapter 8 Challenge What You Know
203(26)
Beginner Challenges -- Core Multiplayer Functionality
203(9)
Challenge #1 Multiplayer 2D Table Tennis
204(4)
Challenge #2 Top-Down Shooter Prototype
208(4)
Intermediate Challenges -- User Data Persistence
212(3)
Challenge #3 Chat Room App with a User Message History
212(3)
Advanced Challenges -- World Persistence
215(14)
Challenge #4 Farming Mechanics with World Persistence
216(5)
Challenge #5 Box-Hoarder
221(8)
Chapter 9 Where To Now? Conclusion
229(2)
A Special Thank You
229(2)
Index 231
Dylan Engelbrecht is a Unity specialist. Born and raised in South Africa, he has worked at the top enterprise VR development studio in South Africa, and hes currently working at the largest game development studio on the continent. He has in-depth knowledge of commercial and enterprise game development, with work showcased by invite at Comic-Con Africa and rAge Expo. He is an avid gamer who enjoys immersive experiences and real-time strategy games.