Red Post Collection: Runes Corner: Stormlord's Mandate and Spellslinger's Surge, New Pentakill Merch, & more

Tonight's red post collection includes this week's Runes Corner post, a new /Tech article on giving champions context on when they use their interaction lines, a look at new Pentakill merch in the merch store, and more!
Continue reading for more information!



Table of Contents


Runes Corner: Stormlord's Mandate and Spellslinger's Surge


RiotWrekz is here with a new Runes Corner, covering 2 new runes; Stormlord's Mandate and Spellslinger's Surge:
"Hello! Welcome to another Runes Corner! In the past we’ve talked about new runes with new gameplay effects you haven’t seen before. However, on top of building new content we are also looking for opportunities to bring back some of the keystones you love and see if we can make them even better. 
Today, we will be discussing how we’ve built off of Thunderlord’s Decree and Stormraider’s Surge to create two new keystone Runes, Stormlord’s Mandate and Spellslinger’s Surge. Those names are temporary and will almost certainly change. We’ll cover Stormlord’s Mandate first. 
Stormlord’s Mandate: 
Hitting a champion with 3 unique attacks or abilities within 2 seconds deals bonus magic damage.
Damage: 40-220(+25% Bonus AD)(+20% Ability Power)
Cooldown: 50 seconds 
We mentioned a while ago that we’ve been testing a Thunderlord’s replacement and this is it! Stormlord’s Mandate takes Thunderlord’s and increases its power and cooldown in order to focus it more on all-ins.The keyword unique is key to binding this to all-in plays. At face value, Thunderlords seems like it encourages you to commit to dangerous all-ins and rewards you with burst damage for doing so. On live, however, we have to balance Thunderlord’s damage around champions that can trivially activate Thunderlord’s on cooldown with a single ability. By changing the trigger to require unique spells or abilities we can re-focus this on providing greater burst damage in actual all-in situations. 
So, how does unique work?
Each spell, ability, or individual attack counts once towards triggering this. Sounds pretty simple. Let’s look a some examples. Start with an easy one: Mystic Shot. You fire it and it hits your opponent. That’s one. Attacks work the same way. The biggest change is how it works with damage over time effects. For example, Miss Fortune’s Make it Rain. When you cast that on an enemy it deals damage rapidly for 2 seconds but it still only counts as one spell. With the “unique” flag Stormlord’s Mandate won’t be instantly triggered by Make it Rain the way Thunderlord’s was. If you would like to actually play and experiment with the unique keyword, check out Maokai’s passive for a better idea. Overall, the unique keyword allows these keystones to bind more to all-ins and intense fighting rather than specific champion abilities. 
Spellslinger’s Surge:
Hitting a champion with 3 unique attacks or abilities within 2 seconds grants 30%-60% movement speed for 3 seconds. Additionally, Melee champions gain 75% slow resistance while active. 
Cooldown: 15 seconds 
Spellslinger’s Surge is a modification we’ve been testing to the Stormraider’s Surge keystone mastery. Many players find the movement speed granted by Stormraider’s exciting. However it was hard to predict when you would do enough damage to trigger it. We saw an opportunity to use the “unique” keyword to provide that same effect in a more understandable way while also creating a parallel rune to Stormlord’s. Spellslinger’s Surge lets you get a reliable burst of movement speed in the middle of your all-in, allowing you to decide whether to disengage or continue chasing down that enemy. 
Thanks everyone for reading. We’re really thrilled to be bringing back some of the fan favorite keystones. Let us know what you think of the changes down below, we will also be around to answer questions and discuss with you. 
You can check the previous Runes Corner posts here:



RiotWrekz commented on the name "Spellslinger" which makes it seem like only a spellcaster would be able to use the rune:
"Quote:
Could you change Spellslinger's Surge to a more general name? I feel like it implies that you need to cast spells in order to activate it, or that you need to be a spellcaster to pick it, even though attacks are also part of the unique three damages.
We'll keep that in mind. Getting physical characters to feel welcome in the Sorcery style is challenging but very important to us. There are a lot of good builds in there."

Riot Sparkle also commented on the names used:
"Quote:
For real though, I liked how the cunning tree's keystones all had to do with a storm theme. Why not just keep the names the same?
Well, for testing we wanted to pick out names that referenced the old keystone masteries but wouldn't make people confused thinking it was the exact same thing. We were hoping that players & teams who tested the new runes would get the connection but notice the differences. 
We may change these names for launch, but that's also why Stormlords has like a badly color shifted version of the TL icon - to get people to see the similarities but recognize the differences."


