Game Disk Viewer is a lightweight, Steam-inspired tool for browsing, curating, and managing game collections stored on disks (JSON-based).
It allows you to automatically preview games via browser searches, track seen games, flag favorites, and resume sessions seamlessly.
- 📀 Load game disks from JSON files
- 🖼 Display disk cover images
- ▶ Automatic browsing of games (opens Google Image search for gameplay)
- ⏩ Start browsing from any selected game
- ⏸ Stop or pause browsing anytime with a global shortcut
- ✔ Seen tracking for games you’ve already reviewed
- 🚩 Flag / unflag important games
- 📌 Filter and view only flagged games
- 💾 Session resume from last position (
last_indexstored automatically) - ⏱ Adjustable delay for automatic browsing
game-disk-viewer/
├── main.py # Main GUI application
├── disk_loader.py # Disk loading logic
├── storage.py # Save/load session and flagged games
├── flagged.json # Auto-generated user progress file
├── requirements.txt # Python dependencies
├── README.md # This file
├── disks/ # JSON files for disks
│ └── disk_1.json
└── pictures/
└── disks/ # Disk cover images
└── disk_1.jpg
git clone https://github.com/HoseinBorsi/game-disk-viewer.git
cd game-disk-viewerMake sure you have Python 3.10+ installed:
pip install -r requirements.txtpython main.py- Select a disk from the left panel
- Browse the list of games
- Press ▶ Start to automatically open game searches
- Or select a game → ⏩ Start From Selected
- Use ⏹ Stop button or the global shortcut to pause at any time
- Flag important games with 🚩 Flag / Unflag
- Filter only flagged games with 📌 Show Flagged
- Default stop / pause shortcut:
Ctrl + S - Can be customized in the UI using the shortcut input box
{
"disk_name": "Disk 1",
"games": [
"GTA V",
"Cyberpunk 2077",
"Elden Ring",
"The Witcher 3",
"Red Dead Redemption 2"
]
}- Seen games are marked automatically
- Flagged games are saved in
flagged.json - Program resumes from last saved index
- Steam-like grid UI with hover and preview
- Automatic game cover fetch from Steam or IGDB
- Integrated search/filter inside the app
- Optional SQLite backend instead of JSON
- Dark mode support
MIT License
Hosein Borsi https://github.com/HoseinBorsi