Mavulp / quotes

A place to post funny, unfunny and completely inaccurate quotes from your friends and pals.
https://quotes.hivecom.net/
GNU Affero General Public License v3.0
0 stars 0 forks source link

Guess The Quote #17

Open dolanske opened 1 year ago

dolanske commented 1 year ago

This issue serves as a discussion point for the Guess The Quote multiplayer game.

In this game, users can create rooms and invite others through a link / code. There are multiple gamemodes.

When it comes to guessing, we will most likely offer multiple choices as most people will not know the quotes, so offering choices will make it easier. There could also be a hard mode option where you must write the answer yourself.


Settings a room admin can set


With the addition of this game, we should expand the user object to include information about their Guess the Quote rank / metadata. For instance how many games they played and won. Potentially store IDs of quotes which they won the round for. As that would allow as to link users like "This person knows X person the best" and so on.


Ideas, comments, nitpicks and feedback is very much welcome as this is the first iteration.

dolanske commented 1 year ago

Points would work like in scribble io, where not only the correct guess matters but also the order of people who guessed it. meaning the first person to guess right gets the most points and so on

Jokler commented 1 year ago

I disagree with the scribbl.io rating system, I think the time it took should play a bigger role than the order, if two people guessed at the same time they should get about the same amount of points.

dolanske commented 1 year ago

First iteration for the game settings. image

Current gamemodes are


Some questions and request for feedback:

dolanske commented 1 year ago

Do you think it is viable for the host / admin to "run" the game and all other connected clients will simply share one stored state from the server? This would avoid having to build a back-end implementation of the game core.

I still think we should definitely enrich the user object to store game related properties, such as


I am planning on storing the game objects through-out the game for a detailed summary. Do we potentially want to store those on the backend so we can view game results back in time? Possibly add a tab in statistics for it?

Jokler commented 1 year ago

Sure, though I would only let the front end know the parts it has to know. I understand that cheating is possible either way because the full list is available but I would prefer to follow good practices either way. We should probably talk about that first though since I'm not sure how complex you are making the game and our solution should still be reasonable.

Adding those fields to the user shouldn't be a big issue.


Are you imagining a game history with replays of the rounds stored for each?

dolanske commented 1 year ago

Are you imagining a game history with replays of the rounds stored for each?

Yeah I will have an object which already stores rounds and their results so it would just be a matter of storing that in a DB.

I realized I wanted to first implement the full game as a single-player and then figure out what needs to be offloaded on the back-end. But it's a good point that in order to share state between all players, we might want to run most of the game on the back-end and front-end would simply communicate via WebSocket. I guess it's finally time for me to learn rust.

It does make sense, every player would have access to the same code on the front-end but different parts would run depending if they are a player or the game admin. Which I am not sure is the best way. I'd still love if we were able to run JS on the server somehow (through vite? I was not able to find any way to do that) so I could work on the game core, but that is a foggy future for now I guess.

I am about 30% done with the game so far so it might still take 1-2 weeks before it's ready.