A fully-featured 2D platformer game built with Python and Pygame, featuring an original story, multiple levels, boss fight, cutscenes, and a full credits roll.
On Christmas Eve, Santa discovers that all the gifts have been stolen by Grinch — a reclusive green creature who loathes Christmas. Santa ventures up the mountain, battles through Grinch's traps and monsters, and ultimately discovers the truth: Grinch didn't want to ruin Christmas... he just didn't want to be alone.
"If I can't have Christmas, no one should."
| Stage | Description |
|---|---|
| 🎬 Cutscene 1 | Opening story (Scenes 1–8) |
| 🏔️ Level 1 | Village to mountain path |
| 🌲 Level 2 | Through the forest traps |
| 🎬 Cutscene 2 | Scene 9 |
| 🏰 Level 3 | Inside Grinch's castle — find the violin |
| 🎬 Cutscene 3 | Scenes 10–11 |
| 👹 Boss Fight | Final battle — use the violin to defeat Grinch |
| 🎬 Ending | Scenes 12–15 + Credits |
| Key | Action |
|---|---|
| ← → Arrow | Move Left / Right |
| ↑ Arrow | Interact / Move Up |
| ↓ Arrow | Move Down |
| SPACE | Jump |
| Z | Attack (Play Violin) |
- 🎬 Cinematic cutscenes with subtitles and cross-fade transitions
- ❤️ HP system carried across levels
- 🎵 Background music for each stage
- 👹 Multi-phase boss fight
- 🎞️ Scrolling credits roll
- 🔄 Respawn system with state machine architecture
- Python 3.x
- Pygame
# Clone the repository
git clone https://github.com/Kaemon/grinch-redemption.git
cd grinch-redemption
# Install dependencies
pip install pygame
# Run the game
python3 main.py| Role | Name |
|---|---|
| Lead Developer | Kaemon Ng |
| Level 1 Design | Chan Xin Quan |
| Level 2 Design | Sawraw Madub |
| Level 3 Design | Chen Zheng Hao |
Developed as a university group assignment. Story, architecture, and lead development by Kaemon Ng.