Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guess The Quote #17

Open
dolanske opened this issue Feb 9, 2023 · 6 comments
Open

Guess The Quote #17

dolanske opened this issue Feb 9, 2023 · 6 comments
Labels
V2 Issues related to the next version of the app.

Comments

@dolanske
Copy link
Member

dolanske commented Feb 9, 2023

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.

  • Random quote appears on the screen: guess who said it (Guess the quotee)
  • Random quote appears on the screen: guess who added it (Guess the author)
  • Filling in the missing word(s). Rate users based on how close they were
  • A person needs to describe a quote (with their voice) and others need to guess who said it
  • Guess the person (eg: has the most offensive quotes, has the most uploads, has the oldest quote and so on)

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

  • max players
  • amount of rounds
  • round length
  • selected game modes (all by default)

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 dolanske added the V2 Issues related to the next version of the app. label Feb 9, 2023
@dolanske
Copy link
Member Author

dolanske commented Feb 9, 2023

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
Copy link
Member

Jokler commented Feb 9, 2023

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
Copy link
Member Author

dolanske commented Mar 6, 2023

First iteration for the game settings.
image

Current gamemodes are

  • Guess the quotee
  • Guess the author
  • Complete the quote (fill in a blank[s])

Some questions and request for feedback:

  • Any global settings you can think of?
  • I want to keep the gamemode x round options simple, but are they good enough?
  • I was thinking of adding quote pool for each gamemode fragment, but that would get very complicated. Do you think global quote pool for a game is good enough?

@dolanske
Copy link
Member Author

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

  • games played
  • score

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
Copy link
Member

Jokler commented Mar 17, 2023

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
Copy link
Member Author

dolanske commented Mar 17, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
V2 Issues related to the next version of the app.
Projects
None yet
Development

No branches or pull requests

2 participants