On the use of the AP and AD ratios on the Stormlord's rune, RiotWrekz replied:
"Quote:
why does stormlords only have 25% bonus ad ratio on it meanwhile it got a 10% ap buff? Even thunderlords has a 30% bonus AD ratio, isnt it supposed to be stronger?. Did you nerf ad and buff the ap ratios because you want mages to use it more?
We'll be continuing to look at those ratios as we balance it. It is intended to be an option for both AD and AP users and will be balanced accordingly."


Riot Sparkle provided what trees these runes would be in:
"Quote:
What tree are these keystones in?
Spellslinger = Sorcery
Stormlords = Domination 
EDIT: These are always subject to change though before launch, as with anything else we show :)"


Riot Sparkle reiterated that this system would replace the current runes and masteries system:
"Quote:
We'll have both the two masteries and two runes? Why 'Stormlord' though? is he not the same 'Thunderlord' guy lul, just keep Thunderlord, Thunder in this particular case sounds a lot more "Bam" than Storm does. 
It's (almost) like having Lord Dominik Regards offensive item aswell as Sir Dominik Compliments armorplate or something xD
The new Runes will combine and replace both current masteries and current runes.
Also the names are subject to change ;)"

Riot Sparkle continued:
"Quote:
What happens with masteries? If they have no keystones what will they get?
Masteries AND runes are being replaced with the single system (also named runes, which I realize is slightly confusing haha) we're talking about here. We're reforging them both into one. :)"

/Tech: Giving Champions Context

The next edition of the series /Tech is out, covering champion interactions and how they play at the correct time and place.
/tech is a new Nexus series exploring the tech side of League of Legends. If you like this story, consider checking out the Riot Games Engineering blog for even more complex deep-dives of the systems that power the game. 
Hey friends, AaronMike and Lucida here! We’re software engineers on League’s Core Gameplay team, and we want to share a little bit about a system called the Contextual Action Component (CAC for short), which adds an extra layer of awesome to our champion’s personalities. Essentially, the CAC is a system that enables developers to build custom interactions into champions, allowing those champs to react more naturally to what’s happening on the Rift. 
EXPLORING THE SYSTEM 
Let’s start by looking at an example of what happens when Poppy uses her taunt emote while she’s alone compared to when she’s standing next to her golden-winged ally, Galio: 
Poppy taunt without Galio | Poppy taunt in front of Galio
When Poppy taunts alone or near unassociated champions, her taunt VO will be one of a few generic lines. When Poppy stands near her allied Galio, she instead engages in a little playful banter, and what’s more, Galio will respond if he’s still nearby when Poppy finishes. It seems obvious now, but when League launched in 2010, this type of interaction wasn’t possible. The only way to create variation was to let the sound engine pick a random VO line from a list. This forced audio designers to use generic lines to avoid playing an improper line in certain situations. 
For example, Lux’s “Sibling rivalry! This will be fun!” line makes sense when she’s standing next to Garen. Standing next to Katarina? Not so much. A line like this would not be allowed with League’s old audio system, since the system had no way to pick this line properly. We were losing valuable opportunities to show each champion’s personality and relationship to other champions! 
And that’s exactly what the CAC is for. It lies at the heart of these types of interactions; it’s what makes Poppy and Lux “contextually-aware” of real-time information like their nearest ally, which item they bought, or which champion they just killed. It also gives Pulsefire Caitlyn her unique Pentakill line and allows Xayah and Rakan to sweet talk each other on the Rift. 
UNDER THE HOOD 
The CAC was designed for a simple use: to execute different actions based on the context of any given situation in game. The structure of the system can be represented as: 
  • A situation
    • Rule 1
      • Conditions
      • Action
    • Rule 2
      • Conditions
      • Action
    • More rules

