You've played this game before. You know how it goes.
- Use the arrow keys (desktop) or swipe / D-pad (mobile) to control the snake
- Eat apples to grow longer and score points
- Choose your difficulty: Easy, Medium, or Hard
- You get 3 lives per game (up to 5 max)
- Progress through 5 levels of escalating difficulty
- Submit your score to the online leaderboard
- Player name is remembered between sessions
- The game ends if you hit the wall or run into yourself
| Level | Goal | Points per Apple | Special Items |
|---|---|---|---|
| 1 | Reach 100 | 1 / 2 / 3 / 5 | Power-up fruit (+25), Golden heart (+1 life) |
| 2 | Reach 500 | 10 / 20 | Mushrooms (obstacles), Golden apple (+1 life), Reduction fruit (-5 size) |
| 3 | Reach 1000 | 10 / 20 | More mushrooms, Zooper-Dooper mushroom (clears all mushrooms, -10 size, +50 pts) |
| 4 | Reach 2000 | 25 / 50 | Even more mushrooms, higher bonuses (+75 power-up) |
| 5 | Reach 3500 | 50 / 100 | Maximum mushrooms, +100 power-ups, 50% reduction chance |
- Power-Up Fruit — Bonus points (value scales with level)
- Golden Heart — Extra life (spawns once at 50 pts)
- Golden Apple — Extra life (Level 2+, timed)
- Reduction Fruit — Shrinks your snake by 5 segments
- Zooper-Dooper Mushroom — The holy grail (Level 3+). Clears all mushrooms, shrinks snake by 10, awards 50 pts, and triggers a Street Fighter-style freeze animation
Beat all 5 levels to trigger the victory screen with fireworks animation. Enter your name for the Hall of Fame, rate the game (1–5), and vote on whether levels 6–10 should be created. New high scores are detected live from the database with a rainbow animation and fanfare.
Original 8-bit chiptune audio engine using the Web Audio API — square-wave synthesis with no external audio files. Includes unique sounds for eating, power-ups, extra lives, level-ups, deaths, Zooper-Dooper collection, victory fanfare, and high score celebration. Toggle sound with M key or the on-screen button.
- Web (primary): Next.js, React, HTML5 Canvas, Web Audio API, Supabase — hosted at zoopbyte.com/snakeit
- Desktop (legacy): Java 17, Swing GUI, Maven
This repo contains the Java desktop version. The web version lives in the zoopbyte repo.
SnakeIt/
├── pom.xml
├── README.md
└── src/
└── main/
├── java/org/snakeIt/
│ ├── Audio.java
│ ├── GameFrame.java
│ ├── GamePanel.java
│ └── SnakeGame.java
└── resources/
Visit zoopbyte.com/snakeit to play in your browser — works on desktop and mobile. Features 8-bit chiptune audio, online leaderboard, and arcade-style attract screen.
The web version is served through the zoopbyte Next.js app. To test locally:
cd zoopbyte
npm install
npm run devThen open http://localhost:3000/snakeit
Build and run with Maven:
mvn clean package
java -jar target/SnakeIt-1.0-SNAPSHOT.jarOr open in IntelliJ IDEA / Eclipse as a Maven project and run SnakeGame.java.
| Input | Action |
|---|---|
| ↑ ↓ ← → | Move (desktop) |
| Swipe / D-pad | Move (mobile) |
| Space / Tap | Start game / Pause |
| P | Pause / Resume |
| M | Toggle sound |
| 1 / 2 / 3 | Select difficulty (Easy / Medium / Hard) |
- Bro Code – Adapted from the Snake Game tutorial
- Stack Overflow – Java Swing grid rendering
Feel free to fork, experiment, and improve the project. Pull requests and suggestions are most welcome.
Creative Commons: © Ricki Angel 2026 | TechAngelX
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
This project is for personal or educational use only and comes without any warranty.
Built by Ricki Angel • Tech Angel X




