How can I update globals during a simulation run

A number of users have asked how to modify the global properties through behaviors in the simulation.

To preserve the actor model and enable HASH’s engine to run on a distributed cloud, global properties can only be modified by the user through the globals.json file. Instead, if you have values that need to be accessed by many agents and modified, you can use an agent to stand in and change its properties according to your needs.

For instance, if you wanted a changing weather property in your simulation, you could create an agent which updates its weather field periodically, and sends messages to all other agents with the current state.weather during each time step.