Elemental Link
Inspiration
Elemental Link was born from our visit to the Hack@Brown Hardware Lab, where we saw an exciting opportunity to merge two traditionally separate disciplines—game development and firmware engineering. Surrounded by an array of sensors and hardware interfaces, we asked ourselves: "What if we could create a game where the real world directly influences the virtual world?"
That question led to Elemental Link, a 2D platformer where players use real-world interactions—light, heat, and wind—to control the game environment.
What It Does
Elemental Link is a groundbreaking 2D platformer that redefines traditional gameplay by integrating real-world physical inputs.
🔦 Shine a light to reveal hidden paths. 🔥 Apply heat to melt icy barriers. 💨 Blow air to clear away obstacles.
By physically interacting with a custom hardware controller, players manipulate the game world in real time, solving puzzles and overcoming obstacles like never before. This innovative approach bridges the gap between the physical and digital, making the player’s surroundings an extension of the game itself.
How We Built It
Elemental Link consists of two main components:
🎮 The Game (Unity)
- Built using Unity for smooth 2D platforming mechanics.
- Features physics-based environmental effects that respond to real-world inputs.
- Used a premade 2D asset pack for rapid development.
🛠️ The Controller (Firmware & Hardware)
- Based on an Arduino ATmega328P, providing reliable microcontroller performance.
- Utilizes Grove sensors for light, temperature, and sound detection.
- Programmed using PlatformIO in VS Code, offering more flexibility and functionality than the standard Arduino IDE.
- Communicates with Unity via a custom UART serial API, ensuring seamless interaction between hardware and game.
Challenges We Faced
🖥️ Firmware & Microcontroller Issues
- We initially used an Intel-based Arduino 101, then switched to an ESP8266 (RISC-based). Both had compatibility issues with the Arduino framework.
- We resolved these issues by switching to an ATmega328P-based Arduino Uno, which provided the stability we needed.
🎮 Unity Performance & Asset Challenges
- Performance Issues: Unity ran slowly on our computer, especially when handling multiple physics-based interactions and real-time sensor inputs.
- Asset Animations: Some of the art assets we used required animations to fit the game's style and mechanics.
Accomplishments We’re Proud Of
🚀 From zero to a fully functional game in under 24 hours! 🎮 A working game and a real physical controller—fully integrated. 🕹️ An arcade-style enclosure for an immersive experience. 💡 Overcoming complex hardware and software challenges through teamwork and perseverance.
What We Learned
- Deepened our understanding of Unity and 2D game development.
- Mastered interfacing multiple sensors with microcontrollers using ADC channels and I2C.
- Developed a UART-based API to connect hardware inputs with Unity.
- Optimized real-time sensor processing for seamless gameplay interaction.
What’s Next for Elemental Link?
🔗 Multiplayer Mode – Collaborate with friends to solve puzzles and overcome challenges. 🎮 More Levels & Enemies – Expanding the game world with new mechanics. 🛠️ Additional Sensors – Introducing more physical inputs for an even richer experience. 🏆 Scoring & Competitive Features – Work together or compete for high scores.
Elemental Link is just getting started, and we’re excited to push the boundaries of real-world interactive gaming!
Log in or sign up for Devpost to join the conversation.