js-chess-engine 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -202,7 +202,7 @@ Params:
202
202
  - `play` boolean (_optional_) - Whether to apply the move to the game. Default: `true`. If `false`, returns the move without modifying the game state, and `board` will contain the current state (before the move).
203
203
  - `analysis` boolean (_optional_) - If `true`, also returns an `analysis` payload containing all root legal moves scored by the engine's search (sorted best → worst). Default: `false`.
204
204
  - `ttSizeMB` number (_optional_) - Transposition table size in MB (0 to disable, min 0.25 MB). Default: **auto-scaled by AI level**. See [Auto-Scaling Transposition Table](#transposition-table) for details.
205
- - `randomness` number (_optional_) - Centipawns of random noise added to each move's score, causing the engine to occasionally prefer moves with nearly equal scores. Makes games less predictable without significantly degrading play quality. Default: `10`. Set to `0` for fully deterministic play. Reference values: `10` default (very subtle) · `30` slight variety · `80` noticeable · `200` chaotic.
205
+ - `randomness` number (_optional_) - Centipawn threshold for move variety. The engine picks randomly among all moves scoring within this many centipawns of the best move. Makes games less predictable without playing blunders. Default: `10`. Set to `0` for fully deterministic play. Reference values: `10` default (very subtle) · `30` slight variety · `80` noticeable · `200` chaotic.
206
206
  - `depth` object (_optional_) - Override AI search depth parameters. Omitted fields fall back to the level's defaults (see [Computer AI](#computer-ai) table).
207
207
  - `base` number (_optional_) - Base search depth. Integer > 0.
208
208
  - `extended` number (_optional_) - Max adaptive extension depth. Integer 0-3.
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC1D,YAAY,GAAG,IAAI;IAkJtB,OAAO,CAAC,OAAO;IAiGf,OAAO,CAAC,UAAU;IAoElB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC1D,YAAY,GAAG,IAAI;IA4ItB,OAAO,CAAC,OAAO;IAiGf,OAAO,CAAC,UAAU;IAoElB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB"}
package/dist/ai/Search.js CHANGED
@@ -54,9 +54,9 @@ class Search {
54
54
  // Populates TT progressively for better move ordering at deeper levels.
55
55
  const ASPIRATION_DELTA = 25;
56
56
  for (let d = 1; d <= baseDepth; d++) {
57
- // Collect root scores at final depth: for analysis (accurate) or randomness (PVS ok)
57
+ // Collect root scores at final depth: for analysis or randomness (both need accurate scores)
58
58
  const collectScores = (d === baseDepth) && (randomness > 0 || analysis);
59
- const disablePVS = (d === baseDepth) && analysis;
59
+ const disablePVS = (d === baseDepth) && collectScores;
60
60
  // Aspiration window: use previous iteration's score for d >= 4
61
61
  let alpha = Evaluator_1.SCORE_MIN;
62
62
  let beta = Evaluator_1.SCORE_MAX;
@@ -140,20 +140,14 @@ class Search {
140
140
  scoredMoves = iterScoredMoves;
141
141
  }
142
142
  }
143
- // Apply randomness after search is complete (noise never enters the search tree)
144
- if (randomness > 0 && scoredMoves && scoredMoves.length > 0) {
145
- let noisyBestScore = Evaluator_1.SCORE_MIN;
146
- let noisyBestMove = null;
147
- for (const entry of scoredMoves) {
148
- const noisy = (entry.score + Math.round(Math.random() * 2 * randomness - randomness));
149
- if (noisy > noisyBestScore || noisyBestMove === null) {
150
- noisyBestScore = noisy;
151
- noisyBestMove = entry.move;
152
- }
153
- }
154
- if (noisyBestMove) {
155
- bestMove = noisyBestMove;
156
- // bestScore remains the raw score of the deterministic best move
143
+ // Apply randomness: pick randomly among moves within `randomness` cp of the best score.
144
+ // This never selects blunders because even inaccurate PVS scores won't be
145
+ // within a small threshold of the best move.
146
+ if (randomness > 0 && scoredMoves && scoredMoves.length > 1) {
147
+ const threshold = bestScore - randomness;
148
+ const candidates = scoredMoves.filter(e => e.score >= threshold);
149
+ if (candidates.length > 1) {
150
+ bestMove = candidates[Math.floor(Math.random() * candidates.length)].move;
157
151
  }
158
152
  }
159
153
  return bestMove
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -85,9 +85,9 @@ export declare class Game {
85
85
  * @param options.level - AI difficulty level (1-5, default: 3). Values > 5 are clamped to 5.
86
86
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
87
87
  * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
88
- * @param options.randomness - Centipawns of random noise added to each move's score at the
89
- * root level, causing the engine to occasionally prefer moves with nearly equal scores.
90
- * Makes the engine less predictable without significantly degrading play quality.
88
+ * @param options.randomness - Centipawn threshold for move variety. The engine picks randomly
89
+ * among all moves scoring within this many centipawns of the best move.
90
+ * Makes the engine less predictable without playing blunders.
91
91
  * Default: 10 (very subtle variety). Set to 0 for fully deterministic play.
92
92
  *
93
93
  * Reference values:
package/dist/index.js CHANGED
@@ -228,9 +228,9 @@ class Game {
228
228
  * @param options.level - AI difficulty level (1-5, default: 3). Values > 5 are clamped to 5.
229
229
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
230
230
  * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
231
- * @param options.randomness - Centipawns of random noise added to each move's score at the
232
- * root level, causing the engine to occasionally prefer moves with nearly equal scores.
233
- * Makes the engine less predictable without significantly degrading play quality.
231
+ * @param options.randomness - Centipawn threshold for move variety. The engine picks randomly
232
+ * among all moves scoring within this many centipawns of the best move.
233
+ * Makes the engine less predictable without playing blunders.
234
234
  * Default: 10 (very subtle variety). Set to 0 for fully deterministic play.
235
235
  *
236
236
  * Reference values:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-chess-engine",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Simple and fast Node.js chess engine with configurable AI and no dependencies",
5
5
  "keywords": [
6
6
  "chess",