Git Product home page Git Product logo

covidnames's Introduction

COVIDnames

Like Codenames, but for quarantined people.

TODO

  • some instructions on the landing page, including "use some video chat app, this is just the board"
  • or, maybe just go straight to hosting a new game on the landing page, now that there's a guest URL there and sharing that is easier than having guests enter the ID in an input.
    • if so, then guest interface needs a link to host a new game, which should totally reset the state of the app. starting to feel like Root should have props like "gameID" and "isHost" or something.
  • oooo, maybe someday an option to do P2P video chat in the browser? probably not.
  • turn indicator?
  • bad game ID detection. just set a timeout on the guest's connection attempts. when it expires, render something like "we haven't found this game yet. are you sure you got the ID right?"
  • add history capabilities. i.e. let hosts and guests go "Back" to the landing page, and make host's URL change to the direct-navigation URL that can be shared with guests.
  • use localStorage to make it so hosts that accidentally browse away or refresh can pick up where they left off.
    • store game state and guests list
    • upon reload, connect to all guests and let them know you're the new host now. do a history.replaceState on the guests so that if they refresh, they stay connected to the right host.
    • uh... how to distinguish between a refresh on a game you're hosting and a navigation to a game you're NOT hosting? i think we just store the host ID along with the game state.
    • when a host refreshes, the URL changes because the game ID. that's kind of weird, but i can't think of any other way to do this w/o a server.
  • when a game finishes, let a watcher host a new game and all existing participants become watchers.
  • handle "Error: Lost connection to server". Happens if the server goes down. Current game will continue just fine, because peers retain P2P connection, but they are no longer discoverable after the server comes back online. So make them reregister with the server once it's back.
  • refactor. at least separate components for hosting, coHosting, and watching.
  • alert watchers when someone starts co-hosting (so it isn't used for cheating)
  • disable "Ask To Co-Host" button when it's no longer an option (e.g. because someone else is co-hosting)
  • in fact, everyone should just know about everyone else. have a list somewhere to display who all is in the room. make people enter their names. tell who's hosting and who's watching.

covidnames's People

Contributors

mziwisky avatar tomfleming avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

tomfleming

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.