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.78k stars 2.28k forks source link

Add a way to create a game for two other players to join #15553

Open Meopetz opened 5 months ago

Meopetz commented 5 months ago

What the title says. I think this would be great for chess clubs using Lichess, or for more complex tournament formats. I know you can just teach the players to create a game and send the link to each other, but this is better for people unfamiliar with Lichess, and would be way easier to manage.

The latter is especially true for the tournament use case, because, without this feature, (assuming the order in which players will play is already determined), the organizer would have to make sure that the correct player sends the link to the other, the other player receives the link, no one goes to the wrong game, etc, which becomes significantly harder if the tournament is online (so players aren't with their devices in the same room). This isn't much of an issue if the tournament is between your friends, but some may feel different if they are organizing a tournament between strangers (such as in an online chess club).

How would this work?

Mind you that I don't know how to code, and I made the following images with MS Paint + Inspect Element. I know they don't look good (especially the third one), and don't seem to follow the Lichess UI standards (?). I did read this thread, and it seems that it's already kind of possible. Also, the names for the options/buttons I give here can obviously change.

There are two ways I imagine this could be done. When clicking "Create a game" (or maybe "Play with a friend"), there would be a button to create a game for two other players. concept1

The second option is to have this option have its own button in the homepage. If this button, (or the button in the first option is clicked), it would open this menu. concept2

The dropdown next to "Players" would have two options. "Anyone" would allow the first two players that join the link to play, these may be logged in or not. "With username" would let the game creator to limit who can join the game to two specific players. The White buttons to the right of their names will make them play as that color, and the Black/White button will make each player's color random. concept3

EDIT: Now that I think about it, the "Anyone" option should let the creator choose if the color each players get is random, or if the first player to join gets White, along with letting anyone join, or only logged in users. The "With username" option can also have the "first player to join gets White" thing. I don't know how to represent the first player getting White with an icon though.

If someone enters an URL they aren't allowed to play, a message along the lines of "You can not join this game", with an option to spectate once it starts.

TBestLittleHelper commented 5 months ago

You could use : https://lichess.org/api/ui

( You could also make this custom for any event or club website, using the api ( https://lichess.org/api ) )

Meopetz commented 5 months ago

You could use : https://lichess.org/api/ui

Thank you. I knew an API page existed, but not that there was one with an UI. I guess that it'll work for what I described. I think the feature should be mentioned somewhere when trying to make a game.