Deterioration & Restoration (a.k.a. “Can You Reverse Time?”) is a 2D simulation game that challenges you to heal a user‐generated world before it collapses into a fully apocalyptic state. Built in Python with cmu_graphics, Pillow, and NumPy, the project emphasizes procedural texture manipulation and dynamic terrain deterioration.
Github Repository
https://github.com/chentianle1117/A-Game-of-Deterioration---Time-Reversal
Key Features
-
User‐Generated Terrain
- Start by “drawing” your own map in an editor reminiscent of Photoshop.
- White regions become elevated terrain; black regions become water.
- Quick brush tools and contrast adjustments let you shape a unique world before entering the game.

-
Deterioration & Restoration
- Textures degrade over time, introducing visible wear and tear on land and foliage.
- Control a character with special healing abilities to reverse or slow the decay.
- Collect power‐ups and inventory items that boost your healing radius or allow instantaneous bursts of restoration.

-
Multiple Game Modes
- Timed Mode: Survive until the countdown expires without letting overall deterioration exceed 80%.
- Infinite Mode: Face continuous global deterioration with no countdown. Sustain your environment as long as possible, then end the game when you’re ready.
-
Real‐Time Feedback
- Visual cues show deterioration in real time, from subtle texture fading to severe breakdown.
- A final results screen reveals how your world changed over time and charts your character’s growth in healing power.
-
Easy to Run & Expand
- Simple Python 3.6+ codebase with clear dependencies (
cmu_graphics, Pillow, NumPy).
- Organized file structure (
main.py, game.py, menu.py, and an assets folder for textures) for easy customization.
- Debug keys and commands allow on‐the‐fly testing of terrain, zoom, and texture states.
Game Assets








- Textures (Samples of Original and Deteriorated Pairs)








Technical Highlights