js-chess-engine 2.1.2 → 2.1.4

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.
@@ -21,6 +21,37 @@ export declare class Evaluator {
21
21
  * @returns Score in centipawns (positive = good for playerColor)
22
22
  */
23
23
  static evaluate(board: InternalBoard, playerColor: InternalColor, depth?: number): Score;
24
+ /**
25
+ * Evaluate rook activity
26
+ * Rewards rooks on open/semi-open files and 7th rank
27
+ *
28
+ * @param board - Board to evaluate
29
+ * @param playerColor - Color to evaluate for
30
+ * @returns Rook activity score
31
+ */
32
+ private static evaluateRookActivity;
33
+ /**
34
+ * Evaluate king position in endgame
35
+ * In endgames, king should be centralized and active
36
+ *
37
+ * @param board - Board to evaluate
38
+ * @param playerColor - Color to evaluate for
39
+ * @returns Endgame king activity score
40
+ */
41
+ private static evaluateEndgameKing;
42
+ /**
43
+ * Get king square for a color
44
+ */
45
+ private static getKingSquare;
46
+ /**
47
+ * Evaluate passed pawns
48
+ * A passed pawn has no enemy pawns in front of it or on adjacent files
49
+ *
50
+ * @param board - Board to evaluate
51
+ * @param playerColor - Color to evaluate for
52
+ * @returns Passed pawn bonus score
53
+ */
54
+ private static evaluatePassedPawns;
24
55
  /**
25
56
  * Evaluate material balance
26
57
  *
@@ -37,6 +68,15 @@ export declare class Evaluator {
37
68
  * @returns Positional score
38
69
  */
39
70
  private static evaluatePieceSquareTables;
71
+ /**
72
+ * Evaluate castling status
73
+ * Rewards having castled, which is a key strategic concept
74
+ *
75
+ * @param board - Board to evaluate
76
+ * @param playerColor - Color to evaluate for
77
+ * @returns Castling bonus score
78
+ */
79
+ private static evaluateCastling;
40
80
  /**
41
81
  * Get total material value on the board (used for endgame detection)
42
82
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAS,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAwB1C;;GAEG;AACH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAO,CAAC;AAmI9B,qBAAa,SAAS;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK;IAwB3F;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CAY7D"}
1
+ {"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAS,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAwB1C;;GAEG;AACH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,OAAO,CAAC;AAsI9B,qBAAa,SAAS;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK;IAgC3F;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyDnC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAuClC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAc5B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoElC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4B/B;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CAY7D"}
@@ -48,27 +48,30 @@ const PST_MULTIPLIER = 0.5;
48
48
  /**
49
49
  * Pawn piece-square table (black's perspective, reversed for white)
50
50
  * Encourages center control and advancement
51
+ * Central pawns (d4/e4) given large bonus to encourage proper opening play
51
52
  */
52
53
  const PAWN_PST = [
53
54
  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 0 (promotion rank)
54
55
  [5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0], // Rank 1 (7th rank - near promotion)
55
56
  [1.0, 1.0, 2.0, 3.0, 3.0, 2.0, 1.0, 1.0], // Rank 2 (6th rank)
56
- [0.5, 0.5, 1.0, 2.5, 2.5, 1.0, 0.5, 0.5], // Rank 3 (5th rank)
57
- [0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0], // Rank 4 (4th rank - center breakthrough)
58
- [0.5, 0.5, 1.0, 1.5, 1.5, 1.0, 0.5, 0.5], // Rank 5 (3rd rank - reward advancement)
57
+ [0.5, 0.5, 1.0, 4.5, 4.5, 1.0, 0.5, 0.5], // Rank 3 (5th rank) - increased d5/e5 to 4.5
58
+ [0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0], // Rank 4 (4th rank) - increased d4/e4 to 4.0
59
+ [0.5, 0.5, 1.0, 2.0, 2.0, 1.0, 0.5, 0.5], // Rank 5 (3rd rank) - increased d3/e3 to 2.0
59
60
  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 6 (starting rank - neutral)
60
61
  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], // Rank 7 (back rank - pawns never here)
61
62
  ];
