Phaser project of a turn based multiplayer game inspired by nethack
Play the Demo on Heroku or
- D: enter debug-mode
- SPACEBAR: Attack in front of you
- Arrow keys: move around
- Multiplayer enabled using Socket.io (the players can see eachothers moving on the different maps)
- Feild of view of the player computed with a recursive shadowcasting
- basic AI for mobs
- infinite world with Maps generated as the user moves
- Randomly generated maps based on a seed (Seedrandom) (removed atm for the infinite world feature)
- Install node
- At the root of the repo Type
npm install
(that will also retrieve the bower dependencies, and the .d.ts files) - Type
grunt
and wait few seconds (that will build the typescript of the server and the client) - Start the server with
node app.js
- Connect to
localhost:3000
with as many browsers as you want and play with your friends!
In Client
- Phaser
Phaser Isometric Plugin-> I moved to vanilla Phaser- easystar.js
In Client & Server
In Server
grunt ts:public
: Compile the typescript client filesgrunt ts:server
: Compile the typescript server filesgrunt dev-server
: Run a watch on the server files, compiling the typescript files and restarting the node servergrunt dev-public
: Run a watch on the client files, compiling the typescript filesgrunt dev
: Run both watchesnpm run test
: Run unit tests (note: needs jasmine node installednpm install jasmine-node -g
)npm run play
: Alias forgrunt ts:server ts:public && node app.js
Note: I've added the node package devloop just install it and run loop
to dev with it.
MIT