clearer guide (w/ recommendations) added on June 26th:
EDIT: new cool starting positions/setups added on July 10th: new, cobwebs and hybrid-dragon, which are intended as conceptual complements to each-other, with cobwebs also serving (roughly) as a conceptual complement to leapers.
to play against Fairy Stockfish (FSF) on a web browser (PC):
- go to https://fairyground.vercel.app/advanced.html and where it says - variants.ini: give it the below text in the code block/monospaced font as an .ini file (the name doesnt matter).
- above "Position: Input FEN here" you should see two drop-down menus, "Variant Type:" and "Name:". click the one for "Name:".
- there will be many variant names presented to you; the names to look for corresponding to the variants/setups i've define below are:
- chess++
- ortho
- unicorn
- sliders
- leapers
- power
- mini-power (this one fills the outer files of an 8x8 board to get a 6x8 board)
- hybrid
- new (added 10th July)
- cobwebs (added 10th July)
- hybrid-dragon (added 10th July)
- jumpy (added 31st August)
- larches (added 31st August)
- alternate *(added
- ultrachess (this one's an odd one out as it's the only one defined on an 8x10 board)
- (optional step:) at this point, you should be able to input positions in the "Position: Input FEN here" option (press Set to the right of it to confirm), as once you've selected any of these variant names, it will recognise and understand all the piece abbreviations i explain and define below.
- finally, input the "Movetime" (in milliseconds); keep in mind Fairy Stockfish is very strong so 150 milliseconds is going to be extremely difficult. (and make sure to check engine white/black (whichever side you wanna play) and then press Go! then it will auto-move for the side it's enabled for after a set amount of thinking time has elapsed.)
to get started, i recommend trying "chess++" and "sliders" for a gentle introduction and "mini-power" for something exciting and new. much more fun against human players! (you could use the website as a rudimentary interface and use screenshare or to play in person if you dont have sufficient pieces.)
note that you can easily ignore the pieces with abbreviations T, I, E, V as they are mostly there for people wishing to use them to define their own setups as well as for completeness (in the case of T and I). you can even ignore the (fairly standard) fairy pieces A(rchbishop=rook+knight) and C(hancellor=bishop+knight) if you want, as only one setup (the one called "hybrid") uses them and as they have already been explored deeply in many forms by fairy chess players. therefore, it is all other pieces defined that reflect stuff that has rarely seen use/exploration (especially in combination).
# STANDARD fairy chess pieces are:
# Archbishop = knight + bishop ("+" means can move as both/either)
# ChanCellor = knight + rook ("+" means can move as both/either)
# Unicorn = kNight + camel(=Zebra/Zorn; see directly below)
# Zebra/Zorn = camel ((3,1)-leaper, so like a knight move (2,1) but one further)
# (note the camel has two possible alternative/nonstandard names in chess++)
# (also note that the camel (abbreviation: Z) is colourbound so should be placed in pairs)
# (the name & icon "Zebra" is supposed to be a reminder of being a black & white (colourbound) horse,
# while the name "Zorn" is intended to have a vaguely biblical aesthetic, given that this piece has
# an icon of angel wings in the merida theme which is fitting as this is arguably the furthest
# leaper primitive that is practical and reasonable to play with, hence is in some sense the
# "beginning and end" of fairy chess piece moveset possibilities (at least in the context of chess++);
# "beginning and end" like alpha and omega like A and Z, as i also considered using A for cAmel before
# i introduced the Archbishop as a standard chess++ piece in the set.)
#
# NONSTANDARD PRIMITIVE fairy chess pieces are:
# Greatshroom/mushroom = moves like queen, captures like (non-royal) king (AKA a "mann")
# Fight/Fury = moves like (non-royal) king (AKA a "man"), captures like queen; also called "berserker"
# Larch = jumps 3 "like a rook" and 2 "like a bishop" (if rooks and bishops could jump over intervening pieces) (AKA threeleaper + alfil)
# (note that the Larch is an improved version of an ancient piece (the elephant AKA alfil) in that it is:
# stronger, more versatile, (arguably) more symmetric, stronger and
# no longer colourbound (whereas the alfil is triply colourbound!),
# thus offering more interesting tactical opportunities and more
# integration (with the games played) (with the chess++ piece set).)
# Spider = moves and captures like a (non-royal) king (AKA a "mann") and a dabbaba (which jumps 2 rookwise)
#
# NONSTANDARD COMPOUND pieces using the above defined primitive pieces are then:
# Dragon = Spider + kNight (the Dragon is the most valuable piece in chess++!)
# star (X) = Spider + Larch (the abbreviation X is intended to remind one of a star)
# Jiraffe = Larch + Zebra/Zorn
#
# NOTE that all above nonstandard compound pieces are FULLY STANDARD in the chess++ piece set!
# this in contrast to the NONSTANDARD BONUS COMPOUNDS:
# TwicksTer = Zebra/Zorn + wazir (moves & captures 1 like a rook)
# (also called Transgressor/Traveller/Trespasser; functions as a
# trickier, more maneuverable and non-colourbound version of camel)
# pInecone = Larch + wazir (AKA an "ent" (its former name) or "Larch+"; note:
# the name "wolf" for this piece is older/more standard)
# EdgEsquarE = kNight + Larch (named for its moves being the (corner-)edges of two squares superimposed)
# Vicariate = Bishop + wazir (AKA a "dragon horse"/"missionary" or a "Bishop+"; a non-colourbound bishop)
#
# VALUATION GUIDE/RECOMMENDATION:
# high value: Dragon > star (X) > Queen >= ChanCellor >= Archbishop > Fight/Fury
# med. value: Fight/Fury >= Jiraffe ~ EdgEsquarE > Unicorn ~ Twickster ~ Vicariate > Greatshroom
# low value: Greatshroom > Rook ~ Spider > pInecone >= Bishop > kNight > Larch ~ Zebra/Zorn > Pawn
# abbreviated: D > X > Q >= C >= A > F >= J~E > U~T~V > G > R~S > I >= B > N > L~Z > P
#
# ESTIMATED PAWN VALUES OF PIECES (semipawn-precision except high-value pieces are more imprecise/variable):
# (note: that nonstandard bonus compounds (incl. hybrids) are put in brackets (as used rarely in chess++).)
# 12.5 Dragon (plus or minus up to 1 pawn)
# 11.0 star (X) (plus or minus 0.5 pawns)
# 10.5 Queen(, ChanCellor and Archbishop) (minus up to 1.5 pawns depending on the piece)
# 7.5~8.0 Fight/Fury and Jiraffe(, and EdgEsquarE)
# 6.5~7.0 Unicorn(, Twickster and Vicariate)
# 6.0 Greatshroom
# 5.5 Rook and Spider
# 4.0 (pInecone) (plus or minus 0.5 pawns)
# 3.5 Bishop
# 3.0 kNight
# 2.5 Larch and Zebra/Zorn
# 1.0 Pawn (by definition)
# IMPORTANTLY: except the Unicorn and Twickster, all pieces at least 5.5 pawns in value or higher
# are major pieces (can force a win in a two kings endgame).
# the Dragon is the only piece that doesn't even need the aid of the king,
# hence is a "supermajor" piece and valued almost as much as an amazon (QN);
# the QN compound is not included in the chess++ piece set due to its sheer power.
# also: the Greatshroom, Spider and Rook are the only major pieces worth less than 7 pawns.
#
# SUMMARIZING ALL THE PIECES:
# * PRIMITIVE LEAPERS: SLNZ
# * PRIMITIVE SLIDERS (arranged into pairs): RB, GF
# * COMPOUND LEAPERS (arranged into pairs): XU, DJ, TI/TE (note that E is the odd piece out here)
# * HYBRIDS (compounds of leapers and sliders): CA
# * the Pawn, the King and the Queen (the only/unique composite slider)
# below is an attempt to demonstrate the symmetries between all leapers and hybrids except the Vicariate.
# (note that you may replace the I = pInecone piece with the E = EdgEsquarE piece
# but that it results in a less elegant diagram/set of symmetries. also
# note that an even more elegant diagram/set of symmetries can be achieved by
# omitting all NONSTANDARD BONUS COMPOUNDS and HYBRIDS (by omitting (E)ITAC).)
# N
# U A D
# Z T * C S
# J I X
# L
# N Z L S N
# A U J X D C
# (* if you want, you can think of the Queen as an exceptional
# non-leaper middle piece filling the hole in the symmetry.)
#
# (if you can't find someone who wants to play, Fairy StockFish
# is always willing to teach you to play your own variant! just
# define it in a .ini file & feed it to fairyground.vercel.app;
# just note that very occasionally FSF blunders in the endgame;
# the only case ive observed was a Greatshroom+Pawns endgame...)
[chess++:chess]
archbishop = a
chancellor = c
customPiece1 = z:C
customPiece2 = g:mQcK
customPiece3 = f:mKcQ
customPiece4 = l:AH
customPiece5 = s:DK
customPiece6 = d:NDK
customPiece7 = u:NC
customPiece8 = x:DKAH
customPiece9 = j:AHC
customPiece10 = t:WC
customPiece11 = i:WAH
customPiece12 = e:NAH
customPiece13 = v:WB
pieceDrops = true
mustDrop = true
dropNoDoubled = BZFGQCA
dropOppositeColoredBishop = true
chess960 = true
castlingRookPieces = rgfcqxsd
castlingDroppedPiece = true
castlingRookQueensideFile = ab
castlingRookKingsideFile = gh
promotionPieceTypes = QXUJ
whiteDropRegion = *1 *2
blackDropRegion = *8 *7
startFen = rbzqkzbr/snppppns/pp4pp/8/8/PP4PP/SNPPPPNS/RBZQKZBR w HAha - 0 1
# NOTE: the default position for chess++ is the one i call "faery", which adds
# two Spiders and two Zebras/Zorns (camels) to the standard chess gamut. another
# reason i chose this for the default is Fairy Stockfish seems to think it's
# extremely well balanced using HCE (Hand-Coded Evaluation).
# 5 empty slots for your own pieces; examples used here are the main ortho atoms:
# H = tHreeleaper (3,0)
# M = dabbaba ((war) Machine) (2,0)
# W = Wazir (1,0)
# O = ferz (1,1)
# Y = alfil (2,2)
[alphabet-test:chess++]
customPiece14 = h:H
customPiece15 = m:D
customPiece17 = w:W
customPiece16 = o:F
customPiece18 = y:A
startFen = abcdefgh/ijklmnop/qrstuvwx/y1z5/Y1Z5/QRSTUVWX/IJKLMNOP/ABCDEFGH
# ALTERNATE STARTS
# only sliders!
[sliders:chess++]
startFen = rfbqkbfr/pppggppp/3pp3/8/8/3PP3/PPPGGPPP/RFBQKBFR w HAha - 0 1
# a hybrid of leapers and capablanca which uses Archbishop and ChanCellor
# (the hybrid pieces) instead of kNights, and a Queen instead of a Jiraffe.
[hybrid:chess++]
startFen = sazqkzcs/1lppppl1/pp4pp/8/8/PP4PP/1LPPPPL1/SAZQKZCS w HAha - 0 1
# only leapers! the most difficult chess++ variant to play.
# try hybrid for a gentler introduction to playing with mainly leapers.
[leapers:chess++]
startFen = sxzjkzus/nlppppln/pp4pp/8/8/PP4PP/NLPPPPLN/SXZJKZUS w HAha - 0 1
# an alternate & more practical/fun version of "leapers" that i added 2024-08-31:
[jumpy:chess++]
startFen = lqzjkzxl/pppppppp/8/8/8/8/PPPPPPPP/LQZJKZXL w - - 0 1
# normal chess but with Larches instead of kNights! (added 2024-08-31.)
# more interesting to play than you might expect, as
# Larches can back up Rooks, Bishops and Queens
# and cannot be blocked due to being leapers.
[larches:chess++]
startFen = rlbqkblr/pppppppp/8/8/8/8/PPPPPPPP/RLBQKBLR w HAha - 0 1
# chess in an alternate universe/timeline where
# instead of Rooks and Bishops we had mushrooms and berserkers (resp.)
[alternate:chess++]
startFen = gnfqkfng/pppppppp/8/8/8/8/PPPPPPPP/GNFQKFNG w HAha - 0 1
# a game using only "combination pieces", plus Greatshrooms and Fights/Furies, which you can castle with
# (in place of/instead of Rooks), both for elegance and to make the game more interesting.
# "power" comes from the fact that all combination pieces here are not only
# "power pieces" but very *powerful* power pieces; often comparable to the queen.
# a neat property of this game is every piece behind the pawns is unique!
[power:chess++]
startFen = gxuqkjdf/pppppppp/8/8/8/8/PPPPPPPP/GXUQKJDF w HAha - 0 1
# (the initial position defends the king from long-distance attacks from the Unicorn and Jiraffe
# and was picked based on a combination of concerns of symmetry, elegance and balance.)
# a variant of powerchess played on a 6x8 board which omits the
# two highest-value/most powerful pieces: the Dragon and star (X)
[mini-power:chess++]
startFen = *guqkjf*/*pppppp*/*6*/*6*/*6*/*6*/*PPPPPP*/*GUQKJF* w GBgb - 0 1
# only horizontal/vertical/diagonal-moving/capturing (orthogonal) pieces
[ortho:chess++]
startFen = rgbqkbfr/slppppls/pp4pp/8/8/PP4PP/SLPPPPLS/RGBQKBFR w HAha - 0 1
# adds camels (Zebras/Zorns) and replaces the Queen with a Unicorn; this is the counterpart to ortho
[unicorn:chess++]
startFen = rzbukbzr/nppppppn/p6p/8/8/P6P/NPPPPPPN/RZBUKBZR w HAha - 0 1
# a variant of chess focusing on replacing all the pieces (except the King & Pawns)
# with "new" pieces from the chess++ piece set. fun, exciting and challenging.
[new:chess++]
startFen = glzxkzlf/pppppppp/8/8/8/8/PPPPPPPP/GLZXKZLF[] w HAha - 0 1
# if you add just a pair of Spiders to chess, then a
# Spider+kNight(=Dragon) compound becomes natural to consider;
# this then becomes the natural replacement of the Queen,
# as it serves both "leaping" and "sliding" type purposes;
# (altho the (unblockable) "sliding" is quite limited compared to a Queen,
# but has the advantage of giving Rooks & Bishops unique strengths;)
# this is simultaneously the counterpart to both leapers and new.
[cobwebs:chess++]
startFen = rnbdkbnr/spppppps/p6p/8/8/P6P/SPPPPPPS/RNBDKBNR[] w HAha - 0 1
# this is a version of cobwebs and chess that uses hybrid dragon-y pieces. specifically:
# * the Archbishop (also sometimes called a dragon) and Vicariate
# (AKA dragon horse) serve in place of bishops as bishop-hybrids
# * the Spiders serve in place of the kNights as (technically-hybrid) jumping pieces
# * the Chancellor serves in place of the rook furthest from the Archbishop
# * the (chess++) Dragon serves in place of the chess queen
# (this + castling completely defines this variant, which is like a mix of cobwebs & hybrid.)
[hybrid-dragon:chess++]
startFen = csvdkasr/pppppppp/8/8/8/8/PPPPPPPP/CSVDKASR[] w HAha - 0 1
# FOR 8x10 BOARD; CURRENTLY ONLY ULTRACHESS BUT IN FUTURE WILL INCLUDE "long" VARIANTS OF ALL ABOVE CONFIGS:
# for games played on an 8x10 board instead of an 8x8 board
# this is the canonic position i chose for the absolute minimum amount of chess++ pieces
# which could possibly constitute a "complete" set (therefore designed for 8x10).
[ultrachess:chess++]
maxRank = 10
doubleStepRegionWhite = *1 *2 *3
tripleStepRegionWhite = *1 *2
doubleStepRegionBlack = *10 *9 *8
tripleStepRegionBlack = *10 *9
whiteDropRegion = *1 *2 *3
blackDropRegion = *10 *9 *8
promotionPieceTypes = DACQXUJ
startFen = gxuqkjdf/rnzbbznr/lsppppsl/pp4pp/8/8/PP4PP/LSPPPPSL/RNZBBZNR/GXUQKJDF[] w HAha - 0 1
their names are:
- new (added 10th July)
- cobwebs (added 10th July)
- hybrid-dragon (added 10th July)
- jumpy (added 31st August)
- larches (added 31st August)
and their definitions are:
# a variant of chess focusing on replacing all the pieces (except the King & Pawns)
# with "new" pieces from the chess++ piece set. fun, exciting and challenging.
[new:chess++]
startFen = glzxkzlf/pppppppp/8/8/8/8/PPPPPPPP/GLZXKZLF[] w HAha - 0 1
# if you add just a pair of Spiders to chess, then a
# Spider+kNight(=Dragon) compound becomes natural to consider;
# this then becomes the natural replacement of the Queen,
# as it serves both "leaping" and "sliding" type purposes;
# (altho the (unblockable) "sliding" is quite limited compared to a Queen,
# but has the advantage of giving Rooks & Bishops unique strengths;)
# this is simultaneously the counterpart to both leapers and new.
[cobwebs:chess++]
startFen = rnbdkbnr/spppppps/p6p/8/8/P6P/SPPPPPPS/RNBDKBNR[] w HAha - 0 1
# this is a version of cobwebs and chess that uses hybrid dragon-y pieces. specifically:
# * the Archbishop (also sometimes called a dragon) and Vicariate
# (AKA dragon horse) serve in place of bishops as bishop-hybrids
# * the Spiders serve in place of the kNights as (technically-hybrid) jumping pieces
# * the Chancellor serves in place of the rook furthest from the Archbishop
# * the (chess++) Dragon serves in place of the chess queen
# (this + castling completely defines this variant, which is like a mix of cobwebs & hybrid.)
[hybrid-dragon:chess++]
startFen = csvdkasr/pppppppp/8/8/8/8/PPPPPPPP/CSVDKASR[] w HAha - 0 1
# an alternate & more practical/fun version of "leapers" that i added 2024-08-31:
[jumpy:chess++]
startFen = lqzjkzxl/pppppppp/8/8/8/8/PPPPPPPP/LQZJKZXL w - - 0 1
# normal chess but with Larches instead of kNights! (added 2024-08-31.)
# more interesting to play than you might expect, as
# Larches can back up Rooks, Bishops and Queens
# and cannot be blocked due to being leapers.
[larches:chess++]
startFen = rlbqkblr/pppppppp/8/8/8/8/PPPPPPPP/RLBQKBLR w - - 0 1
