Comments/Ratings for a Single Item
Well, Dmitry I'm not sure about the elo of fairy-max, but it seems fairly respectable, anyway better than my 1800 or so! Also HG method is ELO free, so it depends only on material balance after all substractions and divisions have been made!
At this post I will publicate and update statistics:
Pawn = 63,0% of 1000 games (+/- 2%)
Dragon (RN, Chancellor) + pawn f = Angel (Q), 51,9% of 500 games (+/- 3%)
Phoenix (BN, Archbishop) + pawn f < Angel (Q), 46,0% of 500 games (+/- 3%)
Exchanging the Queens also affects to pawns, so the advantage of Angel may be only 75% of the full, because other 25% difference pawns gains for the better promotion.
2 Wyverns (R>1) + pawn f > 2 Griffins (R), 54,1% of 500 games (+/- 3%)
2 Pegasus (jR3) > 2 Griffins (R), 53,6% of 500 games (+/- 3%)
2 Werewolves (N+) = 2 Knights (N) + pawn f, 52,5% of 500 games (+/- 3%)
2 Unicorns (Nx) > 2 Knights (N) + pawn f, 58% of 500 games (+/- 3%)
2 Hunters (B>1) + 2 pawns f/c = 2 Monks (B), 48,1% of 500 games (+/- 3%)
2 Centaurs (jB2) < 2 Monks (B), 39,9% of 500 games (+/- 3%)
8 Fairies (px) + Phoenix (BN, Archbishop) > 8 Footmen (p) + Angel (Q), 60,2% of 100 games (+/- 3%)
7f Guards (p+) + Dragon (RN, Chancellor) < 8 Footmen (p) + Angel (Q), 42,4% of 500 games (+/- 3%)
Current equalities:
Dragon = Angel - 0.6
Phoenix = Angel - 1.0
Wyvern = Griffin - 0.3
Pegasus = Griffin + 0.2
Werewolf = Knight + 0.6
Unicorn = Knight + 0.8
Hunter = Monk - 1.1
Centaur = Monk - 0.4
Fairy = Footman + 0.2
Guard = Footman + 0.15
I think that auto statistics can't be very exact, because of experience of other strategies shows that a balance depends on player's skills and styles. The balance will be different for grandmasters and novices, for humans and engines, with openings' books and endgames' tables and without it. But it is important to ensure that the basic balance of the matchups is within acceptable limits, 40-60% rather than 70% or higher. And the automatic tests can be useful for adjusting units evaluation as provide an alternative, machine evaluation as one of the approximate marks.
So I will test separate units by 3 iterations: 100, 500 and 2500 games (200, 1000 and 5000 for basic pawn evaluating), that gives an accuracy of 0.25, 0.1 and 0.05 per unit (0.05, 0.02 and 0.01 for pawns). Then I will launch 1000 games for each match-up and 500 for mirrors. Mirrors are important to get statistics about white and black balance. All games will be launched at the minimal time limits, 1 sec per turn, because it provides greater accuracy per spent time.
Overall (by the 1 iteration of test):
Hero = 3.0
Footman = 1.0
Knight = 3.25
Monk = 3.5
Griffin = 5.0
Angel = 9.5
Guard = 1.15
Centaur = 3.1
Werewolf = 3.85
Wyvern = 4.7
Dragon = 8.9
Fairy = 1.2
Hunter = 2.4
Unicorn = 4.05
Pegasus = 5.2
Phoenix = 8.5
1) This is surprising that Centaurs are much stronger than Hunters
2) These values can't be used as average powers because they show only unit's potential from the very beginning of game; the side which have better potential, have better chances commonly
3) The starting power of Queen-type units is really high, much more than 2 Rooks
4) These values (starting powers) don't correlate with average power, neither of orthodox pieces, nor of new peaces with my calculations, that's why better accuracy is not important, and I think I will stop on the 2nd iteration, 500 games per unit.
I have an idea for weakening Orcs, to deprive them of the right to castling, but at first, I need to collect their massive statistics before it and after it to ensure that this measure is really necessary.
Interesting game and worth trying out.
I also love your pieces, specially the Werewolf and the Unicorn that are new to me.
Here are a few remarks:
The "jumping rook" and "jumping bishop" pieces are known as "ski rook" and "ski bishop" (think of ski jumping!) for a long time, for a reference see, e.g., here: http://www.mayhematics.com/q/mccs.htm
Since your Chess Variant is a themed or Humans, Elves and Orcs, some artistic freedom in piece nameing is generally granted, But I think you are going overboard in renaming the Human pieces (the standard Chess pieces) only to create unnecessary confusion. Also, the name Phoenix is given traditionally to another piece (WA) and should not be reused. A Centaur is usually understood as a KN compound piece (also known as knighted King or crowned Knight). The piece you name Centaur is usually known as Ferfil (Fearful being a wordplay on that) or as Modern Elephant.
For list of piece names, you may consult these references:
http://www.chessvariants.com/piececlopedia.dir/whos-who-on-8x8.html (My favorite reference list, because you can find a piece when you know its approximate strength)
http://www.chessvariants.com/index/mainquery.php?type=Piececlopedia&category=&startswithletter=&language=English&daysyoung=0&daysold=0&minyearinvented=&maxyearinvented=&boardrows=0&boardcols=0&boardlevels=0&boardcells=0&authorid=&inventorid=&orderby=LinkText&usethisheading=Search+Results&displayauthor=on&displayinventor=on®expurl=®explinktext=
(The long link above gives a list of Variant Chess piece article in the piecoclopedia on this site)
And an external link: https://en.wikipedia.org/wiki/Fairy_chess_piece
I also love your pieces, specially the Werewolf and the Unicorn that are new to me.
Thanks, they are very basic units, because the move of orthodox Knight often explained the same way as moves of Werewolf and Unicorn are. But the Knight is jumping over the first square, while the Unicorn/Werewolf can stay there.
Werewolf/Unicorn were the first invented units but later Pegasus became my favourite unit, because its movement is very easy but its abilities are wonderful and I was very surprised why there are many such units as R2, R3, R4, R5 which are only weaker versions of Rook, but no one is jumping R3, although the Pegasus is the strongest basic orthogonal leaper which is balanced (jumping R4 is imba on 8x8 boards). Pegasus is a real antipode of Rook (Griffin), playing on the same lines but by the opposite way, preferring closed rather than open lines.
The "jumping rook" and "jumping bishop" pieces are known as "ski rook" and "ski bishop" (think of ski jumping!) for a long time, for a reference see, e.g., here: http://www.mayhematics.com/q/mccs.htm
I was very surprised when I didn't find the same pieces in fairy lists, because in my opinion they have very simple, almost basic, mechanics of move, much easier and more obvious than most fairy pieces. Someone had to invent something like them.
Since your Chess Variant is a themed or Humans, Elves and Orcs, some artistic freedom in piece nameing is generally granted, But I think you are going overboard in renaming the Human pieces (the standard Chess pieces) only to create unnecessary confusion.
I like orthodox pieces but don't imagine what the Bishop, Rook and Queen do at the battlefield and why they are battle units? I understand that the orthodox pieces are likely to retain their old names, but still suggest alternative names. On the other hand, orthodox names may be used and reserved as type names, for example Griffin, Pegasus and Wyvern are Rooks.
Also, the name Phoenix is given traditionally to another piece (WA) and should not be reused.
Yes, but I can't imagine any other unit as elvish "champion". Maybe the Dragon, but the Dragon is already used by Orcs. The Pegasus is almost ideal alternative, but it makes the Angel and the Dragon incomparable with them and need to find extra new names (and for the Elvish Rook too).
A Centaur is usually understood as a KN compound piece (also known as knighted King or crowned Knight). The piece you name Centaur is usually known as Ferfil (Fearful being a wordplay on that) or as Modern Elephant.
I'm thinking to rename Centaur to Harpy, but doubt because the Harpy is the 3rd flyer unit (Wyvern, Dragon). The Elephant is bad because it associated with clumsy, but this unit is much more agile. The main problem of "usually known" names is the same as orthodox names - they are not thematic (if we include several pieces to the same army) and often not logic.
There is a huge number of different names of fairy pieces, and it is a problem for any developer. Because if you want to use, for example, the image of the Dragon or the Griffin to thematic army, suddenly you find that these pieces are already exist but they do not at all what you need for the game and for the balance.
The names are controversial, but at least now they are 100% relevant to the theme and how these units work (for all new people who don't know any peaces besides orthodox). I can't find another good names, to achieve two goals at once, that's why I had chose only thematic names. I'm opened to new suggestions for names, but thematic and logic are the most important aspects.
Maybe, I should rename Fairy to Sprite, and Pegasus to Valkyrie. Valkyrie is something that can be Elvish Queen instead of Phoenix, but which name give to Elvish Rooks?
If I'll want to make Elvish Pawns have leaping push like spartan pawns:
h:70 15,E4 17,E4 16,5 15,6 17,6
E4 means this leaping push?
If I'll want to make Orcish Pawns have promotion only to Nightriders (unique unit, which is absent in starting army), then I would put the Nightrider to #7 (or #9 black), moving the Orcish Queen to the end of list, it will work correctly?
I think that promotion to Nightriders is "positive" nerf making Orcish games more interesting than standard promotion (to Dragon usually). And this is better than a ban of castling or a single ban of promoting to Dragon. I like Nightriders but as a rare option, not at starting army (because it is upgraded Knight and have difficult move). It is interesting that although Nightrider is stronger than a Rook/Wyvern, it can't checkmate a bare King (need the second Nightrider). The same story with the other Orcish Knights - Werewolves.
While there are lots of evil creatures (to be associated with the Orcs) in Tolkiens legendarium, the number of good or ambivalent races is rather limited. There are Goblins, Hobgoblins, Uruk-Hai, Trolls, Balrogs, Dragons and Worms, Wargs, and the Nazgul with their (unnamed) flying animals.
For the airforce of the "good ones", there are the Eagles (taking part in the Battle of Five Armies). Than, there are the Ents, and maybe an Ent is a good picture for a rookish piece. Of course you can look up other mythologies for suitable names.
Eagles are bad because there are Griffins (Human Rooks), which are hybridize eagles. Ents are good, but require redefining all the Rooks from flyers to something siege. There is no problems for Orcs because of Cyclops instead of Wyverns. But there is a problem for Human, because the closest analogue is Elephant (instead of Griffin). As an alternative there is a (sieged) Tower, usually associated with the Rook (by image), but I'm not sure that it is a good unit.
In general, there is a very interesting idea to use exactly Tolkien's setting, but I'm afraid that I haven't enough imagination to find matching units for all 3 races.
"E4 means this leaping push?"
Indeed. Fairy-Max uses the primary rights-code '4', which would mean a move without any rights and without continuation (which thus would be totally useless) as an 'escape' for indicating moves that only 'virgin' pieces have. The preceding hex digit is then used to indicate what the move can actually do: a slider step creating e.p. rights on the visited square, (which is interpreted as castling on a royal piece), a sliding step creating no e.p. rights, or a jump over the square. The lowest two bits would specify the rights for the next (terminating) step. For E = 1110 this would be move-but-not-capture
"If I'll want to make Orcish Pawns have promotion only to Nightriders (unique unit, which is absent in starting army), then I would put the Nightrider to #7 (or #9 black), moving the Orcish Queen to the end of list, it will work correctly?"
That might not work. IIRC Fairy-Max will always use #7 for both sides, unless the initial setup would contain a #7 for white, and a #9 but not #7 for black. So if black does not initially have #9... Of course the code can be easily changed; the rule that each side promotes to #7 if it has a #7 in the initial setup, and to #9 otherwise, irrespective if they have it or not would have the same effect in all currently supported variants. And Fairy-Max 5.0 takes the promotion piece from a board-size table ayway (to make Grant Acedrex possible, where the piece is determined by the promotion square).
Before version 5.0 Fairy-Max did have problems with Nightriders, because these make mutual perpetual chack possible, Sooner or later the search would stumble on a position where this occurred, and because each check evasion extends the search by 1 ply (i.e. the check evasions are not counted in the search depth), this wouldleed to infinitely deep recursion, and a crash due to stack overflow. But Fairy-Max 5.0 doeshave in-search recognition of repetitions, and I think this should cure thisproblem. (Otherwise Griffons (in theGrant Acedrex sense) would also have been a problem, as these can do this too.
Current statistics with Fairy-Max:
Human-Orc: 40,1% (human) by 500 games
Orc-Human: 43,6% (human) by 500 games
Human < Orc, 41,85% by 1000 games (+/- 2,5%)
Elf-Orc: 42,3% (elf) by 500 games
Orc-Elf: 40,8% (elf) by 500 games
Elf < Orc, 41,55% by 1000 games (+/- 2,5%)
Human-Elf: 49,2% (human) by 500 games
Elf-Human: 48,1% (human) by 500 games
Human = Elf, 48,65% by 1000 games (+/- 2,5%)
Unit's power by statistics (500 games per unit):
Hero = 3.0
Footman = 1.0
Knight = 3.25
Monk = 3.5
Griffin = 5.0
Angel = 9.5
Guard = 1.15
Centaur = 3.1
Werewolf = 3.85
Wyvern = 4.7
Dragon = 8.7
Fairy = 1.2
Hunter = 2.4
Unicorn = 4.05
Pegasus = 5.2
Phoenix = 8.2
Overall:
Human = Elf
Orc > Human/Elf by 0.6 pawn
I think that there are two good ways to balance Orcs:
1) Orcish pawns promote only to Nightriders (special unit) but it seems as too big nerf, or
2) Orcish pawns promote only by simple turn (don't promote automatically)
In both cases I need to configure promotion at Fairy-Max.
Update rules:
Guards (Orcish Pawns) can promote only to minor pieces: Werewolves (Orcish Knights) and Harpies (Orcish Bishops).
Update statistics:
Human-Elf: 49,2% (human) by 500 games (+/- 3,5%)
Elf-Human: 48,1% (human) by 500 games (+/- 3,5%)
Human = Elf, 48,65% (human) by 1000 games (+/- 2,5%)
Human-Orc: 48,2% (human) by 500 games (+/- 3,5%)
Orc-Human: 47,7% (human) by 500 games (+/- 3,5%)
Human = Orc, 47,95% (human) by 1000 games (+/- 2,5%)
Elf-Orc: 50,3% (elf) by 500 games (+/- 3,5%)
Orc-Elf: 48,1 (elf) by 500 games (+/- 3,5%)
Elf = Orc, 49,2% (elf) by 1000 games (+/- 2,5%)
Update units' power:
King: Hero = 3.0
Queen: Angel = 9.8
Rook: Griffin = 5.0
Knight: Knight = 3.3
Bishop: Monk = 3.3
Pawn: Footman = 1.0
Queen: Dragon = 9.0
Rook: Wyvern = 4.8
Knight: Werewolf = 3.9
Bishop: Harpy = 2.9
Pawn: Guard = 1.1
Queen: Phoenix = 8.6
Rook: Pegasus = 5.1
Bishop: Ranger = 2.2
Knight: Unicorn = 4.1
Pawn: Sprite = 1.2
It was surprising for me, but as it has appeared, that a pair of Unicorns can ckeckmate a bare King without the help of the own King, like a pair of Werewolves. The demonstration of this: Unicorns
Update rules.
Remove next rule:
- Elvish Knights and Elvish Bishops are exchanged with starting places: Knights stay on the files "c", "f" and Bishops stay on the files "b", "g" (need to defend all Elvish Pawns)
This rule was introduced because of Elf-Elf mirror matchup, having 1. Qc3 move attacking g7 Pawn (and opponent must reply 1.... gf6 or ef6, because if Qe6 then 2. Bc4!).
But this rule has influence to Elf-Human matchup, having 1. Rh4 attacking h7 pawn (and if 1.... g6 or Nf6 then 2. Bd4).
So I think this questionable rule must be cancelled.
Now I start to get new statistics of mathups, with Fairy-Max auto battles:
- at 1000 ELO (0.6 sec per 40 moves)
- at 1400 ELO (6 sec per 40 moves)
- at 1800 ELO (1 min per 40 moves)
- at 2000 ELO (10 min per 40 moves)
How I get these ELO? I have ~95% winrate FIDE chess White vs Black when 1st White engine has 10 times more time than 2nd Black engine.
At low ELO I can get statistics very quick and modify rules to balance sides for it. But at higher ELO I can get statistics much slower, and can just check if balance is OK or not.
~10 000 games must be played for 1% accuracy (~100 games has only 10% accuracy - even equal sides may play 60-40).
I think the only things to be modified must be promotion rules. For example, introducing limitation of Orcish Pawns to promote only minor Pieces, lower Orcish winrate from 58% to 52%. Now I think that Elves and Orcs are a little stronger than orthodox Humans (~+2% winrate) and this point must be fixed.
Also, the most interesting thing is getting Pawns and Pieces values (at different ELOs). By statistics and changing start Pieces I can get only starting values. For example, starting values of orthodox Knight and Bishop are equal.
But there is also mid values which can be used at middle-game exchanges (theoretically, these mid values are best values for Fairy-Max engine, i.e. with these values Fairy-Max must have maximal winrate (vs engines with other values). For example, mid values of orthodox Bishop will be greater than orthodox Knight, because having less Pieces and Pawns at the board than at start.
Now I think that Guard (Orcish Pawn) must have promotion to Harpy (Orcish Bishop) only (earlier they can promote to Werewolf also). This is about 2% winrate nerf of Orcs.
Returning Rangers (Elvish Bishops) and Unicorns (Elvish Knights) to their natural starting positions ('c' and 'f' files for Bishops, 'b' and 'g' files for Unicorns) maybe is about 2% winrate nerf of Elves too.
In future, I will check update of race winrates (this will spend several days).
The mate with Wyvern animation is incorrect (this one), Wyvern moves one step there, you probably accidentally put Griffin mate there. Proper mate would look something like this
Thats cool. The AI doesnt seem to understand checks from Wywerns (ski rook) though, it will happily move its king into check from them.
Thats cool. The AI doesnt seem to understand checks from Wywerns (ski rook) though, it will happily move its king into check from them.
Ughh, the JavaScript from the Asymmetric Chess comment and the CwdA comment had some variables with the same name (because I of course cloned the latter to make the former), and when they are on the same page (as they are, in the comments listing) one uses the variables of the other. With as a result that in Asymmetric Chess there was a second King piece type, which was not considered royal.
Were you playing on the comments page, or did you create a separate page for the comment first by clicking 'View'?
View. I just set white to orc, move black king to e6 and move wywern to h3 (as a setup), click play and move wywern to e3 to give check. The AI responds with knight to c6, ignoring the check.
- Ke6 Yh3 2. Ye3 N'c6
The AI responds with knight to c6, ignoring the check.
OK, fixed. Thanks for spotting this. The problem was in the j prefix for indicating ski-slides. (The alternative definition gyafW did work without problems.) The Betza parser splits such a move into 2 legs, one to jump over the adjacent square, and a remaining normal slide. But it adapts the range of that slide by subtracting 1 (so that jR4 moves 2, 3 or 4 steps.) Infinite range is indicated by 0, however, and this was adapted to -1. Now the move generator of the AI (in contrast to that of the UI) did not interpret the -1 as an infinite slide, but as a slide up to half the board. I now changed the Betza parser such that it refrains from decrementing a range of 0.
I just realized that in universal diagram, only white can promote (presumably because white pawns are first to be defined)
Oops, that is indeed a problem. The promotin pieces must always be defined first, so that maxPromote can specify how many promoting types there are. CwdA did not have this problem, as they had only one type of Pawns, defined first in the common part. I guess I must glue the variable parts of the diagram together a bit more carefully to get the desired order (using more + delimiters in the stored definitions to split them up). I will work on it.
25 comments displayed
Permalink to the exact comments currently displayed.
H. G. Muller
Maybe, it's not an efficient approach, but changing and testing only the one type of pieces doesn't suffer from the openings as all different army. Also, I don't know how much evaluation of pieces affects to engine's decisions. Then it's better to get these values first.
In any case, it's more effective to test it by parts, for the first iteration 100 games per unit.
Aurelian Florea
Hello! Thank you, but it's not hard for me, because there is only 10-15 units, not hundreds, which I usually work with. Hard are only limitations that I set: no any exotic peaces, no any strange extra moves and no any special rules. And now I need to understand, is it a perfect balance now, or not.
The automatic tests are interesting type of balancing tools, and it's a very big privilege to have it for chess, but it is unclear how they can be trusted and what limitations they have. Because the engine have features that may affect to results, or may not, and this is provisional, not real statistics of games played by real people. And for statistics there are very small numbers yet.