Hey guys ^^ my name is Mechii, i'm delegate of Assembly of Champions 2019. I love this game and also make some art about it too. I already have 2767 hours playing Paladins; i think our community can keep growing and be better if we try to be kind with other players.
Group Details Private
Assembly of Champions
Player-elected council that meets with Evil Mojo to influence the direction of the game. Learn more at Paladins.com/AOC
RE: Your name and one thing about you
RE: Paladins Fan Champion Reveal Videos (Megathread)
daaamn this sounds dope!
This Week in the Realm | 7/22 - 7/28
Happy Wednesday, Champions! Hope your week has been going well so far.
Following the AOC Summit last week, the Evil Mojo team is hard at work locking down our framework plans for 2020 with your feedback in mind!
Speaking of future plans, our tech & art teams are putting the final touches on the next patch, which you'll be able to check out for the first time in an Update Show on the 14th of August.
- Mark your calendars! Our next Double Battle Pass XP Weekend Event will be on August 3rd & 4th!
- 4AM ET | Free Champ Rotation: Fernando, Kinessa, Evie, Ying
Weekly Wisdom with the Design Team, featuring our new addition to the team @Neco: Creating your own card loadout can have a massive impact on how you play a Champion or in how you are able to specialize your own playstyle for different situations or team compositions. Feel like you're just not healing effectively enough as Grover? Try maxing out his Verdant Expanse card for an increase to his Blossom area!
This Week in the Realm | July 15-21
Happy Monday, Champions! We have a crazy week coming up!
- The Assembly of Champions Summit is underway! Our elected AOC members are at Evil Mojo for 3 days of discussion and 2020 planning. Follow along on our Instagram Story.
- 4AM ET | Free Champ Rotation: Barik, Lian, Evie, Ying
- 7AM ET | Sun & Moon Update on all platforms When this goes live, the Street Style Event & Steel Forged Battle Pass will be leaving Paladins for good!
- Day with a Dev hosted by Champion Programmer Chris Malloy. Join us on the EvilMojoGames Instagram as he answers all your questions!
Weekend Event: 2X Everything! Kick off your Shore Patrol Battle Pass with a boost this weekend by earning double BP XP, Champ XP, Account XP, and gold!
Weekly Wisdom with the
Design TeamAssembly of Champions: Kill to Heal triggers not only on kills but assists too, which can make it a great sleeper pickup as a support.
Dev Blog: The Hunt | Server Corrections
Our programming team made some improvements to how our game handles server corrections during charges in the upcoming Sun & Moon Update, and some things may feel a bit different on the Champions you play regularly.
TLDR: We made some changes to the charges that greatly reduced the amount of server corrections (rubber banding) that you get. They should feel better overall.
Champions & abilities that will feel changes:
- Androxus | Nether Step
- Ash | Shoulder Bash
- Barik | Rocket Boots
- Bomb King | King Bomb
- Cassie | Dodge Roll
- Drogoz | Thrust
- Fernando | Charge
- Furia | Wings of Wrath
- Khan | Commander's Grab
- Koga | Shadow Step
- Koga | Skewer
- Lex | Combat Slide
- Lian | Grace
- Maeve | Pounce
- Makoa | Shell Spin
- Mal'Damba | Slither
- Ruckus | Advance
- Sha Lin | Withdraw
- Talus | Blitz Upper
- Zhin | Whirl
- Zhin | Spite
Everything below this line is a more in-depth version of what we did. I did my best to explain it in a way that non-programmers like you and me would understand, but it’s still a bit dev-knowledge heavy... so tread carefully, all ye tech un-savy Champions!
What is a Server correction?
So, first off, there are two different entities that are involved with deciding what goes on in the game. Those are your individual client, and the game server. Your individual client handles your direct inputs (I pressed the spacebar, now I jump) and what you see on your monitor (Khan has stepped out in front of me). The server handles interactions between players and makes sure what’s going on on everyone’s screen is as close as technically possible.
Servers make little checks at incredibly tiny increments during your game to ensure that everyone’s client is on the same page. Sometimes, if something’s looking a bit wonky, a server may correct something coming from someone’s client. This is something that is standard throughout the industry, and goes a long way to prevent hacking. You may have hackermaned your individual client to trick it into thinking that your Koga moves at 9,000x the speed of a normal Koga. The server will see that input from your client, and will realize that something isn’t quite right here, and foil your epic ninja plans by not allowing that to actually happen in anyone’s games.
These corrections also come in to play during your normal, non-hackerman, Paladins experience. With 10 players per match all sending info to the server at different ping rates, there’s a lot for the server to check and adjust.
Why did we need to make adjustments to this system?
Most of the time, you don’t notice this at all, but when you’re dashing (moving from one spot to another very quickly with an ability) that fast movement means the server would correct you in a more noticeable way.
Before we made these adjustments, the server was basically handling movement abilities… well ... wrong. Client and server each were doing fundamentally the same thing, but sometimes with different inputs and outputs based on certain variables including player position, latency, and differences between the client and server tick rates. Many times these discrepancies were minor, but minor discrepancies when the character is moving quickly could sometimes result in major errors. And that’s, obviously, not an ideal situation.
The second issue we ran into was that the server was not checking and correcting your client during the middle of dashes.Several charges had movement corrections turned off during the charge, and re-enabled after the charge. For example, if Ash dashed, the server would correct her before she started her dash, and after she ended her dash, but not along the way. Dashes travel a good distance, so the client and server could then think that Ash was in two very different places. Since the server overrides the client, players would see Ash jerked in the other direction to the location the server believes she should be in. This is an example of what you sometimes call “rubber banding.”
That still may be hard to visualize, so I drew a little picture (you’re welcome).
This was what was happening before in your games. The Server & Client agree where you started, because it is checking and making minute corrections up to the start of the dash. Then you dash, and it doesn't correct you at all. If the server and client think you’re going to different places (potentially for any of the reasons explained above), the server and the client will think you’ve ended up in a different place. Then, the server tries to get the client in line and on your screen you will see Ash being yanked from the end of the blue line to the end of the red one. That’s rubber banding! And disorienting! And again… less than ideal.
Now, this is a pretty extreme and super rare example, most of the time this would be a little more like the below picture, and result in some minor jittering rather than a huge correction like up top.
Ok, I’m following. What did you do to fix it?
So looking back to the Ash example, where she didn’t get corrected mid charge so she ended up in different places, and it looked to our player she got pulled across the map? Now, the game server corrects during all charges (except Drogoz, because he's really complicated and we’re still working on optimizing him), which allows the client to correct problems as soon as it gets the information. Going from the above pictured situations to something like this:
It will feel a lot smoother in game than it looks here. I literally could not draw as many lines as I would need to accurately depict what is happening.
In addition to this main change, we found a few issues that were only affecting specific characters. We’ve cleaned instances like this up as well. For example, when you were chaining Koga's dashes together sometimes it would get really wonky. Or how Ruckus's previous dash implementation was, in layman’s terms, super broken, and now it works like how all other charges work, resulting in a much smoother experience. Or how Androxus previously had issues with how his slow fall between his dashes would cause even more corrections and issues. There were quite a few examples. All fixed now!
Also, these changes allow us to fix other issues surrounding charges in better ways. Previously, there was not a great way of measuring when a charge is about to end. Now there is, which allowed us to fix some issues with Androxus's dash! The client can now fire weapons earlier following dashes without the server discarding it, which would create a false fire (a shot that on your end looks like it happened, but deals no damage). Remember when we attempted fix to the “Androxus dash false fire” issue by adding a client lockout, and then reverted it because everyone universally hated it, including our own team. Now, we’ve addressed that issue in a way that will suck a lot less.
You made it to the end, awesome! Thanks so much for taking the time to check this out, feel free to leave questions in the comments and I’ll try to clear up any confusion.
See you in the Realm!
A fellow tech un-savy Champion AKA Molly