Skip to content

koosvary/codenames

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codenames

An online form of the board game Codenames.

You can play the lastest version of the game here: codenames.koosvary.com

Features

  • Multiple expansion packs can be added and used concurrently.
  • Hard mode: the Spymaster cannot see the Assassin card. Adds complexity for those who rely on neutrals when giving clues.
  • A toggleable colourblind mode.

Word packs

  • Codenames - The original 400 words from the base game.
  • Duet - The 400 words found in the Duet expansion.
  • Adults Only - 390 words found in the Deep Undercover expansion. Explicit words - user beware.
    • If you know the missing 10 words, please let me know.

Future features

  • A toggleable day/night colour scheme.
  • An extended word list using randomized nouns.
    • May not be curated so mileage may vary.
  • Codenames Pictures - and associated expansions (Marvel, Disney, etc)
    • Again, if you have access to these, please let me know.
  • Deep Undercover got an update, possibly with better curated words. If I'm able to get this list I will use these words instead.
  • Anything requested by you that is relatively feasible. I'm happy to receive any feedback.

Local installation

This program has two distinct parts:

  • Client - A React JS adaption of the Codenames boardgame. Uses Redux to control states.
  • Server - Server-side APIs controlled using Express.

Currently the client and server host their own packages. To ensure all the systems will work, you will need to enter their respective directories and run npm install to ensure they have their necessary dependencies. Alternatively npm run client-install and npm run server-install will also achieve this in the top-level folder. Top-level folder will also need an installation command to ensure npm run ... works for all commands.

Once dependencies are installed, you can run the top-level command of npm run start-all. This will run both the server and client and allow for play.

The card sets are stored on the server and will need to be updated in the server/models/cards.js file to have additional card sets.

Deployment

Deployment requires some from of web serving system. I recommend nginx for easy deployment. Recommended routing instructions to ensure the server is correctly connected can be found in the server folder.

More details about the deployment of both systems can be found within their respective readmes.

Acknowledgements

This was made with love and designed to let friends play together around the world.

If you enjoy Codenames and wish to support the publishers (they're good people), purchase a copy from your local games shop (they're also good people).