A situation is a predefined construct in our game, like KillChampion, AttackBuilding, or BuyItem. Over the past couple of years, we’ve built dozens of situations into League. Each situation can contain a list of rules, which itself contains a list of conditions and a singular action. When a situation occurs, a rule whose conditions are met is picked, then its action is executed. A tie amongst multiple valid rules can be resolved either on a first-come-first-serve or randomly if specified. Conditions are the predefined contexts, like “self HP range”, “target champion name”, “map region”, “spell level”, etc. Voice actions can choose lines for different listeners, including self, allies, enemies, and spectators
Below is an example of Camille with Program Camille skin taunting Ashe with Project Ashe skin:
As with the majority of the League codebase, this system is written in C++ and utilizes our Game Data Server (GDS) for its configuration. Take a look at an abridged snippet of the code that is called whenever a champion kills another champion:
This snippet illustrates how the system determines which action should be taken according to context. The PickRule function will iterate over each of the rules for the KillChampion situation until it finds the rule that passes all conditions and then execute the corresponding action(s). 
AUTHORING 
The following screenshot shows a rule we set up for any player skilled (or lucky) enough to get a pentakill with Pulsefire Caitlyn: 
Every time Pulsefire Caitlyn kills an enemy champion, the CAC will run through rules in the KillChampion situation. This rule says: if this is the fifth kill in a killing spree, play the KillChampion3DPentakill voice line for self (the player) and the player’s enemies. Note that this rule has a limit of 3 “occurences” – observe the misspelling (brb, I’m gonna fix it) — so it will only play for the first three successful pentakills since, as we all know, it gets a little noisy on the fourth. 
WINS 
Historically, audio was triggered directly by events in various systems across the game. Events could be particle creation, animation events, spell casts, user input, etc. For example, when the player moves their champion, the game client builds an audio event named something like “Champion_VO_MoveCommand” and tries to play the corresponding audio clip. Since the historical triggers were not aware of in-game context, they were incapable of customized interactions. 
Direct events only scratch the surface of what can be done using the CAC. The combination of situations and rules allows for very specialized interactions to be authored. Before this system, we had some specialized interactions in the game, but we relied on randomness to apply them at an appropriate frequency. For example, Zac has two generic taunt lines, “Go big, or go home,” and “It’s not how much you can lift. It’s how good you look.” When he taunts, the game will randomly choose one line to play. Now we have the levers to fine-tune their appearance to only appropriate situations. This way, we can cause rare, detailed interactions on purpose rather than leaving them up to luck of the draw. 
XAYAH AND RAKAN 
In early 2016 we set out to make our first couple champions in the League of Legends universe. Our goal was to make these two champions interact in game like the lovers they are instead of just using generic and interchangeable interactions. What if we wanted Rakan to be able to lift Xayah into the air during a dance piece? What if we wanted Xayah to prod Rakan with a little (loving) banter? What if Rakan needed to warn Xayah of impending danger? 
In order to make these “what ifs” a possibility, we needed to upgrade the CAC with a couple new actions and situations. 
Xayah and Rakan
ANIMATION
The animation system wasn’t equipped with some of the context necessary for animators to create the desired synchronized dance or recall pieces. To achieve the end result, we added a new action type to the CAC to control champion animations. Whenever Xayah does anything – or nothing if idling – she makes a PlayAnimationrequest to the animation system with the desired animation name. We modified this flow so that the CAC intercepts these requests and checks if any contextual conditions are met. If there’s a match, the animation is swapped out for a more context-aware animation. The request is then sent on its merry way to be carried out by the animation system. 
INTERACTIVE CACS 
The next challenge was the dance. How would Xayah and Rakan let each other know when they wanted to start dancing with each other? This was achieved by adding a new situation that triggers whenever another champion performs a CAC action. All of the CACs in the game are notified of the completed action along with the current game context so that they can determine whether a reaction is necessary.
From left to right: Both are idling, Xayah starts her solo dance, Rakan opts into the dance, and they perform their synchronized dance.
CONTEXTUAL PINGS 
Another awesome win came from rerouting ping requests through the CAC. Now, in addition to the regular pings, the lovers are able to say things like “Babe, watch out!” for the Danger ping and “They ain’t here!” for the Enemy Missing ping. 
TECHNICAL CONCERNS 
ANTI-CHEAT 
Cheating and hacking are crucial concerns whenever we add new systems like the CAC to League of Legends. One form of hacking involves gleaning more information than the game itself offers to players to gain a competitive advantage. A cheater might exploit a contextual system to provide this information. Imagine if Elise triggered a line like “My arachnid senses are tingling…” whenever your team was hidden in brush nearby. To prevent such exploits, we’ve designed the CAC to act only on the information that the client already has and nothing more (in other words, it sees what you see). 
PERFORMANCE 
We want to give devs the freedom and usability they need to bring League’scharacters to life, but we also want to avoid a performance hit for any player, whether that player is running a liquid nitrogen-cooled monster machine or a lower-spec laptop. It has always been our goal to make the system as lightweight as possible and as performant as possible at every point in the process. A combination of coding choices and best practices allows us to achieve this: 
  1. Situations are stored in a hashmap, with string hash as its key type. With this structure, we can quickly retrieve a situation from a CAC object. If a champion doesn’t have data for a given situation, the handle function will simply return. Since each champion has a small set of relevant situations, most situations cost very little.
  2. We prefer specific situations over general situations. Normally, we’d prefer to have general, reusable solutions that solve multiple issues at once, but this is a unique case. More general situations contain more rules, each of which includes other conditions that must be processed by the CPU. Splitting a general situation into a few specific situations reduces the number of rules and improves performance. Situations without rules can even directly return. For example, we have four specific kill situations: KillChampion, KillTurret, KillNeutralMinion, and KillWard. KillChampion often has the most variations, but only happens a few times in a game. KillNeutralMinion has the fewest variations, but happens more often. If we used a general situation like KillTarget for all of our kill situations instead, we’d have to parse through a huge list of rules every time one of these four types of target is killed.
  3. Prefer to check simple but important facts or conditions first. If any of these conditions fails, other complex checks in this process can be skipped.
    1. Skip audio situations if the owner is speaking a voice line. Leaguedoesn’t allow simultaneous VO lines playing from the same character. This gives us a great opportunity to optimize. If CAC finds out the owner is speaking, it can ignore new audio situations. In the case of spamming emotes, CAC is still very efficient because it will skip most of the process once the champion start speaking.
    2. Another important condition is situation cooldown. If the champion shouldn’t respond to a situation in a short period after last execution, then there is no reason to process the situation.
  4. Avoid high-frequency situations if possible. If a situation does happen frequently, there are a few ways to avoid a performance hit:
    1. Set a cooldown for the situation so the game client can skip checking every time the situation occurs.
    2. Make sure high-frequency situations have few rules so that they run faster. 
