user25640: 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!

user9684: 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.

25640: <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>
 9684: <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>
