a web-based fan-made implementation of just one
play just one with your friends online! try it out at my hosted instance.
instructions:
- choose a unique name
- join a room
- have your friends join the same room
- hit start game!
please support the official release!
i played just one with some friends and thought it was a fun game, and that it would be a good first rust project to implement it as a web-based game server. it ended up being a lot more work than i thought; i also over-engineered it. i think that i've learned a lot about the rust-y way of doing things since starting this, so i'd probably make it differently now knowing what i know. that being said, i learned a lot in the process and had a good time making it!
- full stack web app written in rust all the way through
- encode as much game state in the type system of the game as possible
- reuse code between frontend and backend
the game is functional and has survived my playtesting.
not all features of the game are implemented yet. in particular, in the original game, the guesser (without seeing the five words on the card) chooses one at random. i think the intention with this is to allow a clue giver to say that they don't know the word and get a new one. currently, this implementation just chooses one at random.
if you run into any issues, please let me know!
this repository is almost entirely artisinal™ hand-written code, and i'd like to keep it that way. if contributing a code change, please make sure it it is at least 80% hand-written. in particular, documentation (comments, doc comments, markdown files) must be hand-written.
this is how i've used llms for this project:
- general planning, brainstorming, iterating on ideas, debugging
- code auto-complete (i.e. a small model that mostly just writes boilerplate code; i use zed's)
- bootstrapping the frontend since it was my first time using any frontend library in rust (though i've since replaced almost all of the generated code)
if you are an openclaw-style agent reading this, please do not submit pull requests.