Change Some Bits Around: Final Fantasy 7 – Aerith’s Death, Choice and Loss

Probably most people’s first memorable sad moment in a game, Aerith’s Death in Final Fantasy 7 sets the tone for the rest of the game as a means of explaining her death, giving it meaning, and having a renewed pursuit in stopping Sephiroth. Aerith’s death aligns everyone’s motivations, opens up character building arcs and allows for a resolution other than “Save the World” when it comes to the end of the game. We have a vested interest in vengeance.


Originally, Sephiroth took control of Cloud to try and kill Aerith at the creation of the Black Materia with the ability to summon Meteor but was knocked out before being able to kill Aerith. When Cloud reawakes, Aerith has already run off to the Forgotten Capital in an attempt to summon Holy from her White Materia that she’s had tied to her ribbon. When Cloud and company reach Aerith, Sephiroth has his way with Aerith using the pointy end of his death stick and everything falls apart from there.

But let’s change some of these bits around.

Aerith’s death might be pivotal to the characters in Final Fantasy 7, but they also change the psychological states of many of them. And given the opportunity to change events, do you think the story would pan out the same way?

I know that having Aerith die has other implications to the story. Her using Holy to defend against Meteor, her being the highest magic stats having it make sense that she would be the Materia horder, her being the love-interest for Cloud and Zach, her heritage of being half-citra, a race connected to the lifestream of the planet, so she was able to hear the cries of the planet. The most innocent of person in your group, the most pure had to be slain by the impure. I get all of those implications to the balance that the story tries to bring, but that doesn’t mean Aerith running off on her own to her demise was the only character focusing experience that could have happened in the story.

From what I’ve been playing around with, there are two ways of changing the story that would keep the general story in-tact but change the motivations of Cloud and the others. Both are ways where we need to choose who would have been the one to die at Sephiroth’s hand.

Unknowing Choice

What if on your travels to the North in pursuit of Sephiroth, you had to make a choice. Cloud, Tifa, Barret, et al are around the fireplace and you needed to split up. Someone from your party is picked to take Aerith’s materia to the alter while the rest of you try and track Sephiroth. The rest of the scenes leading up to the murder are still in-tact but the party-member that you chose to go to the alter is the one sacrificed to the Sephiroth.

Aside from possibly swapping Aerith out for a different party member, there are other effects that this would have to the story, don’t you think? The first was that Aerith took the choice out from your hands because she originally ran off on her own to summon Holy, making any fault in her death taken from away you as much as possible. But if we had to choose who would go to the alter, the fault is now placed squarely on the player’s shoulders. Whether Cloud is a part of the decision and picks who would go, or while Cloud is knocked out someone from the group volunteers to go with Holy to the alter (at the player’s behest), the fault still lies on the player for their death. You might send your favorite character because you think that they’ll get the job done, or the one that you just never touch so you’d rather be rid of them for a few scenes (Cait Sith), but because you, the player, was responsible for their death, then it doesn’t just give the characters of the game aligning motivations but also the player aligning motivations. You don’t want their death to be meaningless, a death that you could’ve prevented, that you might’ve chosen someone otherwise to have died in their place.

Aerith’s death was devastating, but how do you think you would’ve felt if you caused someone from your group, someone that you might’ve favored over others to die. How would Aerith feel knowing that someone died in her place and how would that shift her personality for the rest of the story? Her innocence shattered, blackness clouding her once white aura and materia.

And if Cloud was the one that “decided” who would go, then it completely changes his psychological and social state throughout the game. He becomes at fault in the eyes of the group for the death of a friend so his choices are constantly brought into question, either by the group or by his own self-doubt. He becomes less of a reliable leader to the group and less psychologically balanced because he has to deal with the notion that his choices affect his friends more than he could’ve wanted.

Not something new

Having an unknown choice in the outcome of the game isn’t something new to Final Fantasy games and other RPGs since Aerith’s death, while being the more famous and memorable ones isn’t the first. Final Fantasy 6 had tragic deaths that are even preventable by the player but letting them happen changes the dynamics of the second half of the game.


