AP spec for board games and card games

I was thinking about whether it would be possible to recreate board games and card games using ActivityPub. It seems to me the majority of games can be reduced to actors, events, objects and collections in a fairly trivial way. The only kind of game that might not be suitable for this would be speed games that depend on a player’s reaction times.

Is anyone interested in trying to hash out a proof-of-concept/draft for this?

About boardgames :
I am working on such a thing for Maps and Tileservers …
While this could be potentially used to send a “boardgame board” (e.g. random mixed tiles if you can create your start board),
There is a thing which is hard to do with games in the current AP state, trust of state.
For example : Someone got a 6. How can we make sure that the dice is real random and not loaded, how can we make sure that the tiles above are random without anyone treating …

Yeah I had thought about that, I don’t think there’s any way around this except to mutually choose a random number generator service all players trust.
I play a Scrabble clone online with friends and we have no way to verify the randomness of the tile distributions, we just have to trust the server hosting the game.
in fact for some players they might prefer to play on a server where the rng is weighed in favour of less experienced or less skilled players, a la Mario kart item boxes.

I came back to thinking about this last night. If you create an actor that generates random numbers and publishes them publicly then it should be possible to run a statistical analysis on that output it to check it’s a random distribution before choosing to use it in your game. For scenarios where the value is private to one player, the values could be tracked with an id, and revealed at the end of the game to verify them.

Might be worth looking at Keybase’s solution for randomness: https://book.keybase.io/docs/chat/coin-flip

Not sure how relevant it is to AP, but it sounds like they’ve somewhat solved consensus

1 Like

I just came across this site with rdf ontologies for boardgames and standard playing card games
http://data.totl.net/

I’ve been talking to my brother Andrew (a 7-kyu Go player) about Go over ActivityPub. My vision here is a modified version of kepi (or whatever) which lets you attach game moves to statuses in the same way that you can currently attach images. Replies can have game moves attached; we only need to pay attention to valid moves from the person originally tagged. But you should be able to play a game on the public timeline as well as in direct messages.

There has been some discussion on Sensei’s Library about distributed Go protocols. It’s rather dated and mostly discusses Jabber.

As to the format of the move data: several games, including Go and backgammon, have standard representations in the Smart Game Format (SGF). These represent the game as a whole, which might be overkill, but we can use a subset. Several good ideas were also given earlier in this thread.

Andrew adds

I hear that the BGA is currently looking for people to help write a new Go server aimed at children. I don’t know how far they’ve got so far, but it might be interesting to get in contact with them to ask if something like this would be useful.

which I intend to do next week.

1 Like