Sunday, March 6, 2022

ChessKISS 1.8d bug fix version

Computer chess is a fascinating area to introduced bugs that are so difficult to catch.

In my mind it good a good idea to remove the king in order to improve the performance, but it turns out that in king confrontations it created a king mate...


function TChessboard.InCheck(aSide: TSide; out aPiece: TPiece): TCheck;
var
  king: TPiece;

begin
  king := GetKing(aSide);
  if king = NO_PIECE then
    Exit(checkUnknown);

  aPiece := GetPieceAbleToMoveToSquare(TUtils.Switch(aSide), TPieceHelper.GetIndex(king), actCapture, [ptPawn, ptKnight, ptBishop, ptRook, ptQueen]);
  if aPiece <> NO_PIECE then
    Exit(checkYes)
  else
    Exit(checkNo);
end;

I think I'm done for the time being, I want to focus on other projects.


Find the new binaries at OneDrive

Monday, February 21, 2022

ChessKISS 1.8c 22/02/22

I've three big TODO's left in this project:
  • Use Gaviota endgame or similar.
  • Bitboards in x-ray (soma parts of the engine still not use bitboards) since this is the method that consume the mode CPU
  • Multi cpu, SMP?
what's new:
  • Knight pair bonus was not taken into account
  • Move generator for slice pieces is now done with bitboards 
  • New board.IsDiscoverCheck()
  • Now apertures are saved correctly
  • Now captures take info from friendly blockers
  • If evassion move is equal to hashmove then it is discarded
  • Added Reverse futility pruning
  • New pawn islands penalty
  • When a command is not recogniced then no exception is thrown
Enjoy carnival!

Find the new binaries at OneDrive

Saturday, January 1, 2022

ChessKISS 1.8b oh well, I could not resist it

Happy new year unknown visitor!

I found some more bugs (I'm sure there are more, but man they are so difficult to catch)
  • Now Board.CanTraverse() uses bitboards 
  • Now bishops and rooks can pin pieces and get some bonus
  • Tropism values changed
  • Aspiration Window sizes are now vectorized
  • New TUtils.IsDiagonal()
  • Board.IsRepetition() improved to match the sides for current play 
  • Fixed some issues with mobility and x-rays
Find the new binaries at OneDrive