A Visual Network Analysis on Team Fight Tactics patch 11.9
A couple of days ago I was introduced to Team Fight Tactics by Riot Games. The goal of said game is to assembly a team of champions that can synergize together, granting you victory over 7 other players in a free for all format. The game uses a drafting mechanic as well as offering players opportunities to build different items throughout the game.
Each champion has a cost and 2–3 classes (or origins). Acquiring multiple champions of the same classes / origins is an essential part of the game, and something that I was particularly intrigued by! Each class offers different abilities and I know that I should propably read these, but so far I have just been playing the game trying to amass as many class-synergies. For this purpose there is a wonderful method called Visual Network Analysis I would like to walk you through!
All files mentioned in the following are available on github:
Visual Network Analysis is all about making things that may have a lot in common appear close together in a network. In our case we represent the available champions as nodes in a graph. If two champions share a class we make an edge between them.
We can then proceed to use an algorithm called Force Atlas 2. This will simulate forces on all the nodes, pushing them away from one another — unless connected, in which case nodes will be pulled together! Nodes that share a lot of connections, or have many connections to each other should be pulled together. Notice how nodes may have connections to each other, but if they dont share a lot of connections, this might be enough to still push them somewhat apart.
I will now proceed to walk you through the process of creating this network, and then share with you what seemed interesting to me.
Gathering data: No graph without the relevant data. For this I used a web-scraper called dataminer.io. It is a plugin for the Chrome browser and can be used to generate .csv files. With this I produced data with the champion name, classes, and cost looking like this:
Darius, Nightbringer, God-King, Knight, 5
Garen, God-King, Dawnbringer, Knight, 5
etc..
Converting data: I have used a program called Gephi to visualize the network. Gephi understands XML looking something like this:
Thus we should write a program that converts our data.csv into data.gexf, and tells Gephi how to connect our champion-nodes. I am most comfortable using node.js, so we can whip up a quick script that gets the job done something like this:
Now import the data.gexf file into Gephi, choose ForceAtlas2, run the simulation and explore! Additinally I have chosen to make the node-sizes be dependent on the champions’ costs.
Findings: Now, I should mention that I am by no means an expert in Team Fight Tactics or Network Analysis. So you would be wise to take everything in this section with many grains of salt. I encourage you to try discovering the network on your own!
Briges: Some champions bridges the gap between champions that are very far apart. An example of this is Mordekaiser. This might enable you to run some interesting mixes of classes, that on first glance are widely different.
Something to be mindful of however is that you might be limiting yourself to only a few champions from each class, since bridges are not guaranteed to link many of the same class together — as our next example will show…
Notice in this example how Kindred connects very few champion from different classes. Thus it might be difficult to run comps reaching high numbers in a few classes, utilizing kindred. I would think you would be more likely to fill many classes with low numbers.
Strong, stable classes: Next up, we have champions that all connect to one another and are placed close together in the network. This could indicate that play utilizing these champions will be very focused on a single or few classes, as connecting effecienty with other classes might be difficult.
I would like to draw attention to Viego here. Only considering connections, i.e. not item-interactions or the actual abilities of the classes, Viego seem to be the single most versitile and powerful pick for Team Fight Tactics in my opinion. He connects two, arguably three quite densely packed groups as this next image will show:
For this reason I think he is a wonderful pick. He is costly though, which mean that he would not be available until very late in the game. If you were running a mix of classes Forgotten and Assassin however, picking up a Viego late-game would probably do you quite well. An honorable mention is Trundle and Pantheon, who are the ones you see hugging each other in the top-most part of the picture.
I hope this could be of some interest for you. Cheers!