Build a multiplayer top down racer in Phaser

Job ID: 35128405

Budget: $30 – $250 AUD

The project is to build a basic top down car racing game. It is to be written using Phaser 3.50 in Typescript

The track tilemap will be built in Tiled (mapeditor.org). The specific track will be loaded into the game via a parameter. The source tileset can be a selection of images (border, road). Only 1 simple demonstration track is required for the project.

Tiles in the tilemap that are part of the road need to be identified by a class of 'Path'
The road needs to bordered by tiles that have a class of 'PathBorder'
Any number of cars (class of 'Vehicle') can be loaded into the game. As more cars are added they will decrease in size.

This is a multiplayer game follow the instructions shown here;
https://gamedevacademy.org/create-a-basic-multiplayer-game-in-phaser-3-with-socket-io-part-1/

Moving the car will be done via the keyboard BUT this will change in the future. So the section in the tutorial part 2 "Handling player input" should be abstracted so the code would not read;
if (this.cursors.left.isDown)
...
but rather something like
if (playerControls.moveLeft)
...

In addition to the above tutorial (Part 2 "Handling other player movements") whenever the car moves it should console log the following object
{
"movement":{
"Vehicle": {
"id": "xyz",
"x": ...,
"y": ...,
"rotation": ...,
}
}
}

When a car collides with a PathBorder tile the program needs to console log the PART of the specific car that hit the tile.
So if the left side of the car with id 'xyz' hits a PathBorder tile with id '123', the program should console log the
following object

{
"collision":{
"Vehicle": {
"id": "xyz",
"part": "left"
},
"PathBorder": {
"id": "123"
}
}
}
The car should be repelled when it hits a border tile. So if it hits on the left side of the car the car should get a request to move to the right, or if it hits at the top it should get a request to reverse. See "Handling player input" above.

The aim is not to build a fully functional game with a scoreboard etc, but just to get the framework outlined here up and running.

The code will be reviewed for organization and comments.

The following skills are needed Typescript, Phaser, Tiled, node.js, socket.io please don't bid if you can't do the job as we will know and you will waste your time and ours.
Related categories: Game Design Game Development Typescript Phaser