Multiplayer game portal written in VueJS that let's you play realtime javascript/canvas games built with my own 2D game engine. It uses a MySQL database and Socket.io for the realtime communication between the clients.
Currently live at: https://game-hub.gryp.dev
It has the following features:
- 3 playable games as of today (Pong, Volley, Jumper)
- Experience/rank based matchmaking
- Configurable game settings before each game (game speed, game length and other parameters)
- Configurable game controls and audio settings
- Touchscreen and keyboard controls
- Personalizable user profile (avatar, bio...)
- Realtime chat in the lobby
- User statuses
/server - contains the server side logic
/src - contains the VueJS client side logic
/games - contains the games files
The frontend configuration file containing the API server URLs is located in
The backend development configuration file containing the database configuration and other application/game parameters is located in
Configure the database parameters, CDN url, application port... and then run the following commands:
Install the dependencies
npm install
Creates the database tables and inserts seed data in development mode
npm run sync-models-dev
Create the database tables in production mode
npm run sync-models
npm run build-dev
npm run build
npm run start-dev
npm run start
npm run lint