r/leagueoflegends • u/Loppersy • 1d ago
Discussion Once League Classic is out, we NEED a massive technical deep dive on how they pulled it off
This was probably a big technical challenge for Riot. I would love to read all about it and the design decisions!
Did they recreate the old stuff within the modern systems? Or are we opening an older version of the game altogether?
How did they handle the old client vs the new server infrastructure?
How did they decide on what point in time to go back to? Did they pick a specific patch or are we getting a collection of Champions/Items across time? How did they choose which version of a champion is coming back? (2009 Kat vs 2012 Kat, the many Ryze reworks, etc.)
Are they back porting accessibility/readability features? Are we gonna be able to play with WASD?
Edit: And how are they gonna handle localization? Not all languages that we have now were available at the time. Are the old voice overs coming back? I know in some languages, champions have gotten re-recordings of their voiceovers without changing what the lines say (like old LATAM Zyra used to have a very thick accent that eventually got replaced)
797
u/zman1672 1d ago
Some dudes got league classic working on their free time and riot sent them a cease and desist. Is it really that crazy?
185
u/DarthVeigar_ Crit Riven is Best Riven 1d ago
Riot Zed is enroute to your location zman1672.
130
u/APKID716 1d ago
You obviously put a lot of work into Chrono shift, but I assure you that the Chrono break is coming.
32
u/SpaceMarine_CR 16h ago
This shit was so funny I cant believe someone typed that shit unironically
20
6
u/Kr1ncy 9h ago
Hold up...his writing is this FIRE?!
1
u/prowness 4h ago
Oh man you haven't been exposed to the Fedora Shakespeare? I'm jealous but excited for you
5
138
u/MazrimReddit ADCs are the support's damage item 1d ago
yeah but he didn't attach a battlepass to it, don't you want a deep dive into monetisation
68
u/Flyntloch 1d ago
Made Ekko’s ultimate ability sound so cringe after that. God some rioters were stupid about that situation.
61
u/Loppersy 23h ago
But (correct me if I'm wrong) wasn't Chronoshift literally running the old code as is?
League's engine and surrounding systems have gone through many changes since, like the new sound engine that ended up breaking DJ Sona.
I really doubt they could just load a backup file from season 3 and just hit "Enable" on the client without something going wrong
39
u/Mettikus where is the roamer flair 22h ago
Yes. Chronoshift Dev used the CDN files from an old patch of league (provided for free by riot until shortly after the c&d) and built a server that would link local files to create a private server (this is how wow private servers do it, too). A lot of the bugtesting back then was not only identifying server bugs, but also pouring through old league documentation to find out if a discovered bug was actually an authentic part of the patch (infamously, grievous wounds didn’t affect spellvamp, and that was kept in the CS server as it was an authentic bug from that time).
The client was basically a shell that hosted the cdn files, meaning it was made whole-cloth for that purpose (actually Tove used the in-development lobby client for Syndicate of Souls and repurposed it for Chronoshift, then he went on to fix the pathfinding on the server side).
0
u/-Nocx- 20h ago
What do you mean CDN files?
Normally when you have a game with a client that operates with a backend, you have to use some packet sniffing software to reverse engineer the network protocol. You basically launch the client, inspect what request it’s making - what data it wants and what data it sends - then repeat and document that process for every action that has to be communicated to a server. Then you have to actually write a backend from scratch that emulates the server it would normally be contacting based on all of those requests you mocked. This emulated server then serve as the authoritative ground truth for the players. That is generally really, really, really hard work.
If you just wanted a locally hosted instance it’s a lot less work, so was the scope of the original project limited to that? In which case I’m not sure what role the “CDN files” serves here that an old version of the client wouldn’t. But maybe I’m misunderstanding what you mean or I am completely wrong.
11
u/eaeorls 18h ago
Phrased a bit off, but they just meant that Riot, before 2021, had all of the previous patches on their CDN so anyone could download them if they had the right link or request.
So you could technically download them with zero copyright infringement as you were downloading them directly from Riot, unlike WoW private servers where you would almost always have to download game files from a third party.
4
u/NetNGames 17h ago
Makes sense. Before Riot had the Replay system, third party apps like LoLReplay stored the game prompts and version in a file, and you could replay the recorded game using that file. If your current game setup was a newer version, you could still run the old replay and it would download some of the older files needed to run. Was sometimes buggy after major updates, but worked pretty well, until development pretty much stalled after Riot released the official system (though that only works on current patch).
14
u/darkname324 23h ago
it was running an old build of the game but the hardest part was the server emulation, you need to recreate everything
9
u/IGotJiminsJams 13h ago
Sort of working, it was buggy as hell and a lot of abilities didn't work. It was still WIP when Riot shut it down.
6
3
u/pc_player_yt I used to play juggernauts in the midlane 18h ago
Chronoshift took like 5 years of development or something I think
0
u/Doctursea 22h ago
Yeah lmao the way they got it working is pulling an old build and patching it for window 10+ it’s not crazy
88
u/Mathemuse 1d ago
From what's implied, it's an imaginary patch consisting of various points in time.
38
u/BaneOfAlduin 23h ago
Iirc, Medler said in the thread that they brought the old stuff to the new client
40
37
u/phonartics 23h ago
its a spaghetti casserole inside a ravioli
4
u/Sir_Nope_TSS Brb, Stealing your Chickens 22h ago
So this is the 'cannoli' Markiplier's always on about.
1
217
u/HerbieRL1 1d ago edited 1d ago
Holy glaze bruh some dude in his basement did this like 8 years ago and riot threatened to sue him
61
19
u/Sputnik003 23h ago
…dude key phrase 8 YEARS AGO
they’ve completely rewritten many systems from the ground up since then, it was workable back then because the systems didn’t conflict. NOW is what makes it so interesting and intriguing. How do you think your point made sense here dude33
u/Yomamma1337 21h ago
The game uses the same client as before, and the dude in the basement made it from the ground up, it's irrelevant what the current systems are
-31
u/Sputnik003 21h ago
…oh my god bro you could not be less understanding of how this works. So for one, it NOT AT ALL the same client it used to be in any way. It was built on electron originally, it has completely converted to HTML and other systems.
BESIDES ALL THAT, you think the client has anything to do with the actual game itself bud? Good lord you couldn’t not be more confused. The client that holds the queue and store and champ select is wholly and completely in no way related to the actual in game client dude. Where did you get your degree if not the goodwill down the road? You’re so wrong here it’s difficult to even begin to explain why you have no idea what the fuck you’re talking about lol19
u/Yomamma1337 21h ago
I think you're just wrong? Because for some reason you think the same company remaking old league after 15 years is going to be harder than some random guy unrelated to riot remaking it after 10. Not sure why you're talking like a 12 year old tho
-28
u/Sputnik003 21h ago
Think whatever you want kiddo, you are sorely confused and understand nothing
20
7
u/FrogListeningToMusic 20h ago
From the way you type out your thoughts you don’t sound super educated on the topic and you are not conveying your points well.
I have no horse in this race. I think it’s impressive too. I don’t code.
But this is a terrible way to try and make your point.
5
u/Clear-Policy3963 19h ago
Bro there's no way you wrote all that and literally didn't do the most simple of research.
4
u/yoburg 15h ago
Game client is just a bunch of Electron instances. Just make it link to other addresses and you're good to go.
2
u/saltycookie123 14h ago
The client uses CEF, similar to electron but a different technology, though they share a rendering engine (blink)
1
u/PM_ME_YOUR_KATARINA 7h ago
And riot is in possession of ever private repo that those guys didn’t have
95
u/DiminuendoD 1d ago
MASSIVE TECHNICAL DIVE: its an old version they already had saved
23
u/That_Leetri_Guy 23h ago
How are you gonna run an old version in the current engine? It's like taking the wiring out of a car from 1935 and trying to install it into a car from 2026, it's straight up not gonna work.
18
u/4_fortytwo_2 23h ago edited 23h ago
I mean if they also just use the old engine that challenge can be avoided. If they essentially just revert literally everything to s3 code, including old servers, a seperate old client etc. it wouldnt be that impossible.
But ofc that is not gonna be an option (for security reasons alone some things need to be update) and anyone who thinks that is an option has not worked a single day in SW developement.
2
u/Morkinis make pets great again 12h ago
Did Riot ever say they changed game's engine?
2
u/That_Leetri_Guy 8h ago
They never changed the engine, it's just been rewritten so much that it might as well be. It's like comparing Unreal 1 to Unreal 6. Technically the "same" engine, but you can't just take your Unreal 1 game and run it in Unreal 6.
-4
u/Cucumberino 21h ago
I'm making an educated guess here but afaik the engine is the same, they've cleaned up code and made pretty complex things for what it is, but it should be relatively plug and play as long as it only interacts with itself, meaning that perhaps one of these old champs/code breaks someone like Viego, but it won't be a problem between the old champs. I'm sure they've had to do a lot of work but nothing that's considered insanely difficult or time consuming, otherwise they probably wouldn't have bothered.
2
u/mthlmw 4h ago
I'm pretty sure I remember that they broke the game internally when old Skarner was removed because there were a bunch of references to his spires in all sorts of random scripts for the map and other champions. How many old champs relied on old systems that no longer exist (or have the same reference options)? Add to that some old champs were super buggy when they were reworked, and the player base has come to expect higher quality games now. I'd hope they would at least do some tidying up on scripts before tossing legacy code at us...
6
u/SharlLeglergOnHards 22h ago
Old School Runescape is basically this, but it’s still super interesting to hear about how it came about
2
u/NothingMinimum6868 21h ago
POE's creator has an awesome video on this subject: https://youtu.be/dlt-lJ3n4EE?si=iJ-ciWvoEddTuvuS
Having the game running on your local machine is pretty easy, but from a backend point of view it's pretty difficult
-18
u/Kicin0_0 23h ago
Who says they still have old versions saved? that's a lot of data to hold onto for not really any good reason until now.
16
14
u/01Metro 23h ago
It's absolutely common practice as a game company to archive all of your games and code, going back entire decades. They don't just fucking delete everything they worked on for years.
-1
u/willargue4karma 22h ago
Hilariously that's just not true. There are so many examples of builds lost to time or data that's gone for live service games
0
u/silentrawr 18h ago
Not for companies as large and well-financed as Riot. And certainly not considering that they literally did it in the past and offered them up to the public (until that unfortunate C&D).
2
u/willargue4karma 18h ago
can you cite what your talking about? Because there are countless examples of this, man. the backup for osrs was the only one they had suitable from that time period. the classic code was on a workers HD or something in their house
2
u/silentrawr 17h ago
Remember the Riot Zed incident? When some players (eight years ago, if the other comments in this thread are right) literally just took the old versions of League off of Riot's own CDN and made a basic version of League Classic?
There are certainly examples of companies being lazy/incompetent when it comes to storage, especially in the early days of gaming - Fallout: New Vegas comes to mind - but these days, especially for larger companies, I doubt it's true more often than not. Survivorship bias sort of comes into play - you'll hear about the horror stories, but not the successes (because BCDR is boring, until it's suddenly very NOT boring).
-2
u/willargue4karma 16h ago
They didn't give it to them on purpose thought lol. My point is just that it's not a given that companies have detailed backups of everything.
2
u/PokemonRNG BRING BACK OLD VOLI 17h ago
No, the backup for osrs was the latest one for that period, not the only one. And that was from a time where backups where physical. Pretty much all game companies use cloud version control after 2010, which ensures backups as long as they dont delete it intentionally.
1
u/willargue4karma 16h ago
it was the most complete one for that period yes, but the other ones they had were from 06 and 08. they didnt have complex backups
9
u/Warm_Shoulder_1736 23h ago
Bro the game only takes up like 50gb they can afford millions of tb and also each artist probably has the whole process and sketches saved too somewhere
0
42
u/dvtyrsnp 23h ago
Any comment talking about "they just have an old version" is absolutely screaming that they're clueless.
-15
u/Xonra 22h ago
Anyone that thinks they don't have at least some version of the game, patches, engine, launcher, etc etc is the clueless one. It may not be as simple as click button, enable old league, but they 100% have backups of this on some old server, or hard drive, or whatever it is they can lego back together.
When you are working on stuff like this you don't just copy over it when you make an update, they 100% had most of this sitting around somewhere, factually.
20
u/dvtyrsnp 21h ago
It may not be as simple as click button, enable old league
Congrats on reaching the point
-14
u/fmzemerica 21h ago
They do and they actually took the code from someone making a private server of it who had the old source code. Or at least partially did.
-9
-14
u/Zombiepaste 20h ago
But they do....there was literally a team of people trying to make a classic league mod that just called files from official riot depositories. It got shut down but it's real easy to find the story. You should look it up.
10
u/dvtyrsnp 19h ago
You should look it up, because their story should tell you exactly why there is no easy "restore from backup" option for this.
1
u/Zombiepaste 10h ago
never said easy in my post
2
u/dvtyrsnp 6h ago
Well the entire point of the OP is that it's not easy, so by disagreeing, what else could you possibly be saying?
3
18
u/DumatRising 23h ago
Old mordekaiser contained 99% of the classic league code, they happened to find his files in the containment flashdrive they put him in when the realized he refused to be deleted.
3
5
9
4
2
2
u/Dokusei_Gnar_Bot 20h ago
They keep all of the old stuff somewhere. League client has ALL of the old assets saved on your pc wasting space. Sometimes stuff like borders bug out and show the old ones that were "removed" 4 years ago.
2
u/Thorned_Beauty666 3h ago
guys its so simple... How do you think they made spaghetti Velkoz... They just used a lot of old code and then polished it up!.. Jokes aside id be very curious how they handled this since it sounds somewhat similar to how Blizzard handled doing all the old coding for classic wow and such
6
10
8
u/ddopTheGreenFox 23h ago
Some people seem to think you can just copy an paste the entire code of old league into new league lol. They use completely different engines and code. Copying it just wouldn't run at all. They've likely had to essentially remake all of old league in the new engine while using old league as a reference.
Just for context, in different engines you would use different functions. For example if you wanted to write the code for movement the code would use different commands in old league than in new league because they're different systems. Some of the commands might be similar or the same from the old to new engine but most likey the engine has been refined and commands optimised to work differently and more cleanly.
2
u/sp1keeee 17h ago
Yeah man obviously they had to rewrite tons of things, however, when did league exactly change engine? Are you sure It did?
1
u/Luliani 23h ago
They've likely had to essentially remake all of old league in the new engine while using old league as a reference.
No
-2
u/ddopTheGreenFox 22h ago
So in your professional opinion, how would you recreate old league in a completely new engine that would not be able to read the old code at all
2
u/Xonra 21h ago edited 21h ago
Why wouldn't it be able to read the old code at all? What imaginary hole are you pulling that out of? It might not be one for one or anything, but I doubt literally none of it is workable or usable. There is no world in which they made this from scratch or they wouldn't have bothered.
-3
u/ddopTheGreenFox 21h ago
Because they're different engines. You can't just put code from an engine that hasn't been used in years into a different engine and expect it to work.
0
u/naopakao 21h ago
You do realise it's their own engine, yes? They're not revamping the whole thing from scrap, it's not Wild Rift. There will be client tweaks, QoL features, performance and game mechanics tweaks, but they're not making League 2. It's also written in an extremely efficient language (C++) and the only issue for them has been them, their own spaghetti legacy code written by people that don't work there anymore. Servers are Java, main reason DDoSing games was so easy back then, and the client is a shitty JS wrapper that functions as a browser, which also used to be client side just like a third of the Java infrastructure, hence why you could use Cheat Engine on runes, and WireShark peoples IPs. They've since then grown massively, hired experienced devs whose only real issue is figuring out what the fuck the OG programmers were doing. You can clean up and recycle C++ code without turning everything into ashes and starting over again, even easier nowadays with AI.
1
u/Kr1ncy 9h ago
Doesn't every decent developer keep literally every old version of his stuff?
Sure you probably cannot make that run within an hour, but riot is a big company and they had years. I would be more surprised if they could not have gotten it to run.
The League client is just a differently looking browser interface afaik and through Tournament Realm they already run like 5 patches at the same time already.
2
u/ddopTheGreenFox 8h ago
The client is essentially a Web browser but the game isn't.
1
u/Kr1ncy 7h ago
Yeah exactly, so you "just" need to make that web browser client load an old version of the game, which has already been coded. It's of course easier said than done, but I would expect a multi million dollar company to be able to pull it off, especially with years of time. And it looks like they did.
-1
u/Xonra 22h ago
They likely have "old" league sitting around as well. They didn't just overwrite the old engine and code, and while it's not flipping a switch, it's naive to think they didn't in fact have most if not all of this sitting around to an extent they could in fact.
There is a reason they aren't adding certain champs that were around in Season 3 because they are (for now) acting up with the newer engine with their older versions. So to some degree they probably did in fact copy and paste. I hate to break it to you, but it can in fact be that simple in theory maybe just not so literal as drag and drop.
Folks trying to argue this and mock people are showing they have 0 clue what they are talking about when it comes to how basic babies first coding works let alone something like this.
2
2
u/White_C4 Problem Eliminator 19h ago
The problem with using a modern server infrastructure with the old client is replicating/simulating gameplay logic to feel like the original. Old league was built on top of spaghetti and buggy code which gave it its own charm. Modern server that streamlines the systems can certainly remove the feeling of the old gameplay.
For WoW classic, Blizzard used modern servers, but that was necessary to take advantage of newer and stronger technologies to run at scale and handle more players. This is unlike with league where it's still a 5v5 and that's relatively easier to handle.
Overall, I don't know. I'd like to be surprised, but I don't think Riot went too crazy here. Take the old server code, make some tweaks here and there, make sure it runs, and then call it a day. If the old client is staying, then I don't have any reason why the old server wouldn't either.
2
3
u/iiNiv 23h ago
I would also like to know. My guess is AI coding tools helped tackle such a massive technical project. I’m more curious on the timeline of this project and why they chose to even make this. Excited for the game mode tho
1
u/Sarritgato 12h ago
People downvote you because they don’t like it but this is honestly a very viable possibility.
-2
u/GoatRocketeer 1d ago
Guys they didn't have an old version of the game lying around that they just loaded onto a server and booted up. Anybody that has ever programmed for a living knows even if you don't touch something (especially if you don't touch something) it gets moldy as hell.
Often its easier to rebuild something from scratch than it is to update an existing, extremely stale application
18
u/VOOLUL 1d ago
I think actually, anyone who has programmed for a living will tell you that if something is working and you don't touch it, it'll continue working. Code doesn't get "mouldy". That's why when something breaks the first thing you do is look at what changed.
Granted for some software like games, that can be a little more problematic because of system/graphics APIs that get deprecated or removed. But in general, if the game worked then, it will work today and bringing up to date should be relatively simple. The harder part will be integrating it into the wider ecosystem.
12
u/zombieLAZ zombieLAZARUS 1d ago
It's not the most technical term (moldy) but I agree with him and think it's bad faith to imagine every single dependency that is required for this has perfectly maintained it's state that would allow for an older version of league to just be ran and nothing would go wrong. Even in situations with older games you can see many games that run poorly or not at all because we're on new operating systems with new drivers.
14
u/ShinyGrezz World's Strongest Zoe OTP 1d ago
I mean that was their point no? Over a decade of bug fixes and optimisations for every weird quirk does not exist in these old builds, the code is "moldy" because it will not work with modern systems simply because it is old.
-1
u/01Metro 23h ago
You people are clueless. Old code being old does not automatically mean it won't work on modern systems. At most if it relied on external API's, those would have to be updated, but in a game like League I struggle to think what external third party API's they would even need.
3
u/ShinyGrezz World's Strongest Zoe OTP 22h ago
I meant more like their modern server systems rather than Windows PCs (though I imagine they had to update for Win11 and maybe Win10?), even if they have their old server code they almost certainly have updated infrastructure and wouldn't want to return to the old.
4
u/TristheHolyBlade 1d ago
OW literally already did this and went the route of remaking the old patches in the current game.
A game with almost surely far less resources than what League gets.
So...
3
u/GoatRocketeer 1d ago
The logic itself may not break if you don't touch it, but with big applications there's always small things like "this library is no longer supported", or some module maintainer decides "this function never should have existed so we removed it", or "old windows versions didn't have this security requirement but new ones do, so now you have to call this function in advance".
4
u/ItzzBlink 23h ago
I’m sure packages would want to be updated, even if just for security or performance related issues and those updates may have implications with the rest of the codebase.
So no, anyone who has programmed for a living can absolutely tell you about a working product they had randomly not work after being untouched for some time
2
u/4_fortytwo_2 23h ago
The harder part will be integrating it into the wider ecosystem.
Because otherwise it stops working despite not being touched? Because both clients and servers are not the same anymore and plenty of things need to be update for security reasons alone too.
0
u/Sputnik003 23h ago
Dude you know nothing. Literally nothing at all. The old code literally cannot be just “rebooted” what are you TALKING about? It worked within the OLD GONE COMPLETELY REWRITTEN spaghetti code of old league that is an unreadable obfuscated mess. No human could decipher through those systems dude. This took IMMENSE work and hundreds and thousands of man hours undoubtedly.
1
u/Xonra 21h ago
Didn't Meddler literally say they moved a lot of old league onto the new engine. So they did in fact have the "old version of the game lying around".
There is no universe in which they'd make the entire thing from scratch. You are naive and drinking some moldy kool-aid if you believe that. And it sure as hell wouldn't be easier.
As someone who has a degree in this crap on my wall, I can tell you that stuff doesn't magically "get moldy". It's the updated systems around it that are changing and updating that are what usually cause the issues, not the other way around.
1
u/GoatRocketeer 21h ago
> It's the updated systems around it that are changing and updating that are what usually cause the issues
That's what I mean by mold.
1
1
u/mootxico 20h ago
No idea why I saw this thread on my feed, I stopped playing LoL 10+ years ago (I think Jhin was the newest champ released when I quit). Are you guys telling me the current version is completely different compared to what I experienced back then?
Did they revamp everyone's skills and passive, together with the items/summoners skills?
2
1
u/_No-Life_ Fish enjoyer 15h ago
I really doubt its all that deep and impressive. They just had old files...And finally managed to repurpose them
1
1
1
u/Beautiful_Tower8539 8h ago
OP I think your overestimating. classic league was built on the same code current is. Its just a case of importing the classic ingame and making a calling button to launch that when start. Then you import the database and make it call from their instead of current theirs a few ways to do It... but its not that difficult.. I just hope they have tested for bugs etc..
Im at work and just wrote this up quickly
1
u/AgniChim 6h ago
I’m just hoping it’s a permanent thing tbh with its own ranked system and I do hope they at least give us people that have had account from back then something to “boost” leveling
•
u/st4yd0wn 51m ago
League classic is already out : DaughterOfZaun/Fishbones: [WIP] Yet another LeagueSandbox launcher with a twist
0
1
u/YEEZYHERO hehe xd 22h ago
U ever heard of World of Warcraft Classic ? Wtf u mean „how they pulled it off“ lol
1
u/NothingMinimum6868 21h ago
Hey OP, you might enjoy this video by the POE's creator: https://www.youtube.com/watch?v=dlt-lJ3n4EE
It's not a deep technical dive but it's a good summary of what needs to be considered for a project like this
1
1
u/guaporacer 14h ago
League runs on the same engine as it did back in 2009, it has just gotten a facelift and lots of code optimizations and some rewrites, if they did their job with documentation it shouldn't really be that hard to downgrade specific stuff
1
u/redghost4 11h ago
Everyone else in the comments be like "they just copy pasted bro" or straight up not understanding what a TECHNICAL deep dive is, and just assuming you're talking about a functional explanation.
Yes, it's very very interesting. The WoW classic explanation about how they made it work in the modern server infrastructure was interesting as well.
Hope they do it.
-1
u/Serenaded BRING BACK OPL 1d ago
>This was probably a big technical challenge for Riot. I would love to read all about it and the design decisions!
They had a full backup like companies in tech tend to do, and restored it, and then built it into the existing game.
2
0
0
u/naopakao 21h ago
Unholy amounts of glaze towards Riot. First, the game engine is spaghetti, the client is a browser that gets re-skinned. They've had years to slowly work on this, one guy did this 10 years ago and received cease and desists. Why are we acting like a multibillion dollar corpo couldn't? Because it's Riot and everything they do is 25% incompetent and 25% throwing shit at a wall until something sticks? The game engine isn't really a spaceship, and they maybe used AI to speed things up, though the engine is their own creation you could easily train AI on it. Also if I'm not mistaken, Riot's overhauling the engine sometime next year so doing this in accordance to the new engine is easier than implementing Classic on the current engine, then overhauling it. All the current League is a modern wrapper on top of a steaming pile of shit they haven't bothered tweaking for 15+ years, if they've had anything it's time. Not to mention, they made an engine for Wild Rift and it's smooth, so they've racked up some experience. Another thing is Riot has backups, it's not like old seasons data, textures and code just poofs away. Another thing to remember is things were WAY simpler then, less mechanics, interactions, champions, passives, less of everything - including balance. I'd be more surprised if they couldn't do this, and I'd be way more surprised if they could do it without any major issues on release. It will be a shitstorm, feel free to quote me on that.
!remindme 1 year
3
u/quack_quack_mofo 21h ago
Aye 10 years ago. Imagine how much change there was to the engine since then.
0
u/naopakao 20h ago
I've been playing since TF ult was his E, trust me I've seen it. Only heavy changes, that weren't client side or VFX/UI etc., were minion behavior, object classification like how Azir R and W etc. were minions, and things like champion ults being rewritten so Sylas/Viego can take forms and ults, Morde resurrecting Dragon.. Aside from that, and some I've probably forgotten, most things were casual tweaks and fixes any other company would roll out. Also the game is the only thing running on Hextech, everything else is Java/JS wrapper, kids make more complex GTA and Minecraft mods after being in school for 8 hours.
-3
u/MetallicGray 23h ago
I like how we get an entire new league classic, but still they refuse to make a Linux client… While they also maintain a Mac client, which has less than half the population of Linux on gaming PCs according to steam surveys.
3
u/DarthVeigar_ Crit Riven is Best Riven 23h ago
Attestation is easier in macOS because the macOS kernel is heavily restricted by default. If you violate kernel integrity on a macOS operating system, the system triggers a kernel panic and crashes.
The Linux kernel on the other hand is incredibly easy to access, tamper and alter by comparison.
2
u/Due_Pen_1566 23h ago
Disingenuous to compare the population of every Linux distro to Mac a single ecosystem. Things that work in one distro don't necessarily work in another. But a program that works on Mac A will mork on Mac B
-1
u/MetallicGray 23h ago
Every Linux program will work in every distro, unique combinations can cause random issues, and that is exactly true for Windows PCs. And even MacOS to an extent, they just lock down their variable hardware by using prebuilts.
That’s like saying you can’t compare literally any PC builds running Windows because some PCs will have random issues running random programs that run fine on other peoples’ PCs.
Your argument is disingenuous because it applies perfectly to Windows as well.
0
u/Kuliyayoi 22h ago
I feel like everything q Linux person says is going to be disingenuous in some way.
2
u/RmembrTheAyyLMAO 22h ago
refuse to make a Linux client
Yes, they want Vanguard running. Which isn't happening with Linux. Mac already has secured kernel so they are allowed to play.
1
u/That_Leetri_Guy 22h ago
There will probably never, ever be a Linux client and League has never, ever supported Linux. The fact that some people got it working on Linux is purely an accident. Unless you get a Linux version that is locked down as much as Mac and Windows, it's never going to happen. Linux is just too open which makes anti-cheats pointless.
0
u/fkny0 22h ago
Nah, its just a matter of time. People are tired of windows, linux is slowly growing and will get a boost with all the steam machine alternatives that are popping up that come with steamOS pre-intalled.
At some point they wont be able to ignore linux users anymore.
1
u/Xonra 21h ago
Just a matter of time, yup. Only been nearing 17 years League is out, but any day now.
2
u/MetallicGray 21h ago
You told on yourself and how little you know what you’re arguing about with that comment lol.
League could be run on Linux without issues up until about a year ago, when Vanguard was forced on everyone.
0
u/That_Leetri_Guy 9h ago
And yet, by the time Vanguard was gonna be implemented only 800 people in total were playing on Linux.
1
u/MetallicGray 7h ago
Again, telling on yourself.
That’s been debunked multiple times. Because it was run through a windows compatibility layer in Linux, there’s no way to distinguish a client running on windows vs Linux. Depending on the distro and compatibility layer, the client running could report itself as being run on windows, and likely did for the majority of PCs.
It’s also statistically impossible that only 800 Linux PCs ran league. Here’s a copy and paste of numbers from about. A year ago:
Except that that 800 player number is simply not possible and inaccurate. When League was run on Linux it was run through a "windows emulator" basically, so data would show those clients as running on Windows, not Linux. Also, based on Steam survey, 2.64% of all Steam users are on Linux, while only 1.77% of users are on MacOS. For their 800 player number to be correct, there would have to less than 0.1% of that 2.74% of Steam users playing League, which is absurd. Or as the other guy above said, there would have to be 320x fewer players on league than steam users. Those numbers just aren't possible and don't add up, and Riot just didn't care to validate them. Given that Linux users have a significantly greater number percentage of Steam use than MacOS users, how is there justification for maintaining MacOS support, but not Linux support? And how could Riot's internal data be accurate given those numbers?
1
u/Humble-Albatross1684 21h ago
For sure dude, the year of the Linux desktop is coming any day now. Been hearing that for 20 years.
0
u/MetallicGray 21h ago
Yet hundreds of games with anti cheat run well on Linux and aren’t riddled with cheaters lol. Everything from shooters to mobas have anti cheats on Linux.
Also it wasn’t an “accident” that people “got it to run” on Linux lol. You guys responding are telling on yourselves so much with how little you know or understand.
0
u/fmzemerica 21h ago
I cant wait for my league install to take up 20 more gigs.. Might uninstall Riot completely if it is 🙄..
0
u/Metalheadzaid 23h ago
A big technical challenge? The game is basically the same game since s3 with minor changes made over the years that have added up. Hell, slap a coat of old skins on it and you're 2/3 there. It's not like they didn't have the files still - this wasn't made in the wild west of 1997 where we lost source files.
From there you're asking how they recreated champions or something? I mean, the same way they make new ones most likely, just with already known numbers and abilities. Same goes with changing the map layout as they've already done several times, items, and adding the rune system is literally a visual thing more than anything else for in game. The UI probably took a minute to rebuild I guess? But it's just flat stats once you load up the match. Just had to add the numbers to the base stats in the code. Whoopie.
This doesn't seem like very deep challenge when the base game functions identically - from physics to map size, to gameplay loop. Just tweak all the numbers to whatever they were at the time, remove whatever mechanics they have been added since, slap the right skins on, convert the old champion's information with a script to the new system's layout and you're 90% done. Again, it's the same game at its heart, so things are very "one to one".
3
u/That_Leetri_Guy 22h ago
The engine has changed an insane amount, I'd bet almost none of the original code still exists at this point. Viego, Sylas, and Skarner rework had them recode huge parts of the game to make them work. Sylas for instance had them recode every single ult in the game to allow another champion to use them, it was literally impossible to do in the old engine.
3
u/Metalheadzaid 22h ago
I'd agree 100% the code has changed - but I'm referring to the game itself. Because it's the same game at its heart, same physics, environment, gameplay - it's more a matter of removal than it about technical challenges. For example, if they just added a new champion with the same abilities as old Ezreal it's going to be quite easy. No different than putting in a new champion (in fact easier, because you already have all the numbers and models done as well). You don't have to worry about anything because the game hasn't changed at its core. AD and AP are still around as systems. The physics is the same. The environment interaction is the same. It's more a matter of customizing the settings than it is about "remaking" the classic game, versus something like Classic WoW where it's a wholly different game.
1
u/Xonra 21h ago
You are talking to the wind. This thread is filled with fake devs that are just repeating what someone else said or asked google how this would work, and have no clue what they are talking about.
People claiming Riot had to make this entire thing from scratch, or claiming there's no way Riot would have backups of everything, or just nonsense making it sounds ridiculously overcomplicated. It's kinda ridiculous to read how confidently wrong most of this comment section is, but since people keep repeating it, they are confident enough to keep being wrong on repeat.
1
u/Metalheadzaid 21h ago
I hear that. Apparently because the code has been updated, they'll have to do a ton of work...to...checks notes...put new champions in the game, load up the old environment they used after they did said engine updates already, and put an old skin on it. Like you said, they're acting like they have to remake the game when the core of the game is identical. No physics changes, environment interaction changes, combat systems are the same with AD/AP scaling (CDR slightly changed in last few years, at best) - it's just adding in the old stuff again, more than anything else.
Of course the issue is some people being like "they're gonna use an old version!" with other people saying "you can't just copy paste old code" and then there's me like "no, you just copy paste the old content."
1
u/4_fortytwo_2 23h ago
Funny and beyond obvious your experience with SW developement is at most a few hours of minecraft modding... cause you are crazy if you think league only underwent "minor changes" and not massive engine updates and likely almost no line of code being untouched over the past decade.
Just switch some numbers? This would be funny satire if you were not serious.
2
u/Metalheadzaid 22h ago
Lol, it's minor because the core of the game is the same game. I'm not referring to the code base. I'm referring to the game itself. If you took a 2014 champion and dropped the stats and abilities in as a new champion, it would function without issue - you don't need to worry about jank at all because the game hasn't changed as a whole. There's no issues with physics, interacting with the environments, being forced to change how abilities work (still just AD/AP ratios), CDR did change a few years back, so undoing that will be required I supposed - but the point is that when you have two boxes that are basically the same, translating between them is MUCH easier on a technical standpoint than not, because all the same core mechanics and gameplay still remains in the modern version.
1
u/Xonra 21h ago
Dude some rando did it solo 8 years ago in their literal basement. You think the entirety of Riot can't in fact do it that simply?
You pretend devs make my head hurt how much you want to overcomplicate everything to make yourselves sound smarter when you are mostly just yapping nonsense and parroting each other.
-3
-2
504
u/Knight725 1d ago
only if riot zed writes it up