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:

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

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

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

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)