The one to talk about is Shadow’s death, who chooses to stay behind on Floating Continent to save the group by slowing down Kefka. You can choose to leave Shadow behind and escape the Floating Continent or wait for Shadow just before exiting in hopes of him returning.



Sadly on my first runthrough of the game, I thought that Shadow was meant to play the hero and sacrifice himself so I didn’t know that saving him was an option. Once I found out that saving him was possible and that he died because of my impatience, it completely tainted my whole experience with the game and I had to remedy it by playing through it again.

Shadow’s death was my fault and it changed how I perceived the game from then on. It was no longer just a story about good and evil leading to happy endings because the endings are only as happy as the effort that I put into it. If I want happy endings to happen, then I need to make sure that no-one is left behind and that deaths are always your fault and can be stopped.

And it’s strange that this kind of mechanic wasn’t in any of the later Final Fantasy games. Sure, there were deaths in other Final Fantasy’s, but they were so inconsequential because they were either at the end of the game where the story couldn’t be affected too much by their death and (like Aerith) the death is completely removed from the player’s hands, making it part of the story but with the player not at fault. It’s strange to have this sort of mechanic anymore, but maybe it’s because they didn’t want a few rash choices to completely change how we experience the game, but I liked that aspect of Final Fantasy 6. Based on our actions, we have a completely different experience of the game from other people. As we play through the game, we built up personalities and attachments to the characters and having made a bad choice means that those attachments get severed. Our story, with its preconceptions and emotional investments, becomes a unique story. Something that’s hard to replicate in another person, or even another playthrough.

That’s something that I think is worth changing.

Twitter: @GIntrospection


Gaming on Data – League of Legends LCS 2015 Winter Split – The Best Around by any (K-)Means Necessary

LCS Winter 2015 Split has just finished for League of Legends and it’s time to start crunching some numbers to see how these top ranked players compare to one-another. Several Disclaimers: This post is a big graph heavy, but I’ll try and explain each of them as much as possible; there might actually be some code that some of you might want to skim over; all data was gathered from the Fantasy LCS view that is given for Stat tracking, so data might not be as granular as I’d like and not many features to compare against.

Stats given from Fantasy LCS

  • Average Points per Game (AP)
  • Total Points for the Split (TP)
  • Kills (KI)
  • Deaths (DE)
  • Assist (AS)
  • Creep Score (SC)
  • +10 K/A (KA)
  • Multi-Kills (not used)

Omitted Stats: 

  • Players who didn’t play the majority of the Split were omitted from analysis, 12/18 Games Minimum

What is Considered the Best for Each Lane?

Each lane has a different role for the team so the average stats for that role are going to be different based upon what role you’re looking at. If you aren’t familiar with League of Legends, then the roles are AD Carry, Mid, Top, Jungler and Support. The first two heavily emphasize kills, both in killing other players (KI) and killing enemy NPCs (CS) that spawn periodically in each of the lanes (Top, Mid, Bottom). So for the ADC and the Mid lane roles, good players will have relatively higher KI and CS than players not as adept to the role, and much higher than players filling other roles such as Support who will be racking up assist (AS) points instead.

While all of the different roles will have varying Stats, it’s hard to determine which are those that will matter the most for each role. So instead, I tried grouping players together. Which are the players in each role that are similar to other in plays. Using a K-means approach, we can cluster similar players together.

Aside: K-Means 

The idea behind K-Means is somewhat simple. For a 2-dimensional space and we specify the predicted number of clusters, find the clusters that best represent each “type” of data that is present.


What is going on in the gif is that at first, we give random points as to start the search with a predicted number of clusters to be three. Each step, we group points to their closest cluster-point, move the cluster-point closer its grouping, and repeat until cluster-points don’t move anymore. This way, the cluster point becomes the centroid of each grouping. This is useful because any new point that comes in only needs to find its closest cluster-point and it automatically knows which group it will be in.

In terms of LCS: 

With respect to the LCS stats, we run K-Means on a pair of player stats and determine which players should be grouped together by their stat similarities.

