move generation:
precompute move sets given a sliding piece square and occupants in scope: ended up being insignificant in terms of speed
search:
negamax for quiescence change - also insignificant, reverted back to minimax
quiescence search fiddling - adding limit and playing with a/b window, q search still takes 60-90% of total search time when enabled
added a capture flag to moves to limit q search to only search if node is a capture
evaluation:
game_phase eval after move to update evaluation standards
evaluation update to value castling rights
in end game, different value boards for pawns and king
added heuristic to value the opponent king on the edge of the board in end game (very helpful for finding checkmates in end games, previously rook and king vs king would move randomly with no objective)
move generation: precompute move sets given a sliding piece square and occupants in scope: ended up being insignificant in terms of speed search: negamax for quiescence change - also insignificant, reverted back to minimax quiescence search fiddling - adding limit and playing with a/b window, q search still takes 60-90% of total search time when enabled added a capture flag to moves to limit q search to only search if node is a capture evaluation: game_phase eval after move to update evaluation standards evaluation update to value castling rights