From 619a039942c3c02552f72275634a9f6c0788c570 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Thu, 20 Jul 2023 22:22:26 -0700 Subject: very basic websocket setup --- server/src/server.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 server/src/server.ts (limited to 'server/src/server.ts') diff --git a/server/src/server.ts b/server/src/server.ts new file mode 100644 index 0000000..f699ea9 --- /dev/null +++ b/server/src/server.ts @@ -0,0 +1,41 @@ +import { Game } from "../../engine/Game"; +import { Floor, Player } from "../../engine/entities"; +import { + WallBounds, + FacingDirection, + Physics, + Input, + Collision, +} from "../../engine/systems"; +import { Miscellaneous } from "../../engine/config"; + +const TICK_RATE = 60 / 1000; + +const game = new Game(); + +[new Physics(), new Collision(), new WallBounds(Miscellaneous.WIDTH)].forEach( + (system) => game.addSystem(system) +); + +[new Floor(160), new Player()].forEach((entity) => game.addEntity(entity)); + +game.start(); +setInterval(() => { + game.doGameLoop(performance.now()); +}, TICK_RATE); + +const server = Bun.serve<>({ + port: 8080, + fetch(req, server) { + server.upgrade(req, { + data: {}, + }); + }, + websocket: { + // handler called when a message is received + async message(ws, message) { + console.log(`Received ${message}`); + }, + }, +}); +console.log(`Listening on localhost:${server.port}`); -- cgit v1.2.3-70-g09d2