Skip to content

Wildfire Environment Components

This document covers some of the key components of the CREW-Wildfire Unity environment. We detail these to help further development and contribution. If you are unfamiliar with the Unity Game engine, please read the documentation here.

After completing the Environment Setup, upon entering the Wildfire Unity scene, you will find several key components already created:

components

For information regarding Dojo and Networking please refer to CREW-Dojo

Map Manager

mapmanager

The Map Manager component is responsible for procedurally generating large scale maps and running fire simulations. Within the Map Manager Game Object, you will find the MapManager Script. Here you can find key methods such as:

  • GenerateMapData (Generates perlin noise textures for for elevation, vegetation, moisture, buildings, and wind maps)
  • GenerateTerrainMesh (Generates and renders a 3D mesh for the map)
  • Set Fire (Sets a fire within the map)
  • Simulate (Simulates a fire propagation timestep)
  • UpdateAccumulativeView (Updates individual agent and accumulative minimaps)

Game Manager

gamemanager

The Game Manager component is responsible for running game logic, setting up levels, returning score functions, and rendering screenshots. Within Game Manager component, you will find the GameManager Script. Here you can find key methods such as:

  • SetUpGame (Generates and returns game objectives depending on the chosen level type)
  • CheckScore (Calculates a team score given the game state and the level's objective)
  • Save Renders (Saves synchronous POV and Minimap renders to external log folder)

AI Agent Manager

aiagentmanager

The AI Agent Manager component is reponsible for spawning and managing the embodied AI agents. Within the AI Agnet Manager component, you will find the AIAgentManager Script. Here you can find key methods such as:

  • SpawnAgents (Manages agent slots and parses game parameters to generate agents)
  • SpawnAgent (Spawns each agent prefab and assigns role)