Just learned this yesterday while watching this post’s author’s youtube series where he’s decompiling the game. https://www.youtube.com/watch?v=MToTEqoVv3I
I remember reading a blog post describing similar compatibility patches in Windows, writing something in the line of:
Whenever you start an exe on windows, the OS must first ask itself the good old question of “Am I running Lego Island”
What is it about Lego Island? It feels like there’s always something new being discovered with that game.
From my understanding, it was created by a very passionate team who had to make what turned out to be a very ambitious game from scratch (no game engine to pull from) with very limited hardware.
They even had to invent their own audio compression algorithm to fit the game’s soundtracks on the disc.
I knew graphics card developers and Microsoft did workarounds to fix gamedev’s bugs, but I didn’t knew it was a thing that early.
That is so funny to me. Imagine how the devs felt to know their game was so notable to get a windows compatibility just for them.
It’s basically the “secret” behind Windows compatibility and part of the reason ReactOS takes so long to develop.
Makes sense, graphics card manufacturers often implement patches for specific poorly-programmed games. Proton does the same thing in Linux.
Does it? My understanding was that it would basically just map Windows calls to Linux calls. As it doesn’t yet cover everything under all conditions, there may be situations where the Proton devs have to add something in order to properly support a certain game, but that’s not because that game is doing something wrong, but just because those were the particular gaps in Proton’s functionality that happened to affect this game.
Does it? My understanding was that it would basically just map Windows calls to Linux calls.
That’s what Wine does. Proton is built on top of Wine and has lots of patches to make various games work better (or at all)