Hello,
We are writing a master thesis where we are adapting the dodgeball-ml-agents environment to apply neuroevolution with the python-NEAT package. We are only using the elimination game mode and adapted it to 1v1 instead of 4v4.
The original environment: GitHub - Unity-Technologies/ml-agents-dodgeball-env: Showcase environment for ML-Agents
Our current adaption: GitHub - Hallahallan/Dodgeball-Bio-fMRI
I am new to Unity and have trouble figuring out how BufferSensors work in practice. The environment was built for attention networks and collects observations into the buffer as i believe. Meanwhile for neuroevolution i am only interested in the current observation for agent behavior by inference.
Currently the observations are severely padded by zeros which i have not made sense of why yet. I checked that it is still the case with the original environment. By counting the consequent floats i have guessed that:
Observation 1 - Seems to only report values in capture the flag, so i assume its for flag position.
Observation 2 - AgentRayCast (41 casts)
Observation 3 or 5 - Wall or Ball RayCast (21 casts)
Observation 4 - Unknown
Observation 6 - Back Raycast (3 casts)
Some seemingly random points in the observations is also filled by 1´s, as observation 5 here for example:
-
Does anyone have experience with this environment and either knows if there exists documentation on the observation space or has figured out what observation maps to which sensor?
-
How can i either limit the buffer sensors for one observation only or replace it with a fixed non-buffer sensor?
I appreciate all the help i can get!