Skip to content

HoseinBorsi/game-disk-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Game Disk Viewer

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.


🚀 Features

  • 📀 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_index stored automatically)
  • ⏱ Adjustable delay for automatic browsing

📂 Project Structure


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


⚙️ Installation

1. Clone Repository

git clone https://github.com/HoseinBorsi/game-disk-viewer.git
cd game-disk-viewer

2. Install Dependencies

Make sure you have Python 3.10+ installed:

pip install -r requirements.txt

3. Run the Application

python main.py

🎮 How to Use

  1. Select a disk from the left panel
  2. Browse the list of games
  3. Press ▶ Start to automatically open game searches
  4. Or select a game → ⏩ Start From Selected
  5. Use ⏹ Stop button or the global shortcut to pause at any time
  6. Flag important games with 🚩 Flag / Unflag
  7. Filter only flagged games with 📌 Show Flagged

⌨ Keyboard Shortcut

  • Default stop / pause shortcut: Ctrl + S
  • Can be customized in the UI using the shortcut input box

📌 Example Disk JSON Format

{
  "disk_name": "Disk 1",
  "games": [
    "GTA V",
    "Cyberpunk 2077",
    "Elden Ring",
    "The Witcher 3",
    "Red Dead Redemption 2"
  ]
}

💾 Session & Flags

  • Seen games are marked automatically
  • Flagged games are saved in flagged.json
  • Program resumes from last saved index

🔥 Future Improvements

  • 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

📄 License

MIT License


👨‍💻 Author

Hosein Borsi https://github.com/HoseinBorsi

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages