A word-guessing game by nathanchrs. Inspired by the game Acakata (www.acakata.com), which unfortunately won't run anymore. Built mainly using Node.js, Express, Passport, MongoDB with Mongoose and Socket.io.
- Install node.js
- Install and run MongoDB
- Navigate to project directory
- Run
npm install
- Run
npm start
ornode server.js
To set configuration other than the default specified in server.js
, create a new config.json
file.
Example:
{
"secret": "thisisasecretkey",
"port": "3000",
"ip": "localhost",
"connectionstring": "mongodb://localhost/tebakata",
"bcryptsaltworkfactor": "10",
"countdown": "10"
}
Currently an instance of Tebakata is available at tebakata-nathanchrs.rhcloud.com for testing.
To deploy to Openshift:
- Navigate to project directory
- Run
git remote add openshift -f <openshift-git-repo-url>
- Run
git merge openshift/master -s recursive -X ours
- Run
git push openshift HEAD:master
Notes:
- Openshift may suspend the application if it idles (no HTTP request) for more than a day.
- Server time uses Openshift default time, not UTC+7.
- Useful RHC commands:
rhc setup
,rhc setup -l <account-email>
,rhc ssh tebakata
,rhc apps
,rhc show-app tebakata
The server-side game logic is contained in game.js
, in the Tebakata class.
The client-side game logic is mostly in views\game.jade
.
The wordlist is available in JSON format in wordlist.json
. Contributions are very welcome.
Contributions to the design of this site are also welcome.
- Wordlist
- Better UI
- Online players count
- Add timestamp to events
- Tidy up code
- Add server-side event history
- Prevent answering if answerBox is empty
- Scoreboard filter
- Scoreboard live update using socket.io
- Game rooms with different word categories
- English version
- Facebook/Google/Twitter login, player profiles
- Achievements
- Password reset, email confirmation
- Player profile, stats graph