def METHOD_NAME(self):
    # set actions for scripted agents
    for agent in self.scripted_agents:
        agent.action = agent.action_callback(agent, self)
    # gather forces applied to entities
    p_force = [None] * len(self.entities)
    # apply agent physical controls
    p_force = self.apply_action_force(p_force)
    # apply environment forces
    p_force = self.apply_environment_force(p_force)
    # integrate physical state
    self.integrate_state(p_force)
    # update agent state
    for agent in self.agents:
        self.update_agent_state(agent)