{
  "format": "dataset-manifest/1",
  "slug": "indie-game",
  "version": 2,
  "seed": "indie-game:1",
  "spec": {
    "format": "dataset/1",
    "slug": "indie-game",
    "name": "Indie Game Ecosystem",
    "tagline": "Games, genres, platforms, crowdfunding details, and reviews from the indie game development ecosystem.",
    "description": "Indie game developers craft unique gaming experiences that often depend heavily on community support and funding. Each game title emerges from the creative minds of these developers, who seek to connect with audiences and deliver memorable interactions. The indie game ecosystem thrives on the interplay between various components: the games themselves, their genres, the platforms on which they are released, crowdfunding efforts to finance their development, and the reviews that ultimately shape their reception in the market. \n\nThe tables in this dataset provide a structured view of these relationships. The 'games' table holds individual records of each game, detailing aspects like title, release date, and associated genre. The 'genres' table categorizes these games into distinct types, allowing for analysis of trends in player preferences. The 'platforms' table identifies where these games are available, from PC to consoles and mobile devices. 'Crowdfunding' data outlines the financial efforts made by developers to bring their creations to life, showcasing how funding levels correlate with success. Finally, the 'reviews' table captures player feedback, ratings, and comments, which reflect the community's reception and can heavily influence future sales. \n\nThis dataset can answer a variety of questions related to the indie gaming landscape. Developers can explore how genres perform across different platforms, analyze the impact of crowdfunding on game success, and investigate which types of games receive the most positive reviews. It is a valuable resource for practicing data analysis skills such as joining tables, querying relationships, and drawing insights from community-driven metrics. All data in this dataset is synthetic, designed to reflect realistic patterns without exposing any real-world information.",
    "domain": "gaming",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "indie games",
      "crowdfunding",
      "reviews",
      "game genres",
      "gaming platforms"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "games": {
        "description": "This table contains information about indie game titles, including their unique identifiers, names, and the genres they belong to. Each game can have multiple reviews and crowdfunding campaigns associated with it.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each game."
          },
          "name": {
            "kind": "fullName",
            "description": "The title of the game."
          },
          "genre_id": {
            "kind": "fk",
            "ref": "genres.id",
            "description": "The genre to which the game belongs."
          }
        }
      },
      "genres": {
        "description": "This table lists the various genres of indie games, allowing for categorization of game titles based on their gameplay style and themes.",
        "rows": 15,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each genre."
          },
          "name": {
            "kind": "fullName",
            "description": "The name of the game genre."
          }
        }
      },
      "platforms": {
        "description": "The platforms table contains information about different gaming platforms where indie games can be played, linking games to their respective distribution channels.",
        "rows": 10,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each platform."
          },
          "name": {
            "kind": "fullName",
            "description": "The name of the gaming platform."
          }
        }
      },
      "crowdfunding": {
        "description": "This table tracks crowdfunding campaigns related to indie games, detailing the funding goals and outcomes, as well as the dates of the campaigns.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each crowdfunding campaign."
          },
          "game_id": {
            "kind": "fk",
            "ref": "games.id",
            "description": "The game associated with this crowdfunding campaign."
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 100000,
            "description": "The funding goal for the campaign.",
            "nullable": true,
            "distribution": "long-tail"
          },
          "raised_amount": {
            "kind": "decimal",
            "min": 0,
            "max": 100000,
            "description": "The amount raised during the campaign.",
            "nullable": true,
            "distribution": "heavy-tail"
          },
          "campaign_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date when the crowdfunding campaign started.",
            "nullable": true,
            "trend": "growing"
          }
        }
      },
      "reviews": {
        "description": "This table captures reviews for indie games, including ratings and feedback from players, linked to the respective game titles.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each review."
          },
          "game_id": {
            "kind": "fk",
            "ref": "games.id",
            "description": "The game that this review is about."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "The rating given to the game, ranging from 1 to 10.",
            "nullable": true,
            "distribution": "high"
          },
          "review_text": {
            "kind": "sentence",
            "min": 10,
            "max": 500,
            "description": "The text of the review provided by the player.",
            "nullable": true
          },
          "review_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date when the review was submitted.",
            "nullable": true,
            "trend": "seasonal"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "high-cardinality",
      "nullable"
    ],
    "analysisQuestions": [
      "Which game genres receive the highest average ratings?",
      "How does crowdfunding success impact the number of reviews a game receives?",
      "What platforms host the most successful indie games?",
      "Is there a correlation between funding goals and amounts raised in crowdfunding campaigns?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Games and Reviews",
        "sql": "SELECT g.name, r.rating FROM games g JOIN reviews r ON g.id = r.game_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Rating by Genre",
        "sql": "SELECT g.genre_id, AVG(r.rating) as avg_rating FROM games g JOIN reviews r ON g.id = r.game_id GROUP BY g.genre_id;",
        "dialect": "postgres"
      },
      {
        "title": "Crowdfunding Impact",
        "sql": "SELECT g.name, c.goal_amount, c.raised_amount FROM games g JOIN crowdfunding c ON g.id = c.game_id WHERE c.raised_amount >= c.goal_amount;",
        "dialect": "postgres"
      },
      {
        "title": "Review Trends Over Time",
        "sql": "SELECT EXTRACT(MONTH FROM r.review_date) as month, COUNT(r.id) as review_count FROM reviews r GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Game Development Analysis",
        "body": "Game developers can use this dataset to analyze the success factors of indie games, focusing on genres and platforms that yield the best player reviews. By understanding these dynamics, they can tailor their game development strategies to better meet audience expectations."
      },
      {
        "title": "Crowdfunding Strategy",
        "body": "Entrepreneurs looking to launch indie games can leverage this dataset to devise effective crowdfunding strategies. By examining previous campaigns, they can identify funding goals that lead to success and understand how community feedback impacts their projects."
      },
      {
        "title": "Academic Research",
        "body": "Researchers studying the indie game industry can utilize this dataset to explore trends in game development, funding, and player engagement. It offers valuable insights into how community support shapes the success of indie titles."
      },
      {
        "title": "Market Analysis for Platforms",
        "body": "Market analysts can use this dataset to evaluate which gaming platforms are most favorable for indie games. By correlating review ratings and crowdfunding success with platform availability, they can provide recommendations to developers on where to launch their titles."
      }
    ]
  },
  "counts": {
    "genres": 15,
    "games": 200,
    "crowdfunding": 100,
    "platforms": 10,
    "reviews": 300
  },
  "stats": {
    "games": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "name": {
          "nulls": 0,
          "distinct": 196,
          "min": "Alice Kumar",
          "max": "Zoe Wagner"
        },
        "genre_id": {
          "nulls": 0,
          "distinct": 15,
          "min": 1,
          "max": 15
        }
      }
    },
    "genres": {
      "rows": 15,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 15,
          "min": 1,
          "max": 15
        },
        "name": {
          "nulls": 0,
          "distinct": 15,
          "min": "Anna Rossi",
          "max": "Victor Hughes"
        }
      }
    },
    "platforms": {
      "rows": 10,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "name": {
          "nulls": 0,
          "distinct": 10,
          "min": "Chloe Lopez",
          "max": "Zoe Ahmed"
        }
      }
    },
    "crowdfunding": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "game_id": {
          "nulls": 0,
          "distinct": 82,
          "min": 3,
          "max": 200
        },
        "goal_amount": {
          "nulls": 5,
          "distinct": 95,
          "min": 1000.16,
          "max": 99510.27
        },
        "raised_amount": {
          "nulls": 15,
          "distinct": 85,
          "min": 0.54,
          "max": 99613.82
        },
        "campaign_date": {
          "nulls": 8,
          "distinct": 88,
          "min": "2023-01-17",
          "max": "2024-12-25"
        }
      }
    },
    "reviews": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "game_id": {
          "nulls": 0,
          "distinct": 152,
          "min": 1,
          "max": 199
        },
        "rating": {
          "nulls": 24,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "review_text": {
          "nulls": 27,
          "distinct": 273
        },
        "review_date": {
          "nulls": 26,
          "distinct": 219,
          "min": "2023-01-04",
          "max": "2024-12-31"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/genres.csv",
      "format": "csv",
      "table": "genres",
      "key": "datasets/indie-game/v2/csv/genres.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/csv/genres.csv",
      "bytes": 244,
      "sha256": "d23c617659c3a0213b7c37b6c5da4ed5ae474acc583c7128984a409e038a804d",
      "rows": 15,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/games.csv",
      "format": "csv",
      "table": "games",
      "key": "datasets/indie-game/v2/csv/games.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/csv/games.csv",
      "bytes": 3815,
      "sha256": "7ccc9ff833c920e9ef3decdc2e9b1d8a09a6b4e8cafdd4520af8bfa7f46b5afd",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/crowdfunding.csv",
      "format": "csv",
      "table": "crowdfunding",
      "key": "datasets/indie-game/v2/csv/crowdfunding.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/csv/crowdfunding.csv",
      "bytes": 3351,
      "sha256": "ea03103cc0ab4bd21fe27d57e2a882ea907f83ae99a81f0862511804af28d247",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/platforms.csv",
      "format": "csv",
      "table": "platforms",
      "key": "datasets/indie-game/v2/csv/platforms.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/csv/platforms.csv",
      "bytes": 156,
      "sha256": "2e0788126ee4fd2541dd336949199c908bd2988789f0d58a15dfd9c45bc4d0a6",
      "rows": 10,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/reviews.csv",
      "format": "csv",
      "table": "reviews",
      "key": "datasets/indie-game/v2/csv/reviews.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/csv/reviews.csv",
      "bytes": 21663,
      "sha256": "23f332b79c39f682a0d6bdcbc30c058394d6f3333c0f2907fab7226ea9079eab",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "indie-game.json",
      "format": "json",
      "table": null,
      "key": "datasets/indie-game/v2/indie-game.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/indie-game.json",
      "bytes": 85881,
      "sha256": "e1abd752a58975d0fe41e9c1bacbce8143116c558962776762c49324534b6169",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/indie-game/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/sql/postgres.sql",
      "bytes": 39219,
      "sha256": "52ec7645ce2b838d69edf834b6e7f1ef816bd3359268ca72a8c915d1bcef5e20",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/indie-game/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/sql/mysql.sql",
      "bytes": 38674,
      "sha256": "0a59286f97fe136bccc1297c1be72f8c3e557c0ac38fb90d3186c2c7323bef69",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/indie-game/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/sql/mssql.sql",
      "bytes": 39853,
      "sha256": "0173a425db293278b57bb271316ced1462fe83405a1bdd4d96c6d1221900e3c7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/indie-game/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/sql/sqlite.sql",
      "bytes": 38545,
      "sha256": "a3ae86949f64bb6f400560eb4b74a807f509ae7f4b861c3ef0e169a7f1ecc15f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/indie-game/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/prisma/seed.ts",
      "bytes": 68476,
      "sha256": "b53b81bff434a6f626bca25bf9935776bcd665ac80ba1ac7613eee9b0bcaedda",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/indie-game/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/indie-game/v2/django/fixtures.json",
      "bytes": 111444,
      "sha256": "0500aa8da0543947a83df598088a46282268fa8c7b69d376de468b670c01a8a7",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766104960,
  "updatedAt": 1788784392403
}
