Comments/Ratings for a Single Item
I made one slight tweak to the description, changing "we use" to "it uses". I suspect this description was copied from a PyChess website, and it would be better for it to be rewritten from the point of view of a user telling people here about PyChess.
Pychess is having its first community contest, the ✍variant-design-contest! The goal of the contest is to create the best chess variant. But there will be a special theme for the contest which the designs have to make use of. The winning entry will have the honor of being added to the site.
Submissions can either be from individual users or a team of users. However, each member can only have their name attached to one submission. Additionally, the variant must be designed using Fairy Stockfish. If you need help, please ask around.
Contest format As “best” is a subjective determination, they will use judges – the PyChess server admins, who will rate the variants on a 100-point scale. The entry with the highest average score will win. Judges will base their score on fun, uniqueness/creativity, as well as theming.
Timeline
December 31, 2024 – Registration closes at midnight -- Please register here
April 31, 2025 – Submissions are due
June 30, 2025 – Judging ends
Theme The theme is regions! Specifically having well-delineated parts of the board that function differently. In Chess & Shogi, there are promotion zones, but this is rather minimal & would be a poor submission. Instead, look more at variants like XiangQi, YiTong, Chennis, & Chak where pieces are limited to certain regions. While they did say Chess & Shogi would be poor examples, having pieces that can change movement as they promote from one zone (normal zone) to another (designated as the “promotion zone” on Fairy-Stockfish) but then demote when going back to the former zone would count as working in the theme. Keep in mind that Stockfish can have parameters for exactly which squares pieces can move to, drop to, & promote to.
For example just spewing out some random stuff... You could have a spiral on the board where the king can't escape but moves like a rook & needs to get to the center. You can have a region of the board where there's a super piece like an amazon (but is only limited to the side). You can have regions that cause a piece to change (via promotion) but then cannot go back the way it came (like the Divine King in Chak). There are a lot of options available.
A good variant will almost certainly require unique board designs to convey movements.
Coding the Variant Again, the variant must be compatible with FairyStockfish. This means the variant has to be able to defined using the code in FSF. At the most basic level, this means no variants larger than 12×10. The variant definition code is basically what you'd put in the variants.ini file. All the documentation on that (which is very well explained by ianfab) is here, & you can see how PyChess implements all their variants here. If you're not familiar with variants.ini, don't worry! They'll provide assistance for anyone who's unfamiliar with making a variant definition.
Playtesting Entries should be playtested using FairyStockfish. At the most basic level, this involves downloading the FairyStockfish engine & then running a script to have the engine play against itself for multiple games. One such script provided by ianfab (FSF’s creator) is variantfishtest. If there any difficulties, there members in the community that will be be able to help.
Daniel Lee’s standards/recommendations from playtesting are the following:
- Balance – Ideally there should be no larger than a 40/60% winrate between the two sides. Testing should be done over at least 100 games with a long time control.
- Sharpness – Ideally there should not be a forced opening. When looking at the log of AI selfplay, seeing some variation in the opening moves is important. The chosen winner will likely undergo more vigorous testing with NNUE & ironing out any issues before being added to the site.
Graphics Graphics are not a consideration when judging. The entries can be playable using already available symbols if no graphics are provided, & special board graphics can be created by the contestant or Daniel Lee as needed. Naming is (including variant name, piece names, etc) is also not a part of the judging process. The community can assist with polishing the game & creating assets for the winning selection.
Edit: I just asked "Is there a txt file of a variant that have pieces that can change movement as they promote from one zone to another but then demote when going back to the former zone?", then Daniel Lee replied with "hmm now that I think about it, that might not be possible. I'm looking at my definition for Chennis and it simply says pieceDemotion = true so what's more likely is a one-way 'promotion'"
Another edit: "promotedPieceType = m:n" will make m be able to promote to n, but you need a "pieceDemotion = true" to make n be able to demote to m.
Nice! Perhaps I should submit a mini version of Onslaught. The regular version is 12x12, which is beyond the capacity of Fairy Stockfish. On 10x10 there could be 30 pieces in the array, and with a closed Pawn rank and the FIDE army that leaves room for 12 fairies. This could be RN, BN plus 5 pairs. Throw in the Omega Champion as a Rook-class piece, then we can have four extra minor types. E.g. Elephant, Camel, Zebra and Frog. The latter would be be a replacement for the 2nd-rank Pawns in the 12x12 version, its F move still being functional on its own board half, like that of the Elephant.
Check the edit.
I am not convinced that what this Daniel Lee says makes sense. Demotion isn't really a different mechanic from promotion; it is just another name for the same thing, depending on whether we percieve the origial piece as more or less valuable. Which is a strategic consideration rather than a game rule. If stockfish allows multiple pieces to promote, each according to their own rule and with their own zone, you just make type A promote to B in one zone, and type B to A in the remainder of the board.
The issue could be the "with their own zone" part. When all pieces use the same zone, it amounts to Shogi rules, and Fairy Stockfish does support Shogi.
To my knowledge fairy stockfish does not support bent riders. Am I correct?
Betza notation for a Range 3 Aanca=WnNnZ
Does anyone know the answer to my previous question: Does Fairy Stockfish support bent riders?
You can do a Range 3 Aanca since FSF supports Mao and Sang but that's about it.
10 comments displayed
Permalink to the exact comments currently displayed.
Instead of just listing games that Pychess supports in the description, how about going to our pages for these games (at least those we have), and adding the Pychess tag to them?