A fully featured retro zombie shooter game built with Python & Pygame.
- ✅ 16-bit pixel art style graphics (hand-drawn in code)
- ✅ Animated title screen with zombie silhouettes
- ✅ Level intro animations
- ✅ Procedural chiptune music (no audio files needed!)
- ✅ 2 full levels with multiple waves
- ✅ 3 zombie types (normal, purple, berserker)
- ✅ Parallax scrolling background
- ✅ On-screen touch controllers (joystick + fire button)
- ✅ Power-ups: Health, Ammo, Rapid Fire, Shield
- ✅ Particle effects & screen flash
- ✅ HUD with HP bar, ammo counter, score
- ✅ High score tracking
- ✅ Android-ready (via Buildozer)
pip install pygamepython zombie_shooter.py| Key | Action |
|---|---|
| A / ← | Move Left |
| D / → | Move Right |
| W / ↑ / Space | Jump |
| X / Left Ctrl | Shoot |
| ESC | Back to Title |
| Enter | Confirm / Start |
- Linux or macOS (Windows: use WSL2)
- Python 3.8+
- Java JDK 11+
- Android SDK + NDK (auto-installed by Buildozer)
# 1. Install Buildozer
pip install buildozer
# 2. Navigate to game folder
cd zombie_scroller/
# 3. Build APK (first build takes ~15 minutes)
buildozer android debug
# 4. Install to connected Android device
buildozer android deploy run
# OR find the APK in:
# bin/deadcorridor-1.0-debug.apk- Minimum Android: 5.0 (API 21)
- Target: Android 12 (API 31)
- Architecture: ARM64 (works on all modern devices)
- The on-screen joystick + fire button handle all touch controls
- Landscape mode enforced automatically
- 5 waves of zombies
- Waves get progressively harder
- Defeat all waves to advance
- 6 waves — much harder!
- More zombies, faster spawns
- Boss-level final wave
| Icon | Name | Effect |
|---|---|---|
| ♥ | Health Pack | +40 HP |
| » | Ammo Pack | +15 Ammo |
| ⚡ | Rapid Fire | 5s super speed shots |
| ◈ | Shield | Absorbs 3 hits |
- Jump over zombie groups
- Collect power-ups quickly — they expire!
- Low ammo warning flashes red
- Ammo refills +10 between waves
- Invincibility frames after taking damage (blink = safe)
zombie_scroller/
├── zombie_shooter.py # Main game (all-in-one)
├── buildozer.spec # Android build config
├── requirements.txt # Python dependencies
└── README.md # This file
The game generates ALL music and sound effects procedurally using pure Python math — no audio files needed!
- Title/Menu: Silent (atmospheric)
- In-Game: Upbeat chiptune (145 BPM, A minor pentatonic)
- Sound FX: Shoot, hit, jump, death, power-up — all synthesized
| Component | Technology |
|---|---|
| Language | Python 3.8+ |
| Graphics | Pygame (pixel art drawn in code) |
| Audio | Pygame mixer + procedural synthesis |
| Android | Buildozer + python-for-android |
| Architecture | Single-file game loop |
Made with ❤️ and a lot of pixel art. Stay safe out there.