jbowens / codenames Goto Github PK
View Code? Open in Web Editor NEWPlay codenames online
Home Page: https://www.horsepaste.com
Play codenames online
Home Page: https://www.horsepaste.com
Hello, really enjoying your implementation of codenams.
Sadly our internal network configuration rejects it now, as the certificate warnings show up.
Hopefully it's something you can look into.
Thanks
I notice there is no license posted for this. I notice you generally use the MIT License, is that the case here? Are we allowed to run our own version of the site? Modify it? Would it be possible to add a license file for clarity?
Thanks!
It would be awesome to have the words written down in the UI, as it is public information in the game. That way, if the internet connection of a team member is not reliable or someone is not paying close attention, they might still have the option of reading the word. It could be optional as to not force to change the game experience.
What do you think?
The logs of past games could be very interesting information to analyze by researchers, I would be very interested to do it!
My friends and I play this every tuesday and friday night. It's super fun but I think that enabling the game to allow for 3 or 4 teams would be a great option. I am interested in working on this but would love to collaborate with some other devs!
clue giving would be nice for remote play, also good for having codemasters in a separate room or something
y u delete clue code
How can I translate the interface of the website in Italian and Esperanto?
Feature Request
I noticed that basically the game has a 400 word list baked into it (at least for English!). It'd be great if custom word lists support was made available. It gives a lot more options for gameplay (our friends played several rounds and quickly found words repeating themselves). It'd also give more mechanisms to do things like custom lists, or domain specific words if you were playing with a particular community.
Some of the users may not already know how to play the game. I assume the host would explain the rule to the participants, but it is nice to have additional information. I envision the user flow would be like
Or a popup works too. https://material-ui.com/components/dialogs/
The covered assassin card is not a sufficiently distinct color from the uncovered neutral cards. I would suggest making the assassin card a darker gray so it is more obviously distinguishable for the spymaster. This is a particular issue when playing in dark mode.
Add the English option for playing with words from the Codenames: Deep Undercover version of the game
The current styles are not sufficient for a colorblind spymaster to tell the difference between colors. I used these styles successfully with a friend:
.cell {
width: 130px;
height: 90px;
box-sizing: border-box;
}
.codemaster .red.hidden-word,
.red.revealed {
outline: 2px dashed #d13030;
border: 1px solid white;
}
.codemaster .blue.hidden-word {
outline: 2px solid #4183cc;
border: 1px solid white;
}
.blue.revealed {
outline: 2px solid #4183cc;
border: 1px solid white;
}
.revealed .word {
text-decoration: underline;
}
I don't have time right now to submit a PR for this but hopefully this is a useful starting point. Remaining work:
The text uses black and is difficult to read. I would change the font color to the same color as "Send this like to friends:" text.
I always write down the words in each class on a separate piece of paper so I can contemplate ways to group them a bit more easily. Would be nice if this was done automatically in the codemaster view.
In low light - many of us found it hard to differentiate blue and red cards as spymasters.
Maybe just colored outlines would be enough - or something like this.
Also / just a side note... maybe the cards are orange and green - or something less "red/blue" ? (maybe it's just me in the U.S. - but I'm sick of that... haha)
@jbowens thanks for the quick response last this. This is really helping with the quarantine.
Looks like it’s happening again, maybe the limit wasn’t increased enough?
Originally posted by @ajuni7 in #42 (comment)
Would be great to add multi-language support to the game. Would volunteer to add german version of word list.
Add a timer to the game so each team gets fixed amount of time for turn. When a team turn ends and the turn switches, timer would reset. The turn would also switch when timer ends.
When playing two games back to back using the same game identifier, sometimes the same word appears in the next game (low chance, but possible)
[Option 1]: When creating a new game, send a list of words to NOT use when generating the next game
[Option 2]: When creating a new game, look at the previous game's (by game identifier) words when generating to ensure unique words between games
Is there a way to restrict and/or make it transparent if a player is trying to view the key by switching to spymaster? - that will prevent any cheating
Would it be possible to expand the word list somehow? Been playing too much in quarantine. I noticed you had another word dictionary txt file. That would be a lot of fun. Another option would be to use the Green words if that version has a different set.
I keep getting this error while building the docker:
---> Running in d04847700397
go: directory /go/src/codenames outside available modules
The command '/bin/sh -c go build /go/src/codenames && go build /app/cmd/codenames/main.go && cd /app/frontend/ && npm install && sh build.sh' returned a non-zero code: 1
But if I remove building /go/src/codenames
completely it to build (and run!) just fine:
-RUN go build /go/src/codenames && \
- go build /app/cmd/codenames/main.go && \
+RUN go build /app/cmd/codenames/main.go && \
cd /app/frontend/ && \
npm install && \
sh build.sh
Could you explain why you try to build whats in your GOPATH? isn't just putting it there enough? why put it there at all?
Thank you for your time and your wonderful implementation!
Hello!
Thanks for this feature it works nice. Hovewer there is one problems, I don't know if this is intended or not, but after clicking on "next game" the new words are reverting to default ones.
Seems the host is down. Perhaps there is too much traffic due to the stay at home sheltering.
Hi @jbowens, thanks very much for a great app. I'm dying to know, though: what is the etymology of "horse paste"?
Or a separate randomized URL.
I love this game. Super exiting to see a team of devs working on this.
I am pretty connected to Vietnamese people and I could help getting this language added (words + UI). if that is something you'd be interested in?
Also, as I am familiar with this stack I would love to spend some time on it more on bug fixing/new features.
Mis-clicks happen. Some users might abuse this, but that would be on the same level as the spymaster button. There are certainly user-cases where an undo would be welcome
Very nice website, btw.
I was playing on mobile and accidentally hit the top-right clue while trying to hit "Next turn".
This happened to be my own team and everyone else was furious.
Perhaps there could be a "swipe to unlock" so that the board stays locked unless I'm genuinely trying to tap a card?
@jbowens This is awesome! I've tried playing the last two Friday nights, and the site has been down both times (I'm guessing because of the amount of traffic).
I tried deploying on Heroku and Netlify with no luck. Would you be able to share how you deploy (even if just where you deploy?) and I can attempt to deploy and then document that in the Readme?
Thank you!
I've been using codenames.plus recently, due to their support for the Duet/Deep Undercover wordsets, but I prefer the pared down login system of your version. Have you considered adding more the words from the expansions?
Me and my friends have loved this. We've played over 30 games over the last 3 months.
About 3 or 4 times in those 30 games the board has completely reset. Haven't found a cause yet, but wanted to see if you were aware of this, or have any idea why it might be happening.
Increase the number of players/boxes for twice the number of players
Your site is great thank you! One of my friends is colorblind and it would be great if the colors could change to have more of a difference for color blind people.
Thanks!
Currently, the winner is displayed small on the top right. It is difficult to see the game result especially for other players. Adding either a popup or an animation will help to indicate the end of the game.
Hi Jackson, thanks for the wonderful app. It's very clean. Have you thought about adding a custom word list feature? This would help teachers like me immensely as we can use your app to review vocabulary with students.
Support for Codenames Pictures (perhaps as a separate language?) would be totally awesome. Are there any thoughts along these lines?
I'm willing to contribute a bunch of Codenames Pictures-like drawings of mine. I can also have a go at coding, but I'm not very experienced with Go, so any pointers on how to go about this would be awesome.
Any player can change to spymaster mode and see the red/blue/assassin word status
Using Chrome & Firefox browsers on Windows 10 64bit
Enforce timer stops working after playing few rounds of the game or maybe after taking certain actions.
Allow pausing and resuming the turn timer. The interface could be as simple as clicking the timer, but maybe that's not discoverable enough.
Presently incomplete games are removed from memory after 72 hours and from disk after 24 hours: 7661089
The effect is that we only guarantee your uncompleted game will be around for 24, but if you're lucky and we don't redeploy it'll be around longer.
It'd nice to extend this to allow asynchronous game play over an extended period of time. We have an 'updated_at' field on games now, and that could be used to preserve games for longer. We probably would need to rework the kv keyspace, because right now games' keys are prefixed with their created at time to allow for efficient deletes of expired games.
PROTECT THE CODENAMES FROM PRYING EYES
Currently the frontend requests the game state every 2 seconds, and the server responds immediately with the current game state. Switching to long-polling where the server holds the connection open until the game state changes will reduce the latency between a change in game state and the user seeing the change. Also, currently horsepaste.com is CPU-bound, a great deal due to just serializing and deserializing of requests and responses. Long-polling will trade more open sockets for less CPU usage, which seems appropriate.
Currently, the game takes random words from the word pool for each game. Once used, the word should be removed from the list so further games do not contain it. I suggest coupling a set (sets for multilingual support) of words to a game ID from which the game selects its words. On new game generation, the Game should pop the selected words from the set, and the server should ensure that the set contains at least 25 words for the game to take (reload the words from default word set).
Some additional comments.
Memory issues: Since each game ID has it's own set of words and as far as I can see, you don't have any permanent storage (I guess this is by design), the sets need to be kept in the working memory. I believe you already have a separate word set for each game state so this should not be an issue.
User perception of the reducing word set: This implementation should ensure that the user plays at least 16 games before encountering a word again (assuming a single user/group uses the id).
This was a feature request and was on master for a while, but it's only useful for a use case that isn't really practical at the moment. We can add it back behind a settings toggle.
Hello
We discovered this life-saver-of-a-game during times of COVID-19.
Playing with friends and family has brought much joy and togetherness in times of isolation. However, during these depressing and trying times, where people have low morale and feel crappy about themselves, there is clearly cheating happening with crazy super-power abilities emerging suddenly in the connection of words...Professor X would be so proud.
I kid you not, during one game, a guesser wrote down all the words on a piece of paper, and in an epic Piccasio-esque-venn diagram, showed their deduction process of picking the correct words...HMM CHEAT!
Having a restricted spymaster mode would bring much joy to my life as I am a stickler for rules and try to lead a fair and honest life. I just don't dig the cheating and sudden psychic abilities.
Is there a way of having a spymaster mode:
It would be the most amazing milestone in my life to find a solution to this...and I am sure other codenamers' lives!
I hope you hear my cry for help and are able to develop a way forward to #STOPTHECHEATING
Otherwise, I will need to find new friends...
This is super great. Very fun. I love it. I'll keep buying coffees - so / I'll just say that once. : )
We just played 4 games and many of the same cards came up every time. Maybe there can be yates shuffle type thing that isn't just rand - and pulls from the array until it's gone / excluding the used cards. Is that how the game works IRL, right?
Here are two ideas to prevent people from cheating:
Thanks again for this app. We've had some really fun time playing.
Keep up the good work.
Would be awesome to add a web manifest at /manifest.json
so I can save this to my homescreen and play on my phone!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.