The next fundamental step of building out our engine is to build a efficient, correct move generation algorithm. Generation of pseudo-legal or legal moves are both options, but generating legal moves ends up being more efficient since pseudo-legal move generators have to check for legality after generation anyway.
The next fundamental step of building out our engine is to build a efficient, correct move generation algorithm. Generation of pseudo-legal or legal moves are both options, but generating legal moves ends up being more efficient since pseudo-legal move generators have to check for legality after generation anyway.
At a high level, we need to watch out for:
References See https://peterellisjones.com/posts/generating-legal-chess-moves-efficiently/ for notes on how to do this.