Skip to content

beuted/Crawletto

Repository files navigation

Crawletto travis status Deploy

Work in progress

Phaser project of a turn based multiplayer game inspired by nethack

Play the Demo on Heroku or Deploy

Commands

  • D: enter debug-mode
  • SPACEBAR: Attack in front of you
  • Arrow keys: move around

Features

  • 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)

Setup project

  • 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!

Technos used

In Client

In Client & Server

In Server

Development grunt commands

  • grunt ts:public: Compile the typescript client files
  • grunt ts:server: Compile the typescript server files
  • grunt dev-server: Run a watch on the server files, compiling the typescript files and restarting the node server
  • grunt dev-public: Run a watch on the client files, compiling the typescript files
  • grunt dev: Run both watches
  • npm run test: Run unit tests (note: needs jasmine node installed npm install jasmine-node -g)
  • npm run play: Alias for grunt 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.

Licence

MIT