Hacker News new | ask | show | jobs
by verdverm 5 days ago
How do you prevent a player from manipulating game state outside of the app view?

There is a subgroup in the Atmo working on games, have you found them yet?

3 comments

There's a variety of different attestation strategies folks have cooked up! For example this crate has some tools, https://tangled.org/ngerakines.me/atproto-crates/tree/main/c...

So far they are mostly trusted authority rather than peer systems. But, since each player owns their own PDS state, one could perhaps just hash the previous state they are working off of. That can at least detect if a game is consistent/agreed to by both sides, allow one player to detect the other's tampering.

I have a referee server handling that. I haven't! I don't even know what Atmo is, tbh.
"Atmosphere" (atmo) is the self-given name for the broader developer community around atprotocol

https://discourse.atmosphere.community/ has game specific discussions to help you find the people to connect with.

Publish the moves, not the game state?
This would imply the game state is stored in a centralized app view, at which point the general atproto ethos that you can move your data if an app becomes bad is up to the app.

I believe the viable solution in a rich permission system is one where the user cannot directly modify a record (as defined by a permission schema for a specific app/type) and can only call methods.

You can easily reproduce a chess board from the moves if you can implement chess.
Most games are not perfect information games. How would you implement poker?