Creating an RTS Game in Unity 2023 A Comprehensive Guide to Creating Your Own Strategy Game from Scratch Using C#

Build real-time strategy (RTS) games using Unity with practical techniques, best coding practices, and popular design patterns Key Features Learn how to implement game architecture and gameplay features Explore unit actions, resource management, physics simulations, and audiovisual enhancements to b...

Descripción completa

Detalles Bibliográficos
Otros Autores: Cicanci, Bruno, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing [2023]
Edición:First edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009770740006719
Tabla de Contenidos:
  • 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.