Element Rumble is an Android mobile game prototype built in Java. The project combines a four-element matchup system with a sensor-controlled mini-game, custom visual assets, multi-screen navigation, and music playback.
The app turns a "rock paper scissors" style element system into a complete mobile experience. Players choose Air, Earth, Water, or Fire to play against a randomized AI opponent, then can enter a mini-game where device tilt controls a basket that catches falling collectables.
- Android Studio
- Java
- Android XML layouts
- ConstraintLayout
- Canvas and SurfaceView
- Accelerometer sensor input
- Android Service-based music playback
- Multi-screen app flow: title, instruction, main game, mini-game, and result screens
- Element matchup logic for Air, Earth, Water, and Fire
- Randomized AI opponent selection
- Result screen routing with Intent extras
- Background music and result music through Android Service classes
- Sensor-controlled mini-game using accelerometer input
- Canvas drawing loop for collectables, score, collision checks, and player movement
- Custom game art, fonts, frame UI, and audio assets
-
app/src/main/java/com/example/teamavatar/MiniGame.java
Sensor input, Canvas rendering, score state, collision detection, and game loop. -
app/src/main/java/com/example/teamavatar/Game.java
Main game screen, element selection navigation, music toggle, and temperature sensor response. -
app/src/main/java/com/example/teamavatar/Results.java
Result screen data flow using Intent extras. -
app/src/main/java/com/example/teamavatar/Water.java
Example of the element matchup rule logic and result routing.
- Title screen
- Main element selection screen
- Mini-game screen
- Result screen
Open this folder in Android Studio, choose an emulator or Android device, and run the app module.
For Apple Silicon Macs, use an arm64-v8a Android system image in the emulator.