GithubHelp home page GithubHelp logo

jporter-dev / codewords Goto Github PK

View Code? Open in Web Editor NEW
162.0 162.0 40.0 8.87 MB

Python 20.93% JavaScript 16.34% HTML 2.70% Vue 58.98% Shell 0.52% Dockerfile 0.54%
flask game realtime socket-io vuejs websockets

codewords's Introduction

codewords's People

Contributors

airon90 avatar dependabot[bot] avatar ibfait avatar joshporter1 avatar jporter-dev avatar petrosagg avatar phil-the-dev avatar s3rgiosan avatar sprek avatar thechad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codewords's Issues

Clicking on the timer multiple times causes the timer to speed up

Describe the bug
Clicking on the timer multiple times causes the timer to speed up like a bomb in a movie.

To Reproduce
Steps to reproduce the behavior:

  1. Start a game
  2. Click on timer
  3. Click "Start Time"
  4. Notice seconds pass
  5. Click on timer again
  6. Click "Start Time" again
  7. Notice seconds pass faster
  8. Repeat 5-7 over and over again and see how it speeds up
  9. Resetting the clock does not fix this

Expected behavior
Either an option to click on "Start Time" when the timer is on should not be available, or it should be switched to "Pause Time".

Desktop (please complete the following information):

  • OS: Windows
  • Browser: Chrome
  • Version: 81.0.4044.129

Update UI design

Add some extra design elements to give the app a more "fun" feel.

Some ideas:

  • Make cards more interesting looking
  • Add spy-themed background music player
  • Make "card flip" transitions
  • Make all card text uppercase

Enhance UX for game creation

Make game creation more user-friendly for multiple users.

  • Add an additional staging view to display some UI elements to help other users get connected.
  • Staging room should show # of users (connected clients), as well as allow username entry
  • Staging room will assign teams, assign spymasters, allow randomization, and show game creator
  • Team assignment, spymaster assignment, etc will be adjustable mid-game or between games
  • Also possible: staging room can allow for custom word entry. Custom words can either be merged in with the selected dictionary(ies), or played from independently.

Standardize dictionary importing

Make it easier for community dictionary contributions. Must support multiple dictionaries for multiple languages (English standard, English CAH, French standard, French CAH, etc...)

Ideas for doing this:

  • Standard descriptive naming scheme (ex: en_standard, es_standard, en_cah)
    • Pros: easy to implement, lightweight, drop-in dictionaries
    • Cons: less flexible, possibly confusion and error-prone
  • Manifest JSON/YAML file
    • Pros: flexible, extensible, allows for additional metadata
    • Cons: Requires an additional file to be updated for new dictionaries

See additional input and discussion in this PR.

Implement a new room code generator

Use a smaller character set for easier, more mobile-friendly room codes.

Options:

  • Non-numeric 6-character code. Ex: ABCDEF
  • Dictionary-based codes. Ex: Apple
  • Numeric-only 6-character code. Ex: 123456

Fix usability for iOS PWA pop-up

The pop-up currently overlaps the bottom nav - it's not clear that you need to "Tap to dismiss"

Either add "Tap to dismiss" text to existing pop-up, make the pop-up a modal, or move it elsewhere on the screen.

Implement i18n for UI elements

The application supports non-English dictionaries but the UI is purely in English. Use vue-i18n to map UI text to supported languages.

Adjust spymaster game controls

  • Only show shuffle button for spymasters
  • Remove spymaster roles when "New Game" is clicked
  • Change wording on shuffle button to something that makes it more clear that "shuffling" replaces the board

Dictionary Mixer

Allow users to mix multiple dictionaries by percent. Ex: 50% Cards Against Humanity, 50% Standard

Implement hourglass/timer

Implement hourglass/timer.

As a player I can start the timer.
As a spymaster I can start the timer.

As a player I get notified when time's up.
As a spymaster I get notified when time's up.

Timer stops when a card is flipped.

[enhancement/possibly fork as new game] Codenames: Duet - cooperative mode

I am willing to help code the cooperative mode for this.

(Python3/flask and Vue(x) i can do.
Unit testing is not my strong suite, though.)

Any ideas on where to start?

PM or chat room invitations welcome.
(For now, I can work on this project on three days this week (CW10 of 2019),
from 21:30-23:30 hours in UTC+1 hour zone.)

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.