A 3D multiplayer pong game build by Angular 11, Babylon.js 4, Socket.io 4 and Typescript 4
- Built a 3d pong game by Angular and Babylon.js.
- Support max. 4 players at the same time by socket.io.
- Each one gets one side of the screen where the paddle can move.
- If there are less than 4 players the unassigned sides should simply reflect the ball.
- Game multi-session management (currently support only one game)
- Game Over and restart
- Game Configuration (speed, color and paddle length etc.)
- Better state management
- Unit tests
- User authentication/authorization
- User management (experience, level and vip etc.)
- Hosting
client:
cd client
npm install or npm i
server:
cd server
npm install or npm i
Client: The client server will be hosted on http://localhost:4200/ and opened automatically in browser.
cd client
npm run start
or
ng serve -o
The client will automatically reload if you change any of its source files.
Server: The server will be hosted on http://localhost:3000/.
cd server
npm run start
or
nodemon src/index.ts
The server will be automatically restarted if you change any of the source files.
** To restart a new game please restart the server on http://localhost:3000/
Currently it's only possiable to play the game on localhost.
The plan for demo is:
- Create the build for server
- Find a hosting provider and deploy the whole application
client:
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
server: Todo
Todo