Age of Empires 2
Environments: Jupyter Notebook, Microsoft SQL Server Management Studio, Tableau
Skills: Data retrieval, cleaning and transformation, analysis, machine learning, visualisation
Introduction
Age of Empires 2: Definitive Edition (AOE2) is a real-time strategy game that was first launched in 1999 as Age of Empires. It is one of the few games from that era that is still popular today, with some 46,000 multiplayer players active on the updated Definitive Edition released in 2019. In the game, each player chooses one of 35 civilizations and battles it out with another player, building first a base, then an army to attack their opponent. Every day tens of thousands of games are played. Since the most recent patch (3rd May 2021), over 1.4 million games have been played.
In this analysis, I looked at only those games that were ranked and 1v1 (instead of unranked games or team games). To get details of the games and players, the aoe2.net website provides a helpful API. However, this interface only allows the details of 10,000 players, or 1,000 matches, to be downloaded at one time.
The project process was as follows. First, a Python script acts as a webcrawler to get successive chunks of 1,000 matches (or 10,000 players). The resulting .json files are joined together using SQL Server, and further analysis such as a breakdown of statistics by countries is also performed in SQL. Finally, the results of the analysis are visualised using Tableau.
In addition, the outcomes of matches are predicted based on the civilization matchup and the rating difference of the players. This is done using a machine learning algorithm in Python that applies a Support Vector Machine, after some further pre-processing in SQL.