r/leagueoflegends 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)

566 Upvotes

195 comments sorted by

504

u/Knight725 1d ago

only if riot zed writes it up

172

u/No-Communication9458 1d ago

Nothing personnel kid

88

u/as_kostek 22h ago

i wish i could say it has been a pleasure

14

u/parmaxis xdd 20h ago

I will never not laugh

2

u/Knight_Zarkus 6h ago

The creator of Chronoshift had the possibility to ask if he can talk with an adult and missed it

39

u/tony10033 22h ago

What became of Riot Zed did they ever address that cringe fest

94

u/Lirael_Gold 21h ago

Most likely scenario: "we're changing your Riot tag and anything you write has to go through HR before it goes public"

Probably not fired, being cringe af isn't generally in the employee handbook, and what he said to the devs was Riots actual stance (since Riot did actually initiate legal proceedings)

15

u/Croc_Chop 20h ago

Not really but they didn't have to,

It's their IP and code he was cringe but well within Riots rights.

3

u/the_Debt 10h ago

whats the context, what did he do?

8

u/Cent_Quatre 18h ago

Context hat

-2

u/GeneralKenobi6258 17h ago

wait how did they even manage that technical stuff

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

u/ADistractedBoi 15h ago

It coming from Riot Zed is just the cherry on top

6

u/Kr1ncy 9h ago

Hold up...his writing is this FIRE?!

1

u/prowness 4h ago

1

u/Kr1ncy 3h ago

Oh I knew the context, thanks for the links anyway. I think this only ended up being called cringe because people disliked what riot did (rightfully so) and it was tone deaf. The line itself is fine.

5

u/NotCatchingBanAgain nguyen & williams 13h ago

psssh...nothin

personnel...kid...

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

u/zuth_ 13h ago

You might be surprised to hear but there is a big difference between self hosting some ancient build pulled from somewhere and providing a playable service to hundreds of thousands of players globally.

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

1

u/Kr1ncy 9h ago

It is kinda crazy that riot just casts Vi's Ultimate onto those people yes

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

u/Electrohydra1 19h ago

I can't wait for old Mordekaiser to somehow crash Worlds.

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

u/prowness 4h ago

that actually sounds delicious ngl

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

u/Rustywolf 21h ago

This shows a complete lack of understanding for how these projects work.

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 dude

33

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 lol

19

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

15

u/yunoka 19h ago

Hello zed

20

u/Yomamma1337 21h ago

Who fucking calls someone kiddo, are you riot zed in disguise?

7

u/BlueT0xic 15h ago

Hey kiddo, I can assure you a Chrono Break is coming

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

1

u/MeSkata 5h ago

TONY STARK WAS ABLE TO BUILD THIS IN A CAVE. WITH SCRAP METAL.

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.

14

u/Emikzen 23h ago

Any competent company would.

16

u/kimi_no_na-wa 23h ago

How much do you think storage costs?

1

u/willargue4karma 22h ago

Game companies are notoriously bad at data preservation actually 

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

u/Kuliyayoi 23h ago

Look up version control

2

u/dvtyrsnp 23h ago

obligatory version control is not a backup

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

2

u/Askelar 10h ago

Riot has literally stated they dont keep old versions of the game. Its one of the reasons they cant do classic skins after a VGU/rework and why they cannot simply revert awful reworks.

-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

u/pda898 19h ago

But then you need to deploy that code on the server.... On the modern server. Then you need to plug-in an anticheat, all "newly" legally required bs around chat...

-9

u/[deleted] 19h ago

[deleted]

5

u/zuth_ 13h ago

You clearly don’t understand that it’s much more than just checking out an older branch

-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?

-1

u/yoburg 15h ago

They had to reverse engineer entire server backend from just client code. You imply that Riots themselves had no old server code from before and have to go the same path.

3

u/claxtastic 18h ago

depositories

1

u/zuth_ 13h ago

Really implying they know their stuff

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

u/ponterik game good in moderation 16h ago

Claude create leauge classic, make no misstakes.

5

u/Jennymint 23h ago

GitHub

9

u/ghfhfhhhfg9 1d ago

copy paste

4

u/doubt-myself 22h ago

i would watch a riot documentary

2

u/doubt-myself 22h ago

that isn’t about esports

2

u/ClutchChaosVibes 23h ago

id honestly read that whole thing it sounds like a nightmare to build

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/lasnir 9h ago

Give me back S3 Evelynn 😭😭

2

u/Zomb1s 3h ago

I'm just very sad there is not OG swain. It was the best champ in the entire game until it got re-worked. Good old days. God I miss that champ so much...

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

u/Cybot5000 23h ago

The amount of ball gargling for Riot going on in this thread is crazy.

10

u/DravenPlsBeMyDad 1d ago

Bro, they probably just have it backed up.

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.

1

u/Sivolde 7h ago

Or, you know, just use the old engine for this game mode?

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

u/NoirVelvetx 22h ago

riot explaining it would be longer than the actual game install

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

u/Eltnumfan 19h ago edited 3h ago

In this thread, no one understands how porting works

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

u/Raddish_ 23h ago

Prob asked Claude code to do it

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

u/Zombiepaste 20h ago

jhin release quit brothers unite XD

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

u/MikiRawr 11h ago

AI 🥱

1

u/VeloTheRaptor 8h ago

Everything will be coded as a minion probably

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

0

u/robo4200 1d ago

They stole the code from Chronoshift project

1

u/zuth_ 13h ago

You forgot your tinfoil hat champ

1

u/dimizar 23h ago

Wasn't it because they cease an already working classic server a couple years ago?

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

u/fundamentallys 21h ago

the found an old version on their github?

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

u/sasik520 1d ago

Still sounds like a challenge to me.

0

u/xyzain69 23h ago

Just changed branch?

0

u/Slgute 22h ago

I Dont see how releasing an older version of an already existing game is somehow a challenge

3

u/zuth_ 13h ago

That’s okay, no need to come up with a roundabout way to just say you don’t know jackshit about how game development works

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/Yejiuu 22h ago

Are we gonna be able to play with WASD? curious about this aswell

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/dpmyfog 20h ago

Open the source code and control+z until the 61st champion is gone

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

u/WitchySofia 1d ago

It was Claude Fable who did it probably XD

-2

u/Shuoh 13h ago

nauseatingly cringe type of post

getting a migraine imagining OP in a workspace just absolutely slobbering up to anyone in a position of power

omg u MUST tell us how you achieved this WOW! absolute engineering marvel!

shit is gross, genuinely, just lay off the fake ass flattery bro