A Javascript MMO using PhaserJS
and SocketIO
# Run the install
npm install
# If NPM fails installing canvas pkg
# https://flaviocopes.com/fix-node-canvas-error-pre-gyp-macos/
brew install pkg-config cairo pango libpng jpeg giflib librsvg
# .env file example
DEBUG=false
MONGO_URL= # If blank will go into offline mode. (No saving)
SERVER_FPS=20
SERVER_URL=http://localhost:3000
PORT=3000
ASSETS_URL= # Where to load images from (Leave blank for DEV)
PUBLIC_DIR=../public # Running server loads assets from here
PEER_SERVER_PORT=9000 # Where the server runs the peerjs instance
PEER_CLIENT_PORT=9000 # (Optional) Where the client listens for peerjs
npm run server:watch # run the server locally
npm run client:dev # run the client locally
npm run web:dev # run the wiki locally
fly deploy
- Resample down from
NearestNeighbor
in Photoshop. - Tiles need to be
32x32
and extruded to remove edge bleed.
npm install --global tile-extruder
tile-extruder --tileWidth 32 --tileHeight 32 --input ./public/assets/tilesets/clean/grassland.png --output ./public/assets/tilesets/grassland.png
- Suffix / Prefix system improvements
- Spawned item mods
min
needs to takemax
into account
- Animated weapons
- Trade window
- Crafting system
- Doors that require a key or level to pass through
- Ability to choose from mage-type rogue-type or warrior-type rewards on some quests
- More spells that effect movement, (dives, dodges, pushback etc)
- Back-stab damage
- Second joystick casts last used attack (mobile)
- Predictive hero movement so we do not have to send
[x,y]
@ 60fps and so other players aren't able to hit you when you are not near them. - Multiple
Realms
because 1000 people in a map will not scale. - How to make servers smart about not loading map rooms until a person is actually in them.
- Show warning before enemies attack
- Serverside individual cooldowns for spells
- Move spell cooldowns to serverside check (Separate cooldowns)
- Gloves items
- Map item drops (Mining, Herbs)
- Negative buffs: (Frozen, Stunned, etc.)
- Allow critical strikes on spells
- Ranged weapons 🏹
- Readable signs objects
- Hold to aim spells
- Helmets that can hide hair or face
- Elemental Damage / Resistances
- Inventory Bags system
- Party system
- Enemy spells
- Buffs
- Facial hair is now Whiskers on its own layer seperate from face.
- Consumables and Food
- Cooldowns show in UI
- Attack stamina
- Fix party system to update stats properly
- UserSettings minimap (on / off)
- UserSettings music (on / off)