Recreating the classic Photon laser tag system using modern technologies. This project was created for the Fall 2023 semester of the Software Engineering course at the University of Arkansas.
You may either download the project as a ZIP or clone the repository to your local machine:
$ git clone https://github.com/NineLives-CSCE-3513/photon.git
Open 2 terminal windows and navigate to the project directory in both:
$ cd /path/to/photon
You will need to create a Supabase account. Create a new project with a table named users
. Once you have created a new project, navigate to the project settings and copy the Project URL
and service_role
key from the API
tab. You will need to set these as environment variables on your local machine. Included is a .env.example
with the following contents:
SUPABASE_URL='your_url_here'
SUPABASE_KEY='your_key_here'
Rename the file to .env
and replace the placeholder values with your Supabase project URL and service role key. The .env
file is already included in the .gitignore
file, so you don’t have to worry about accidentally committing your credentials to version control.
Provided in the src
directory is a file named traffic_generator.py
. This file will generate UDP traffic to simulate the Photon laser tag units. In one of your terminal windows, run the following to start the traffic generator:
$ python src/traffic_generator.py
The program will prompt you to enter 2 equipment IDs for each team. We recommend using 10 and 20 for the green team and 30 and 40 for the red team.
A Makefile is provided to simplify running the main program. If you wish, you can run the program manually using the following commands:
$ pip install -r requirements.txt
$ python src/main.py
Alternatively, you can use the provided Makefile:
$ make
This will clean compiled bytecode files, install required dependencies, and run the main program. Run the following to display a menu of available commands:
$ make help
The player entry console will require using the <tab>
key to switch between each field. When you’ve completed registering players for one team, use the mouse to select the other team’s first equipment ID field and continue registering players. Click either the Continue
button or press <F5>
to finalize player registration and continue to the countdown screen. Press <F12>
while still in the player entry console to clear all player entries.
Make sure that the equipment IDs you entered in the traffic generator match the ones you entered in the player entry console.
Name | GitHub |
---|---|
Thomas Buser | tjbuser |
Sophia Forrester | asophiaforrester |
Grace Schmidt | GraceSchmidt1 |
Uyen Thi My Ho | uho2003 |
Vishal Jeyam | vjeyam |
Cade DuPont | cadedupont |
This project is licensed under the MIT License.