Laser Tag Game
This is how everyone calls it: “Laser Tag”. We named it “Laser Strike”: same kind of device, more or less same features. Although not yet available for DIY, you can find here a brief description of features and functionality.
Few words about laser tag: it was invented long time ago, I have no idea by whom and what was the original goal, but nevertheless it gained the attention of many keen people willing to replace pc games with something more real. The idea behind is to transmit from one player to another an encoded digital stream containing player name, damage +/- other data. The encoding itself is not on the laser light, but on the infrared light. Although there is also a laser device on the weapon, it is used for aiming and /or simulate shooting fire.
Nowadays such laser tag devices come with plenty features like: sound, different shooting modes, different number of decoding channels to identify the shooting direction, wireless interface for realtime update of each device, data downloading to server etc etc. Using good optic systems, these devices can reach long distances making the playing possible not only indoors but also outdoors. However, infrared light is very easy reflected by walls or other obstacles, making optimal environments not very easy achievable. That’s why indoor areas are specially designed to absorb infrared light (e.g. dark painted walls). The device might have also a feature to help with that, which is the adjustment of infrared LED power. Trial method has to be used to achieve optimal performance depending on the indoor area and LED power level to minimize the reflections while keeping the full area covered when shooting.
Glossary:
- LED – light emitting diode
- IR – infrared
- CPU – processor
- DIY – do it yourself
- TX – transmission
- RX – reception
Now let’s get back to our system. One device has a number of 6 boards: main board, gun board and 4 sensor boards.
Main board: contains main CPU, 4 IR decoding channels, audio device, LCD interface, battery charger and main board keypad.
Gun board: contains a secondary CPU managing the gun features and keypad: IR LED with adjustable power, laser device, one IR decoding channel, shoot/shoot mode/reload/security switches and some additional LEDs for status indication. Communication with main board is achieved through a reliable serial interface with error detection and retransmission mechanism.
Sensor boards: each contains 8 LEDs for team assignment (2 for each team: blue, white, green & red) and 3 IR sensors. This makes a total of 12 IR sensors linked to main board + 1 placed on the gun board = 13 corresponding to 5 different channels.
There is also a router board, together with a software application allows the network administrator to control all active devices.
Main features provided by LaserStrike device:
- A total of 4 teams and 40 players overall (number of players can be upgraded by software).
- 40 characters alphanumeric LCD (2 x 20) displaying on different pages: device id, software version, health, clips, bullets, spare bullets, play time, name, team, battery level, wireless strength, shooting player name+team, shooting direction, errors logged, charging state, IR LED power, sound volume, wireless on/off, credit info, etc.
- 5 decoding channels: left, right, front, back, gun
- 4 keypads for equipment test and/or individual control of device: start/stop game, adjust infrared LED power, adjust sound level, enable/disable wireless, check errors logged, cycle through LCD pages.
- Sound: contains specific sounds for: shooting normal/silent/automatic, start/stop game, credit received, low battery, device booting, hit, hit with shield, reload, empty gun and so on. The device is equipped with an audio power amplifier and 2W speaker.
- Lithium charger fully integrated providing roughly 5 hours of charging time for a 4Amps battery.
- Complete wireless system integrated with full control on each device from server: start/stop game, add/remove dynamically players in the game, upload full player list, download parameters from each device, set parameters on each device like: IR LED power, playing time, sound level, IR TX damage, friendly fire, shooting modes, etc. Wireless is based on 802.15.4 protocol, Xbee wireless cards.
- IR LED power adjustable 10 – 100%
- Both acoustic and visual low battery indication.
Each devices requires further a vest and a gun to mount the electronic boards onto. No vest available till now, but I found some water guns which are suitable for this, so far I managed to upgrade only 1, see here below:
Detailed description of LaserStrike system
The mainboard powered by an 8.4 volt / 4 Amps battery, is able to keep system up for many hours.
After turning on the device, booting screen pops up with device ID and software version displayed, keeping the system busy for about 4 seconds. During this time, main CPU triggers initialization of all components: sound, battery management, LCD, keyboard, infrared hardware, wireless card and gun. If one of these components failed to init, “FAILED” message will be displayed, otherwise “PASSED” together with an audio signal.
Once the system is up and running, the user can scroll through the default LCD pages. First page gives info about health, clips, bullets and play time, maybe the most important out of all. Second page contains the IDs, like player name and team + wireless strength indicator and battery level. Both names for player and team are maximum 5 characters in lenght. The teams are represented by the LEDs colors, hence will be named accordingly: RED, GREEN, WHITE and BLUE. Each player can be assigned dynamically to any team. The 3rd page shows shooting info like player id, team, shooting side & health left – empty when the game is off.
At this point one can start the game on its own device by entering the configuration menu. Here there are 4 basic settings: game on/off, IR LED power, wireless on/off and sound level. However, this menu is intended only for device testing and/or small games with no server as this one takes over control when present.
Regardless of where the game is started from, following this a timeout is down counted allowing the players to prepare. When elapsed, game starts, signaled also by an audio message. Furthermore, corresponding team LEDs placed on sensor boards will light up accordingly. During playing time, no user is able to modify its own device settings.
The gun is equipped with 4 switches: main shooting trigger, reload switch, shooting mode (manual/automatic + normal/silent in any combination) and security switch. This last one has actually 2 functions controlled from server:
- security – trigger switch is not functional unless user keeps security switch together pressed
- laser control – this switch will keep the laser on as long as it’s pressed. As the laser is used also to simulate shooting, it will either toggle on/off (if this switch is not pressed during shooting) or off/on (if switch is pressed during shooting).
For each hit, the health will decrease with the damage value set by server and audio sound will pop up. When health goes down to 0, device enters “DEAD” state for about 6 seconds and all LEDs (4 boards x 8 LEDs = 32 LEDs) will flash, signalling this state. During this time the user will most likely look like a Christmas tree
Once this state is over, device goes back in playing mode with default number of clips and bullets as given by the server at game start.
Server can give credits to players for “good performance” during play time. This triggers a pop up on the LCD + audio sound. Also the server is able to download the data from each device at run time in order to update the scoring list. Second possibility is to download at the end of the game full data from each device and combine it to get the scoring. In both cases the communication is done through the wireless interface. As a backup, the device is designed to allow RS232 communication with the PC in case the wireless card is not detected at boot time.
System errors might appear during play time. These errors are logged in a special menu which user can access at any time. The error contains a code and some additional info. Of course this is less likely to be used by normal players. On the gun, there is one LED for status indication. Whenever it flashes it means an internal error was detected. The error will be sent to main board and included in the error list.
If battery goes below 10%, both visual – through intermittent signalling of an LED – and acoustic message are triggered. However, when charger is plugged, only the LED will continue to blink till the battery level goes above the 10% threshold. Lithium charging needs one power supply of at least 11V/1Amp. When charger is plugged, the system goes in charging state, switching off any ongoing game. No wireless or keypad control is available during this state.
The router together with the PC application make possible the control of all devices. At boot up, all devices register on a default wireless channel and network ID. PC application is able to check which devices are online and update them with new network ID and channel number for playing game. All devices left on default channel and network ID are in IDLE mode. In this way the network admin can easily add/remove players at any time.
Router has also a function to scan the network and choose the channel with less noise resulting in better wireless coverage.
The system is in prototyping stage, which means further features/improvements can be added. Might be available for sell/DIY in the near future, so stay tuned.
Few more images with the device:
For any questions or comments, please use “Contact form”.