Character Relational Analysis of The World of Warcraft Novel (Collaborate w./ Jiayu Huang)

For this assignment, we decided to come back to RPG games. As for network visualizations, one plausible way of constructing the networks would be the relationships between characters. Therefore, we chose the novels of the World of Warcraft(WoW), as the source to perform visualizations, since it could draw more detail than our memory of the game’s plot. We finally chose one of the famous series of the official novel for the game, namely War of the Ancients Trilogy, as the source of our analysis.


Data Construction

Before we could do anything analytical, we need to construct the base data for our visualization. Since we decided to analyse the relationships of the characters of the novel, the very first datasheet would be simple: if two characters have a connection in the novel, we would have a line with both names separated by comma. If the characters have multiple connections, we would repeat the lines multiple times. In this assignment, since our raw data is from raw text, we used Jigsaw for help. The method is simple: import the texts and a custom entity of character names, and let Jigsaw to analyse their connections in the text. Then, with a list view, we could examine the who and how often does two character connects, and store the information into a spreadsheet in which the first two columns are the names of the connection, and the third column is the frequency of that connection. (Figure 1) Then, I wrote a simple script to repeat the lines n times, where n comes from the third column of the pervious spreadsheet (Figure 2). Also, with the help if the WowWiki, we have make a simple identity list of each characters in which it contains his/her/its race, gender(if plausible), and the affiliation in the novel.

CaptureFigure 1

Capture12Figure 2

Analysis in Gephi

First complaint: it is beyond my imagination that Gephi does not support spaces between input texts. Therefore, before we could do any analysis, what we have to do is to replace all spaces with “_”, and it could be done in multiple ways. Anyways, after we have imported all necessary data, with some modifications, the initial graph looks like the following:




















This initial visualization is useful, but hides too much information. Although we could draw some conclusions from it, it could not show any result clearly, so we process the visualization further. One important step is that we have to connect the identity list with the connection list, since otherwise we have no useful meaning other than a beautiful network graph, and have the ability to compare with our pervious RPG analysis. With the ability of performing natural join, we could easily combine the two sets of our data and to reveal the relationship of race, gender and affiliation.

Gender analysis


Capture5Gender problem, specifically, the problem of the domination of the male characters, also exists. In the right figure, the male nodes are colored by green, while the female nodes are colored as red. For the unknown gender (either a non-human character or a character that with almost no gender information), is colored in blue. As we can see here, the green dominates the screen, in which it reveals that fact that there are only few female characters mentioned in the text. Furthermore, among the females, only two red nodes have a significant connections with other nodes in the graph, and the number of their connections, for the one female character that is in present of the central nodes), are comparably weaker than those green ones. If we tries to group the data (left figure), magic happens: we have our predictable giant green dot, and a small red tringle lies lonely on the 2 o’clock direction. Oh, and the dust-like unknown genders lies on the 4 o’clock directions, FYI.

From the previous visuals, we could see that one general problem with the RPGs, the male-domination problem, still exists in the WoW series.


Affiliation Analysis

Capture2Then, we choose to analyse the affiliation of each characters: they could either be red, which means they are for the common good of people; black, which means that evils lives in their deep heart, and the green colors which means that they barely picked a side from either the good or the bad. Contradicting to our pervious analysis that the villains tends to perform a influential role in those games, we could see that green nodes are barely connects to the black ones; and there exist only a few connections between the villains, while strong connections is present between the good and the bad. Thus, we could make some conclusions about the plots: those natural characters, are acting more like a background characters: since they have little to do with the villains, it seems that they aren’t really involved in the conflict between the reds and the blakcs; instead, they might be the common teacher of someone, or those be loved by the side characters, furthermore, they could be a poor victim of the villains, in which they haven’t got a change to pick a side. As we see the strong relationships between the reds and the blacks, we could also conclude that the conflict between them is a big one: and it is, because they are at war (as the title suggests). Therefore, we could draw conclusions that the bad people, in the story, is a very clichéd characters that they are totally evil or BLACK, and it is important to think of them having some bright points.


Race Analysis

Capture3There are plenty of races involved in the story. In the figure, That the relationship strength reveals the node’s level/status in the story and the size of the node reveals the node’s level of loneliness. As we could see, the most mentioned race is the night elf, and the most influential one (connects to the most races), is the red wyrm. There have been barely any mentions of dragons in the WoW series except the King/Queen of the species is mentioned, which explains why those nodes are small, although it connections almost around all species. As a background, the red wyrm mentioned in the text is one of the main characters.








Gephi analysis with graph theory

Capture7Gephi is far more than a data visualizer. It can generate statistical information such as distribution, shape, and the density. If we want to know how well the characters are connected with each other, we can let Gephi to generate some numbers for analysis. The right figure is the statistical data we got from Gephi, like the average degree, the network diameter, the graph density, and the average path length is provided. Of course, the average path length is much smaller than the one for the real world: 6, since the story is told in one particular character’s view point, which results that all connections are closer than it should be.








Tools comparison:


Gephi, which is similar to the two previous tools, Palladio and Google Fusion table, is a network visualization tool. Therefore, it makes sense to compare them. The left graph is the result of the same data set visualized by Palladio, and the right one if that of the Google Fusion table. First thing to mention, since huge updates have been done for Palladio, it seems that the responsiveness of it is much faster than before. (I noticed!) As a comparison, Google Fusion table and Palladio are more like subsets of Gephi, in that the most features that the former two support are also supportsed by Gephi, while there are some features missing in Palladio or Fusion table which Gephi has. For example, it is difficult to do data management in the Fusion table or Palladio, especially for natural joining, while in Gephi, data management is a piece of cake. Also, the visualizing tools in Palladio/Fusion Table only have Force Atlas layout, while there are multiple layouts present in Gephi. And most importantly, they cannot generate numbers based on graph theory, while Gephi can do that easily. The only advantage is that both Fusion Table/Palladio could link actual maps with the nodes.



Speak Your Mind