user33306: For the past few months, I have been experimenting with Stockfish with the goal of making the AI more fun to play against.
Stockfish is obviously a very powerful Chess AI but it plays very conservatively (my understanding is all powerful chess ai ). From a humans perspective, this is kind of boring and this is especially true for new or inexperienced chess players. Additionally, when in a losing position, often moves can become totally nonsensical.
I have had middling success so far by modifying various weights in stockfish's evaluation function. I want to create Chess AI that is totally ruthless, never plays for a draw and wants to end the game in a checkmate as soon as possible, potentially assuming greater risk in aid of that goal.
I'm not so worried about the playing strength of the chess engine, my goal is to create a a fun and engaging chess experience for more than just expert level players.

user15223: There's this number in Stockfish's code that assigns the value of a draw. This is typically 0 for obvious reasons - if your position is better (> 0.00) then it's preferable to avoid a draw, while if your position is worse (< 0.00) then the reverse applies.
If you change this value to a smaller number, then the engine will view drawing as worse than a slightly inferior position. In fact if you change this to a big negative number, then the engine will view getting mated as better than a draw.
You will therefore get an engine that "never plays for a draw".
Making an engine that "wants to end the game in a checkmate as soon as possible" is a different matter, and it's unclear how you can do that, since the engine will always choose what its algorithm says are the best moves, not the one that is "most aggressive".

33306: <p>For the past few months, I have been experimenting with Stockfish with the goal of making the AI more fun to play against.</p>
<p>Stockfish is obviously a very powerful Chess AI but it plays very conservatively (my understanding is all powerful chess ai ). From a humans perspective, this is kind of boring and this is especially true for new or inexperienced chess players. Additionally, when in a losing position, often moves can become totally nonsensical.</p>
<p>I have had middling success so far by modifying various weights in stockfish's evaluation function. I want to create Chess AI that is totally ruthless, never plays for a draw and wants to end the game in a checkmate as soon as possible, potentially assuming greater risk in aid of that goal.</p>
<p>I'm not so worried about the playing strength of the chess engine, my goal is to create a a fun and engaging chess experience for more than just expert level players.</p>
 15223: <p>There's this number in Stockfish's code that assigns the <a href="https://github.com/official-stockfish/Stockfish/blob/master/src/types.h#L178" rel="nofollow noreferrer">value of a draw</a>. This is typically 0 for obvious reasons - if your position is better (&gt; 0.00) then it's preferable to avoid a draw, while if your position is worse (&lt; 0.00) then the reverse applies.</p>
<p>If you change this value to a smaller number, then the engine will view drawing as worse than a slightly inferior position. In fact if you change this to a big negative number, then the engine will view getting mated as better than a draw.
You will therefore get an engine that &quot;never plays for a draw&quot;.</p>
<p>Making an engine that &quot;wants to end the game in a checkmate as soon as possible&quot; is a different matter, and it's unclear how you can do that, since the engine will always choose what its algorithm says are the best moves, not the one that is &quot;most aggressive&quot;.</p>