62
63
  /**
63
64
  * Knight piece-square table (black's perspective, reversed for white)
64
65
  * Encourages centralization and active placement
66
+ * Central squares (e4/d4/e5/d5) set equal to development squares to prevent premature centralization
67
+ * Knights should develop to good squares (f3, c3) before jumping to ultra-central squares
65
68
  */
66
69
  const KNIGHT_PST = [
67
70
  [-5.0, -4.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0], // Back rank
68
71
  [-4.0, -2.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0],
69
72
  [-3.0, 0.0, 1.0, 1.5, 1.5, 1.0, 0.0, -3.0],
70
- [-3.0, 0.5, 1.5, 2.0, 2.0, 1.5, 0.5, -3.0],
71
- [-3.0, 0.0, 1.5, 2.0, 2.0, 1.5, 0.0, -3.0],
73
+ [-3.0, 0.5, 1.5, 1.0, 1.0, 1.5, 0.5, -3.0], // e5/d5 equal to c5/f5 (1.5) and less than c3 development
74
+ [-3.0, 0.0, 1.5, 1.0, 1.0, 1.5, 0.0, -3.0], // e4/d4 equal to c4/f4 (1.5) and less than c3 development
72
75
  [-3.0, 0.5, 1.0, 1.5, 1.5, 1.0, 0.5, -3.0],
73
76
  [-4.0, -2.0, 0.0, 0.5, 0.5, 0.0, -2.0, -4.0],
74
77
  [-5.0, -4.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0], // Starting rank - discourage edge knights
@@ -175,10 +178,204 @@ class Evaluator {
175
178
  if (board.isStalemate) {
176
179
  return 0; // Draw is neutral
177
180
  }
178
- // Material + piece-square tables
181
+ // Detect endgame phase
182
+ const totalMaterial = this.getTotalMaterialValue(board);
183
+ const isEndgame = totalMaterial < 32; // Less than ~2 rooks + 2 minor pieces worth
184
+ // Material + piece-square tables + passed pawns + endgame adjustments + rook activity + castling
179
185
  const materialScore = this.evaluateMaterial(board, playerColor);
180
186
  const positionalScore = this.evaluatePieceSquareTables(board, playerColor);
181
- return materialScore + positionalScore;
187
+ const passedPawnScore = this.evaluatePassedPawns(board, playerColor);
188
+ const endgameKingScore = isEndgame ? this.evaluateEndgameKing(board, playerColor) : 0;
189
+ const rookActivityScore = this.evaluateRookActivity(board, playerColor);
190
+ const castlingScore = !isEndgame ? this.evaluateCastling(board, playerColor) : 0; // Only in non-endgame
191
+ return materialScore + positionalScore + passedPawnScore + endgameKingScore + rookActivityScore + castlingScore;
192
+ }
193
+ /**
194
+ * Evaluate rook activity
195
+ * Rewards rooks on open/semi-open files and 7th rank
196
+ *
197
+ * @param board - Board to evaluate
198
+ * @param playerColor - Color to evaluate for
199
+ * @returns Rook activity score
200
+ */
201
+ static evaluateRookActivity(board, playerColor) {
202
+ let score = 0;
203
+ // Check each square for rooks
204
+ for (let square = 0; square < 64; square++) {
205
+ const piece = board.mailbox[square];
206
+ if (piece !== types_1.Piece.WHITE_ROOK && piece !== types_1.Piece.BLACK_ROOK)
207
+ continue;
208
+ const pieceColor = piece === types_1.Piece.WHITE_ROOK ? types_1.InternalColor.WHITE : types_1.InternalColor.BLACK;
209
+ const rank = Math.floor(square / 8);
210
+ const file = square % 8;
211
+ // Check if file is open (no pawns) or semi-open (no friendly pawns)
212
+ let hasOwnPawn = false;
213
+ let hasEnemyPawn = false;
214
+ for (let checkRank = 0; checkRank < 8; checkRank++) {
215
+ const checkSquare = checkRank * 8 + file;
216
+ const checkPiece = board.mailbox[checkSquare];
217
+ if (piece === types_1.Piece.WHITE_ROOK) {
218
+ if (checkPiece === types_1.Piece.WHITE_PAWN)
219
+ hasOwnPawn = true;
220
+ if (checkPiece === types_1.Piece.BLACK_PAWN)
221
+ hasEnemyPawn = true;
222
+ }
223
+ else {
224
+ if (checkPiece === types_1.Piece.BLACK_PAWN)
225
+ hasOwnPawn = true;
226
+ if (checkPiece === types_1.Piece.WHITE_PAWN)
227
+ hasEnemyPawn = true;
228
+ }
229
+ }
230
+ let bonus = 0;
231
+ // Open file (no pawns) - very good
232
+ if (!hasOwnPawn && !hasEnemyPawn) {
233
+ bonus += 20;
234
+ }
235
+ // Semi-open file (no own pawns) - good
236
+ else if (!hasOwnPawn) {
237
+ bonus += 10;
238
+ }
239
+ // 7th rank bonus (attacking enemy pawns on starting rank)
240
+ const is7thRank = (piece === types_1.Piece.WHITE_ROOK && rank === 6) ||
241
+ (piece === types_1.Piece.BLACK_ROOK && rank === 1);
242
+ if (is7thRank) {
243
+ bonus += 15; // Rook on 7th rank is powerful
244
+ }
245
+ if (pieceColor === playerColor) {
246
+ score += bonus;
247
+ }
248
+ else {
249
+ score -= bonus;
250
+ }
251
+ }
252
+ return score;
253
+ }
254
+ /**
255
+ * Evaluate king position in endgame
256
+ * In endgames, king should be centralized and active
257
+ *
258
+ * @param board - Board to evaluate
259
+ * @param playerColor - Color to evaluate for
260
+ * @returns Endgame king activity score
261
+ */
262
+ static evaluateEndgameKing(board, playerColor) {
263
+ let score = 0;
264
+ // Find kings
265
+ const whiteKingSquare = this.getKingSquare(board, types_1.InternalColor.WHITE);
266
+ const blackKingSquare = this.getKingSquare(board, types_1.InternalColor.BLACK);
267
+ if (whiteKingSquare !== null) {
268
+ const rank = Math.floor(whiteKingSquare / 8);
269
+ const file = whiteKingSquare % 8;
270
+ // Bonus for king centralization (distance from center)
271
+ const centerDistance = Math.abs(rank - 3.5) + Math.abs(file - 3.5);
272
+ const centralizationBonus = (7 - centerDistance) * 5; // Max 35 points for center
273
+ if (playerColor === types_1.InternalColor.WHITE) {
274
+ score += centralizationBonus;
275
+ }
276
+ else {
277
+ score -= centralizationBonus;
278
+ }
279
+ }
280
+ if (blackKingSquare !== null) {
281
+ const rank = Math.floor(blackKingSquare / 8);
282
+ const file = blackKingSquare % 8;
283
+ const centerDistance = Math.abs(rank - 3.5) + Math.abs(file - 3.5);
284
+ const centralizationBonus = (7 - centerDistance) * 5;
285
+ if (playerColor === types_1.InternalColor.BLACK) {
286
+ score += centralizationBonus;
287
+ }
288
+ else {
289
+ score -= centralizationBonus;
290
+ }
291
+ }
292
+ return score;
293
+ }
294
+ /**
295
+ * Get king square for a color
296
+ */
297
+ static getKingSquare(board, color) {
298
+ const kingBitboard = color === types_1.InternalColor.WHITE ? board.whiteKing : board.blackKing;
299
+ if (kingBitboard === 0n)
300
+ return null;
301
+ // Find the king square from bitboard
302
+ for (let square = 0; square < 64; square++) {
303
+ if ((kingBitboard & (1n << BigInt(square))) !== 0n) {
304
+ return square;
305
+ }
306
+ }
307
+ return null;
308
+ }
309
+ /**
310
+ * Evaluate passed pawns
311
+ * A passed pawn has no enemy pawns in front of it or on adjacent files
312
+ *
313
+ * @param board - Board to evaluate
314
+ * @param playerColor - Color to evaluate for
315
+ * @returns Passed pawn bonus score
316
+ */
317
+ static evaluatePassedPawns(board, playerColor) {
318
+ let score = 0;
319
+ // Check each square for pawns
320
+ for (let square = 0; square < 64; square++) {
321
+ const piece = board.mailbox[square];
322
+ if (piece === types_1.Piece.EMPTY)
323
+ continue;
324
+ const pieceColor = piece <= types_1.Piece.WHITE_KING ? types_1.InternalColor.WHITE : types_1.InternalColor.BLACK;
325
+ const isWhitePawn = piece === types_1.Piece.WHITE_PAWN;
326
+ const isBlackPawn = piece === types_1.Piece.BLACK_PAWN;
327
+ if (!isWhitePawn && !isBlackPawn)
328
+ continue;
329
+ const rank = Math.floor(square / 8);
330
+ const file = square % 8;
331
+ // Check if this pawn is passed
332
+ let isPassed = true;
333
+ if (isWhitePawn) {
334
+ // Check if any black pawns block this pawn's path
335
+ // Check current file and adjacent files (file-1, file, file+1)
336
+ for (let checkFile = Math.max(0, file - 1); checkFile <= Math.min(7, file + 1); checkFile++) {
337
+ for (let checkRank = rank + 1; checkRank <= 7; checkRank++) {
338
+ const checkSquare = checkRank * 8 + checkFile;
339
+ if (board.mailbox[checkSquare] === types_1.Piece.BLACK_PAWN) {
340
+ isPassed = false;
341
+ break;
342
+ }
343
+ }
344
+ if (!isPassed)
345
+ break;
346
+ }
347
+ }
348
+ else {
349
+ // Black pawn - check ranks below
350
+ for (let checkFile = Math.max(0, file - 1); checkFile <= Math.min(7, file + 1); checkFile++) {
351
+ for (let checkRank = rank - 1; checkRank >= 0; checkRank--) {
352
+ const checkSquare = checkRank * 8 + checkFile;
353
+ if (board.mailbox[checkSquare] === types_1.Piece.WHITE_PAWN) {
354
+ isPassed = false;
355
+ break;
356
+ }
357
+ }
358
+ if (!isPassed)
359
+ break;
360
+ }
361
+ }
362
+ if (isPassed) {
363
+ // Passed pawn bonus increases with advancement
364
+ // White: rank 1 (idx 0) to rank 8 (idx 7)
365
+ // Black: rank 8 (idx 7) to rank 1 (idx 0)
366
+ const advancement = isWhitePawn ? rank : (7 - rank);
367
+ // Bonus: 10 points per rank advanced, squared for acceleration
368
+ // Rank 2: 10, Rank 3: 20, Rank 4: 30, Rank 5: 40, Rank 6: 50, Rank 7: 60
369
+ const bonus = advancement * 10 + advancement * advancement * 2;
370
+ if (pieceColor === playerColor) {
371
+ score += bonus;
372
+ }
373
+ else {
374
+ score -= bonus;
375
+ }
376
+ }
377
+ }
378
+ return score;
182
379
  }
183
380
  /**
184
381
  * Evaluate material balance
@@ -233,6 +430,38 @@ class Evaluator {
233
430
  }
234
431
  return score;
235
432
  }
433
+ /**
434
+ * Evaluate castling status
435
+ * Rewards having castled, which is a key strategic concept
436
+ *
437
+ * @param board - Board to evaluate
438
+ * @param playerColor - Color to evaluate for
439
+ * @returns Castling bonus score
440
+ */
441
+ static evaluateCastling(board, playerColor) {
442
+ let score = 0;
443
+ if (playerColor === types_1.InternalColor.WHITE) {
444
+ // Check if white has castled (king on g1 or c1, and has lost castling rights)
445
+ // If king is on g1 and kingside castling rights are gone, king has castled kingside
446
+ const kingsideCastled = board.mailbox[6] === types_1.Piece.WHITE_KING && !board.castlingRights.whiteShort;
447
+ // If king is on c1 and queenside castling rights are gone, king has castled queenside
448
+ const queensideCastled = board.mailbox[2] === types_1.Piece.WHITE_KING && !board.castlingRights.whiteLong;
449
+ if (kingsideCastled || queensideCastled) {
450
+ score += 15; // Significant bonus for having castled
451
+ }
452
+ }
453
+ else {
454
+ // Black - king starts on e8 (square 60)
455
+ // Kingside castle: king on g8 (square 62)
456
+ // Queenside castle: king on c8 (square 58)
457
+ const kingsideCastled = board.mailbox[62] === types_1.Piece.BLACK_KING && !board.castlingRights.blackShort;
458
+ const queensideCastled = board.mailbox[58] === types_1.Piece.BLACK_KING && !board.castlingRights.blackLong;
459
+ if (kingsideCastled || queensideCastled) {
460
+ score += 15;
461
+ }
462
+ }
463
+ return score;
464
+ }
236
465
  /**
237
466
  * Get total material value on the board (used for endgame detection)
238
467
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Evaluator.js","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Evaluator.js","sourceRoot":"","sources":["../../src/ai/Evaluator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAIvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,QAAQ,GAAE,MAAW;IAMjC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;OAOG;IACH,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI;IA6MtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAuDnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,SAAS;IAyKjB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CA6BpB"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAIvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAiB;gBAE7B,QAAQ,GAAE,MAAW;IAMjC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;OAOG;IACH,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI;IA0PtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAuDnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,SAAS;IAyKjB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CA6BpB"}
package/dist/ai/Search.js CHANGED
@@ -121,33 +121,51 @@ class Search {
121
121
  // This helps especially at low/medium depths where the search may miss immediate recaptures.
122
122
  // We only apply a penalty if the moved piece ends up attacked by the opponent.
123
123
  let finalScore = score;
124
+ // Determine the moved piece type (used by multiple heuristics below)
125
+ const absPiece = move.piece;
126
+ const isQueen = absPiece === types_1.Piece.WHITE_QUEEN || absPiece === types_1.Piece.BLACK_QUEEN;
127
+ const isRook = absPiece === types_1.Piece.WHITE_ROOK || absPiece === types_1.Piece.BLACK_ROOK;
128
+ const isBishop = absPiece === types_1.Piece.WHITE_BISHOP || absPiece === types_1.Piece.BLACK_BISHOP;
129
+ const isKnight = absPiece === types_1.Piece.WHITE_KNIGHT || absPiece === types_1.Piece.BLACK_KNIGHT;
130
+ const isPawn = absPiece === types_1.Piece.WHITE_PAWN || absPiece === types_1.Piece.BLACK_PAWN;
131
+ const isKing = absPiece === types_1.Piece.WHITE_KING || absPiece === types_1.Piece.BLACK_KING;
124
132
  const movedPieceSquare = move.to;
125
133
  const opponentColor = playerColor === types_1.InternalColor.WHITE ? types_1.InternalColor.BLACK : types_1.InternalColor.WHITE;
126
134
  const movedPieceAttacked = (0, AttackDetector_2.isSquareAttacked)(testBoard, movedPieceSquare, opponentColor);
127
135
  if (movedPieceAttacked) {
128
- // Determine the moved piece type to scale the penalty.
129
- // (We can't reliably inspect mailbox vs enums across colors here, so use move.piece.)
130
- const absPiece = move.piece;
131
- const isQueen = absPiece === types_1.Piece.WHITE_QUEEN || absPiece === types_1.Piece.BLACK_QUEEN;
132
- const isRook = absPiece === types_1.Piece.WHITE_ROOK || absPiece === types_1.Piece.BLACK_ROOK;
133
- const isBishop = absPiece === types_1.Piece.WHITE_BISHOP || absPiece === types_1.Piece.BLACK_BISHOP;
134
- const isKnight = absPiece === types_1.Piece.WHITE_KNIGHT || absPiece === types_1.Piece.BLACK_KNIGHT;
135
- const isPawn = absPiece === types_1.Piece.WHITE_PAWN || absPiece === types_1.Piece.BLACK_PAWN;
136
- const isKing = absPiece === types_1.Piece.WHITE_KING || absPiece === types_1.Piece.BLACK_KING;
137
136
  // Penalties are in the same score scale as Evaluator (centipawn-ish).
138
137
  // Queen hangs should be strongly discouraged.
139
138
  // Never apply this heuristic to king moves.
140
139
  // The king is *supposed* to step into attacked squares only when illegal; legality is already filtered
141
140
  // by move generation, so penalizing attacked king squares can distort endgames.
142
- // Also skip this penalty for:
143
- // - Promotion moves: often tactically sound even if the new piece is attacked
144
- // - Checking captures (e.g., Bxf7+): These are tactical sacrifices that deserve consideration.
145
- // The search will evaluate if they're good or bad based on the full continuation.
141
+ // Also skip full penalty for promotion moves: often tactically sound even if the new piece is attacked.
142
+ //
143
+ // IMPORTANT: Penalty application strategy:
144
+ // 1. Non-captures: Full penalty (piece hangs for nothing)
145
+ // 2. Checking captures: 50% penalty (tactical sacrifices)
146
+ // 3. Regular captures with valuable pieces (Q, R): 40% penalty (discourage bad trades like Qxp hanging)
147
+ // 4. Regular captures with minor pieces (B, N, p): No penalty (allow normal trades)
148
+ const isCapture = (move.flags & types_1.MoveFlag.CAPTURE) !== 0;
146
149
  const isCheckingMove = testBoard.isCheck;
147
- const isCheckingCapture = isCheckingMove && (move.flags & types_1.MoveFlag.CAPTURE);
148
- if (!isKing && !(move.flags & types_1.MoveFlag.PROMOTION) && !isCheckingCapture) {
149
- const penalty = isQueen ? 120 : isRook ? 60 : (isBishop || isKnight) ? 35 : isPawn ? 15 : 0;
150
- finalScore -= penalty;
150
+ const isCheckingCapture = isCheckingMove && isCapture;
151
+ const isRegularCapture = isCapture && !isCheckingMove;
152
+ const isValuablePiece = isQueen || isRook; // Queen and Rook are valuable
153
+ // Apply penalty based on move type
154
+ if (!isKing && !(move.flags & types_1.MoveFlag.PROMOTION)) {
155
+ const basePenalty = isQueen ? 120 : isRook ? 60 : (isBishop || isKnight) ? 35 : isPawn ? 15 : 0;
156
+ if (!isCapture) {
157
+ // Non-capture: full penalty
158
+ finalScore -= basePenalty;
159
+ }
160
+ else if (isCheckingCapture) {
161
+ // Checking capture: 50% penalty (allow tactical sacs)
162
+ finalScore -= Math.floor(basePenalty * 0.5);
163
+ }
164
+ else if (isRegularCapture && isValuablePiece) {
165
+ // Regular capture with valuable piece: 40% penalty (discourage Qxp hanging)
166
+ finalScore -= Math.floor(basePenalty * 0.4);
167
+ }
168
+ // Regular captures with minor pieces: no penalty (allow normal trades)
151
169
  }
152
170
  }
153
171
  // Strongly encourage promotions at the root.
@@ -155,6 +173,28 @@ class Search {
155
173
  if (move.flags & types_1.MoveFlag.PROMOTION) {
156
174
  finalScore += 200;
157
175
  }
176
+ // Strongly reward castling in the opening/middlegame
177
+ // Castling is a fundamental strategic concept that should be prioritized
178
+ const isCastling = (move.flags & types_1.MoveFlag.CASTLING) !== 0;
179
+ const isOpening = testBoard.fullMoveNumber < 15; // Opening/early middlegame
180
+ if (isCastling && isOpening) {
181
+ finalScore += 50; // Large bonus to encourage castling
182
+ }
183
+ // Reward central pawn pushes in the opening
184
+ // E2-E4, D2-D4, E7-E5, D7-D5 are key opening moves
185
+ if (isPawn && testBoard.fullMoveNumber < 5) {
186
+ const fromRank = Math.floor(move.from / 8);
187
+ const toRank = Math.floor(move.to / 8);
188
+ const toFile = move.to % 8;
189
+ // Check for central pawn (d or e file) moving 2 squares from starting position
190
+ const isCentralFile = toFile === 3 || toFile === 4; // d or e file
191
+ const isTwoSquarePush = Math.abs(toRank - fromRank) === 2;
192
+ const isFromStartingRank = (playerColor === types_1.InternalColor.WHITE && fromRank === 1) ||
193
+ (playerColor === types_1.InternalColor.BLACK && fromRank === 6);
194
+ if (isCentralFile && isTwoSquarePush && isFromStartingRank) {
195
+ finalScore += 30; // Encourage E2-E4, D2-D4, etc.
196
+ }
197
+ }
158
198
  // Debug logging
159
199
  if (debugRoot && debugMoves.length < 20) { // Increased to 20 to see more moves
160
200
  const fromFile = String.fromCharCode(65 + (move.from % 8));
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-chess-engine",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "Simple and fast Node.js chess engine without dependencies",
5
5
  "keywords": [
6
6
  "chess",