Skip to content

nodots/backgammon-ai

@nodots/backgammon-ai

Robot move selection, cube decisions, and move analysis for Nodots Backgammon. Built on @nodots/gnubg-hints, which runs GNU Backgammon evaluations in-process.

Install

npm install @nodots/backgammon-ai @nodots/backgammon-core

Quick start

import { Game } from '@nodots/backgammon-core'
import {
  initializeGnubgHints,
  executeRobotTurnWithGNU,
  shutdownGnubgHints,
} from '@nodots/backgammon-ai'

await initializeGnubgHints()

const game = Game.createNewGame(
  { userId: 'alice', isRobot: false },
  { userId: 'bob',   isRobot: true  },
)
const rolled = Game.roll(Game.rollForStart(game))

// One call drives the full robot turn: picks the best move sequence,
// applies every die, and returns the updated game.
const after = await executeRobotTurnWithGNU(rolled)

await shutdownGnubgHints()

API surface

Export Purpose
initializeGnubgHints, shutdownGnubgHints, configureGnubgHints Lifecycle for the native hints session.
executeRobotTurnWithGNU One-call, state-preserving robot turn driver.
getBestMove, getMoveHints Full checker-play evaluations.
getDoubleHint, getTakeHint Cube decisions.
GNUAIProvider, NodotsAIProvider, registerAIProvider Pluggable provider interface for custom engines.
moveAnalyzers, moveSelection, selectMoveFromList Lower-level hooks for trainers and analyzers.
luckCalculator Per-roll luck decomposition.
DEFAULT_HINTS_CONFIG Default search depth, noise, and filter settings.

Pluggable analyzers

Every candidate move passes through an ordered list of analyzers before selection. Register your own via pluginLoader — useful for building tutors, trainers, or bespoke engines that bias toward specific position types.

Strength

GNU Backgammon plays in the 2000+ FIBS rating class with full cubeful evaluations. See the Nodots dice-fairness white paper for how rolls are generated and tested against an XG/BGBlitz-comparable standard.

Ecosystem

Package Role
@nodots/backgammon-types Discriminated-union type contracts.
@nodots/backgammon-core Game logic.
@nodots/backgammon-ai AI (this package).
@nodots/backgammon-api-utils Request, response, and WebSocket contracts.
@nodots/backgammon-cli Terminal client (ndbg).
@nodots/gnubg-hints Native GNU Backgammon hints addon.

Hosted product: backgammon.nodots.com.

License

GPL-3.0. This package bridges to GNU Backgammon (itself GPL-3.0); see @nodots/gnubg-hints for details on the native bindings.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors