shadows — Multiplayer Shadowy Halloween Maze Game!
fuzzyastrocat (1867)

Welp, I misread the timestamp on the bramjam, so I guess I can't submit this, but I'm posting it here anyway! ( @bramley that is right, correct?)

This was a little experiment in raycasting and FOV graphics. The goal is to get to the green light at the end of the maze... the problem is that you only have a tiny lantern which casts light in one direction! So, it's basically a maze game where you can't see the goal, only what you could see in real life. Sounds fun, eh? :D

There is a server, so you can race your friends to the end. Additionally, you can drop beacons to help others out... provided that you're going the right way!

Gameplay Images



Controls:

  • WASD/Arrow keys to move
  • SPACE to drop beacon

Enjoy!

You are viewing a single comment. View All
fuzzyastrocat (1867)

@realTronsi OH gosh no, that's not at all what I'm doing. It's just "do math and boom insta-get the coordinate of intersect":

// the math part

const den = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
if (den == 0) {
  return;
}

const t = ((x1 - x3) * (y3 - y4) - (y1 - y3) * (x3 - x4)) / den;
const u = -((x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3)) / den;
if (t > 0 && t < 1 && u > 0) {
  const pt = new p5.Vector(x1 + t * (x2 - x1), y1 + t * (y2 - y1));
  return pt;
} else {
  return;
}

And I still don't really get how having it on the server would help. It'll just mean a lot more socket traffic. And doing those calculations has basically no performance drag on the client.