A multiplayer game using ThreeJS, CannonJS, and NodeJS + Socket.io called Invisiball.
This is just another 1st-person shooter game, but with a twist: All players are invisible. Players must use their opponents' shots to calculate where the opponent is likely to be.
Instructions and tutorials will be added eventually.
- Install dependancies with:
npm install --local
. - Copy lib/config.example.js to lib/config.js and fill in your hostname, email information, OAuth keys / secrets, and MongoDB URL.
- Run
node main
in Administrator Mode (orsudo
). - The server will take over
process.env.PORT
(or if not set, port 80).
- Update all libaries.
- Switch to Mongoose.
- Fix any old or deprecated code.
- Run engine on server side for security.
- View player stats by going to
/profile/[:username]
. - View leaderboard by going to
/leaderboard
. - Killcount and deathcount (now global as well as local).
- Rooms + simple chat.
- Updates on who killed who, who joined, and who left.
- Checks for valid and unique usernames.
- Google, Facebook, and Twitter authentication.
- I believe that this setup is able to hold up to ~100 users at one time (with free dynos only).
- Completely modularized code.
- Maps and game modes.
- In-game store for weapons, armor, etc...
- Logs... Lots and lots of logs.
- Tutorials, gameplay, guides.
- Build a better game UI (like if player does not move for a certain amount of time, a tutorial pops up).
- Target mobile.
- Multiple servers (user's choice).