A modern implementation of the classic Snake game for Android, built with Jetpack Compose and Kotlin. This project recreates the nostalgic Nokia-style Snake game with enhanced graphics, multiple game modes, and a retro Nokia phone UI.
-
Multiple Game Modes:
- Standard Mode: Classic snake gameplay with walls
- No Walls Mode: Snake can pass through walls and appear on the opposite side
- Maze Mode: Navigate through obstacle-filled levels
-
Difficulty Levels: 9 different speed levels to challenge players of all skill levels
-
Special Food Types:
- Regular Food: Increases score by 1 point
- Booster Food: Special golden food that gives 3 points
-
Retro Nokia Phone UI:
- Authentic Nokia 3310-style interface
- D-pad controls with responsive buttons
- LCD-style screen with pixel graphics
-
Game Elements:
- Score tracking
- Pause functionality
- Game over screen
- High score tracking
- Use the directional buttons to control the snake's movement
- Collect food to grow the snake and increase your score
- Avoid collisions with walls, obstacles, and the snake's own body
- Special golden food appears occasionally for bonus points
- Press the pause button to pause the game
- Press the reset button to restart after game over
- Arrow Buttons: Change the snake's direction
- Pause Button: Pause/resume the game
- Reset Button: Restart the game
- C Button: Return to menu (on Nokia phone UI)
- Language: Kotlin
- UI Framework: Jetpack Compose
- Architecture: MVVM pattern
- Graphics: Custom Canvas drawing
- Sound: SoundPool for retro sound effects
-
game/
: Core game logic and modelsSnakeGameModel.kt
: Main game model with snake movement logicGameBoard.kt
: Canvas rendering of the game boardNokiaPhoneUI.kt
: Nokia phone UI implementationGameCanvas.kt
: Enhanced game rendering with animationsGameMenu.kt
: Game menu system
-
screens/
: Compose UI screensGameScreen.kt
: Main game screen with controls
-
ui/theme/
: Theme definitions and colors
- Clone the repository
- Open the project in Android Studio
- Build and run on an Android device or emulator
- Android 6.0 (API level 23) or higher
- Android Studio Arctic Fox or newer
- Multiplayer mode
- More food types with special effects
- Additional game modes
- Customizable snake appearance
- Leaderboards
- Original Snake game concept by Nokia
- Sound effects created with [Sound tool]
- Icons and graphics designed with [Design tool]
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to contribute to this project by submitting pull requests or reporting issues!