Part III: Move Generation - Level Up as a Software Engineer by Writing a Chess Engine
How does a computer think? It must know two things: what is possible and what is optimal. A chess move generation function calculates what is possible from a given position. An evaluation function determines what is optimal. Move generation is the marriage of these two capabilities and the focus of this article. A note about the evaluation function No computer can “see” to the end of a chess game but the engine still needs to find advantageous positions. This is why an evaluation function is necessary to score the approximate advantage of a position. ...