nodejs server for multiplayer codenames webapp game
UPDATE (04/07/2020): Wow I did not expect this app to get this much traction, especially since I put this up around two years ago and kind of let it do its thing. With the recent popularity, I've been seeing around 500 concurrent players on weeknights and upwards of 3k on weekend nights. Because of that, the servers are struggling bit on weekends and you may experience timeouts / freezing. I wasn't able to optimize the app with that kind of load in mind 2 years ago. I'm really sorry about these issues.
On top of this, I didn't expect anyone to contribute / ask to work on the app here on github. If the repo isn't set up properly / optimized, I'm sorry about that. Again, didn't expect this spotlight.
My plans going forward: I have a website that I've been tackling recently that I need to get done ASAP. Once I've completed the work there, I plan on returning some focus to this project. I'll need to jump back into the code to familiarize myself again and work out some of the kinks. I've also been forming ideas for features that have been requested. Because I have these ideas half formed, I've been hesitant on accepting pull requests at this time. I hope to work on implementing most of these requests as soon as I start working on this project again. I'm pretty out of practice with this server stack so please be patient, I want to make sure I cover all the bases I need to and also try optimizing as best I can.
Planned features off the top of my head: Language packs (UI solution for language selection + available word lists), Mobile-optimized styling, Preventing multiple spymasters until game is over, other more minor bug fixes (timer continuing to count down, for example).
Thank you if you're reading this and have enjoyed the project. I hope you are patient with me and are understanding of the situation I'm in with the newfound spotlight on this project.
Also, if anyone has experience with socket+express in node and notice places in my code where I can optimize for memory usage, please get in contact! ([email protected])