indexProvidence
class Providence
import { Providence } from ".";

Makes decisions

Constructors

new
Providence(context: Context)

Methods

private
assignProbabilitiesToActions(random: Random, actorReference: ActorReference, actionReferences: readonly ActionReference[]): Promise<readonly WeightedAction[]>

Assigns probabilities to Actions based on Actor and game state

rejectImpossibleActions(random: Random, actorReference: ActorReference, actionReferences: readonly ActionReference[]): Promise<readonly ActionReference[]>

Rejects Actions which are currently impossible for the Actor

resolve(random: Random, actorReference: ActorReference, actionReferences: readonly ActionReference[]): Promise<Decision>

Given a Actor and a set of available Actions

  • Finds Actions which are possible for the Actor right now
  • Assigns probabilities to them based on Actor and game state
  • Randomly selects one Action to pursue
  • Returns the resulting Decision
private
selectAnAction(random: Random, weightedActions: readonly WeightedAction[]): Decision

Selects an Action via weighted distribution random selection