Skip to content

ninelives-uark/photon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Photon

Photon Logo

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.

This main branch should support MacOS and Windows. For Linux users, a linux-support branch is included which removes sounds from the game.

Download the Project

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

Setting Up Supabase Credentials

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.

Running the Traffic Generator

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.

Running the Photon Program

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.

Screenshots

Contributors

Name

GitHub Username

Thomas Buser

tjbuser

Sophia Forrester

asophiaforrester

Grace Schmidt

GraceSchmidt1

Uyen Thi My Ho

uho2003

Vishal Jeyam

vjeyam

Cade DuPont

cadedupont

License

This project is licensed under the MIT License.

About

Updated Photon laser tag system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6