
The evaluation in my Shogi Variants program consists of 3 parts: Material, Influence & Position/Shape/King Safety.

Material - Each piece is given a set value which doesn't vary during play (unless of course the piece promotes). You can find these values in the data (.dat) files. It is the number immediately after the short piece name. The piece values were worked out according to some rough rules that are almost entirely associated with board coverage. From memory, I gave roughly:
* 1 point for a one-step move in a diagonal direction;
* 1.2 points for a one-step move in an orthogonal direction (unless restricted to a single rank or file in which case it is only 1 point);
* A second step was worth half the value of the first (ie: 0.5 or 0.6);
* A third step was worth one third the first (ie: 0.33 or 0.4), and so on, up to the maximum steps that could be taken if the piece was in the centre of the board (eg: 6 steps for a Bishop in Chu is (1 + 0.5 + 0.33 + 0.25 + 0.2 + 0.16) * 4 = 9.76 rounded to 10 points); After this, certain powers were used as multipliers:
* a jumping power was worth double points (ie: a piece that could jump to the 2nd square in the forward direction would get 0.6 x 2 = 1.2 points for that move);
* I gave the Lion points for every square it could reach and then doubled them all (for the double move);
* various higher multipliers were used for range-jumping and burning powers, etc. The only pieces that didn't have a value assigned purely on movement powers were Kings, Crown Princes & Emperors and those pieces in the large games that promote poorly on capture. For the latter, I arbitarily reduced the value by a factor of up to 3 depending on how weakly the piece promoted. I also used some slight judicious rounding in some cases if the value of the piece seemed under or over what I thought it should have been. In assessing material the program uses the following, after each possible move:
* the value of each friendly piece on the board x 10, less the value of each enemy piece on the board x 10.
* the value of each piece in hand (for games involving drops) x 10.5, less the value of each piece the enemy has in hand x 10.5.

Influence - The influence of the pieces is taken into account as follows:
* A small number of points are given for each square influenced by friendly pieces but not by the enemy, according to the formula: 1 + (Abs (No. of Ranks on board / 2) + 0.5 - Current Rank) / 2;
* 1 additional point is awarded if the influenced square contains a friendly piece.
* If you have left pieces en prise, points are awarded to the enemy (highest en prise piece value x 10)
* If an enemy piece is threatened and is not defended, your score is increased by the value of that piece (ie: piece value x 1).
* If an enemy piece is threatened but is defended, your score is increased by (piece value / 4), or 5 points if it is the enemy King.
* If a friendly defended piece is being threatened, a comparison is done of the value of the piece together with its lowest valued defender against the value of the lowest valued attacker. If the lowest valued attacker is worth less, then points are awarded to the opponent according to the formula (Threatened Piece value + Lowest Valued Defender - Lowest Valued Attacker)*10.

The program only has a few very crude rules for evaluating position, shape & king safety. For example:
* I have small weightings for advancing a step-mover in preference to a range mover for the games 12 x 12 and greater (3 points extra for advancing a step-mover and 2 points extra for retreating a range-mover).
* In most games there are points awarded for keeping the King back and moving it towards a corner. There are also points given for keeping step-movers near the King, etc.
* As soon as a piece gets into the opposing promotion zone there are 5 points awarded for every move that brings the piece closer to the opposing King, etc. This area of the program needs a lot more development. Well, that's about it as far as the Shogi Variants evaluation functions are concerned, at least for those games where it is not using any search depth (and even in the games Wa and smaller where it does search ahead, it is only looking ahead 1 full ply!).
