Project Info
Inspiration
Reflecting on our childhood, many of us used to play .io games with friends for fun. But what if we upped the stakes, and created an even more fun and thrilling environment? We came up with Electrify, a portable taser module that adds an exciting "electric shock" element to gaming. In a world where esports and gaming are popular like never before, we realized that adding physical haptic feedback to gaming would create a more immersive atmosphere amongst the players. Specifically, upon the player's loss, the module sends a pulse of electric shock in the form of a bracelet. Our team believes that the shared experiences in gaming are priceless. We added adaptive user-immersive background music and a photo feature where the computer captures the facial expression of the players getting tased and converts it to a forever memorable NFT as a prize to the winner.
What it does
Each user attaches the taser module bracelet on their wrist. The users play a simple physics-based multiplayer game (similar to bonk.io) through individual computers. If the player dies, the program sends a signal to the taser module hardware via Arduino Bluetooth. The taser module then converts the 9V battery to a high enough power for a tasing effect, and the player will experience an electric shock in the form of a bracelet. We utilized IntegratedSystems IRIS Vector Search to create a user-immersive and emotion-inducing BGM and combined the camera footage of our computers and Crossmint to create NFT snapshots of the users upon winning/losing the game.
How we built it
We began the project by designing the taser module circuit, scavenging the necessary parts, soldering the PCB board, and assembling the taser module electronics using jumper wires. We coded a program on the Arduino to receive Bluetooth controls from the computer. We used socket.io to interface the game across multiple devices, enabling realistic play across distance barriers. The game was a complex physics simulation with charmingly simple mechanics. Finally, we designed a CAD model to house the electronic components and manually constructed the taser module.
Challenges we ran into
We can sort the challenges into two categories. For hardware, we had a hard time fabricating the taser module because each iteration of 3D printing and wrong soldering takes hours to fix. For software, it was quite challenging to reduce latency and save game states across hardware and software components.
Accomplishments we're proud of
We are proud of being able to integrate many different software and hardware components into a large system project. We were especially excited and relieved to see the multiplayer game perform perfectly in conjunction with their taser module.
What we learned
We learned how to mechanically prototype hardware from scratch, and integrate different software elements such as socket.io, InterSystems, P5.js, Express.js, Node.js, Arduino, and Crossmint into our project.
What's next
From a hardware perspective, we want to add a way of gathering information from the user through EEG, heart rate sensors, etc. Also, we want to invest in more ways of "tasering" the user through different electric shock modules. With this, we can start adding more advanced haptic feedback to this project. From a software perspective, we want to make Electrify a plug-and-play device for any video game. By utilizing frame data and machine learning, our next goal is to create a general application that interfaces the taser module to any platform.
Analysis
View
Metric
- 32
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CIn code
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- C++Claimed
- Node.jsClaimed
6 of 8 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.4 MB
Source files
16
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
kavandoctor1/electrifyio
31 files · 11.5 MB · @ c3f1bc3
Structure
Application logic
3 files · 10%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript98%
- CSS1%
- Python0%
- HTML0%
- C0%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 4- aws-sdk
- express
- http
- socket.io
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.