Skip to content

EntityAdam/SolidTrivia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jeoparody!

A trivia game loosley resembling a popular game show.

Table of contents

  1. Introduction
    1. Privacy
  2. Gameplay
    1. Roles
    2. [Host] Start New Game
    3. [Participant] Join Game
    4. [Host] Answer selection
    5. [Participant] Answer response
    6. [Participant] Leave game
  3. Host your own
    1. Running locally
    2. Twilio
    3. App Configuration
    4. Answer / Response
  4. Answer / Response contributions
  5. Developer contributions
    1. Running Locally
  6. Roadmap
  7. License

1. Introduction

This game was designed specifically for coding trivia, usually in a venue with a large display or projector. If you'd like to use this in any other capacity your mileage may vary. This game is designed to be hosted by a single person in a venue with many participants. There is no limit on the number of participants other than network and server capability. Participants join, leave and respond to answers by standard SMS text messaging.

Privacy: This game was designed with privacy in mind. While you do need to interact with the game with an actual SMS capable device with a valid phone number, this number is not exposed at any point during the game, nor is it stored in any manner (including application logs). While you are participating in a session, the game assigns you a unique ID which will be sent to you by SMS and can be used to identify yourself on the score board.

2. Gameplay

  1. Roles
  • Host: The host is to be the sole operator of the gameboard. The host explains the rules, starts and stops the game, navigates between the game board, answer, response and leaderboard screens. Most importantly the host should be engaging the audience to make this a fun experience.
  • Participants: Participants interact with the game via standard SMS messaging from any carrier service. Standard text messaging rates apply. Participants may join and leave an in progress game and supply responses to the answers displayed.
  1. Start a new game
  • Host should click 'Host New Game' button.
  1. Join game
  • Participants must send a text message with the JOIN <session> to the number displayed on the Lobby screen. The message is case insensitive and you may omit the hyphen example; join jumpy-cat or join jumpy cat will both work.
  • As the participants are joining the game, they will automatically show up in the Lobby screen.
  • When participants have joined, click the Start button to proceed to the game board.
  • Participants may still join the game after the Start button has been pressed.
  1. Game Board
  • On the game board there are 6 categories and 5 items in each category progressing in value and difficulty.
  • Each board item is presented in the form of an answer, and responses should be in the form of a question.
  1. Answer Selection
  • A player will be chosen at random to pick the first question on the answer board. Their card on the leaderboard will have a green background.
  • For subsequent answers, the first player to respond correctly to the current answer will select the next answer from the board.
  1. Answer response
  • Responses will be sent by the participants by SMS messaage. No command is required. Send the response only.
  • Responses should be in the form of a question, however for the sake of brevity, the pronouns are implicitly omitted.
  1. Leave game
  • Participants may leave the game at any time by sending the SMS command LEAVE.
  • All data is removed from the game and your score is forefit.
  • You may rejoin the game at any time.

3. Host your own

  1. Running locally
    1. Clone
    2. Swap in your Twilio phone number
    • Open code in your favorite code editor
    • Navigate to SolidTrivia.Web/Pages/Lobby.razor
    • Change 919-555-5555 to your phone number.
    • <h1>Text <span class="command">JOIN @SessionId</span> to 919-555-5555</h1>
    1. Start the web app
    • In a command prompt
    • Navigate to \SolidTrivia.Web\ folder
    • Execute dotnet run
    1. Start ngrok tunnel: ngrok http 5000
    2. Add ngrok HTTPS url to Twilio Phone number console -> https://www.twilio.com/console/phone-numbers/

4. Answer / Response contributions

Writing good questions and answers is hard work! Answer / Response contributions are appreciated.

Sample spreadsheet format (coming soon)

5. Developer contributions

Developer contributions are encouraged!

Technologies used

  • Language C# 7.3
  • .NET Core 3.0
  • ASP.NET Core
  • Blazor

6. Roadmap

The roadmap is just a big list of todo's for now.

TODO

  • All responses removed when player leaves
  • Select random player to select first answer
    • Add CSS class to change the selected user to green.
    • Determine user with fastest correct response for subequent answers
  • Import question / response file?
  • Move phone number / Twilio API keys to secrets
  • Implement Twilio client to allow server to send SMS messages to users.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published