Answers.Body: <p>Chess engine algorithms are implementation dependent, thus there is no such thing as "standard numerical values". Unfortunately, you will need to come up with your own values. However, you can apply some common sense such as the piece value for a queen must be higher than a rook. If you're confused, please take a look at the TSCP source code. It's a very simple chess engine.</p>
  
  <p>Everything you mention is standard in chess. When you play chess, you do look the attacking/defending pieces, right?</p>
  
  <p>Please take a read on:</p>
  
  <ul>
  <li><a href="https://chessprogramming.wikispaces.com/Evaluation" rel="nofollow noreferrer">https://chessprogramming.wikispaces.com/Evaluation</a></li>
  </ul>
  
  <p>Modern chess engines such as Stockfish has <strong>many</strong> more evaluation terms. The difficulty in coding a evaluation function is the main motivation for machine learning (neural networks).</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-01-16T13:52:53.390Z
Answers.LastActivityDate: 2018-01-16T13:52:53.390Z
Answers.UserDisplayName: SmallChess
Body: <p>I have following this tutorial <a href="http://www.chessbin.com/post/Chess-Piece-Representation" rel="nofollow noreferrer">http://www.chessbin.com/post/Chess-Piece-Representation</a> to build simple chess engine right now .</p>
  
  <p>at the very first step of Chess Piece Class there are many things confuse me.</p>
  
  <p>why do we need many values to evaluate a chess piece for example :</p>
  
  <p>pieceValue , pieceActionValue, AttackingValue, DefendingValue.</p>
  
  <p>and is there any standard numerical values for evaluating chess pieces ?</p>
  
  <p>Thanks</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-01-16T13:31:23.350Z
Comments.Text: Is this a chess or a programming question? From a chess point of view, obviously it can matter whether pieces are protected, attacked, whether they are active or not.... Typically protected pieces that cover lots of squares and attack something are more valuable than unprotected passive pieces with little space to move. Whether you want to make this information part of your piece class depends on your implementation I guess. It should also be possible to assess these things externally when evaluating the position.
Comments.UserDisplayName: user1583209
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-01-16T13:38:48.033Z
Comments.Text: Since it depends on the implementation I doubt there are standard values.
Comments.UserDisplayName: user1583209
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-01-17T08:17:59.127Z
Comments.Text: There wont be a standard until chess gets solved. Each implementation creates a model to mimic actual values but we don't know yet what the actual value is. Just guesses.
Comments.UserDisplayName: ferit
Tags: <engines>
Title: Notes on Chess Piece Class
ThreadText: # Notes on Chess Piece Class
  
  (Asked by: username_0 on 2018-01-16)
  
  I have following this tutorial <http://www.chessbin.com/post/Chess-Piece-Representation> to build simple chess engine right now .
  
  at the very first step of Chess Piece Class there are many things confuse me.
  
  why do we need many values to evaluate a chess piece for example :
  
  pieceValue , pieceActionValue, AttackingValue, DefendingValue.
  
  and is there any standard numerical values for evaluating chess pieces ?
  
  Thanks
  
  **Tags:** engines
  
  > **Comments:**
  > **username_1**: Is this a chess or a programming question? From a chess point of view, obviously it can matter whether pieces are protected, attacked, whether they are active or not.... Typically protected pieces that cover lots of squares and attack something are more valuable than unprotected passive pieces with little space to move. Whether you want to make this information part of your piece class depends on your implementation I guess. It should also be possible to assess these things externally when evaluating the position.  
  > **username_1**: Since it depends on the implementation I doubt there are standard values.  
  > **username_2**: There wont be a standard until chess gets solved. Each implementation creates a model to mimic actual values but we don't know yet what the actual value is. Just guesses.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2018-01-16. Score: 1
  
  Chess engine algorithms are implementation dependent, thus there is no such thing as "standard numerical values". Unfortunately, you will need to come up with your own values. However, you can apply some common sense such as the piece value for a queen must be higher than a rook. If you're confused, please take a look at the TSCP source code. It's a very simple chess engine.
  
  Everything you mention is standard in chess. When you play chess, you do look the attacking/defending pieces, right?
  
  Please take a read on:
  
  * <https://chessprogramming.wikispaces.com/Evaluation>
  
  Modern chess engines such as Stockfish has **many** more evaluation terms. The difficulty in coding a evaluation function is the main motivation for machine learning (neural networks).
  
  
  ---
  
  