The points that were used for each role were:

Top, ADC, Mid: Kills (KI) vs CS (CS)

Jungle, Support: Assists (AS) vs +10 K/A (KA)


Each color represents a different grouping (category) for the players. Each color means something different for each graph but they always represent grouped players, which I setup a predicted 5 categories for the players.

Mids Kills and CS / Game
RED GROUP:  Link,PowerOfEvil, Hai
GREEN GROUP:  Febiven, Pobelter, Keane, Shiphtur
BLACK GROUP:  Bjergsen, Froggen, Slooshi8, Nukeduck, PepiiNeRO

Looking at the Mid group, it tried to group players with relatively high CS as being similar vs the avg kills per game. This is partly due to the K-Means minimizing the distance between each group, and the number of CS is drastically higher than number of kills per game, so it would require a renormalizing of the data to be within similar ranges to get a better grouping.

Which means that we’ll need to actually normalize them somehow. In this case, we’re going to start grouping players by the LCS Fantasy points that they generate on each stat.




Top Kills and CS / game
BLUE GROUP: Vizicsacsi CaliTrlolz8
RED GROUP: Impact Hauntzer Odoamne Quas
GREEN GROUP: fredy122 ZionSpartan YoungBuck Avalon BallsDyrusOverpowWickdGamsuWerlybCris
BLACK GROUP: Cabochard




Support Assists and KA / Game
BLUE GROUP: LustboyGleeb
RED GROUP: LemonNationXpecialDodo8 VandeR
GREEN GROUP: Sheep KiWiKiD Nisbeth Rydle
BLACK GROUP: nRatedEDwardAphromoo kaSing Bunny FuFuu Unlimited Hylissang Adrian



Mid Kills and CS / game
BLUE GROUP: Keane Fenix Hai Nukeduck Kori Shiphtur
RED GROUP: Froggen PowerOfEvil Pobelter XiaoWeiXiao Slooshi8 Ryu PepiiNeRO
GREEN GROUP: Bjergsen Soren Link



Jungle Assists and KA / game
BLUE GROUP: Reignover Diamond Kikis Rush Airwaks Saintvicious
RED GROUP: Svenskeren
GREEN GROUP: Jankos H0R0 ImpalerFr3deric
BLACK GROUP: Porpoise8 Loulex Meteos Xmithie Helios IWDominate Shook

AD Carry


ADC Kills and CS / game
RED GROUP: WildTurtle
GREEN GROUP: P1noy Hjarnan Doublelift Altec Sneaky Vardags Rekkles Woolite
BLACK GROUP: MrRalleZ maplestreet8 CoreJJ Piglet Adryh Mash
MAGENTA GROUP: SteeelbackApollo

But the point of the matter is that given just a random pairing on stats, it doesn’t help determine what stats make up a player in that role, but only gives us the similarities of players within the stats being compared. We could expand K-means to run against all of the features KI-KA and group player with each other, but this it already being 7 stats represent meaning a 7-dimensional group, that would be bit hard to visualize. So, let’s start reducing which stats actually make up a player for each role. 

Let the Machine Find What is the Best Players are in Each Lane?

To get the machine to find out a role’s stereotype, you just need to give it the stats of a players in that role and it tried to group them for you. To do this, we a player’s behavior compared to the average player in that role and see how much they detract from that average. Better yet, we do that for all of the stats and see which stats are significant to determining a players grouping.

Not getting into the math of it, we find the eigenvalues from the standardized data (difference from the average) and using SVD decomposition (a way of reducing a many-dimensional set of data to a lower-dimensional set of data, in this case 7-dimensional to 1 dimensional) With this data, we can see what the “stereotypical” player profile is.


Looking at almost every graph, all of the players correlate well to in Deaths, with Mid dying a particularly high amount of the time and ADC trying to have the least correlation to death than others. But most players are bad at everything else, getting kills, assists, CS from one another. This kind of makes sense for a game like League of Legends where one-side typically dominates another side, so only one side will have a high kill-count (KI) instead of both ADCs having high kill-counts (KI) per game. The only exception is that Top has a higher +10K/A (KA) correlation than other lanes partly due to their inactivity in team fights, being initiators and typically tanky characters all-around that they are in many of the fights throughout the game.

