Goal-Oriented Action Planning (GOAP). Entities define goals (desired world state) and available actions (preconditions + effects). The planner uses A* to find optimal action sequences.
Usage:
const planner = new GOAPPlanner();planner.addAction({ name: 'pickUpWeapon', cost: 1, preconditions: { nearWeapon: true }, effects: { hasWeapon: true },});planner.addAction({ name: 'attack', cost: 1, preconditions: { hasWeapon: true, nearEnemy: true }, effects: { enemyDead: true },});const plan = planner.plan( { nearWeapon: true, nearEnemy: false, hasWeapon: false, enemyDead: false }, { enemyDead: true },);// → ['pickUpWeapon', 'attack'] (or similar) Copy
const planner = new GOAPPlanner();planner.addAction({ name: 'pickUpWeapon', cost: 1, preconditions: { nearWeapon: true }, effects: { hasWeapon: true },});planner.addAction({ name: 'attack', cost: 1, preconditions: { hasWeapon: true, nearEnemy: true }, effects: { enemyDead: true },});const plan = planner.plan( { nearWeapon: true, nearEnemy: false, hasWeapon: false, enemyDead: false }, { enemyDead: true },);// → ['pickUpWeapon', 'attack'] (or similar)
Goal-Oriented Action Planning (GOAP). Entities define goals (desired world state) and available actions (preconditions + effects). The planner uses A* to find optimal action sequences.
Usage: