LaZer Tag was my first finished multiplayer Unity game. It used unity’s old networking system, which was a pain to work with, but I managed to get it working. It was a simple game, but it was a lot of fun to play with friends. I learned a lot about networking and multiplayer game design from this project.

Mechanics:

  • Players can move around the map and shoot lasers at each other.
  • The blue regions are mirrors, and players can bounce lasers off of them to reach other players that are behind cover.
  • When hit, the attacker receives a point, and you respawn randomly in the map.
  • There are floating platforms, and if you fall off the map, you lose all your points and respawn.
  • The first player to 40 points wins.
  • When any player first reaches 30 points, a cool vfx is played and the music changes to a more intense track.

What I learned:

  • How to use Unity’s old networking system.
  • A lot about raycasting and how to use it to detect collisions.
  • How to use line renderers (to render the laser)
  • What billboards were, how to use them, and how to implement them myself. (ie simple look-at script)
  • How to use Unity’s particle system.

What I would do differently (today):

  • I would use Unity’s new networking system, which is much easier to use.
  • I would tweak the movement system to be more snappy and less velocity-based.
  • I would improve the UI, and add a lobby system.
  • I would add more maps, and make the maps more interesting, including dynamic cover.