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

Roles

When you spawn an actor on the server, there will be a version of the actor created on the server and one on each client. Since there are different versions of the same actor on different instances of the game (Server, Client 1, Client 2, and so on), it is important to know which version of the actor is which. This will allow us to know what logic can be executed in each of these instances.

To help with this situation, every actor has the following two variables:

  • Local Role: The role that the actor has on the current game instance. For example, if the actor was spawned on the server and the current game instance is also the server, then that version of the actor has authority, so you can run more critical gameplay logic on it. It's accessed by calling the GetLocalRole() function.
  • Remote Role: The role that the actor has on the remote game instance. For example, if the current game instance is the server, then it returns the role the actor has on clients...