Guild Wars 2 is a Massively multiplayer online role-playing game created by ArenaNet, unlike most games of that genre (World of Warcraft for example), the game tends to cater to a more casual players and focuses more on cooperative play with some single player campaign. Due to that fact, some of the game systems are design to dissuade competitive play, specifically (in this case) the achievement system is built in a way that the achievements are perceived as less important (not being a statue symbol), often do not give the players clear instructions and the rewards received are chosen randomly (from a pool of rewards).
I hypothesize that this results in the players not utilizing the achievements system as effectively as they should, and by doing so they miss a crucial element which can improve their gameplay and enjoyment of the game. Using supervised learning and clustering methods on the rewards given for completing achievements, I predict the financial worth of each achievement in game.
Specifically, I used the Linear Regression and Decision Trees Regression to create a model which will predict the importance of an achievement based on the vendor value of the reward players received from completing the achievement. I also used Forest Trees to classify those achievements according to categories, so it will be possible to predict the type of achievements which the players should pursue.
For the analysis I used the following data:
Cleaning the data
For this project I needed to combine the achievement and item data into one dataframe. This was done by combining the achievement data with the achievement/group data, and then combining achievements with rewards and the item lists. This gave me a small dataset, but it was enough for this exercise. The final dataset looked like this:
As a note, all data cleaning was done in Python with the exception of a some data cleaning in Open Refine
The first machine learning model I ran on the information was a linear regression. The independent variables were: Rarity, Level of Reward, Reward Type, Item Type and Achievement Points while the dependent value was the Vendor Value. Due to the way the data was distributed the overall prediction score was too low to get any real value of the prediction
In order to get a better predication then the linear regression I used decision trees regressor on the same data. This ended up being the right idea as the decision trees score was 97% and allowed me to get some more accurate predictions.
Decision Trees Progression with 3 depth
Feature importance table
Decision Forest Classification
The last model I ran was a decision forest classification, organizing the data I have versus the achievement categories. This was made to give me an idea about the length and difficulty of the achievement as the categories give me some inclination on the type of achievement it is and what will it take to complete it. So, for example, a daily achievement will be fairly-short and easy to get. This was used as a mean to let the player know if an achievement is worth perusing- so if an achievement takes a long time but the reward isn’t great it might not be worth trying to accomplish it and vice versa.
Decision Forest Classification Heatmap
Feature importance table
This is far from a perfect model as the vendor value of items is not the best indicator for the worth of an achievement in Guild Wars 2. While this prediction can be used, it should be a smaller part of a much larger projects that extensively uses the Achievement Points (as collecting them rewards the players with bigger and more powerful rewards), reward items stats and statue markers like titles and special skins.