A Flappy-Bird-style arcade game set in prehistoric times, built with Python and Pygame as part of the Codecademy AI Maker Bootcamp.
Meet Tiny — a baby T-Rex with big dreams and even bigger teeth. When a volcanic eruption tears through his homeland, Tiny has no choice but to flee through the ancient caves beneath the earth. But the caves aren't empty. Jagged stone pillars block every turn, hungry velociraptors patrol the skies, and the only comfort along the way are the scattered gold coins left behind by civilizations long forgotten. Armed with nothing but his tiny arms and a whole lot of courage, Tiny leaps into the unknown. How far can you take him?
- 🦖 Fly Tiny through procedurally generated stalactites & stalagmites
- 🦅 Dodge velociraptors flying in on unpredictable wave patterns
- 🪙 Collect gold coins that spawn between walls for bonus points
- 📈 5 levels that scale automatically — from Stone Age to Meteor Strike
- 🏆 Persistent high score saved to disk
- 🎵 Full sound design — background music, flap, enemy alert, coin pickup, game over
- ⚙️ Data-driven difficulty via
levels.json— tweak everything without touching code
| Input | Action |
|---|---|
SPACE |
Flap |
Left Click |
Flap |
Fly through wall gaps (+1 score each), collect coins, avoid everything else. The game gets harder as your score climbs. That's it — simple to learn, tough to master.
| # | Name | Starts at | Speed | Coin Value |
|---|---|---|---|---|
| 1 | Stone Age | Score 0 | Slow | 1x |
| 2 | Jurassic Era | Score 5 | Medium | 1x |
| 3 | Cretaceous Period | Score 12 | Fast | 1x |
| 4 | Extinction Event | Score 22 | Faster | 2x |
| 5 | Meteor Strike | Score 35 | Max | 2x |
You can play Prehistoric Leap directly in your browser here: Play NOW
Note: Due to browser security policies, you must click the game screen once after loading to enable the background music and sound effects.
git clone <repository-url>
cd prehistoric-leapWindows:
gaming\Scripts\activatemacOS/Linux:
source gaming/bin/activatepip install -r requirements.txt
python main.pyTo build the web version locally:
python -m pygbag --template static/index.html .
Everything lives in levels.json: gravity, wall speed, gap size, enemy frequency, coin spawn chance, coin value, and more. Add levels, remove them, or rebalance the whole game from one file.
To reset your high score, edit highscore.json or just delete it.
| Tech | Role |
|---|---|
| Python 3.10+ | Core logic and game state management. |
| Pygame CE | Rendering, 2D physics, and audio engine. |
| JSON | Level configuration and high-score persistence. |
| Pygbag | Runtime environment and WebAssembly (Wasm) compilation. |
| GitHub Actions | CI/CD pipeline for automated web builds on every push. |
| CSS3 & HTML5 | Custom prehistoric-themed loading interface. |
Built as part of the Codecademy AI Maker Bootcamp, focusing on game design, procedural content generation, and data-driven architecture.
- Visual Assets: Character and Environment sprites generated via Gemini (Nano Banana model)
- Sound Design: Custom sound effects generated with Python synthesis tools (
pydub&FFmpeg) using ChatGPT - Built with: Pygame
- Deployed on GitHub Pages

