Progress! Small but progress

A project log for LZRTag - Flexible DIY Lasertag

An easy to build, program, modify and use AVR and ESP based Lasertag system for everyone!

xasinXasin 10/13/2019 at 18:360 Comments

It's been a while since I last posted a log, so I felt like doing it now - it's an opportune moment for a number of reasons.

Firstly, the new hardware is now pretty much 100% supported, all the way from the new navigation switch to the gyroscope. This includes support for the Ruby backend, as well as a few snippets of template code that already show off how useful these new elements are!

My favorite example is the gyroscope. It can detect when the weapon is pointing up or down - so at the start of the match, players can choose their team simply by picking up the weapon at a certain moment. I call that quite useful!

Secondly, the Ruby backend is also nearly complete - not just for the new hardware, but for a completely overhauled game control system.
With the current code, it's very easy to define various states of your game (such as starting, team selection, prep, active gameplay and a post-game celebration), and switch between these manually.
There's also a way to register various configurations of games into Ruby, and select a game via MQTT, meaning that it's now feasible to set up a central, "always on" server from which games can be started!

What's next?

More importantly, with the individual Lasertag components coming to a polished state, we have started working on the system as a whole.

We bought a new Raspberry Pi 3 A+, which we will turn into a proper central LZRTag server. It will have more power than the RPi Zero we are using right now, but more importantly, it also has a USB and Ethernet port, giving us much better connectivity options than with just the Zero. 

The extra processing power will also be relevant to host a webserver!

That's right, we finally started to work on the Lasertag's web app. React + MQTT is turning out to be a perfect combination, and we were already able to extract all relevant information on players and display it live!
We'll have to create a good design first, and especially optimize the whole thing for mobile viewing as well as for a big "scoreboard" screen, but those tasks are surmountable.

Video pls?

Well, right now there just is a lot of small, disconnected stuff going on. Showing each element off individually will be tricky.
Once we properly set up the Raspberry 3 A+ and got all five current sets running with an example game though, we will definitely provide you guys with a rich video showing off the features of our system!

There will also be more documentation incoming on the Ruby gem and setting up the Raspberry Pi as we go along, and we're almost done tweaking the 3D printed casing for the new system and will be uploading a zip with the files soon!