freeboardgames / FreeBoardGames.org

FOSS platform for publishing boardgame.io games
https://www.FreeBoardGames.org
GNU Affero General Public License v3.0
252 stars 93 forks source link

[Infrastructure] Asynchronous play #461

Open sparr opened 4 years ago

sparr commented 4 years ago

I want to start a game and take a move, then quit. Then later another player logs in and makes their move, then they quit. Repeat until the game is finished, probably days to weeks later. Like chess or diplomacy by mail.

jasonharrison commented 4 years ago

So www.freeboardgames.org actually sort of does this already, but it isn't intentional.

On our production setup, we store BGIO game state indefinitely in a database. Right now, you can start a game, leave, and return to it, and it'll be in the same state it was left. I'd kind of consider this behavior a bug/shortcoming of boardgame.io, honestly.

Repeat until the game is finished, probably days to weeks later

Can I ask what sort of game you would want to play over the course of several days/weeks?

sparr commented 4 years ago

There are thousands of instances of dozens of games being played asynchronously over weeks and months on boardgamearena at any given moment. Plus games played via email. I don't even know if I could make a list. Here are, at the very least, the games I have personally played multiple times on that timescale: Diplomacy, Reef Encounter, Werewolf/Mafia, Nomic, Terra Mystica

sparr commented 4 years ago

https://boardgamearena.com/gameinprogress?game=1&all scroll down a few pages and you'll start seeing a few thousand people in the middle of days-or-longer games of Carcassonne.

vdfdev commented 4 years ago

With the new lobby service, this will be better supported. We can list the current active games on the home page of the players, so they wouldn't need to keep the links

cwatsonc commented 3 years ago

One additional thought on "long running games" if you are playing for a season championship and an accumulation of points is persisted in a yearly context a long game is required -- I am working on changes to cartable to support this type of context construct -- it would be a better design IMO to support this at a higher level in infrastructure than per-game management.