Game #4 in the 20 Games Challenge
A remake of the classic Frogger arcade game, built in Python using Pygame-ce. Navigate the frog across busy roads and dangerous rivers, hopping on logs and turtles to reach the lilypads safely.
- Player-controlled frog with grid-based movement
- Multiple lanes with cars, logs, and turtles
- Turtles can submerge temporarily, requiring careful timing
- Lilypads as goal locations to complete rounds
- Round-based progression with increasing difficulty and faster vehicles
- 3 Rounds per level (3 levels total)
- Easily create, add, or edit level configurations in
levels/ - Timed challenges with turtles submerging at different intervals
- Score tracking and lives display
- Custom sound effects for movement, hitting obstacles, falling into water, lilypad filled, and round complete
- Custom made animations for frog jumps, hits, and falls
- W: Move up
- S: Move down
- A: Move left
- D: Move right
- R: Restart game
- Escape: Quit game
- Python 3.10+
- Pygame-ce
- Clone the repository:
git clone https://github.com/LunarDrift/frogger.git
cd frogger- Install dependencies:
pip install pygame-ce- Run the game:
python main.pyThe
Pixeledfont is included in the repository for consistent display across systems
frogger/
├── assets/
│ ├── audio/ # Sound effects (hop, hit, fall, lilypad, next level)
│ ├── sprites/ # Frog, vehicles, logs, turtles, lilypad images
│ ├── fonts/ # Font used in game
│ ├── assetmanager.py # Manages loading sprite images
│ ├── soundmanager.py # Manages loading sound effects
├── sprites/ # Sprite classes for Frog, Vehicle, Log, LilyPad, etc.
├── enums/ # Enum for lane types
├── world/ # Game world, lanes, spawners, and game logic
├── views/ # Game view; handles input, plays sounds, draws screen
├── constants.py # Game constants like TILE_SIZE, speeds, start positions
├── levels.py # Level configurations
├── main.py # Entry point to run the game
└── README.md
- Original game concept: Frogger
- Pygame-ce library: https://pyga.me/docs/
- Sprite Assets created in Aseprite
- Sound effects created using bfxr
- Font: Pixeled

