lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.06k stars 2.23k forks source link

New Game variant: plain board/no rules/no restrictions #8558

Open ghost opened 3 years ago

ghost commented 3 years ago

Use Case, i.e. I wish I had ...

Chess is a very flexible game besides the classic game which we all know and love there are about a gazillion (probably more) variants of this game (some can be found on https://en.wikipedia.org/wiki/Chess_variants). Some, e.g. Chess960, King of the Hill, ..., are supported by lichess but the other gazillion minus nine are not. Supporting those as top tier (e.g. with knowledge of the rule and enforcing those) is obviously out of question. However, I think lichess can do better and at least provide some support for those gazillion minus nine variants.

I'd like to see lichess to provide a "plain board" variant. That is it provides a simple 8x8 board (shared by the players) plus the standard set of 7 pieces. No further restrictions on the movement, winning condition, or turn order is imposed by lichess.

This way the players can agree on the variant the like to play and can do that. Obviously, enforcing the rules and turn order is left to the players.

In particular I do not want lichess to

Additionally, I want to be able to

Phrased differently: I'd like lichess to be more stupid and just provide an old-fashioned board just like in real life a board made out of wood would.

Something similar can be mimiced using the board editior, except the editor is not shared between two players.

Examples

The following names might be local things, so chances are there are other names for this kind of variant.

Tube-chess

Pieces can move out to the left/right and then come in on the right/left, e.g. a knight on a4 can jump to g5.

Hord with a different starting position

self explanatory.

Play with a fairy chess piece

Replace a chess piece by a fairy variant (https://en.wikipedia.org/wiki/Fairy_chess_piece), e.g. rider instead of knight or amazon instead of the queen. Here the players agree that the usual knight pictogram now denotes the rider and the queen pictogram denotes the amazon.

007-chess

normal starting position except the turn order is

  1. A moves white piece
  2. A moves black piece
  3. A moves white piece
  4. B moves black piece
  5. B moves white piece
  6. B moves black piece

Draughts/Checkers

duck This is also possible by abusing a pawn (or any other piece) as the piece.

Theoretical Limits (for the curious)

Essentially any game on a (sub)set of an 8x8 board with at most 14 different pieces can be played. (But this doesn't need to get advertised and might sometimes look awkward, see above Draughts/Checkers.)

What must be changed

I guess most of the functionality is already there; except one should not there enforce some checks. Though I've not looked at the code.

Further refinements

This is in my opinion not strictly necessary and can be added once the original issue is resolved:

Related

https://github.com/ornicar/lila/issues/7633 (similar but for a study)

benediktwerner commented 3 years ago

Since I feel like it's not that likely this will get accepted because it will still require a decent amount of development and maintenance while being unlikely to receive widespread usage (judging from the existing variants, although I guess this would at least solve any new questions about new variants), I just want to point out that you can already play games from custom starting positions. Just create a position on the editor and use the "play from here" button on the right. Obviously, it's not the same as allowing arbitrary moves but it's likely the most that will get implemented for now.

I guess just adding the feature to studies is more reasonable and that should still be enough for your use case. But judging from the other issue, that's still not going to happen soon, unless maybe somebody offers to implement it.