Creating an RTS Game in Unity 2023: A comprehensive guide to creating your own strategy game from scratch using C# [Team-IRA] 180461324X, 9781804613245

Build real-time strategy (RTS) games using Unity with practical techniques, best coding practices, and popular design pa

305 124 7MB

English Pages 548 Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Creating an RTS Game in Unity 2023: A comprehensive guide to creating your own strategy game from scratch using C# [Team-IRA]
 180461324X, 9781804613245

  • Commentary
  • Thanks to Team-IRA for the True PDF

Table of contents :
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Part 1: Foundations of RTS Games
Chapter 1: Introducing Real-Time Strategy Games
What is a real-time strategy game?
Classic examples
Modern games
Understanding the game and level design of an RTS game
Character
Camera
Control
Creating a game design document
Game outline
World
Characters
Enemies and bosses
Gameplay overview
Game experience
Mechanics and modes
Summary
Further reading
Chapter 2: Setting Up Unity and the Dragoncraft Project
Technical requirements
Downloading and configuring the Unity Editor
Using Visual Studio Code as the default IDE
Importing and organizing assets from the Unity Asset Store
Summary
Chapter 3: Getting Started with Our Level Design
Technical requirements
Setting up our base scene
Scenes
Lights
Camera
Ground foundation
Level scene
Creating the first map layout using Prefabs
Creating a custom group of Prefabs
Using ScriptableObjects to configure the map
Creating ScriptableObjects for game configuration
Creating ScriptableObjects for level configuration
Adding a custom editor for the level configuration
Creating a map editor to speed up map creation
Controlling the camera
Summary
Further reading
Chapter 4: Creating the User Interface and HUD
Technical requirements
Using Canvas for a responsive UI
Setting up the UI and HUD using Prefabs
Creating the MenuButton GameObject and popup
Displaying the resources counter
Adding the action buttons
Creating the details panel using a custom camera
Rendering the minimap
Loading the UI scene additively
Summary
Further reading
Part 2: The Combat Units
Chapter 5: Spawning an Army of Units
Technical requirements
Configuring the unit ScriptableObject
Spawning units using the Object Pooling pattern
Implementing the Object Pooling pattern
Creating a BaseSpawner class
Updating the UI using the Message Queue pattern
Implementing the Message Queue pattern
Creating the message interface
Implementing the warrior unit spawner
Creating the resource type
Updating the UI
Creating a debugging tool for the Editor
Creating the Object Pool for the Warrior unit
Creating the debug script
Summary
Further reading
Chapter 6: Commanding an Army of Units
Technical requirements
Preparing the Prefabs and UI
Adding more debug options
Preparing the Prefabs and UI
Drawing the selected area in the UI
Preparing the level scene
Selecting the units
Setting a custom color for the selected units
Defining the unit selector component
Moving the units
Summary
Further reading
Chapter 7: Attacking and Defending Units
Technical requirements
Updating the UI with the selected units
Setting up the selected unit details
Setting up the selected unit actions
Attacking and defending with units
Setting up layers and collisions
Updating the UI
Attacking and playing other animations
Adding the new Mage unit and ranged attack
Creating the data, object pool, and spawner
Setting up ranged attacks with fireballs
Summary
Further reading
Chapter 8: Implementing the Pathfinder
Technical requirements
Understanding the pathfinder
The Greedy Best-First and A* algorithms
The NavMesh
The Unity AI Navigation package
Implementing the pathfinder using the NavMesh
The NavMesh component
The NavMesh Agent component
The NavMesh Obstacle component
Debugging the NavMesh
Summary
Further reading
Part 3: The Battlefield
Chapter 9: Adding Enemies
Technical requirements
Configuring the enemies
Spawning the enemies
Creating the enemy messages
Creating the enemy component
Creating the enemy spawner
Configuring the enemy spawner
Testing the enemy spawner
Damage feedback in the UI
Managing the damage feedback
Fading the text over time
Setting up the Prefabs for the damage feedback
Testing the damage feedback
Summary
Further reading
Chapter 10: Creating an AI to Attack the Player
Technical requirements
Updating the physics settings
Calculating the damage
Adding a base class for the data
Adding a base class for the characters
Updating EnemyComponent
Updating UnitComponent
Adding damage to ranged attack
Managing the collision and chase behavior
Creating the collision component
Creating the Enemy NavMesh
Updating Unit’s NavMesh
Implementing the character life cycle
Summary
Further reading
Chapter 11: Adding Enemies to the Map
Technical requirements
Creating spawn points
Adding fog on the map
Adding a new layer and updating cameras
Creating the fog component
Creating the material and Prefab for the fog
Updating the Level Manager
Patrolling the area
Summary
Further reading
Part 4: The Gameplay
Chapter 12: Balancing the Game’s Difficulty
Technical requirements
Writing unit tests
Setting up the UTF
Creating the first test script
Adding more test scripts
Using unit tests to simulate battles
Simulating a battle against a single enemy
Simulating battles against multiple enemies
Balancing the battle difficulty
Summary
Further reading
Chapter 13: Producing and Gathering Resources
Technical requirements
Generating resources
Managing the player’s inventory
Producing resources automatically
Gathering resources
Adding the new Resource layer
Producing resources manually
Testing the resources
Summary
Further reading
Chapter 14: Crafting Buildings and Defense Towers
Technical requirements
Crafting and upgrading buildings
Dragging and dropping buildings
Configuring the Resource Store
Creating the Resource Store UI
Creating the Store UI
Training units
Configuring the Unit Store
Creating the Unit Store UI
Testing the Unit Store
Defending with towers
Adding the Tower model
Adding the new Tower layer
Adding the Tower as a unit
Testing the Defense Tower
Summary
Chapter 15: Tracking Progression and Objectives
Technical requirements
Setting up objectives
Tracking objectives
Creating the Objective component
Creating the Objectives UI
Pausing the game
Winning or losing the game
Adding the Game Over popup
Summary
Further reading
Chapter 16: Exporting and Expanding Your Game
Technical requirements
Exporting Dragoncraft for desktop
Preparing the Editor scripts
Exporting the desktop build manually
Creating a build system
Adding more platforms
Expanding Dragoncraft
Adding music and sound effects
Adding more content
Summary
Further reading
Index
Other Books You May Enjoy

Polecaj historie