Interface for an Input. An Input represents an aspect of the game world the agent is interested in. An Input is evaluated against a response curve to produce the utility score for a consideration.

Variables

read onlyid:InputIdType = null

Id for this input.

read onlyinstanceId:Int = InstanceId.makeId()

Id for this object.

Methods

evaluate (response:Response):Float

Evaluates (appraises) an aspect of the game world against a response function, producing a utility score. Typically you will normalize this value into the range 0-1. For example, "BossMonsterHealth" could have a range of "0 to MaxBossHealth", which you might normalize to 0-1 like "var value:Float = clamp(CurrentBossHealth/MaxBossHealth, 0, 1)".

Parameters:

response

The response function you should evaluate your normalized input against.

Returns:

A floating point utility score, typically in the range 0-1.