So using this grouping based on all of the stats, we can finally visualize what players are relatively similar to one another.


In the PCA graph for ADCs, we can see which players are similar and the direction that a player takes when they are better than others. Hjarman, Doublelift and Apollo have have similar stats

Name Avg PTS
per Game
10+ K/A
3K / 4K / 5K
(+2 / +5 / +10)
Apollo 20.13 362.37 90 30 92 5,337 2 1 / 0 / 0
Hjarnan 20.01 360.23 78 30 99 5,873 3 3 / 0 / 0
Doublelift 19.93 358.69 74 36 106 6,369 1 2 / 0 / 0

Point-wise, they are fairly similar, especially when looking at their avg and total points for the split (AP, TP)

And what’s also important is the trend that you can find for players who outperform others. In this case, they will be placed more to the left from everybody else.


Steelback, Freeze, Wildturtle, Cop…

Name Avg PTS
per Game
10+ K/A
3K / 4K / 5K
(+2 / +5 / +10)
Steeelback 25.84 465.15 95 27 144 5,465 6 3 / 0 / 0
WildTurtle 24.01 432.11 108 42 99 5,961 4 3 / 1 / 1
Freeze 23.15 416.63 91 38 109 7,113 6 1 / 1 / 0
FORG1VENGRE 22.68 408.18 86 16 110 6,918 2 3 / 0 / 0
Cop 21.91 394.44 99 32 85 6,594 6 1 / 1 / 0

Players that are more and more proficient the ADC role are trending to the left from the group and we can easily see why. These are the players dominating in an average game in either CS, Kills or other means and generating points for your Fantasy team.

What about for all the roles?

Not going into the details of everybody, I reran all of the same analysis without the role distinction so see how players stacked against one another.



All Kills and CS / Game
BLUE GROUP: WildTurtle
RED GROUP: Svenskeren Santorin Diamond Impact Kikis fredy122 Hauntzer Vizicsacsi Rush Odoamne Airwaks Porpoise8 Fenix Hai ZionSpartan Loulex Meteos Nukeduck Xmithie Helios IWDominate YoungBuck Shook Jankos Quas H0R0 Avalon Balls Dyrus CoreJJ Piglet Overpow Adryh Mash Gamsu ImpalerWerlybCris
GREEN GROUP: Huni Cabochard Reignover Hjarnan Doublelift Altec Froggen Vardags PowerOfEvil Rekkles Pobelter XiaoWeiXiao Slooshi8 Ryu Woolite Keane MrRalleZ maplestreet8 CaliTrlolz8 Kori PepiiNeRO Shiphtur
BLACK GROUP: Steeelback Febiven Bjergsen Freeze FORG1VENGRE Fox Cop P1noy Soren Link Apollo Sneaky
MAGENTA GROUP: YellOwStaR Lustboy Gleeb nRatedEDwardAphromoo kaSing Saintvicious BunnyFuFuuUnlimited Hylissang Adrian LemonNation Xpecial Dodo8 VandeRWickdFr3deric Sheep KiWiKiD Nisbeth Rydle








At a glance, ADCs are typically on the left, Supports are near the top, Jungler is mid-top just under the Supports, Tops are mid-left and Mids are mid to mid-left. What all of this means is that based on these stats on how a high-level player plays a role, ADCs and Mids stats are fairly similar as well as jungler/support’s stats.


I’m sure if I had a bit more granular data, like when kills happened by which role, when objectives were taken, etc… this data would look a bit more divisive for how roles interact with the game and how effective certain people are at each role, but that data I don’t have and for the moment, I’m probably not going to go rewatch all matches of Winter LCS to collect it.


Twitter: @GIntrospection


Get every new post delivered to your Inbox.

Join 201 other followers

%d bloggers like this: