Book Image

Creating an RTS Game in Unity 2023

By : Bruno Cicanci
4.5 (2)
Book Image

Creating an RTS Game in Unity 2023

4.5 (2)
By: Bruno Cicanci

Overview of this book

Building a successful real-time strategy game is challenging, because of both the complex mechanics and the need to strike a balance between different elements, ensuring that players enjoy creating and executing strategies against the game's AI. Creating an RTS Game in Unity 2023 will teach you how to install and set up the Unity game engine, create a new 3D project, and build a level editor to make it easier to modify and add maps to a game. The RTS game will start to take shape while you learn to implement different core systems such as melee and ranged battles, unit spawners, camera controls, dynamic mapping generation, basic enemy AI, and the pathfinder algorithm. You'll also get to grips with implementing command units to perform actions, crafting and producing resources, basic physics and collision detection, and building an RTS game from scratch using C# and the latest features of the Unity game engine. By the end of this book, you’ll be able to make professional and high-quality end-to-end RTS games using the best practices and techniques from the gaming industry.
Table of Contents (23 chapters)
1
Part 1: Foundations of RTS Games
6
Part 2: The Combat Units
11
Part 3: The Battlefield
15
Part 4: The Gameplay

Implementing the pathfinder using the NavMesh

To implement the pathfinder using the NavMesh on Unity, we are going to add three components to the game from the AI Navigation package. The NavMesh, NavMesh Agent, and NavMesh Obstacle components will be configured separately but, at the end of this section, they are going to work together in our RTS game.

The NavMesh component

As we just saw, NavMesh is a data structure that contains all the walkable surfaces of the game world. There are a few different ways to use it: we could let the game generate all these data dynamically at runtime, or we could pre-generate these on our scene, using a process called baking. By baking the NavMesh data, we are optimizing our scene and calculating the pathfinder much faster, using the data pre-generated by the baking process.

Another optimization that we are going to use is to limit the NavMesh to a few layers. By including only the layers that we want the NavMesh to use in the calculations...