Book Image

Game Development Projects with Unreal Engine

By : Hammad Fozi, Gonçalo Marques, David Pereira, Devin Sherry
Book Image

Game Development Projects with Unreal Engine

By: Hammad Fozi, Gonçalo Marques, David Pereira, Devin Sherry

Overview of this book

Game development can be both a creatively fulfilling hobby and a full-time career path. It's also an exciting way to improve your C++ skills and apply them in engaging and challenging projects. Game Development Projects with Unreal Engine starts with the basic skills you'll need to get started as a game developer. The fundamentals of game design will be explained clearly and demonstrated practically with realistic exercises. You’ll then apply what you’ve learned with challenging activities. The book starts with an introduction to the Unreal Editor and key concepts such as actors, blueprints, animations, inheritance, and player input. You'll then move on to the first of three projects: building a dodgeball game. In this project, you'll explore line traces, collisions, projectiles, user interface, and sound effects, combining these concepts to showcase your new skills. You'll then move on to the second project; a side-scroller game, where you'll implement concepts including animation blending, enemy AI, spawning objects, and collectibles. The final project is an FPS game, where you will cover the key concepts behind creating a multiplayer environment. By the end of this Unreal Engine 4 game development book, you'll have the confidence and knowledge to get started on your own creative UE4 projects and bring your ideas to life.
Table of Contents (19 chapters)
Preface

Variable Replication

One of the ways the server can keep the clients synchronized is by using variable replication. The way it works is that every specific number of times per second (defined per actor in the AActor::NetUpdateFrequency variable, which is also exposed to blueprints) the variable replication system in the server will check whether there are any replicated variables (explained in the next section) in the client that needs to be updated with the latest value.

If the variable meets all of the replication conditions, then the server will send an update to the client and enforce the new value.

For example, if you have a replicated Health variable and the client on its end uses a hacking tool to set the value of the variable from 10 to 100, then the replication system will enforce the real value from the server and change it back to 10, which nullifies the hack.

Variables are only sent to the client to be updated if:

  • The variable is set to replicate.
  • ...