A comprehensive Jupyter notebook that analyzes your personal video game library to identify games with exceptional storytelling and narrative quality.
This project helps you discover hidden narrative gems in your game collection by analyzing game descriptions, genres, and themes to identify titles with compelling stories. Perfect for gamers who love story-driven experiences!
- Analyzes your entire game library from GOG Galaxy exports
- Scores games based on narrative elements and story-rich characteristics
- Categorizes games into Excellent, Good, and Decent story quality tiers
- Generates comprehensive visualizations with 6 detailed charts and statistical insights
- Exports results to CSV for further analysis
- Provides detailed listings of top story-driven games with summaries and metadata
- Python 3.7+
- Jupyter Notebook or VS Code with Jupyter extension
- GOG Galaxy (for exporting your game library)
pip install pandas numpy matplotlib seaborn-
Install GOG Galaxy Export Script:
- Visit: https://github.com/AB1908/GOG-Galaxy-Export-Script
- Follow the repository's installation instructions
- Run the script to export your GOG Galaxy library
-
Generate gameDB.csv:
- The export script will create a
gameDB.csvfile - Place this file in the same directory as the notebook
- The export script will create a
- Open
game-plot-analysis.ipynbin Jupyter or VS Code - Run all cells sequentially
- View results and generated visualizations
The notebook uses a sophisticated scoring system that evaluates:
- Story, plot, narrative, character development
- Quest systems, dialogue, choices
- World-building, lore, backstory elements
- Epic, cinematic, immersive experiences
- RPG, Adventure, Visual Novels
- Interactive Fiction, Point & Click
- Story-driven and narrative-focused games
- Drama, mystery, horror, thriller
- Fantasy, sci-fi, historical settings
- Atmospheric and immersive themes
- ๐ Excellent Stories (Score โฅ 8): Games with outstanding narrative quality
- ๐ Good Stories (Score 5-7): Solid story-driven experiences
- ๐ Decent Stories (Score 3-4): Games with notable narrative elements
games_with_great_stories.csv- Complete analysis results with scores and metadata- Interactive visualizations including:
- Score distribution with threshold indicators
- Category breakdown pie charts
- Top games horizontal bar charts
- Score vs summary length correlation
- Detailed statistical insights
- Categorized game listings with summaries
- Summary statistics and insights
The notebook generates comprehensive visualizations:
- Score Distribution Histogram - Overall narrative score spread
- Category Pie Chart - Percentage breakdown by quality tiers
- Top 10 Games Bar Chart - Highest-scoring titles
- Score vs Summary Length - Correlation analysis
- Score Distribution with Thresholds - Histogram with quality cutoff lines
- Detailed Category Breakdown - Four-tier classification
- Top 15 Games Extended View - More detailed top games list
- Color-Coded Correlation Plot - Enhanced summary length analysis
- Games per Score Value - Exact count distribution
- Cumulative Score Distribution - Percentile analysis
- Average and median scores
- Standard deviation analysis
- Top 10% threshold calculation
- Comprehensive percentage breakdowns
The analysis typically identifies:
- ~80-85% of games with some narrative elements
- Top-tier story games with detailed breakdowns and scores
- Hidden gems you might have overlooked in your library
- Genre distribution of story-rich games with visual representations
- Statistical insights including averages, medians, and percentiles
- Correlation patterns between description length and story quality
- 36 refined narrative keywords (English-only, no duplicates)
- 13 story-rich genre categories for comprehensive coverage
- 23 narrative themes for atmospheric classification
- Intelligent scoring algorithm with weighted criteria
- 6 detailed charts in enhanced visualization mode
- Color-coded elements for easy interpretation
- Statistical breakdowns with key metrics
- Professional styling with grids and legends
- Interactive insights for deep analysis
- Detailed CSV export with all scores and metadata
- Categorized listings (Excellent/Good/Decent)
- Complete game catalog with easy-copy title lists
- Summary statistics and distribution insights
Edit these sections in the notebook to adjust analysis:
# Add your own narrative keywords (English only)
narrative_keywords = [
'your', 'custom', 'keywords', 'here'
]
# Adjust scoring weights in the function
def calculate_story_score(row):
# Summary keywords: weight = 2
# Story-rich genres: weight = 3
# Narrative themes: weight = 1
# Long summary bonus: weight = 1excellent_threshold = 8 # Adjust for stricter/looser excellent criteria
good_threshold = 5 # Adjust for good story threshold
decent_threshold = 3 # Adjust for minimum story quality# Modify chart colors, sizes, or add new plots
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgray']
plt.figure(figsize=(15, 10)) # Adjust figure size- Detailed character development
- Branching storylines or multiple endings
- Rich world-building and lore
- Emotional or psychological themes
- Choice-driven narratives
- ๐ Excellent: Must-play story experiences
- ๐ Good: Strong narrative games worth your time
- ๐ Decent: Games with notable story elements
Feel free to:
- Report issues or suggest improvements
- Add new narrative keywords or themes
- Enhance the scoring algorithm
- Create additional visualizations
This project is open source and available under the MIT License.
- GOG Galaxy Export Script: https://github.com/AB1908/GOG-Galaxy-Export-Script
- Built with Python, Pandas, and Matplotlib
- Inspired by the gaming community's love for great stories
CSV Parsing Errors:
- Ensure
gameDB.csvuses tab separation - Check for corrupted export files
- Verify the file is in the same directory as the notebook
Missing Libraries:
pip install pandas numpy matplotlib seabornEmpty Results:
- Verify your CSV file contains summary/description data
- Check if genre and theme columns are populated
- Ensure your games have English descriptions for keyword matching
Jupyter Issues:
- Restart kernel if cells fail to execute
- Ensure all required packages are installed
- Clear output and run cells in order
Visualization Problems:
- Update matplotlib if charts don't display:
pip install --upgrade matplotlib - Ensure seaborn is properly installed:
pip install --upgrade seaborn - Check that your display supports the generated chart formats
If you encounter issues:
- Check the troubleshooting section above
- Verify your
gameDB.csvfile format - Ensure all dependencies are installed
- Review the GOG Galaxy Export Script documentation
Happy Gaming and Story Hunting! ๐ฎ๐