The fun part was the puzzle engine. It generates every possible puzzle for a given configuration by exhaustive enumeration, then checks all possible worlds against all possible statement assignments, deduplicating equivelant puzzles via canonical forms, and detecting which properties are uniquely determined vs. indeterminate. For larger configs (3+ people), it uses random sampling of phase space to reduce memory cost and time.
The result is 57 million puzzles for up to 4 speakers. From this, 6,000 were included in the game using stratified balanced sampling across features.
Other bits: Glicko-2 ratings for adaptive difficulty (both players and puzzles have ratings), "whodunit" mode where you also figure out who committed a crime, and a "normals" variant where some people can say anything.
It's free during beta with no ads (ever). Requires a quick sign-in (Google/Apple/GitHub/Discord) for the rating system to work, but only stores an anonymous ID (no email or other personal data).
I'd be interested in feedback on difficulty, puzzle variety, or anything else. Depending on interest, I plan to add additional puzzle types and ability to play via API over the next few weeks.
The rating system and ability to serve appropriate difficulty puzzles relies on the user being signed in, but I don't collect any personal info, just the user ID (no email, account name, or anything else).