Creating an RTS Game in Unity 2023 (eBook)

A comprehensive guide to creating your own strategy game from scratch using C#
eBook Download: EPUB
2023 | 1. Auflage
548 Seiten
Packt Publishing (Verlag)
978-1-80461-535-5 (ISBN)

Lese- und Medienproben

Creating an RTS Game in Unity 2023 -  Bruno Cicanci
Systemvoraussetzungen
39,59 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

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.


Build real-time strategy (RTS) games using Unity with practical techniques, best coding practices, and popular design patternsKey FeaturesLearn how to implement game architecture and gameplay featuresExplore unit actions, resource management, physics simulations, and audiovisual enhancements to boost player engagementDiscover RTS mechanics such as implementing melee/ranged battles, unit spawning, dynamic maps, pathfinding, and morePurchase of the print or Kindle book includes a free PDF eBookBook DescriptionBuilding 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.What you will learnIncorporate the most used design patterns, algorithms, and techniques into your gameEmploy the best coding practices used in the games industryExplore the basics of AI and physics to create high-quality gamesBuild dynamic and configurable maps to enhance the player experienceSolve complex problems using the industry standards for Unity and C#Create the mechanics present in classic RTS games using a modern approachGain a deep understanding of how to create professional games using UnityWho this book is forIf you are a beginner game developer who wants to learn the skills to develop a professional RTS game, a programmer looking at career options in the industry who needs to develop a portfolio, or even an indie game developer seeking inspiration for your own games, this book is for you. Professional game developers, programmers with experience in C#, as well as game designers and artists looking for a practical guide to bring their game ideas to life will also find plenty of useful information in this book.]]>

Preface


Real-time strategy (RTS) is a very challenging and competitive game genre, one of the first esports before the term even existed, and the base for many other genres and subgenres, showing the importance of RTS to the game industry.

My first contact with PC gaming was in the late 1990s, and I have unforgettable memories of StarCraft and, especially, Warcraft III – two amazing RTS games that got me into PC gaming. In the last couple of decades, the RTS genre has expanded into other subgenres and was also the foundation for multiplayer online battle arena (MOBA) hits such as Dota and League of Legends.

With the Unity Engine, one of the most used game engines in recent years, we have everything that we need to build the most amazing games. In this book, we will get the most out of the built-in features in the Unity Engine, allowing us to focus on creating an RTS game that has mechanics and gameplay inspired by the classics of this genre.

You could say that we are living in a golden age of game development, where we are no longer limited by technology but by our own creativity!

Who this book is for


If you are a beginner game developer who wants to learn the skills to develop a professional RTS game, a programmer thinking of getting into the games industry and need to develop a portfolio, or even an indie game developer who is looking for inspiration to release your own games, this book is for you.

Professional game developers and programmers with experience in C# or game designers and artists that seek a practical guide to bring game ideas to life will also benefit from this book.

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.

To get the most out of this book


To get the most out of this book, a basic understanding of programming concepts and the C# programming language is required. Some experience with any game development engine or framework would be an advantage.

It is recommended that you familiarize yourself with the Unity Engine features and the interface. The Unity website has a lot of beginner-friendly content that can help you get a good understanding of the engine quickly.

Since we will develop an RTS game, it is also recommended that you play a few RTS games or watch gameplay videos on YouTube, especially the games StarCraft and Warcraft III, which are the ones we will use as a reference and inspiration to develop the features of our Dragoncraft game.

Software covered in the book

Operating system requirements

Unity Engine version 2023.1 or above

Windows or macOS

Visual Studio Code or Visual Studio 2022

Windows or macOS

C#

Windows or macOS

You will need an internet connection to download Unity, IDEs, and the assets required for the project. The disk space required for Unity Engine 2023.1 and Visual Studio Code or Visual Studio 2022 may vary, but make sure you have at least 30 GB of disk space before installing the software. The project itself should require at least 4 GB. Although it is not required, a dedicated graphics card is recommended.

You can find more information about the Unity Engine requirements in their documentation at https://docs.unity3d.com/2023.1/Documentation/Manual/system-requirements.html.

Download the example code files


You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Creating-an-RTS-game-in-Unity-2023. If there’s an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used


There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, folder names, filenames, and pathnames. Here is an example: “Add the following new Start method to the LevelManager class.”

A block of code is set as follows:

using UnityEngine; namespace Dragoncraft {   public class LevelManager : MonoBehaviour   {     private void Start()     {     }   } }

When we wish to draw your attention to a particular part of a code block, the relevant lines or...

EPUBEPUB (Ohne DRM)

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich