Chess2u
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Chess2uLog in

descriptionCreating a chess engine from scratch! (youtube)  EmptyCreating a chess engine from scratch! (youtube)

more_horiz
- 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

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
- Chess Tutorial 29 (Sorting Moves to Increase Alpha-Beta Pruning Speed)
Sorting the order of moves searched in order to maximize the effectiveness of alpha-beta pruning. On my computer, it increases the search time from about 6.5 seconds to about 1.2 (~540% speed increase).
https://www.youtube.com/watch?v=dqL0L6tNz_M

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
Do you have the source code for the implemention you did in the YouTube videos?

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
@roland23 wrote:
Do you have the source code for the implemention you did in the YouTube videos?

Yes.  In the description of every YouTube video you will find a link to the source code:
Creating a chess engine from scratch! (youtube)  Captur11

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
I get a compile error in the switch (chessBoard [i/8][i%8]) {
case: "P"
saying that this returns an string when the switch/case statement deals with int

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
Never mind. I upgraded from Java 1.6 to 1.7 and was able to compile without any issue.

descriptionCreating a chess engine from scratch! (youtube)  EmptyRe: Creating a chess engine from scratch! (youtube)

more_horiz
Permissions in this forum:
You cannot reply to topics in this forum