js-chess-engine 2.3.1 → 2.3.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 +11 -11
- package/dist/ai/AIEngine.d.ts.map +1 -1
- package/dist/ai/AIEngine.js +7 -5
- package/dist/ai/AIEngine.js.map +1 -1
- package/dist/ai/TranspositionTable.js +12 -12
- package/dist/ai/TranspositionTable.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/utils/environment.d.ts +2 -2
- package/dist/utils/environment.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -240,7 +240,7 @@ console.log(result3.move) // AI move with level 3
|
|
|
240
240
|
|
|
241
241
|
// TT size auto-scales by level (see Auto-Scaling Transposition Table section)
|
|
242
242
|
const result4 = game.ai({ level: 5 })
|
|
243
|
-
console.log(result4.move) // Level 5:
|
|
243
|
+
console.log(result4.move) // Level 5: 16 MB Node.js / 8 MB browser (auto)
|
|
244
244
|
|
|
245
245
|
// Override TT size manually if needed
|
|
246
246
|
const result5 = game.ai({ level: 3, ttSizeMB: 128 })
|
|
@@ -478,7 +478,7 @@ console.log(result3.move) // AI move with level 3
|
|
|
478
478
|
|
|
479
479
|
// TT size auto-scales by level (see Auto-Scaling Transposition Table section)
|
|
480
480
|
const result4 = ai(fen, { level: 5 })
|
|
481
|
-
console.log(result4.move) // Level 5:
|
|
481
|
+
console.log(result4.move) // Level 5: 16 MB Node.js / 8 MB browser (auto)
|
|
482
482
|
|
|
483
483
|
// Override TT size manually if needed
|
|
484
484
|
const result5 = ai(fen, { level: 3, ttSizeMB: 128 })
|
|
@@ -578,10 +578,10 @@ The engine includes a sophisticated AI based on the Minimax algorithm with alpha
|
|
|
578
578
|
|
|
579
579
|
| Level | Alias | Description | Base Depth | Extended Depth | Check Ext. | Quiescence | Total Max |
|
|
580
580
|
| :---: | :---------------- | :----------------------------------- | :--------: | :------------: | :--------: | :--------: | :-------: |
|
|
581
|
-
| 1 | Beginner | Very weak play, minimal lookahead | 1 ply | +
|
|
582
|
-
| 2 | Easy | Suitable for new chess players | 2 ply | +
|
|
583
|
-
| 3 | Intermediate | Balanced difficulty (default) |
|
|
584
|
-
| 4 | Advanced | Strong play with deeper search | 3 ply | +
|
|
581
|
+
| 1 | Beginner | Very weak play, minimal lookahead | 1 ply | +0 ply | +0 ply | +0 ply | 1 ply |
|
|
582
|
+
| 2 | Easy | Suitable for new chess players | 2 ply | +0 ply | +1 ply | +0 ply | 3 ply |
|
|
583
|
+
| 3 | Intermediate | Balanced difficulty (default) | 2 ply | +1 ply | +1 ply | +1 ply | 5 ply |
|
|
584
|
+
| 4 | Advanced | Strong play with deeper search | 3 ply | +2 ply | +1 ply | +2 ply | 8 ply |
|
|
585
585
|
| 5 | Expert | Very strong play, deep search | 4 ply | +3 ply | +1 ply | +4 ply | 12 ply |
|
|
586
586
|
|
|
587
587
|
**Depth Components:**
|
|
@@ -621,11 +621,11 @@ The engine automatically adjusts cache size based on AI level and environment:
|
|
|
621
621
|
|
|
622
622
|
| AI Level | Node.js Cache | Browser Cache | Use Case |
|
|
623
623
|
| :------: | :-----------: | :-----------: | :--------------------------- |
|
|
624
|
-
| 1 |
|
|
625
|
-
| 2 |
|
|
626
|
-
| 3 |
|
|
627
|
-
| 4 |
|
|
628
|
-
| 5 |
|
|
624
|
+
| 1 | 0.5 MB | 0.25 MB | Lightweight, fast responses |
|
|
625
|
+
| 2 | 1 MB | 0.5 MB | Mobile-friendly performance |
|
|
626
|
+
| 3 | 2 MB | 1 MB | Balanced (default) |
|
|
627
|
+
| 4 | 8 MB | 4 MB | Strong tactical play |
|
|
628
|
+
| 5 | 16 MB | 8 MB | Very strong play |
|
|
629
629
|
|
|
630
630
|
Lower levels use less memory for faster responses, higher levels use more for better move quality. Browser cache sizes are appropriate for modern devices (2024+). Override with `ttSizeMB` option if needed.
|
|
631
631
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D;;;GAGG;AACH,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D;;;GAGG;AACH,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAkBD;;;GAGG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAc;;IAMnC;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,GAAE,OAAW,EAAE,QAAQ,GAAE,MAAW,EAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,GAAG,IAAI;IAKtL;;;;OAIG;IACH,oBAAoB,CAChB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;KACjB,GACP,YAAY,GAAG,IAAI;IA2BtB;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW;IAIjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;CA+B3B"}
|
package/dist/ai/AIEngine.js
CHANGED
|
@@ -16,11 +16,13 @@ const types_1 = require("../types");
|
|
|
16
16
|
const LEVEL_CONFIG = {
|
|
17
17
|
// NOTE: Depth is the single biggest speed lever.
|
|
18
18
|
// These values are intentionally conservative for browser-friendliness.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
// Tuning note (2026-02): lower levels intentionally omit tactical extensions
|
|
20
|
+
// (check extensions + deep quiescence) so they're easier to beat.
|
|
21
|
+
1: { baseDepth: 1, extendedDepth: 0, checkExtension: false, qMaxDepth: 0 }, // Beginner
|
|
22
|
+
2: { baseDepth: 2, extendedDepth: 0, checkExtension: true, qMaxDepth: 0 }, // Easy
|
|
23
|
+
3: { baseDepth: 2, extendedDepth: 1, checkExtension: true, qMaxDepth: 1 }, // Intermediate (default)
|
|
24
|
+
4: { baseDepth: 3, extendedDepth: 2, checkExtension: true, qMaxDepth: 2 }, // Advanced
|
|
25
|
+
5: { baseDepth: 4, extendedDepth: 3, checkExtension: true, qMaxDepth: 4 }, // Expert (unchanged)
|
|
24
26
|
};
|
|
25
27
|
/**
|
|
26
28
|
* AI Engine class
|
package/dist/ai/AIEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,qCAAkC;AAClC,yDAA2D;AAC3D,oCAAiC;AAajC;;;GAGG;AACH,MAAM,YAAY,GAAiC;IAC/C,iDAAiD;IACjD,wEAAwE;IACxE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,24 +22,24 @@ function getRecommendedTTSize(level) {
|
|
|
22
22
|
if ((0, environment_1.isNodeEnvironment)()) {
|
|
23
23
|
// Node.js - more generous memory allocation
|
|
24
24
|
const nodeSizes = {
|
|
25
|
-
1:
|
|
26
|
-
2:
|
|
27
|
-
3:
|
|
28
|
-
4:
|
|
29
|
-
5:
|
|
25
|
+
1: 0.5, // Level 1: 0.5 MB
|
|
26
|
+
2: 1, // Level 2: 1 MB
|
|
27
|
+
3: 2, // Level 3: 2 MB (default)
|
|
28
|
+
4: 8, // Level 4: 8 MB
|
|
29
|
+
5: 16, // Level 5: 16 MB
|
|
30
30
|
};
|
|
31
|
-
return nodeSizes[level] ??
|
|
31
|
+
return nodeSizes[level] ?? 2;
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
// Browser - modern-device-friendly allocation (reasonable for 2024+ devices)
|
|
35
35
|
const browserSizes = {
|
|
36
|
-
1: 0.
|
|
37
|
-
2:
|
|
38
|
-
3:
|
|
39
|
-
4:
|
|
40
|
-
5:
|
|
36
|
+
1: 0.25, // Level 1: 0.25 MB (ultra-lightweight)
|
|
37
|
+
2: 0.5, // Level 2: 0.5 MB (mobile-friendly)
|
|
38
|
+
3: 1, // Level 3: 1 MB (balanced default)
|
|
39
|
+
4: 4, // Level 4: 4 MB (strong performance)
|
|
40
|
+
5: 8, // Level 5: 8 MB (very strong play)
|
|
41
41
|
};
|
|
42
|
-
return browserSizes[level] ??
|
|
42
|
+
return browserSizes[level] ?? 1;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranspositionTable.js","sourceRoot":"","sources":["../../src/ai/TranspositionTable.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgBH,oDAsBC;AAlCD,2CAAmD;AACnD,sDAAyD;AAEzD,2CAA2C;AAC3C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAC9C,IAAI,IAAA,+BAAiB,GAAE,EAAE,CAAC;QACtB,4CAA4C;QAC5C,MAAM,SAAS,GAA2B;YACtC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"TranspositionTable.js","sourceRoot":"","sources":["../../src/ai/TranspositionTable.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ export declare class Game {
|
|
|
84
84
|
* @param options - Optional configuration object
|
|
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, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
|
|
88
88
|
* @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
|
|
89
89
|
*/
|
|
90
90
|
ai(options?: {
|
|
@@ -147,7 +147,7 @@ export declare function aiMove(config: BoardConfig | string, level?: number): Hi
|
|
|
147
147
|
* @param options - Optional configuration object
|
|
148
148
|
* @param options.level - AI difficulty level (1-5, default: 3)
|
|
149
149
|
* @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
|
|
150
|
-
* @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3:
|
|
150
|
+
* @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
|
|
151
151
|
* @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
|
|
152
152
|
*/
|
|
153
153
|
export declare function ai(config: BoardConfig | string, options?: {
|
package/dist/index.js
CHANGED
|
@@ -227,7 +227,7 @@ class Game {
|
|
|
227
227
|
* @param options - Optional configuration object
|
|
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, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
|
|
231
231
|
* @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
|
|
232
232
|
*/
|
|
233
233
|
ai(options = {}) {
|
|
@@ -401,7 +401,7 @@ function aiMove(config, level = 3) {
|
|
|
401
401
|
* @param options - Optional configuration object
|
|
402
402
|
* @param options.level - AI difficulty level (1-5, default: 3)
|
|
403
403
|
* @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
|
|
404
|
-
* @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3:
|
|
404
|
+
* @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
|
|
405
405
|
* @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
|
|
406
406
|
*/
|
|
407
407
|
function ai(config, options = {}) {
|
|
@@ -17,8 +17,8 @@ export declare function isBrowserEnvironment(): boolean;
|
|
|
17
17
|
/**
|
|
18
18
|
* Get default transposition table size based on environment
|
|
19
19
|
*
|
|
20
|
-
* Node.js:
|
|
21
|
-
* Browser:
|
|
20
|
+
* Node.js: 2 MB (level 3 default)
|
|
21
|
+
* Browser: 1 MB (level 3 default)
|
|
22
22
|
*
|
|
23
23
|
* @returns Recommended TT size in MB
|
|
24
24
|
*/
|
|
@@ -29,12 +29,12 @@ function isBrowserEnvironment() {
|
|
|
29
29
|
/**
|
|
30
30
|
* Get default transposition table size based on environment
|
|
31
31
|
*
|
|
32
|
-
* Node.js:
|
|
33
|
-
* Browser:
|
|
32
|
+
* Node.js: 2 MB (level 3 default)
|
|
33
|
+
* Browser: 1 MB (level 3 default)
|
|
34
34
|
*
|
|
35
35
|
* @returns Recommended TT size in MB
|
|
36
36
|
*/
|
|
37
37
|
function getDefaultTTSize() {
|
|
38
|
-
return isNodeEnvironment() ?
|
|
38
|
+
return isNodeEnvironment() ? 2 : 1;
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=environment.js.map
|