PDA

View Full Version : A Step-by-Step Video Guide to Writing a Chess Engine



Logic Crazy
07-02-2014, 06:44 AM
Watch and follow along as the process of writing a chess engine is demonstrated and explained.
There are currently two tutorial series:
Write a simple Java chess engine with GUI (https://www.youtube.com/playlist?list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl) in under 1,000 lines of code
OR
Write an advanced bitboard-based Java chess engine (https://www.youtube.com/playlist?list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c) using modern techniques.

Subscribe (http://www.youtube.com/user/jonathanwarkentin?sub_confirmation=1) to get email notifications on upcoming chess engine tutorial videos. (A new video is posted every Monday)

Logic Crazy
07-02-2014, 06:47 AM
Simple Java Chess Engine Tutorial Series:

Introduction - Java Chess Engine Tutorial 1
https://www.youtube.com/watch?v=a-2uSg4Kvb0 (https://www.youtube.com/watch?v=a-2uSg4Kvb0&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=1)

Graphics (Part 1) - Java Chess Engine Tutorial 2
https://www.youtube.com/watch?v=jwRRJmsWFn4 (https://www.youtube.com/watch?v=jwRRJmsWFn4&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=2)

Graphics (Part 2) - Java Chess Engine Tutorial 3
https://www.youtube.com/watch?v=NMAdwramt1g (https://www.youtube.com/watch?v=NMAdwramt1g&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=3)

Graphics (Part 3) - Java Chess Engine Tutorial 4
https://www.youtube.com/watch?v=1PzDYwDsXzs (https://www.youtube.com/watch?v=1PzDYwDsXzs&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=4)

End Result - Java Chess Engine Tutorial 5
https://www.youtube.com/watch?v=LNEGkBxlpSU (https://www.youtube.com/watch?v=LNEGkBxlpSU&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=5)

Board Representation - Java Chess Engine Tutorial 6
https://www.youtube.com/watch?v=HkuqmWzE08A (https://www.youtube.com/watch?v=HkuqmWzE08A&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=6)

Move Generation - Java Chess Engine Tutorial 7
https://www.youtube.com/watch?v=ShenZF9Kmyk (https://www.youtube.com/watch?v=ShenZF9Kmyk&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=7)

Special Chess Edition - Java Chess Engine Tutorial Bonus
https://www.youtube.com/watch?v=6jPE0aAWsvY (https://www.youtube.com/watch?v=6jPE0aAWsvY&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=8)

King Movement - Java Chess Engine Tutorial 8
https://www.youtube.com/watch?v=Fy3A_BsBktU (https://www.youtube.com/watch?v=Fy3A_BsBktU&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=9)

Queen Movement - Java Chess Engine Tutorial 9
https://www.youtube.com/watch?v=46V7mBRVwXY (https://www.youtube.com/watch?v=46V7mBRVwXY&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=10)

Bishop & Rook Movement - Java Chess Engine Tutorial 10
https://www.youtube.com/watch?v=kWLO7HG9M_I (https://www.youtube.com/watch?v=kWLO7HG9M_I&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=11)

Knight Movement - Java Chess Engine Tutorial 11
https://www.youtube.com/watch?v=cZOdExE1NaU (https://www.youtube.com/watch?v=cZOdExE1NaU&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=12)

King Safety (Part 1) - Java Chess Engine Tutorial 12
https://www.youtube.com/watch?v=P-qGwTNBwdQ (https://www.youtube.com/watch?v=P-qGwTNBwdQ&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=13)

King Safety (Part 2) - Java Chess Engine Tutorial 13
https://www.youtube.com/watch?v=d_K0Jjy9BXM (https://www.youtube.com/watch?v=d_K0Jjy9BXM&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=14)

Pawn Movement (Part 1) - Java Chess Engine Tutorial 14
https://www.youtube.com/watch?v=ks4MaF90Jak (https://www.youtube.com/watch?v=ks4MaF90Jak&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=15)

Pawn Movement (Part 2) - Java Chess Engine Tutorial 15
https://www.youtube.com/watch?v=h4nHxLC8pp4 (https://www.youtube.com/watch?v=h4nHxLC8pp4&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=16)

Making and Undoing Moves - Java Chess Engine Tutorial 16
https://www.youtube.com/watch?v=ngO6j5FYdG8 (https://www.youtube.com/watch?v=ngO6j5FYdG8&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=17)

Minimax and Alpha-Beta Pruning - Java Chess Engine Tutorial 17
https://www.youtube.com/watch?v=fJ4uQpkn9V0 (https://www.youtube.com/watch?v=fJ4uQpkn9V0&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=18)

Alpha-Beta Algorithm (Part 1) - Java Chess Engine Tutorial 18
https://www.youtube.com/watch?v=UZLnDvdeNo8 (https://www.youtube.com/watch?v=UZLnDvdeNo8&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=19)

Alpha-Beta Algorithm (Part 2) - Java Chess Engine Tutorial 19
https://www.youtube.com/watch?v=Wyh-5P5-7U8 (https://www.youtube.com/watch?v=Wyh-5P5-7U8&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=20)

Verifying an Alpha-Beta Algorithm works Correctly - Java Chess Engine Tutorial 20
https://www.youtube.com/watch?v=8xBjxYHVwxM (https://www.youtube.com/watch?v=8xBjxYHVwxM&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=21)

Alternating Sides & Debugging - Java Chess Engine Tutorial 21
https://www.youtube.com/watch?v=tjsciMjqixA (https://www.youtube.com/watch?v=tjsciMjqixA&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=22)

Displaying Chess Game Graphically - Java Chess Engine Tutorial 22
https://www.youtube.com/watch?v=1iisYlFdh6s (https://www.youtube.com/watch?v=1iisYlFdh6s&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=23)

Interacting with the Mouse - Java Chess Engine Tutorial 23
https://www.youtube.com/watch?v=s6wqQV8s96s (https://www.youtube.com/watch?v=s6wqQV8s96s&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=24)

Computer Response Move - Java Chess Engine Tutorial 24
https://www.youtube.com/watch?v=3SiyqU7JXeU (https://www.youtube.com/watch?v=3SiyqU7JXeU&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=25)

Static Evaluation Intro - Java Chess Engine Tutorial 25
https://www.youtube.com/watch?v=cDz2u8tawQs (https://www.youtube.com/watch?v=cDz2u8tawQs&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=26)

Evaluating Material - Java Chess Engine Tutorial 26
https://www.youtube.com/watch?v=akfcmo_sZvo (https://www.youtube.com/watch?v=akfcmo_sZvo&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=27)

Evaluating Positional Tactics - Java Chess Engine Tutorial 27
https://www.youtube.com/watch?v=fyD1Fa7-y-Y (https://www.youtube.com/watch?v=fyD1Fa7-y-Y&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=28)

Evaluating Movability, Checkmate, & Stalemate - Java Chess Engine Tutorial 28
https://www.youtube.com/watch?v=w-7GKtTsG3Y (https://www.youtube.com/watch?v=w-7GKtTsG3Y&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=29)

Evaluating Attacks - Java Chess Engine Tutorial 29
https://www.youtube.com/watch?v=I1J1UJ3yMXQ (https://www.youtube.com/watch?v=I1J1UJ3yMXQ&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=30)

Increase Alpha-Beta Pruning Speed by Sorting Moves - Java Chess Engine Tutorial 30
https://www.youtube.com/watch?v=dqL0L6tNz_M (https://www.youtube.com/watch?v=dqL0L6tNz_M&list=SPQV5mozTHmaffB0rBsD6m9VN1azgo5wXl&index=31)

Logic Crazy
07-02-2014, 06:48 AM
Advanced Java Chess Engine Tutorial Series:

Introduction to an Advanced Java Chess Engine Tutorial Series
https://www.youtube.com/watch?v=V_2-LOvr5E8 (https://www.youtube.com/watch?v=V_2-LOvr5E8&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=1)

Bitboards (The Concept of) - Advanced Java Chess Engine Tutorial 1
https://www.youtube.com/watch?v=a5IGltn95Bk (https://www.youtube.com/watch?v=a5IGltn95Bk&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=2)

Generating Bitboards - Advanced Java Chess Engine Tutorial 2
https://www.youtube.com/watch?v=cy3xhKk1-ns (https://www.youtube.com/watch?v=cy3xhKk1-ns&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=3)

Chess960 and Favorite Links - Advanced Java Chess Engine Tutorial 3
https://www.youtube.com/watch?v=21HYZ8JcOSA (https://www.youtube.com/watch?v=21HYZ8JcOSA&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=4)

Bitwise Operations - Advanced Java Chess Engine Tutorial 4
https://www.youtube.com/watch?v=2XgpJp2LDdM (https://www.youtube.com/watch?v=2XgpJp2LDdM&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=5)

Pawn Moves & Optimization (Part 1) - Advanced Java Chess Engine Tutorial 5
https://www.youtube.com/watch?v=lVt8WREHirk (https://www.youtube.com/watch?v=lVt8WREHirk&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=6)

Pawn Moves & Optimization (Part 2) - Advanced Java Chess Engine Tutorial 6
https://www.youtube.com/watch?v=YHeV9sfLCro (https://www.youtube.com/watch?v=YHeV9sfLCro&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=7)

En Passants - Advanced Java Chess Engine Tutorial 7
https://www.youtube.com/watch?v=q0wt3m2btlQ (https://www.youtube.com/watch?v=q0wt3m2btlQ&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=8)

Sliding Pieces (Part 1) - Advanced Java Chess Engine Tutorial 8
https://www.youtube.com/watch?v=bCH4YK6oq8M (https://www.youtube.com/watch?v=bCH4YK6oq8M&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=9)

Sliding Pieces (Part 2) - Advanced Java Chess Engine Tutorial 9
https://www.youtube.com/watch?v=1OG-YVm7aHI (https://www.youtube.com/watch?v=1OG-YVm7aHI&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=10)

Sliding Pieces (Part 3) - Advanced Java Chess Engine Tutorial 10
https://www.youtube.com/watch?v=EiJrEm9aNkQ (https://www.youtube.com/watch?v=EiJrEm9aNkQ&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=11)

Knight Moves - Advanced Java Chess Engine Tutorial 11
https://www.youtube.com/watch?v=EVJptiAqFSQ (https://www.youtube.com/watch?v=EVJptiAqFSQ&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=12)

King Movement & Safety - Advanced Java Chess Engine Tutorial 12
https://www.youtube.com/watch?v=BOgCppJco2I (https://www.youtube.com/watch?v=BOgCppJco2I&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=13)

Black & White Moves - Advanced Java Chess Engine Tutorial 13
https://www.youtube.com/watch?v=rydv2Si5Lt0 (https://www.youtube.com/watch?v=rydv2Si5Lt0&list=SPQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=14)

Castling - Advanced Java Chess Engine Tutorial 14
https://www.youtube.com/watch?v=a9-FxSx8yUY (https://www.youtube.com/watch?v=a9-FxSx8yUY&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=15)

Perft Debugging - Advanced Java Chess Engine Tutorial 15
https://www.youtube.com/watch?v=A0HJbwRwILk (https://www.youtube.com/watch?v=A0HJbwRwILk&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=17)

Logic Crazy
12-02-2014, 01:42 AM
Make & Undo Moves - Advanced Java Chess Engine Tutorial 16
https://www.youtube.com/watch?v=DgsVSZZjIko (https://www.youtube.com/watch?v=DgsVSZZjIko&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=17)

Logic Crazy
19-02-2014, 10:19 AM
Perft Algorithm - Advanced Java Chess Engine Tutorial 17
https://www.youtube.com/watch?v=B9AEQphRkg8 (https://www.youtube.com/watch?v=B9AEQphRkg8&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=18)

Logic Crazy
27-03-2014, 05:40 AM
Importing FEN Strings - Advanced Java Chess Engine Tutorial 18
http://www.youtube.com/watch?v=lARzBG-OuW8 (http://www.youtube.com/watch?v=lARzBG-OuW8&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=20)

Divided Perft Routine - Advanced Java Chess Engine Tutorial 19
http://www.youtube.com/watch?v=DNvK3lhb6ag (http://www.youtube.com/watch?v=DNvK3lhb6ag&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=21)

Perft Debugging Example - Advanced Java Chess Engine Tutorial 20
http://www.youtube.com/watch?v=bAONObdxF54 (http://www.youtube.com/watch?v=bAONObdxF54&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=22)

Perft Speed & Debugging Tips - Advanced Java Chess Engine Tutorial 21
http://www.youtube.com/watch?v=BIzAfg5sdqg (http://www.youtube.com/watch?v=BIzAfg5sdqg&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=23)

Universal Chess Interface - Advanced Java Chess Engine Tutorial 22
http://www.youtube.com/watch?v=vuvTFNreykk (http://www.youtube.com/watch?v=vuvTFNreykk&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c&index=24)

Logic Crazy
23-05-2014, 11:24 AM
Implementing the UCI - Advanced Java Chess Engine Tutorial 23
https://www.youtube.com/watch?v=D4DBE4UQoAY (https://www.youtube.com/watch?v=D4DBE4UQoAY&index=25&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c)

UCI Moves (Part 2) - Advanced Java Chess Engine Tutorial 24
https://www.youtube.com/watch?v=9BrV87doCAM (https://www.youtube.com/watch?v=9BrV87doCAM&index=26&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c)

UCI Move & Go (Part 3) - Advanced Java Chess Engine Tutorial 25
https://www.youtube.com/watch?v=p1YoD30--AM (https://www.youtube.com/watch?v=p1YoD30--AM&index=27&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c)

How to Connect the Chess Engine to Arena or any other GUI - Advanced Java Chess Engine Tutorial 26
https://www.youtube.com/watch?v=ghn0RLx2jLs (https://www.youtube.com/watch?v=ghn0RLx2jLs&index=28&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c)

Principal Variation Search - Advanced Java Chess Engine Tutorial 27
https://www.youtube.com/watch?v=1YdBLgmoV_E (https://www.youtube.com/watch?v=1YdBLgmoV_E&index=29&list=PLQV5mozTHmacMeRzJCW_8K3qw2miYqd0c)