A browser-based realtime multiplayer game. Choose your character and hit others with arrows to earn points for your team!
Built on Phaser 3 game engine, Socket.IO for realtime server communication, and TypeScript.
This project is a playground for game development with Phaser 3. I used it to experiment with the capabilities of web sockets and the Phaser 3 game framework.
This demo is fully playable, but is not overly optimized for performance and an optimal playability. I hope that it may serve as a reference to myself and help others implement their own browser game.
How to run
In development mode, run:
npm run start:dev
npm run build node ./src/server/server.js
Ideas to extend the game
- add marker for own player
- add automatic game reset and time limit
- show timer for game round
- show player statistics at end of game
- portrait mode detection -> show hint to turn device
- power ups
Graphics, tutorials, code bits and other resources used to develop this game.
- Original project template: see github fork
- Graphic resources: see folder
More useful resources used for this game, or to create games similar to Bow Warriors.
- Tiled map editor
- Textcraft.net: game logo generator
- Phaser Editor (IDE for Phaser 2)
- Tile Extruder: remove tile bleeding using tilemaps
- Piskel: online sprite editor
- Liberated Pixel Cup (LPC) (Github)
- Open Game Art
- Pixel Game Art
- LPC Spritesheet Character Generator
- LPC Character: Warrior
- LPC Character: Princess
- LPC Character: Orc
- LPC Character: Pirate
- LPC Character: Elf
Tutorials and articles
- Making your first Phaser 3 game
- Basic example on how to set up Phaser with Socket.IO (gamedevacademy.org)
- Article series on Medium: modular game worlds in Phaser 3 (with tilemaps)
- Make Pixel Art: The 10 Best Tools for Developers in 2018
- JSConf talk: Realtime HTML5 Multiplayer Games with NodeJS