Hi, I'm building a game like Snake.io or Slither.io using colyseus & phaser.
The binary message size per message is increasing around 1Kb
only with one player.
https://imgur.com/najWpxN.png
Here are the schema classes. Please help me regarding ways to improve this.
export class MyRoomState extends Schema {
@type({ map: PlayerState })
players: MapSchema<PlayerState> = new MapSchema<PlayerState>();
@type({ map: Food })
foodItems: MapSchema<Food> = new MapSchema<Food>();
}
export class PlayerState extends Schema {
@type('string')
publicAddress: string;
@type('string')
sessionId: string;
@type('int16')
x: number;
@type('int16')
y: number;
@type('int16')
score: number;
@type('int16')
angle: number = 0;
@type('int8')
snakeLength: number = 0;
@type([SnakeSection])
sections: ArraySchema<SnakeSection>;
export class SnakeSection extends Schema {
constructor(x: number, y: number) {
super();
this.x = x;
this.y = y;
}
@type('int16')
x: number;
@type('int16')
y: number;
setTo(x: number, y: number) {
this.x = x;
this.y = y;
}
}