- Chess Tutorial 1 (Intro)
An intro to a new series of tutorials on how to write and understand your very own chess engine.
https://www.youtube.com/watch?v=a-2uSg4Kvb0
- Chess Tutorial 2 (Graphics)
An intro into multi-class programs and graphics
https://www.youtube.com/watch?v=jwRRJmsWFn4
- Chess Tutorial 3 (Graphics)
An intro into interacting with java through the mouse
https://www.youtube.com/watch?v=NMAdwramt1g
- Chess Tutorial 4 (Graphics)
An intro into using images in java
https://www.youtube.com/watch?v=1PzDYwDsXzs
- Chess Tutorial 5 (Board Representation)
Representing the board as an array and why I represent it that way.
https://www.youtube.com/watch?v=HkuqmWzE08A
- Chess Tutorial 6 (Move Generation)
Outlining how to find possible moves for a given board.
https://www.youtube.com/watch?v=ShenZF9Kmyk
- Chess Tutorial 7 (King Movement)
Determining the possible moves that king can make in any situation.
https://www.youtube.com/watch?v=Fy3A_BsBktU
- Chess Tutorial 8 (Queen Movement)
Determining the possible moves that queen can make in any situation.
https://www.youtube.com/watch?v=46V7mBRVwXY
- Chess Tutorial 9 (Bishop & Rook Movement)
Determining the possible moves that the bishop and rook can make in any situation.
https://www.youtube.com/watch?v=kWLO7HG9M_I
- Chess Tutorial 10 (Knight Movement)
Determining the possible moves that the knight can make in any situation.
https://www.youtube.com/watch?v=cZOdExE1NaU
- Chess Tutorial 11 (King Safety Part A)
Determining if the king is safe in any situation.
https://www.youtube.com/watch?v=P-qGwTNBwdQ
- Chess Tutorial 12 (King Safety Part B)
Determining if the king is safe in any situation.
https://www.youtube.com/watch?v=d_K0Jjy9BXM
- Chess Tutorial 13 (Pawn Movement Part A)
Determining the possible moves that the pawn can make in any situation.
https://www.youtube.com/watch?v=ks4MaF90Jak
- Chess Tutorial 14 (Pawn Movement Part B)
Determining the possible moves that the pawn can make in any situation.
https://www.youtube.com/watch?v=h4nHxLC8pp4
- Chess Tutorial 15 (Making and Undoing Moves)
Moving pieces on the board based on the list of valid moves.
https://www.youtube.com/watch?v=ngO6j5FYdG8
- Chess Tutorial 16 (Minimax and Alpha-Beta Pruning)
A brief discussion of searching for the best move using minimax and alpha-beta pruning.
https://www.youtube.com/watch?v=fJ4uQpkn9V0
- Chess Tutorial 17 (Alpha-Beta Algorithm Part A)
Creating a simple, unified alpha-beta algorithm.
https://www.youtube.com/watch?v=UZLnDvdeNo8
- Chess Tutorial 18 (Alpha-Beta Algorithm Part B)
Creating a simple, unified alpha-beta algorithm.
https://www.youtube.com/watch?v=Wyh-5P5-7U8
- Chess Tutorial 19 (Verifying an Alpha-Beta Algorithm works Correctly)
Testing if our alpha-beta algorithm works correctly. This sort of test can be applied to many other algorithms as well.
https://www.youtube.com/watch?v=8xBjxYHVwxM
- Chess Tutorial 20 (Flipping the Board Around & Debugging)
Rotating the board around as well as fixing a couple of loose ends in other methods. The tutorial ends with a demonstration of the engine thinking of a move 4-ply deep. (We have not yet programmed the rating method, so the thinking process is not ideal yet.)
https://www.youtube.com/watch?v=tjsciMjqixA
- Chess Tutorial 21 (Displaying Chess Game Graphically)
Displaying the chess board and pieces graphically in real time.
https://www.youtube.com/watch?v=1iisYlFdh6s
- Chess Tutorial 22 (Interacting with the Mouse)
Moving chess pieces based on mouse movement (click and drag).
https://www.youtube.com/watch?v=s6wqQV8s96s
- Chess Tutorial 23 (Computer Response Move & Who Plays White Option)
Getting program to make a response move after the user makes a move on the board. Also created an option for who should play as white (human or computer).
https://www.youtube.com/watch?v=3SiyqU7JXeU
- Chess Tutorial 24 (An Intro to Static Evaluation)
An overview of the weaknesses of computer ratings systems, as well as an outline of several key rating methods/categories.
https://www.youtube.com/watch?v=cDz2u8tawQs
- Chess Tutorial 25 (Evaluating Material)
Accounting for material in the evaluation method (in centipawns).
https://www.youtube.com/watch?v=akfcmo_sZvo
- Chess Tutorial 26 (Evaluating General Positional Tactics)
Accounting for generic chess positional tactics and rules of thumb.
https://www.youtube.com/watch?v=fyD1Fa7-y-Y
- Chess Tutorial 27 (Evaluating Checkmate, Stalemate, & Movability)
Evaluating Checkmate, Stalemate, and closed positions. Without this method, the engine would not try to put the opponent in such a situation, and it would not try to avoid such a situation. It is this method which lets our engine understand that checkmate is the ultimate goal (as opposed to just gaining material).
https://www.youtube.com/watch?v=w-7GKtTsG3Y
- Chess Tutorial 28 (Evaluating Attacks)
Evaluating attacks based on piece-value. Allows for a more aggressive game-play.
https://www.youtube.com/watch?v=I1J1UJ3yMXQ
An intro to a new series of tutorials on how to write and understand your very own chess engine.
https://www.youtube.com/watch?v=a-2uSg4Kvb0
- Chess Tutorial 2 (Graphics)
An intro into multi-class programs and graphics
https://www.youtube.com/watch?v=jwRRJmsWFn4
- Chess Tutorial 3 (Graphics)
An intro into interacting with java through the mouse
https://www.youtube.com/watch?v=NMAdwramt1g
- Chess Tutorial 4 (Graphics)
An intro into using images in java
https://www.youtube.com/watch?v=1PzDYwDsXzs
- Chess Tutorial 5 (Board Representation)
Representing the board as an array and why I represent it that way.
https://www.youtube.com/watch?v=HkuqmWzE08A
- Chess Tutorial 6 (Move Generation)
Outlining how to find possible moves for a given board.
https://www.youtube.com/watch?v=ShenZF9Kmyk
- Chess Tutorial 7 (King Movement)
Determining the possible moves that king can make in any situation.
https://www.youtube.com/watch?v=Fy3A_BsBktU
- Chess Tutorial 8 (Queen Movement)
Determining the possible moves that queen can make in any situation.
https://www.youtube.com/watch?v=46V7mBRVwXY
- Chess Tutorial 9 (Bishop & Rook Movement)
Determining the possible moves that the bishop and rook can make in any situation.
https://www.youtube.com/watch?v=kWLO7HG9M_I
- Chess Tutorial 10 (Knight Movement)
Determining the possible moves that the knight can make in any situation.
https://www.youtube.com/watch?v=cZOdExE1NaU
- Chess Tutorial 11 (King Safety Part A)
Determining if the king is safe in any situation.
https://www.youtube.com/watch?v=P-qGwTNBwdQ
- Chess Tutorial 12 (King Safety Part B)
Determining if the king is safe in any situation.
https://www.youtube.com/watch?v=d_K0Jjy9BXM
- Chess Tutorial 13 (Pawn Movement Part A)
Determining the possible moves that the pawn can make in any situation.
https://www.youtube.com/watch?v=ks4MaF90Jak
- Chess Tutorial 14 (Pawn Movement Part B)
Determining the possible moves that the pawn can make in any situation.
https://www.youtube.com/watch?v=h4nHxLC8pp4
- Chess Tutorial 15 (Making and Undoing Moves)
Moving pieces on the board based on the list of valid moves.
https://www.youtube.com/watch?v=ngO6j5FYdG8
- Chess Tutorial 16 (Minimax and Alpha-Beta Pruning)
A brief discussion of searching for the best move using minimax and alpha-beta pruning.
https://www.youtube.com/watch?v=fJ4uQpkn9V0
- Chess Tutorial 17 (Alpha-Beta Algorithm Part A)
Creating a simple, unified alpha-beta algorithm.
https://www.youtube.com/watch?v=UZLnDvdeNo8
- Chess Tutorial 18 (Alpha-Beta Algorithm Part B)
Creating a simple, unified alpha-beta algorithm.
https://www.youtube.com/watch?v=Wyh-5P5-7U8
- Chess Tutorial 19 (Verifying an Alpha-Beta Algorithm works Correctly)
Testing if our alpha-beta algorithm works correctly. This sort of test can be applied to many other algorithms as well.
https://www.youtube.com/watch?v=8xBjxYHVwxM
- Chess Tutorial 20 (Flipping the Board Around & Debugging)
Rotating the board around as well as fixing a couple of loose ends in other methods. The tutorial ends with a demonstration of the engine thinking of a move 4-ply deep. (We have not yet programmed the rating method, so the thinking process is not ideal yet.)
https://www.youtube.com/watch?v=tjsciMjqixA
- Chess Tutorial 21 (Displaying Chess Game Graphically)
Displaying the chess board and pieces graphically in real time.
https://www.youtube.com/watch?v=1iisYlFdh6s
- Chess Tutorial 22 (Interacting with the Mouse)
Moving chess pieces based on mouse movement (click and drag).
https://www.youtube.com/watch?v=s6wqQV8s96s
- Chess Tutorial 23 (Computer Response Move & Who Plays White Option)
Getting program to make a response move after the user makes a move on the board. Also created an option for who should play as white (human or computer).
https://www.youtube.com/watch?v=3SiyqU7JXeU
- Chess Tutorial 24 (An Intro to Static Evaluation)
An overview of the weaknesses of computer ratings systems, as well as an outline of several key rating methods/categories.
https://www.youtube.com/watch?v=cDz2u8tawQs
- Chess Tutorial 25 (Evaluating Material)
Accounting for material in the evaluation method (in centipawns).
https://www.youtube.com/watch?v=akfcmo_sZvo
- Chess Tutorial 26 (Evaluating General Positional Tactics)
Accounting for generic chess positional tactics and rules of thumb.
https://www.youtube.com/watch?v=fyD1Fa7-y-Y
- Chess Tutorial 27 (Evaluating Checkmate, Stalemate, & Movability)
Evaluating Checkmate, Stalemate, and closed positions. Without this method, the engine would not try to put the opponent in such a situation, and it would not try to avoid such a situation. It is this method which lets our engine understand that checkmate is the ultimate goal (as opposed to just gaining material).
https://www.youtube.com/watch?v=w-7GKtTsG3Y
- Chess Tutorial 28 (Evaluating Attacks)
Evaluating attacks based on piece-value. Allows for a more aggressive game-play.
https://www.youtube.com/watch?v=I1J1UJ3yMXQ