What this book covers
In Chapter 1, Introducing Real-Time Strategy Games, we will learn what an RTS game is, the level and game design characteristics of this genre, and see the game design document of Dragoncraft, the game you will make in this book.
In Chapter 2, Setting Up Unity and the Dragoncraft Project, we will install the Unity Engine and our IDE, as well as setting up our project and importing the packages we will use from the Unity Asset Store.
In Chapter 3, Getting Started with Our Level Design, we start developing the first features of our RTS game by creating a level scene and the map using Prefabs, and then we will create a custom editor tool to speed up the level design and implement the camera movement.
In Chapter 4, Creating the User Interface and HUD, we will create our game UI using Unity’s Canvas and UI elements, and we will also add more cameras to render 3D objects in the UI.
In Chapter 5, Spawning an Army of Units, you will learn how to create a flexible system to configure units using ScriptableObjects, spawn the new Warrior unit using the Object Pooling pattern, and update the UI using the Message Queue pattern.
In Chapter 6, Commanding an Army of Units, we will see how to select the units on the map and give them a command to move to any position in a scene.
In Chapter 7, Attacking and Defending Units, you will learn how to implement the attack and defense for the units using the Command pattern, and we will add a new Mage unit and create a ranged attack by throwing a fireball.
In Chapter 8, Implementing the Pathfinder, you will learn the different strategies to implement a Pathfinder algorithm, and then we will see how we can use the unit’s NavMesh system with our units.
In Chapter 9, Adding Enemies, it is time to start adding enemies to our game by creating a configuration and spawning each of the three different types – an Orc, a Golem, and a Dragon.
In Chapter 10, Creating an AI to Attack the Player, you will learn how to set up Unity’s physics settings, detect collision and calculate damage, and make enemies chase the units.
In Chapter 11, Adding Enemies to the Map, we will create spawn points on the map to add enemies in the level configuration and make them patrol a specific area, and we will also create fog to cover the unexplored parts of the map.
In Chapter 12, Balancing the Game’s Difficulty, you will learn how to use unit tests to simulate battles between units and enemies, as well as how to analyze the results and iterate on a character’s configuration to balance the difficulty.
In Chapter 13, Producing and Gathering Resources, you will learn how to produce resources automatically and command units to gather resources on the map.
In Chapter 14, Crafting Buildings and Defense Towers, we will add buildings to upgrade the resource generation, learn how to upgrade units to make them stronger, and add a new tower defense unit to protect the settlement against enemies that are within its attack range.
In Chapter 15, Tracking Progression and Objectives, you will learn how to create and track objectives that will help in the game progression to determine whether the player won or lost the game.
In Chapter 16, Exporting and Expanding Your Game, you will learn how to export your game for desktop platforms manually and then automate the process using a build system, as well as see how you can expand the game by adding more content.