feat: basic latency simulation
This commit is contained in:
parent
d6b3ffa308
commit
7b286806d0
|
@ -1,8 +1,14 @@
|
|||
export const CLIENT_LATENCY = 100;
|
||||
|
||||
export const RESOLUTION = [
|
||||
800,
|
||||
450,
|
||||
];
|
||||
|
||||
export const SERVER_LATENCY = 100;
|
||||
|
||||
export const TPS = 60;
|
||||
|
||||
export const ACTION_MAP = {
|
||||
w: 'moveUp',
|
||||
d: 'moveRight',
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import {CLIENT_LATENCY} from '@/constants.js';
|
||||
|
||||
import Packet from '../packet/packet.js';
|
||||
|
||||
export default class Client {
|
||||
|
@ -20,6 +22,14 @@ export default class Client {
|
|||
}
|
||||
}
|
||||
send(packet) {
|
||||
this.transmit(Packet.transmit(packet));
|
||||
if (CLIENT_LATENCY > 0) {
|
||||
setTimeout(() => {
|
||||
this.transmit(Packet.transmit(packet));
|
||||
}, CLIENT_LATENCY);
|
||||
}
|
||||
else {
|
||||
this.transmit(Packet.transmit(packet));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
import {MOVE_MAP} from '@/constants.js';
|
||||
import {
|
||||
MOVE_MAP,
|
||||
SERVER_LATENCY,
|
||||
TPS,
|
||||
} from '@/constants.js';
|
||||
import Cell from '@/cell.js';
|
||||
import {System} from '@/ecs/index.js';
|
||||
import Packet from "../packet/packet.js";
|
||||
|
||||
const SPEED = 100;
|
||||
const TPS = 60;
|
||||
|
||||
await import ('@/isomorphinit.js');
|
||||
|
||||
|
@ -82,7 +85,14 @@ export default class Server {
|
|||
}
|
||||
|
||||
send(connection, packet) {
|
||||
this.transmit(connection, Packet.transmit(packet));
|
||||
if (SERVER_LATENCY > 0) {
|
||||
setTimeout(() => {
|
||||
this.transmit(connection, Packet.transmit(packet));
|
||||
}, SERVER_LATENCY);
|
||||
}
|
||||
else {
|
||||
this.transmit(connection, Packet.transmit(packet));
|
||||
}
|
||||
}
|
||||
|
||||
start() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user