Answers.Body: <p>I've tried programming with the relative values of pieces changing with relation to material.  I've found that a maximum value of 110 centipawns*, without bonuses, was a fair value.  (FYI, the knight's value decreases as material is reduced, so this dynamic adjustment of value decreases for the knight.)</p>
  <p>A square value, where the pawn gets a bonus the farther advanced pawn is worth more, is useful for both promotion and attacking values.  (The promotion square has a value of 800, so there's huge gain to get to the eighth rank.)  The gives the engine an incentive to aim for a promotion and encourages aggressive pawn moves in front of the opponent's king.  However, another function is written to prevent a general weakening in front of our king.</p>
  <p>Good luck in programming your engine.</p>
  <p>-To fine tune the program, I set the normal value of a pawn to 2000.  The highest value was a little over 2200, so I adjusted to the normal 100 value used in most programs.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-06T16:06:46.033Z
Answers.LastActivityDate: 2021-01-06T16:06:46.033Z
Answers.UserDisplayName: Mike Jones
Body: <p>I’m writing my own chess engine where I’ll be implementing something called a tapered eval which is one that evaluates the position with an endgame specific evaluation function and a middle game specific evaluation function. Then it will interpolate between these two depending on the amount of material on the board.</p>
  <p>I don’t know if this is the right forum, but I thought since it is not related to programming itself and more related to actually playing the game, I would ask chess players themselves.</p>
  <p>My question is then: If the value of a pawn is set to ~100 (centi-pawns, or hundredths of a pawn) in the middle game and opening, what should it be in the endgame?
  I would think that it needs to be higher because they are more important in the endgame, and thus being one pawn up should create a bigger imbalance. I know that this value changes dynamically depending on promotion ability, but what would you think a general value should be?</p>
  <p>Any input is much appreciated!</p>
  
Tags: <engines><endgame><pawns><middlegame><material>
Title: Increase in pawn value towards endgames
ThreadText: # Increase in pawn value towards endgames
  
  (Asked by: username_0 on 2021-01-06)
  
  I’m writing my own chess engine where I’ll be implementing something called a tapered eval which is one that evaluates the position with an endgame specific evaluation function and a middle game specific evaluation function. Then it will interpolate between these two depending on the amount of material on the board.
  
  I don’t know if this is the right forum, but I thought since it is not related to programming itself and more related to actually playing the game, I would ask chess players themselves.
  
  My question is then: If the value of a pawn is set to ~100 (centi-pawns, or hundredths of a pawn) in the middle game and opening, what should it be in the endgame?
  I would think that it needs to be higher because they are more important in the endgame, and thus being one pawn up should create a bigger imbalance. I know that this value changes dynamically depending on promotion ability, but what would you think a general value should be?
  
  Any input is much appreciated!
  
  **Tags:** engines, endgame, pawns, middlegame, material
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-01-06. Score: 3
  
  I've tried programming with the relative values of pieces changing with relation to material. I've found that a maximum value of 110 centipawns\*, without bonuses, was a fair value. (FYI, the knight's value decreases as material is reduced, so this dynamic adjustment of value decreases for the knight.)
  
  A square value, where the pawn gets a bonus the farther advanced pawn is worth more, is useful for both promotion and attacking values. (The promotion square has a value of 800, so there's huge gain to get to the eighth rank.) The gives the engine an incentive to aim for a promotion and encourages aggressive pawn moves in front of the opponent's king. However, another function is written to prevent a general weakening in front of our king.
  
  Good luck in programming your engine.
  
  -To fine tune the program, I set the normal value of a pawn to 2000. The highest value was a little over 2200, so I adjusted to the normal 100 value used in most programs.
  
  
  ---
  
  