Runs game-owned JavaScript behaviours without knowing anything about a renderer or game rules.
import { JavaScriptAI, AICancelledError, AIBudgetExceededError } from '@datamoc/mw_games/ai';const ai = new JavaScriptAI({ seed: 7 });ai.register({ id: 'guard', behaviors: [{ id: 'wait', decide: () => ({ type: 'wait' }) }] });const decision = ai.decide('guard', { perception: { visible: true } });console.log(decision.action?.type); // 'wait'void AICancelledError;void AIBudgetExceededError; Copy
import { JavaScriptAI, AICancelledError, AIBudgetExceededError } from '@datamoc/mw_games/ai';const ai = new JavaScriptAI({ seed: 7 });ai.register({ id: 'guard', behaviors: [{ id: 'wait', decide: () => ({ type: 'wait' }) }] });const decision = ai.decide('guard', { perception: { visible: true } });console.log(decision.action?.type); // 'wait'void AICancelledError;void AIBudgetExceededError;
Run alpha-beta against a game-owned state adapter for an actor or controller.
Runs game-owned JavaScript behaviours without knowing anything about a renderer or game rules.
Example