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

Enter Your Reply

The Comment You're Replying To
HaruN Y wrote on Tue, Nov 26, 2024 04:48 AM UTC:Excellent ★★★★★

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:

  1. 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.
  2. 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.


Edit Form

Comment on the page Pychess

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.