Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/Learning-Environment-Design-Agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ physics-based simulations. For example, an agent in a robotic simulator that
must provide fine-control of joint torques should make its decisions every step
of the simulation. On the other hand, an agent that only needs to make decisions
when certain game or simulation events occur, such as in a turn-based game,
should call `Agent.RequestDecision()` manually.
should call `Agent.RequestDecision()` manually. Take a look at the [Bouncer environment](https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Examples.md#bouncer)
wherein we have removed the decision requester component and call [RequestDecision manually](https://github.com/Unity-Technologies/ml-agents/blob/master/Project/Assets/ML-Agents/Examples/Bouncer/Scripts/BouncerAgent.cs#L79).
We call this 'On Demand decisions'.

## Observations and Sensors
In order for an agent to learn, the observations should include all the
Expand Down Expand Up @@ -695,6 +697,8 @@ are masked)
WriteMask(0, new int[2]{1,2});
```

If you are looking for an example project where this is implemented, our [Gridworld](https://github.com/Unity-Technologies/ml-agents/blob/master/Project/Assets/ML-Agents/Examples/GridWorld/Scripts/GridAgent.cs#L39) example environment uses action masking.

Notes:

- You can call `WriteMask` multiple times if you want to put masks on multiple
Expand Down