BFEvaluationInfo Class

The BFEvaluationInfo is passed to the custom bruteforce evaluation function. The built-in bruteforce algorithm divides the process into two parts: the initial and search phases.

The initial phase is used to play out the base replay to its full length and collect necessary information about the replay. Plugins should use this phase to e.g. get the finish time of the replay, or other information that is required for later comparison in the search phase.

The search phase is when bruteforce repeatedly changes inputs of the base replay and evaluates if the resulting replay is better than the base replay. If the attempt did not improve the target metric, current inputs are replaced with previous best inputs which are modified again. This process is repeated until the Escape key is pressed or the plugin returns BFEvaluationDecision::Stop.

After each improvement, TMInterface runs the initial phase again, to collect new targets. If you are implementing a custom bruteforce evaluation, you should ideally only rely on the initial phase to set new optimization targets, instead of setting them when an improvement is found in the search phase. On each improvement, you should just return BFEvaluationDecision::Accept as the decision, and collect the new targets in the initial phase.

Behaviors

~BFEvaluationInfo()
BFEvaluationInfo()

Methods

Properties

BFPhase Phase
bool Rewinded
uint Iterations