CONCLUSION 
With the CAC, systems like audio and animation are more aware of context in the game, opening up many new possibilities for our creative colleagues. This gives them the power to enrich champion personalities and continue expanding the world of League of Legends. Each and every voice over line we add to the game is an opportunity to make someone smile and bring players closer to their favorite champions."

New Pentakill Merch

To celebrate the upcoming release of Pentakill's second album, Grasp of the Undying, new Pentakill merch is now up in the Riot Games Merch Store! Check out all the rockin' new swag:


Proof that you were there when Pentakill went on tour. With Mordekaiser, Karthus, Yorick, Sona, Olaf, and now Kayle, sonic brutality has never ascended such heights before.

For the dedicated heavy metal fan, we present the Pentakill II: Grasp of the Undying Concert Kit. Within the box lies concert tickets and an all access VIP badge from that time you followed Pentakill on tour for months with hardly a shower, as well as clothing patches, a pendant, and guitar picks to represent the best band in Runeterra.
For more Pentakill, check out these links:


Expanding the Weekly Free Champion Rotation 

As noted in our updated Free Champion Rotation post, Riot Cactopus is here to tell us about more champions being added to the free rotation from now on:
"Hi friends, 
Recently, we've seen players asking for us to expand the weekly free champion rotation beyond just 10 champs. So that's what we're going to do! 
Since we’ve added a lot more champions over the last few years, updating our model to include 10% of all champions instead of just 10 is just fair. 
Starting now, there will be 14 champions in the free-to-play rotation going forward. Whenever we eventually release our 145th champ, we'll increase the rotation to 15 free champs (we're rounding up). 
Thanks for giving us your feedback! We hope you enjoy the change."

Quick Hits

1) Over on Twitter, community artist Risu announced she was working with Riot for a new webcomic series soon:
"I'm so happy to FINALLY announce I've been working with @riotgames for a webcomic series! Stay tuned for more :D #LeagueOfLegends"

Reminders

Last up, a few reminders on upcoming and ending soon promotions and sales!
  • As mentioned in 7.15 notesAscension returns to the RGMQ 8/4/17 12:00 PT - 8/8/17 04:00 PT.

No comments

Post a Comment