/PhaserWebSocketGame

Bootstrap Phaser project for turn based isometric games

Primary LanguageTypeScript

PhaserWebSocketGame

Work in progress

This Project aim to be bootstrap Phaser project for turn based isometric games where the player in moving on a grid.

Commands

  • D: enter debug-mode
  • SPACE: enter combat-mode if another player in ont the current map

Features

  • Randomly generated maps based on a seed (Seedrandom) rendered with isometric tiles
  • Multiplayer enabled using Socket.io (the players can see eachothers moving on the different maps)
  • Movement enabled by clicking using an A* pathfinding client side
  • Feild of view of the player computed with a recursive shadowcasting

Setup project

  • Install node
  • At the root of the repo Type npm install
  • Type grunt and wait few seconds (that will retieve the bower dependencies, retrieve the .d.ts files and 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!

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