Multi-player [in progress] zombie game built with MySQL, Express, and NodeJS (The MEN stack).
I left out my settings.js file because it has private credentials in it. But here is the schema I used (a simple JS Object) to have my settings all in one file:
"use strict";
export default {
user : "dat username",
database : "not my database",
password : "asswordp"
}
Setting up your own server is easy! The following steps should help you create and setup your server.
- Install an Ubtuntu 14.04 instance
- Create your non-root user and give sudo permissions
- Install a mysql server by running
sudo apt-get install mysql-server
- Install npm by running
sudo apt-get install npm
- Run
npm install
to install the project dependencies - Login to mysql using the credentials you created
- Run
database.sql
to create the database and tables - Set up Redis server on your machine! Make sure Redis is running
redis-server
on a dedicated terminal (or have it run in the background) - Run
babel-node server
to compile the code and start the server*
*Note: Eventually I will export a distribution model that does not require babel. If you do this on your own, use node server.js --harmony
to start the server. Make sure you install babel-cli globally!
You can currently create an account, login, and navigate the routing. I am currently setting up the map system, and progress is going well.
You can now move around with other players in real time, see them on the same coordinates as you, and the backend tracks angle bearing within your sense radius!
Players now have a sense of hearing (but apparently shitty eyesight!). Your HUD now displays bearing flashers when players move in your vicinity.
You can now create a game lobby, join a lobby, and sit in the waiting room in real time. Needs tweaks though, and special checks.
@rlemon -- Helping design, teach, and create the express node routing system. Also screamed BABEL at me several times.
@ssube -- Designed the algorithm to determine player bearing within radius of sense, along with teaching me redis, and why I should use it.
@ralt -- For yelling at my shit code so that I wrote good code. U da real MVP.