Check out Modern Chess, our featured variant for January, 2025.

Enter Your Reply

The Comment You're Replying To
Greg Strong wrote on Tue, Jul 19, 2005 01:48 AM UTC:
<p><b>Matthew</b>: Good questions. Evaluation of a position considers many, many factors. The material value of the pieces is, of course, the most important. And, yes, the material values are reached by educated guesses by myself, and others of the chessvariants.org community. The piece values that ChessV uses for Ultima are those values supplied by George Duke (look at all comments on the 'Ultima' page, and you'll see the relevant discussion.) I'll now mention some other factors in the evaluation of a position.</p> <p><i>Piece-square-tables</i>: All pieces get a bonus or penalty based on the square they occupy. Squares in the center of the board are better than squares in the corner (except, possibly, for the King.) The values I use for the piece-square-tables are derived by a number of different means depending on the pieces, the game, and how much time I want to put into the particular game. Generally, the values reward positions which (A) control more spaces, and (B) attack center squares. They penalise positions on the home rank of minor pieces which should be developed, thereby encouraging their development.</p> <p><i>Mobility</i>: Studies on many, many grandmaster-level Chess games show that the player who is winning almost always has more legal moves at his disposal. The is because his pieces are 'more active.' So, some pieces, but not all, are given a bonus based on how mobile they are at present.</p> <p><i>King Tropism</i>: Some pieces are given bonuses for being close to the enemy king. This is <i>obviously</i> good for the Immobilizer, but also for otheres.</p> <p><i>Pawn Structure Evaluation</i>: Doesn't apply to Ultima, but for most games, you want to give a bonus for passed pawns, and a penalty for doubled pawns, etc.</p> <p><i>Ultima-specific factors</i>: All pieces which are immobilized lose 25% of their material value as long as they remain immobilized. The Withdrawer is given a bonus proportional to the most valuable enemy piece that is adjacent, but only if the board has at least one square in the opposite direction for the Withdrawer to move into. The Coordinator gets a bonus proportional to the number of enemy pieces on the same rank or file as the friendly King. Chameleon has several small adjustments.</p> <p>So, there are so many different factors taken into account that it is very unlikely that any two moves will have exactly the same evaluation. Remember that it is not just evaluating a move, it is evaluating the best sequence of move-counter-move-counter-counter-move, etc. No random number generator is used in any of the search or evaluation functions. Given the same position and the same time to think, ChessV will do the same thing every time. In the unlikely event that two moves have exactly the same evaluation (which is almost impossible because of the way Alpha-Beta pruning works) the move selected is the first move generated (which is arbitrary.)</p> <p>Hope this helps! I can only suspect that you are under-estimating the difficulty of making an Ultima program. Just writing a good Chess program is hard enough, and this is much harder in many ways. And you are talking about using assembly language! Such a thing, I dare say, is difficult beyond description. But, I admire your courage!</p>

Edit Form

Comment on the page ChessV

Conduct Guidelines
This is a Chess variants website, not a general forum.
Please limit your comments to Chess variants or the operation of this site.
Keep this website a safe space for Chess variant hobbyists of all stripes.
Because we want people to feel comfortable here no matter what their political or religious beliefs might be, we ask you to avoid discussing politics, religion, or other controversial subjects here. No matter how passionately you feel about any of these subjects, just take it someplace else.
Avoid Inflammatory Comments
If you are feeling anger, keep it to yourself until you calm down. Avoid insulting, blaming, or attacking someone you are angry with. Focus criticisms on ideas rather than people, and understand that criticisms of your ideas are not personal attacks and do not justify an inflammatory response.
Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.
Here is some preformatted text.
  This line begins with some indentation.
    This begins with even more indentation.
And this line has no indentation.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.