Inspiration
As Bitcoin continues to establish itself as the dominant cryptocurrency, we wanted to create a fun, engaging way to celebrate its position while playfully poking at the altcoin market. The idea of combining music with gameplay was inspired by classic rhythm games, but we wanted to take it further by having any music dynamically generate the gameplay experience. This creates a unique experience every time while celebrating Bitcoin culture.
What it does
BTCvsALTS is a music-driven arcade shooter where players control a Bitcoin spaceship defending against falling altcoins. What makes our game unique is that it uses real-time audio spectrum analysis to spawn altcoin symbols (ETH, DOGE, LTC, XRP) based on the beats and frequencies of whatever music you choose to play. The audio directly shapes the gameplay - different songs create entirely different game experiences, making every playthrough unique.
How we built it
We built BTCvsALTS using Swift and SpriteKit for the game mechanics, with AVFoundation for audio playback and real-time frequency analysis. The core technical achievement was implementing a Fast Fourier Transform (FFT) to analyze audio frequencies in real-time and map them to game events.
Key components include:
- Audio spectrum analyzer that detects peaks across frequency bands
- Dynamic enemy spawning system triggered by audio patterns
- Smooth particle effects for explosions and ship movement
- Collision detection system for bullets and altcoins
- Lives management system with cooldown protection
- Game state management for playing, game over, and victory conditions
Challenges we ran into
Our biggest technical challenge was optimizing the real-time audio analysis to maintain smooth gameplay. Initially, we experienced lag when too many altcoins spawned simultaneously, especially during intense music segments. We also struggled with fine-tuning the difficulty - early versions either spawned too many altcoins or too few depending on the song.
Another major challenge was correctly managing the game's life system. We encountered a persistent bug where lives would unpredictably drop from 30 to 2 after a single miss. This required a complete overhaul of our life management system with a dedicated class to properly handle life deductions.
Accomplishments that we're proud of
We're particularly proud of creating a truly dynamic game where the music directly affects gameplay. The particle effects for explosions perform smoothly even with multiple collisions happening simultaneously. We also successfully implemented a victory condition that triggers when the music ends with lives remaining, giving players a satisfying conclusion.
The visual aesthetic captures the Bitcoin vs altcoins theme in a fun, arcade style that appeals to both crypto enthusiasts and casual gamers. We're also proud of how accessible the game is - anyone can pick it up and play without needing to understand cryptocurrency.
What we learned
This project taught us a lot about real-time audio processing in mobile games and the complexities of mapping audio frequencies to gameplay elements. We gained deeper knowledge of SpriteKit's particle systems and how to optimize them for performance. We also learned valuable lessons about debugging complex state management issues, particularly with our lives tracking system.
From a design perspective, we learned how critical player feedback is - the visual explosions, score system, and lives counter all needed to be clear and satisfying to make the game feel complete.
What's next for BTCvsALTS: Audio-Driven Crypto Arcade
We plan to expand BTCvsALTS with several new features:
- Additional altcoin types with unique movement patterns
- Power-ups that enhance the Bitcoin ship's capabilities
- Global leaderboards to track high scores
- More visual effects tied to specific audio frequencies
- Custom soundtrack options with different difficulty levels
- Themed levels that tell the story of Bitcoin's rise
We're excited to continue developing this unique intersection of music, gaming, and cryptocurrency culture!
Built With
- accelerate-framework-(for-fft)
- audiokit
- avfoundation
- cocoa-touch
- ios
- sprite-kit
- swift
- uikit
- xcode

Log in or sign up for Devpost to join the conversation.