Skip to content

Video games are big business: the global gaming market is projected to be worth more than $300 billion by 2027 according to Mordor Intelligence. With so much money at stake, the major game publishers are hugely incentivized to create the next big hit. But are games getting better, or has the golden age of video games already passed?

In this project, you'll analyze video game critic and user scores as well as sales data for the top 400 video games released since 1977. You'll search for a golden age of video games by identifying release years that users and critics liked best, and you'll explore the business side of gaming by looking at game sales data.

Your search will involve joining datasets and comparing results with set theory. You'll also filter, group, and order data. Make sure you brush up on these skills before trying this project! The database contains two tables. Each table has been limited to 400 rows for this project, but you can find the complete dataset with over 13,000 games on Kaggle.

game_sales table

ColumnDefinitionData Type
nameName of the video gamevarchar
platformGaming platformvarchar
publisherGame publishervarchar
developerGame developervarchar
games_soldNumber of copies sold (millions)float
yearRelease yearint

reviews table

ColumnDefinitionData Type
nameName of the video gamevarchar
critic_scoreCritic score according to Metacriticfloat
user_scoreUser score according to Metacriticfloat

users_avg_year_rating table

ColumnDefinitionData Type
yearRelease year of the games reviewedint
num_gamesNumber of games released that yearint
avg_user_scoreAverage score of all the games ratings for the yearfloat

critics_avg_year_rating table

ColumnDefinitionData Type
yearRelease year of the games reviewedint
num_gamesNumber of games released that yearint
avg_critic_scoreAverage score of all the games ratings for the yearfloat

In the first section we can see a table that gathers the 10 videogames best-sellers of all-time. Nintendo dominates the scene with 7 out of 10 places with Wii Sports as the best selling title of all-time. (Although it maybe a little bit of cheating that it came with the Nintendo Wii console).

Spinner
DataFrameas
best_selling_games
variable
-- best_selling_games
SELECT *
FROM game_sales
ORDER BY games_sold DESC
LIMIT 10;

Comparing critics scores review, we can see this table with the top ten years in gaming quality according to game critics.

1998 was an amazing year for gaming quality due to the releases of two of the best game titles of all times, The Legend of Zelda: Ocarina of Time and Pokemon Red & Blue Version in the US, the critic valued highly these titles, other great titles that came out that year that were amazingly recieved by the critics were Tekken 3 and Half-Life.

Spinner
DataFrameas
critics_top_ten_years
variable
-- critics_top_ten_years
SELECT year, num_games, ROUND(avg_critic_score, 2) AS avg_critic_score
FROM critics_avg_year_rating
WHERE num_games >= 4 
ORDER BY avg_critic_score DESC
LIMIT 10;

But to lead to a conclusion of a Golden Era of videogames, we must have user critique as well, in this last table we compare the best years according to critique and users reviews.

Users rated highly the year 1997 which came with groundbreaking titles such as Final Fantasy VII, Diddy Kong Racing, Goldeneye 007, StarFox 64 and Mario Kart 64.

These titles greatly influenced the modern era of videogaming as we know it, so we can conclude from this data that the Golden Era of videogaming started in 1997 and kept going strong until 2010.

The best videogames released on that era according to metacritic critic score are as following:

  • The Legend of Zelda: Ocarina of Time (1998)
  • Soulcalibur (1999)
  • Grand Theft Auto IV (2008)
  • Super Mario Galaxy (2007)
  • Super Mario Galaxy 2 (2010)
  • Perfect Dark (2000)
  • Tony Hawk's Pro Skater 3 (2001)
  • Metroid Prime (2002)
  • Grand Theft Auto 3 (2001)
  • Halo: Combat Evolved (2001)
Spinner
DataFrameas
golden_years
variable
-- golden_years
SELECT u.year, u.num_games, c.avg_critic_score, u.avg_user_score,
       (c.avg_critic_score - u.avg_user_score) AS diff
FROM users_avg_year_rating AS u
LEFT JOIN critics_avg_year_rating AS c
ON u.year = c.year
WHERE u.avg_user_score > 9
OR c.avg_critic_score > 9
ORDER BY year ASC;