I did this with OpenJKDF2 and it was... more straightforward than I anticipated? but it's a great way to find all of your undefined behavior, WASM really hates undefined behavior
@@RockDog-vc2bj yeah but silent ub is terrible. cases where it's allowed must be documented and the user should explicitly opt in into potentially unsafe and ub operations/optimizations, instead of avoiding them like on a minefield
This is exactly the kind of stuff I want to exist on youtube, high quality edited videos about unbelievably niche stuff that nobody would have ever talked about otherwise
I never realized lego island had less than an hour of content. I sunk hours if not days into it just because I enjoyed walking around and interacting with stuff, now and as a kid. It was so fun and cute. Hopefully we can see a browser version of this or something with the decompilation.
Don't think you even need a decomp for a browser version, old versions of Windows are light enough for the browser(with wasm), just nobody stuck those 2 pieces together yet.
@@skipfred what I mean is a wasm version of virtual box, combine that with a Windows XP ISO and a Lego island ISO for a browser version of Lego island. Edit: found a win 98 vm that runs in the browser, so the tech exists
as someone with 0 experience in coding but a lot of experience in baking, the analogy of un-baking a cake with an un-oven helped me understand perfectly how decompiling works
I honestly think Lego Island is a perfect canidate for decompilation. Like the game is such a shotgun blast of random assets that also have a simple structure (Like character animations are simple lego pieces) That there is so much that could be modded into it and changed. Perfect template that only certain early 3d games offer.
It’s up to the community how far it will go. People have managed to decompile the SWFs for Castle Crashers and mod it with basically no limits, but it has such a small modding scene with such big potential.
The Win.INI reference code was probably there because that was the method the programmer was used to and used it to test initial execution before porting over to using the registry. It would enable the proof of some concepts before implementing how the program saved settings, which wouldn't change what the program did. Once ported over they probably initially kept the Win.INI code as a backup incase something went wrong and then probably just forgot to remove it.
Honestly, nothing is more charming than seeing the labor of love put into something that probably had no expectation of being great. It’s kind of melancholic to see, actually. So I’m glad the devs are getting the notice that they deserve now
“That Lego Island Fix” in Xp makes me think they were essentially using Lego Island as one of their comparability benchmarks during XP development and some quirk of Lego Island became one devs personal quest to fix
I don't know about today, but back in the day Microsoft used to run a big software compatibility lab to make sure most of the software that ran on previous versions of Windows would run on the next version. I think they've outsourced a lot of that to the "Report this app crash to Microsoft" part of Windows today, but they genuinely put a lot of effort into it.
@@adamsfusion my stepdad was on this team at Dell. It was WindowsNT then Windows2000 then finally XP. They used major partner teams to feedback bugs and stuff for enterprise and consumer packages. So for example all the bloatware you got on a HP or Dell had to work. I still have his “I ran the bug race on WindowsXP” t-shirt where all partners had a challenge and prizes on who could find the worst/biggest bugs in the 2 weeks before launch..
the 200 frame delay may also be a form of "compression", those seconds of black screen look a lot nicer then the game just playing the default intro movie at the start, it is basically an establishing shot for almost no storage cost and reduces the total media streaming demand at start up.
Maybe that was because windows can draw asynchronously from the game, so on slower computers you could not see the beginning of the intro cutscene while the window draws
@@shadesoftime I can also imaging that some CRTs and Graphics Cards did some "glitching"/"flickering"/... when switching to full screen, before getting a proper resync. Waiting 200 frames is plenty to resync and making sure the the intro play "perfectly".
@@sarowie I was thinking that, too. In my experience CRT monitors _usually_ switch considerably faster than LCD ones. There are exceptions, my A90f+ sometimes likes to degauss when switching modes.. If it does it will take a few seconds for time image to be stable.
Finally, I can (eventually) add raytracing to a game I literally didn't know about until this guy took an immense amount of effort importing custom music into this game.
Considering how useful the fast inverse square root function from quake 3 was, I really wonder how much treasure is hidden in old games like this. I have a feeling you'll find some pretty impressive optimizations in there!
This has me excited for 2 reasons. Firstly a decomp like this will make getting this game running on basically anything a cinch. And second, once we have the source code, that opens this game up for some incredible mods. It would completely eliminate most limits and allow for absolutely massive Lego themed games. I imagine once this is done we will see someone start working on a "Lego city" expansion. You could even add loads of new mini games.
@startedtech Maybe he did, or maybe it was just a part of the job. To this day, Worms Armageddon has compatibility fixes that the latest version of the game has to specifically disable due to no longer applying.
They literally specifically did that a lot, apparently. One commonly shared tale was that a Windows dev was given the task of going to a computer store, take a cart to the software aisle, _run down the aisle with their arms out,_ and whatever software products got knocked into the cart, they would buy them and take them to work to test and see what dumb shit the program was doing that they'd have to put in workarounds for.
I think the reason you're typecast as the lego island guy is because your lego island videos showcase such a wide variety of techniques in dealing with binaries and stuff.. amazing content, and i honestly dont know of i prefer them or the hardware videos more (okay probably the hardware videos because it's just so refreshing compared to todays systems to be able to work on hardware at the component level but its very close)
What's fascinating is that glitches such as the exit glitch also happened on Windows 95, I distinctly remember major glitches with the Infomaniac hub and the voice tracks happening on my new copy when I was 5.
can't wait for MattKC to be hired by Nightdive and Lego gives him permission to rewrite Lego Island in the KEX Engine and soon we will have Lego Island Remastered HD 4K Edition
I've been really curious about decompilation. It always seemed like a black box where people take compiled code and out pops source code but no one explains how it gets there. I had my own ideas what happens in between but I constantly felt like an outsider looking in where it was a secret art only known to those with true mettle.
yeah lol, like those guys at power plants that just stare at giant blocks of machine code and go "oh yes i know exactly what is happening at all times"
As someone doing a bit of decompiling sometimes, you just kinda learn it on your own. Sure, you may find tutorials on how to use Ghidra or IDA Pro, but a lot of specifics require an intuition that's hard to really explain (or maybe I just suck at explaining). When I first started decompiling some executables, what initially carried me was the fact that I already knew x86 assembly, some details on what compilers tend to do, various low level tricks, and how programming is typically done in general. Afterwards I painfully crawled through all the various functions and slowly picked things up. It's a very high bar to clear, and I still absolutely suck at it, despite having probably a low few hundred hours of experience with that.
I wonder if the community could one day create the expansion packs the original devs had envisioned. Great vid about a topic I'm very much trying and failing to get into myself (reverse engineering\decompilation), it had lot's of interesting stuff. Thanks!
Maybe this guy can finally explain why when I spammed the zero key on the number pad, I'd start seeing characters flashing in front of me and sometimes I'd be able to break free of the roads.
as an amateur reverse engineer myself, i wanna say that this video is _great_ as an intro to RE, and you managed to describe it in an entertaining form rather than like a boring wikipedia article or smth
@MyScorpion42 @windows1.0 idrk how to help you i myself just kinda downloaded ghidra like 1-2 years ago and started just.. doing stuff and slowly learning it mostly by myself and some stuff with the help of other people from the geometry dash modding community
How dare you shatter the delicate and precious dream that I held close to my heart that good old St. Nicholas was the giver of joy and presents every Christmas, Mr. Lego Island guy. I will never forgive you for ruining a part of my soul and devastating me for the rest of my life.
I relate to the "enjoying things in a different way as I grow older" part. I still care about the same games, I'm just more interested in the technical aspects and toying around with those rather than playing the game itself. Plus you learn to appreciate the work of the people behind it a lot more.
Lovely project! Having worked on related projects myself (like OpenRCT2), I can say it’s a wonderful feeling getting to really understand what makes the game tick. All the best!
In the FromSoft modding community, we refer to it as "documenting", rather than decompilation, as you're basically documenting the structs, function params and local variable names, so that the decompiler can spit out a better analysis.
The decompilation part is actually the writing of new code that does the same as what the finished game does (functional equivalency) or in some cases, like sm64 decomp, the new code compiles to the same binary (matching binary). The part where you name stuff in [NAME_OF_PROGRAM] is just reverse engineering or documentation, as you said. The sm64 people went beyond just functional equivalency and wanted full byte-for-byte match, which is harder, but still a decompilation.
@Nordgaren I mean, I think they actually did do a pretty good job at reading? They added more context and examples of what is decomp and when they reiterated what you said they literally went "as you said." Just because someone expands on something with additional info doesn't mean they're just repeating the original thing.
Okay, but no joke, your videos on investigating and improving this game are probably the biggest reason I'm still programming. I got so frustrated trying to learn how to code, but your videos made me want to dive into aomething like this. Then along came Vampire Survivors, written in javascript with only mild obfuscation. Once I realized all the variable names are still there in the form of a hexadecimal number gets messed with and gets turned into an index in a list of token/symbol names, I wrote some lua and modded the game primarily with lua's weird form of regex. I've switched to python and c# by now, but I knew enough lua from GMod to know kinda what to look up online and the rest was learning from other peoples questions. Im very happy to see more of this stuff. It scratches an itch ive been unable to reach since your last one. The music upgrade thing was just inspirational.
The decompiler is probably a bonus from the sketchier things they did, wonder why a security agency would need a program to look very deeply into the inner workings of programs...🤔
Oh man... don't tell me... This project could *possibly* lead to the eventual existence of a version that runs on the Nintendo Wii, right?? Matt, stop entertaining my mind's inner fantasies, it's too dangerous...
I haven't even started watching yet, I just want to say I love this as a premise already; thank you for your absurd dedication to both tech and shitposting
@@NextLevelCode I think Matt said it does primarily CPU calls and I'm not really sure if RTX Remix can work with them. If the graphics are transferred to sth like D3D or DX, it would probably work.
Personally I’m really happy to see you undertake a project like this! Decomps are pretty much the only way to truly preserve old games and it would open up the door to fixes and optimizations which make it more accessible for modern standards. Best of luck and I’m definitely looking forward to more updates on it!
Ah man, I remember that game.. I remember feeling the world be so open with the island being free to explore, and I kept going to the control tower again and again and again because as a little kid, I kept expecting the right sequence of events to suddenly open up new content. Like messing with it would make new buildings appear with more characters to interact with, or an extended part of the island rise from the sea with a new minigame or two.
I think I know what you mean. Half the allure as a kid was my imagination running wild. I knew it was a simple "game" even at the time, but friends and I would excitedly discuss the secrets we thought there must be. The one I recall was something to do with the garage and taking a rocket into space. I played LI2 as well when I was a little older, and it still has charm (and actually qualifies as a game), but not to the degree the original has. I reckon that's because it's so bare bones that it's almost a blank canvas, especially to five-year-olds with wild imaginations. The only other thing like it in that sense that I can think of is Pokémon ("if you don't beat Team Rocket at this part, you actually join them!")
At this point with all the attention it's gotten, I'm half surprised Lego/Mindscape doesn't just release the source code. Like what do they have to lose?
Does Mindscape still exist? A lot of companies, Blizzard included, have lost the source code to a lot of things in the intervening years. IIRC, Blizzard had to reach out to the community to get their hands on the original assets for StarCraft, when they wanted to start working on the remaster
If the game has any third party (licensed) code in it, it's probably near on impossible to acquire the necessary permission to do so so many years after.
Kudos on taking on a project of that scale. I spent ten years digging through the binary bowels of the Win95 version of Command & Conquer 1, for the purpose of patching, but since I'm honestly better as ASM than I am at C++, I left it at that. Some friends in our community did start decompiling it, and were making quite some progress on that, until EA messed up that project in the most unexpected way possible: by releasing the source code. This both gave everyone exactly what they wanted, and threw months of hard work straight into the trash, so you can imagine some people had some very complicated feelings when that happened. Though, the released code was for the purpose of modding the remastered version, and some pieces that were irrelevant to the remaster were missing, so in the end, not _all_ the work was wasted :) (The missing bits were not deliberately left out, though. They were mostly I/O handling and video/audio decoding, and they were apparently not recovered when they found the source code simply because they were managed in different repositories. The I/O stuff was most likely split off because it was different between the DOS and Windows versions, and the media handling stuff was also used in other video and audio player apps, like rolling video demo discs.)
I'm just happy there are people out there decompiling old software and fixing it in the process. Your channel is what I would do as a hobby if I didn't have video games, or a job... and by that I mean I love your lego island channel
i've been hoping for this ever since i saw those original videos. would be neat to have as a base for, perhaps, custom mods that do entirely different things but want to have a similar look and feel
if in doubt: live stream and put up the live stream recording on a secondary channels. For a creator, creating a video takes a lot of overhead. Setting it up as a "live stream" or "recorded presentation" fixes the mind set of having to do editing and "a good job": Flaws are flaws - it is a live stream. Putting it on a secondary channels avoids polluting the main channel.
This project seems incredibly cool, I can't wait to see more! If this ever finishes I am excited to see what crazy consoles Lego Island is ported to. I'm especially hoping that the Wii gets Lego Island ported to it.
The pure insanity of this strikes me as ending up as the next "it runs DOOM ". Like, beyond just porting it to every machine out there, the sheer potentials of this as a codebase for further modification are fascinating.
I don't know why but I really liked the original Lego island videos, watched them at least three times each at this point. Fascinating for some reason I can't quite put my finger on.
Keep going - even if some don't really like Lego Island (and, I for one do, even though it's old and I haven't played it for years), the technical aspect of reverse engineering it and maybe even recompiling it eventually (with bug fixes, of course) and porting to other platforms is really interesting. Maybe the project could end up turning into something like OpenRCT2.
I followed the SM64 and OoT decomp projects closely. I was a comp sci major back in the day, but my career path went much away from that foundation. Those projects were teams of people working over years. I applaud your determination as one person to undergo such a task. Enjoy the over easy eggs dripping out of your ears as you work.
I grew up on Lego Island 2 but there was still something special about it. I actually fully get your fascination with this game, especially with how early on it was.
I've thought about how cool a decompilation of this game would be. I should have known you would be the one to do it! Thank you for your efforts, Matt!
Neat project. I was pretty nostalgic for this game. I remember poking around with the SI format too. I never properly figured it out 100% though. Only enough to pluck out data, but there were plenty of unknowns which would prevent me being able to pack everything back up. Look forward to what can be done with this game given time. It would've been neat if they were open with their tools and stuff because I would've loved modding this game as a kid, even if it would've just been like, changing the colors of things or drawing PPs on things. Definitely will be following this.
I now recall a Lego game from my childhood. Or actually two. The second being a Gameboy Advanced game - Lego Island something. And you could shoot pizzas. I have the audio effects ingrained in my ear. I also think that the save game by step brother had was soft locked... The game I played, was on my mom's laptop. It wasn't an island, but it was 3D and it had some pieces of building a city too. I think you could even setup NPC routes and destructively crash into the police tower... I believe the CD is still somewhere upstairs.
It's how I started watching your stuff. Saw a game I loved as a child, watched a bunch of your other stuff, and even caught a live stream and drunkenly amused myself with the broken donate button. I kind of forgot about this part of your channel. All good stuff, thanks for putting it together
Good luck man. Success or not you'll learn a ton and provide information about the game to anyone who's also interested. Also not a lot of people document their decompilation processes so this is something I'm looking forward to following.
I for one loved Lego Island as a kid, and as a software engineer now this series is super interesting and right up my alley! Looking forward to part 2 :D
I didn't understand a word of this, but I was excited to watch and am invested because I haven't been able to play this game since the early 00's and I miss it.
13:09 "I made the decision not to bore you with every technical detail" THAT'S EXACTLY WHAT WE WANTED FROM THE VERY START YOU FOOL 🤣🤣please give us the uncut 4 hour version
I’ve got a few discs from a Mindscapes dev a few years back with some Lego Island assets on it. I’m unsure if it’s dumped but it has readable source code on it. I’ll have to find them since they’re up in storage (very secure and protected)
This is comical to me. Lego Island was a favourite of mine as a child. Its inhabitants were like friends to me back then. I still have my big box copy, and a second back up big box I picked up at a bootsale. Great to see this niche title still getting attention.
Good luck with this. I've been working on decompiling a few functions which are missing from the source code to the somewhat obscure RTS game from 1996 Enemy Nations. Windward Studios, the developer, released the source. However, it's both incomplete, and relies on... Smartheap lol. Incidentally it also uses the program specific ini functions for accessing settings. I will say I appreciate that windows is nice enough to just reroute those to registry keys automatically for you. Given both of these games are of similar times my guess is that Lego Island started development targeting windows 3.1 before. ENations has a lot of code that assumes it may be running under DOS and/or win3.1, which as far as I'm aware is simply not possible. But it has code for mixing 16 and 32 bit threads, supports both WinG and DirectDraw, and so-on. There have been no successful projects to modernize and/or revive the game so far. I've managed to compile the game and make it to the main menu, but unfortunately some of the missing functions are rendering related and cause the game to crash before actually making it into the game proper. All of this is to say that even with the source code to cross reference, reverse engineering the game has been a slow and painful process and I still haven't recovered much of the missing code yet. I don't want to imagine how awful it is when you've got almost nothing to go on.
I've always wanted to do this with Nicktoons Racing. There's all kinds of neat things hidden away in the code of the EXE like references to Nascar Racers (developed at the same time by the same people) and an editor of some kind, even a -nocddebug launch string which is disabled somehow.. this inspires me to go back to it using Ghidra even though i know i won't get anywhere with it
God, I love your videos. Lego Island was my first ever PC video game and I poured thousands of hours into it. Your videos give me such a comforting sense of nostalgia.
Hes back and its about time , love the vids , enjoy your type of humour too , for the past 6 months have been catching up slowly with the histroy of the channel , please keep it up , you do great content 😀
This ticks all the right boxes in my book. It's completely unnecessary but oh so fascinating to see what you might find hidden away (that teaser was begging for more!). Hope you'll keep the videos coming!
Something I’ve learned while decompiling brawl: if they have RTTI (runtime type information), figure out how the vtables (basically lookup tables that classes use to find where their methods are located) work and use that to your advantage. Brawl happens to have lots of strings that match the original name of various classes, making it very easy to find out what vtable corresponded to what :D Also, ghidra by-default represents strings with “s_stringContentHere” - so if ya double click on them you can find where they’re used throughout the code in the form of XREFs. That kinda thing is SUPER useful too :3 Furthermore, if they’re using class-based systems there’s often a standard way the compiler will initialize subclasses and the like. Some compilers also use a function mangling scheme that can appear to operate some C++ things like basic operations.l (chances are there’s documentation for it out there SOMEWHERE though - so at least in my case I gotta pay close attention to anything like “__[oneOrTwoLetterNameHere]” like “__ct”)
Would be super interested to hear how you decompiled the textures. Alot have some sort of encryption and breaking that is something I'm stuck on in my own projects.
Are you talking about lego island or something else? Have you tried asking for help in reverse engineering or CTF communities? They might be able to help.
Really appreciate the way you go into the history of how it "used" to work and talk about of what kinds of mistakes where made. I'm currently studying to become a data-engineer and it just amazes me that your video is so educational, you've earned my sub :)
It's so fascinating to me that you found out things about Windows, like code in WinXP to help with Lego Island, and that older versions of Windows may not have been 100% compliant with the title bar creations in FullScreen. I'm a security nerd and I hope I have time to decompile and mod stuff one day, PLUS Lego Island is a huge nostalgia core memory for me.
Im not sure I can say I'm fascinated by it but I am interested in how developers managed to optimize their games to run on the hardware of yesterday, especially considering that optimization seems to be becoming a lost art in the modern day.
lately I've been a huge enjoyer of emulation and decomps..I set up Jak & Daxter as native PC port today and I'm really curious to see where this journey will lead. increased framerate or draw distance for example. Who knows, maybe some smart psychopath implements Ray Tracing on Lego Island
This game has a soft spot in my heart. I got it as a kid for Christmas and I remember finding out it required too much for my family computer to play and I was sad about it. Fortunately we upgraded a year later and I finally got to play it and I remember playing a lot of it lol.
I wonder if its now possible to use GPT4 to decompile binaries. I used AI to optimize my code, change variable names, generate structs etc. And it handled that well.
Would be sick to have a custom built ai for decompiling programs. Even if it got only thirty percent of the way it would do so much to open up software for the common good.
This is incredibly ambitious and as someone who loved playing this game as a kid and watched all your other lego island video - i have to say im very excited for more updates. A good part of me is preparing for disappointment cause i think it would be crazy if you pulled it off before getting bored or busy and leaving it indefinitely. However, I choose to believe and cheer you on - I really hope something comes out of it - at least a few more videos and really cool takes from what you found. Thank you for keeping this game alive an interesting even after completely destructuring it as you did before. Somehow I dont mind revisiting it especially in this technical sense. I too was throughly impressed by this game for its time. I would honestly really love to find someone who worked on this game to speak with them.
Honestly, a decomp of this game would instantly bring new life. Imagine the possibilities when suddenly you have access to what is essentially source code for an old game with wierd systems - Perhaps people will find ways to change it up so that it uses modern formatting and systems! Then the graphics could be overhauled so they look much more modern - This is a huge step for this game and I really hope this gets done soon.
You know what's crazy? I was just thinking about this game the other day. To this day, I still feel like there's a massive easter egg in this game that no one's found yet. I don't know why I feel that way, I just do.
FWIW, I'm pretty shocked that so many people are mad (or seem to be mad) about you making Lego Island content. Like, I'm not that interested in Lego Island specifically as a game, but I'm definitely super interested in software engineering.
Lego Island.... Yeah, I think i'll pass on this video.
fr this man is too obsessed with it, ima unsubscribe cuz of that
w comment
never heard of it till he made videos of it. But love the videos.
@@bb_bb_ Same
@@PGold3 Oh grow up. 🙄
Oh sweet, a new upload from the Lego Island guy
How
Wait, that guy who's obsessed with Lego island? Fr?
@@neutrallimeyt patrons get early access to videos
Ok, now I get it.
he's so lego-islandy. and such a guy.
A legitimate use case for the decompiled source code (when it's done) is to recompile it to WASM so that Lego Island could be played in a browser.
I did this with OpenJKDF2 and it was... more straightforward than I anticipated? but it's a great way to find all of your undefined behavior, WASM really hates undefined behavior
Today I learned WebAssembly exists, nice.
@@ShinyQuagsire -imagine using a language that allows undefined behavior-
@@v0xl nothing is wrong with that
@@RockDog-vc2bj yeah but silent ub is terrible. cases where it's allowed must be documented and the user should explicitly opt in into potentially unsafe and ub operations/optimizations, instead of avoiding them like on a minefield
The obvious thing to do is to port LEGO Island to Xbox, combining this channel's 2 big themes.
I think he'll do it for the I Mac G3, combining a different 2 themes of this channel.
port it to an Xbox emulator running on a copy of Windows 98 running on an iMac G3
@@inthegrass11 STOP
@Pink Nintendo DS Lite running on a vm forwarded to a montier inside of halo
jesus-box + lego island, the perfect combo
This is exactly the kind of stuff I want to exist on youtube, high quality edited videos about unbelievably niche stuff that nobody would have ever talked about otherwise
YES
Technology Connections, Cathode Ray Dude, Techmoan, The8BitGuy, Dankpods, Tom Scott, all wonderful channels.
@@The_Forge_MasterI've found my people. Micheal mjd is also a good one
@@The_Forge_Master dankpods is incredibly annoying when he puts on that voice, but when he doesnt it's just nice
@@The_Forge_Master Photonicinduction comes to mind.
I never realized lego island had less than an hour of content. I sunk hours if not days into it just because I enjoyed walking around and interacting with stuff, now and as a kid. It was so fun and cute.
Hopefully we can see a browser version of this or something with the decompilation.
same! I almost want to dig up the buried cd just to see if it really only takes me 30 minutes to complete the whole thing 😂
Don't think you even need a decomp for a browser version, old versions of Windows are light enough for the browser(with wasm), just nobody stuck those 2 pieces together yet.
@@Mitch-xo1rd You need the source code to compile into WASM, you can't convert a compiled binary.
@@skipfred what I mean is a wasm version of virtual box, combine that with a Windows XP ISO and a Lego island ISO for a browser version of Lego island.
Edit: found a win 98 vm that runs in the browser, so the tech exists
@@Mitch-xo1rd Oh I thought you meant the game. That seems like it would be unbearably slow - how well does 98 run in the browser?
as someone with 0 experience in coding but a lot of experience in baking, the analogy of un-baking a cake with an un-oven helped me understand perfectly how decompiling works
Apparently scientists have figured out how to 'unboil' an egg IRL too!
@@petertrypsteen EARTHBOUND
EARTH EARTH EARTHBOUND
EAREARTHBOUND EARTHBOUND
EARTH EARTH OOOOOOOOOOOOOOOO
MOTHER TWOOEARTHBOUND
EARTH EARTH EARTHBOUND
EAREARTHBOUND EARTHBOUND
EARTH EARTH OOOOOOOOOOOOOOOO
MOTHER TWOO
I honestly think Lego Island is a perfect canidate for decompilation. Like the game is such a shotgun blast of random assets that also have a simple structure (Like character animations are simple lego pieces) That there is so much that could be modded into it and changed. Perfect template that only certain early 3d games offer.
It’s up to the community how far it will go. People have managed to decompile the SWFs for Castle Crashers and mod it with basically no limits, but it has such a small modding scene with such big potential.
exactly. i could see an entire niche modding scene springing out of this just from how broad the base is.
This is a good point. Honestly, with a little bit of publicity, i could see lego island becoming the next doom.
This could mean a truly faithful map export, which is something I am weirdly obsessed with.
I'm curious how long it'll be before someone then turns it into an Unreal Tournament or Counter-Strike map ;)
I want it in assetto Corsa
It would make an amazing BeamNG map
@@badlydrawncars6460 Holy shit, yes. Perfect pairing with the Lego cars mod.
Planting the bomb at pepper ronis pizzeria.
The Win.INI reference code was probably there because that was the method the programmer was used to and used it to test initial execution before porting over to using the registry. It would enable the proof of some concepts before implementing how the program saved settings, which wouldn't change what the program did. Once ported over they probably initially kept the Win.INI code as a backup incase something went wrong and then probably just forgot to remove it.
thanks dude, love these kinds of insights
Honestly, nothing is more charming than seeing the labor of love put into something that probably had no expectation of being great. It’s kind of melancholic to see, actually. So I’m glad the devs are getting the notice that they deserve now
“That Lego Island Fix” in Xp makes me think they were essentially using Lego Island as one of their comparability benchmarks during XP development and some quirk of Lego Island became one devs personal quest to fix
That makes a lot of sense and is also very funny to think about.
maybe it was their kid's favorite game? Therefore "we have to make it work!!!"
I don't know about today, but back in the day Microsoft used to run a big software compatibility lab to make sure most of the software that ran on previous versions of Windows would run on the next version. I think they've outsourced a lot of that to the "Report this app crash to Microsoft" part of Windows today, but they genuinely put a lot of effort into it.
@@adamsfusion my stepdad was on this team at Dell. It was WindowsNT then Windows2000 then finally XP.
They used major partner teams to feedback bugs and stuff for enterprise and consumer packages. So for example all the bloatware you got on a HP or Dell had to work.
I still have his “I ran the bug race on WindowsXP” t-shirt where all partners had a challenge and prizes on who could find the worst/biggest bugs in the 2 weeks before launch..
@@adamsfusion they don't since Windows 10, the whole QA department was fired if I remember correctly
the 200 frame delay may also be a form of "compression", those seconds of black screen look a lot nicer then the game just playing the default intro movie at the start, it is basically an establishing shot for almost no storage cost and reduces the total media streaming demand at start up.
Maybe that was because windows can draw asynchronously from the game, so on slower computers you could not see the beginning of the intro cutscene while the window draws
@@shadesoftime I can also imaging that some CRTs and Graphics Cards did some "glitching"/"flickering"/... when switching to full screen, before getting a proper resync. Waiting 200 frames is plenty to resync and making sure the the intro play "perfectly".
@@sarowie I was thinking that, too. In my experience CRT monitors _usually_ switch considerably faster than LCD ones. There are exceptions, my A90f+ sometimes likes to degauss when switching modes.. If it does it will take a few seconds for time image to be stable.
Finally, I can (eventually) add raytracing to a game I literally didn't know about until this guy took an immense amount of effort importing custom music into this game.
Technically if he gets the map extracted you could try to add it to something like Unreal or Unity, which would be both horrifying and incredible
@@AranhaaTheSixtyninth Godot for a fully FOSS ray traced remake?
@@No-mq5lw fully fully open source software
@@biigsmokee fully Free and Open Source Software*
@@animowany111 FullyWare FreeSource and Openware Source-free Softsourceware**
Considering how useful the fast inverse square root function from quake 3 was, I really wonder how much treasure is hidden in old games like this. I have a feeling you'll find some pretty impressive optimizations in there!
Endless mind of humanity
This has me excited for 2 reasons. Firstly a decomp like this will make getting this game running on basically anything a cinch. And second, once we have the source code, that opens this game up for some incredible mods. It would completely eliminate most limits and allow for absolutely massive Lego themed games. I imagine once this is done we will see someone start working on a "Lego city" expansion. You could even add loads of new mini games.
Matt is like one of those cymbal monkeys, except instead of having 2 cymbals he has a Lego island cd and a hammer. Plz never stop this madness
Oops! You have to put the CD...in the hammer? Wait, no, don't do that.
I cannot believe that some random windows developer was like "Oh yeah lemme just write a quick fix for specifically lego Island"
lol
Maybe they had kids that played it, lol
I was completely astounded when he said that.
@startedtech Maybe he did, or maybe it was just a part of the job.
To this day, Worms Armageddon has compatibility fixes that the latest version of the game has to specifically disable due to no longer applying.
They literally specifically did that a lot, apparently. One commonly shared tale was that a Windows dev was given the task of going to a computer store, take a cart to the software aisle, _run down the aisle with their arms out,_ and whatever software products got knocked into the cart, they would buy them and take them to work to test and see what dumb shit the program was doing that they'd have to put in workarounds for.
I think the reason you're typecast as the lego island guy is because your lego island videos showcase such a wide variety of techniques in dealing with binaries and stuff.. amazing content, and i honestly dont know of i prefer them or the hardware videos more (okay probably the hardware videos because it's just so refreshing compared to todays systems to be able to work on hardware at the component level but its very close)
MattKC saw the "Lego Island on Wii" joke from CS188's poop of him and decided he needed to do everything in his power to make it a reality
What's fascinating is that glitches such as the exit glitch also happened on Windows 95, I distinctly remember major glitches with the Infomaniac hub and the voice tracks happening on my new copy when I was 5.
can't wait for MattKC to be hired by Nightdive and Lego gives him permission to rewrite Lego Island in the KEX Engine and soon we will have Lego Island Remastered HD 4K Edition
why not Lego Island Super High Quality Remastered 2D 3D 8K HD RTX Mono Limited Edition?
& Knuckles? Featuring Dante from Devil May Cry?
It needs a catchy name, like Zool Redimensions or Powerslave Exhumed. Lego Island Reconstructed?
@@wraithcadmus Lego Island Rebuilt?
@@lukabrasi001 lego island rebricked
I've been really curious about decompilation. It always seemed like a black box where people take compiled code and out pops source code but no one explains how it gets there. I had my own ideas what happens in between but I constantly felt like an outsider looking in where it was a secret art only known to those with true mettle.
wait what
yeah lol, like those guys at power plants that just stare at giant blocks of machine code and go "oh yes i know exactly what is happening at all times"
I'm saying no one bothers to explain the nuances of decompilation to the masses, they just do it behind closed doors.
Ya dinguses.
That's how I see programming as a whole, so I can relate
As someone doing a bit of decompiling sometimes, you just kinda learn it on your own. Sure, you may find tutorials on how to use Ghidra or IDA Pro, but a lot of specifics require an intuition that's hard to really explain (or maybe I just suck at explaining).
When I first started decompiling some executables, what initially carried me was the fact that I already knew x86 assembly, some details on what compilers tend to do, various low level tricks, and how programming is typically done in general. Afterwards I painfully crawled through all the various functions and slowly picked things up. It's a very high bar to clear, and I still absolutely suck at it, despite having probably a low few hundred hours of experience with that.
I wonder if the community could one day create the expansion packs the original devs had envisioned. Great vid about a topic I'm very much trying and failing to get into myself (reverse engineering\decompilation), it had lot's of interesting stuff. Thanks!
How about actual hardware rendering with some OpenGL/Vulkan/DirectX? Gotta get those 10000fps
@@GuentherJongeling-hu6oe It is using direct3d already, just very very old direct3d in a very inefficient mode. :p
Welp, time to learn how to decompile so I can play Monster Truck Madness 2 on windows 10
Maybe this guy can finally explain why when I spammed the zero key on the number pad, I'd start seeing characters flashing in front of me and sometimes I'd be able to break free of the roads.
Let's GOOOOOOO!! New Lego Island content from the dude who made a battery powered Nintendo!
battery powered Lego island??
@@Neddyfram NO PLEASE-
@@Neddyfram this is just getting a windows laptop, isn't it?
the sequel to the guy who owns sonic jam
@@CosmicNyan yeah, the wii u guy
as an amateur reverse engineer myself, i wanna say that this video is _great_ as an intro to RE, and you managed to describe it in an entertaining form rather than like a boring wikipedia article or smth
How does one get started on reverse-engineering file formats? Any videos you would suggest for that?
Hi, how to start reverse engineering? Like detecting similarities and general knowledge.
@MyScorpion42 @windows1.0 idrk how to help you i myself just kinda downloaded ghidra like 1-2 years ago and started just.. doing stuff and slowly learning it mostly by myself and some stuff with the help of other people from the geometry dash modding community
Your profile pic is cool, it looks like a pair of ghost eyes as well as the letters CG (and Zelda Rupees?)
@@RoninCatholic its just cg made with triangles theres no other meaning lol
How dare you shatter the delicate and precious dream that I held close to my heart that good old St. Nicholas was the giver of joy and presents every Christmas, Mr. Lego Island guy. I will never forgive you for ruining a part of my soul and devastating me for the rest of my life.
I relate to the "enjoying things in a different way as I grow older" part. I still care about the same games, I'm just more interested in the technical aspects and toying around with those rather than playing the game itself. Plus you learn to appreciate the work of the people behind it a lot more.
Lovely project! Having worked on related projects myself (like OpenRCT2), I can say it’s a wonderful feeling getting to really understand what makes the game tick. All the best!
In the FromSoft modding community, we refer to it as "documenting", rather than decompilation, as you're basically documenting the structs, function params and local variable names, so that the decompiler can spit out a better analysis.
Wow what a snob jeez
The decompilation part is actually the writing of new code that does the same as what the finished game does (functional equivalency) or in some cases, like sm64 decomp, the new code compiles to the same binary (matching binary).
The part where you name stuff in [NAME_OF_PROGRAM] is just reverse engineering or documentation, as you said.
The sm64 people went beyond just functional equivalency and wanted full byte-for-byte match, which is harder, but still a decompilation.
@@ederbarrero5585 nice job reading what I said...
@@nordgaren2358They expanded on it and provided extra information and clarification
@Nordgaren I mean, I think they actually did do a pretty good job at reading? They added more context and examples of what is decomp and when they reiterated what you said they literally went "as you said."
Just because someone expands on something with additional info doesn't mean they're just repeating the original thing.
Okay, but no joke, your videos on investigating and improving this game are probably the biggest reason I'm still programming. I got so frustrated trying to learn how to code, but your videos made me want to dive into aomething like this. Then along came Vampire Survivors, written in javascript with only mild obfuscation. Once I realized all the variable names are still there in the form of a hexadecimal number gets messed with and gets turned into an index in a list of token/symbol names, I wrote some lua and modded the game primarily with lua's weird form of regex. I've switched to python and c# by now, but I knew enough lua from GMod to know kinda what to look up online and the rest was learning from other peoples questions. Im very happy to see more of this stuff. It scratches an itch ive been unable to reach since your last one. The music upgrade thing was just inspirational.
we're one step closer to lego island mods becoming a thing
There's only one mod I'm aware of, and all it does is make the bicycles blue instead of red. I know, I was amazed too.
I dunno why but this sounds like fun
libsm64
7:03 I mean, funding a FOSS decompiler sounds like a better use of my tax dollars than probably half the other stuff they're spent on!
The decompiler is probably a bonus from the sketchier things they did, wonder why a security agency would need a program to look very deeply into the inner workings of programs...🤔
@@robotsy idk, reverse engineering malware seems like a pretty legit task for a security agency to me.
is ghidra not a thing anymore?
@@valseedian what? It's still a big active project, it's not just going to disappear.
@@tomtravis858 yes, sorry, was being facetious, doesn't translate over text.
Oh man... don't tell me...
This project could *possibly* lead to the eventual existence of a version that runs on the Nintendo Wii, right??
Matt, stop entertaining my mind's inner fantasies, it's too dangerous...
wii
wii
I haven't even started watching yet, I just want to say I love this as a premise already; thank you for your absurd dedication to both tech and shitposting
I'm excited for the glorious moment in the decomp when we'll be able to add HDR, Raytracing Shaders to Lego Island 🙃
Raytraced HDR lighting with 4K upscaled textures
Can't that all be injected with RTX Remix? Might be faster then waiting for the decomp
@@NextLevelCode I think Matt said it does primarily CPU calls and I'm not really sure if RTX Remix can work with them. If the graphics are transferred to sth like D3D or DX, it would probably work.
@@tcoder4610 ah yeah if it is software only rendering you have a good point. Need that direct 3D😊
GZisland
Chocolate Lego Island
Zanstudnum
Zstood
Byeland
HLego
Personally I’m really happy to see you undertake a project like this! Decomps are pretty much the only way to truly preserve old games and it would open up the door to fixes and optimizations which make it more accessible for modern standards. Best of luck and I’m definitely looking forward to more updates on it!
what an amazing video! I'm looking forward to follow this journey :)
LEGO Island is a game I have very fond memories of
Ah man, I remember that game.. I remember feeling the world be so open with the island being free to explore, and I kept going to the control tower again and again and again because as a little kid, I kept expecting the right sequence of events to suddenly open up new content. Like messing with it would make new buildings appear with more characters to interact with, or an extended part of the island rise from the sea with a new minigame or two.
I think I know what you mean. Half the allure as a kid was my imagination running wild. I knew it was a simple "game" even at the time, but friends and I would excitedly discuss the secrets we thought there must be. The one I recall was something to do with the garage and taking a rocket into space.
I played LI2 as well when I was a little older, and it still has charm (and actually qualifies as a game), but not to the degree the original has. I reckon that's because it's so bare bones that it's almost a blank canvas, especially to five-year-olds with wild imaginations.
The only other thing like it in that sense that I can think of is Pokémon ("if you don't beat Team Rocket at this part, you actually join them!")
loved the video, can’t wait for part 2!
Same!
same
where are all these goofy ah currency's coming from
@@leeum20realamericans when they learn that there are other countries:
@@leeum20realcurrencies*
At this point with all the attention it's gotten, I'm half surprised Lego/Mindscape doesn't just release the source code. Like what do they have to lose?
Does Mindscape still exist? A lot of companies, Blizzard included, have lost the source code to a lot of things in the intervening years. IIRC, Blizzard had to reach out to the community to get their hands on the original assets for StarCraft, when they wanted to start working on the remaster
If the game has any third party (licensed) code in it, it's probably near on impossible to acquire the necessary permission to do so so many years after.
Scumbags
@@halofreak1990no, not really. Infamously, Mindscape fired their employees the day before Lego Island's release in order to avoid paying bonuses.
@@halofreak1990Actually, yeah it does
Kudos on taking on a project of that scale. I spent ten years digging through the binary bowels of the Win95 version of Command & Conquer 1, for the purpose of patching, but since I'm honestly better as ASM than I am at C++, I left it at that. Some friends in our community did start decompiling it, and were making quite some progress on that, until EA messed up that project in the most unexpected way possible: by releasing the source code. This both gave everyone exactly what they wanted, and threw months of hard work straight into the trash, so you can imagine some people had some very complicated feelings when that happened. Though, the released code was for the purpose of modding the remastered version, and some pieces that were irrelevant to the remaster were missing, so in the end, not _all_ the work was wasted :)
(The missing bits were not deliberately left out, though. They were mostly I/O handling and video/audio decoding, and they were apparently not recovered when they found the source code simply because they were managed in different repositories. The I/O stuff was most likely split off because it was different between the DOS and Windows versions, and the media handling stuff was also used in other video and audio player apps, like rolling video demo discs.)
I'm just happy there are people out there decompiling old software and fixing it in the process. Your channel is what I would do as a hobby if I didn't have video games, or a job... and by that I mean I love your lego island channel
The lego island guy is back at it again
i've been hoping for this ever since i saw those original videos. would be neat to have as a base for, perhaps, custom mods that do entirely different things but want to have a similar look and feel
Can't wait ! Would also seriously like a long version with all the little details you'd think are boring
if in doubt: live stream and put up the live stream recording on a secondary channels.
For a creator, creating a video takes a lot of overhead.
Setting it up as a "live stream" or "recorded presentation" fixes the mind set of having to do editing and "a good job": Flaws are flaws - it is a live stream. Putting it on a secondary channels avoids polluting the main channel.
@@sarowie Clever insight, I never thought of it that way 👍
It’s so weird to see Lego island running at full speed because it definitely didn’t do that on my grandpa’s computer when I was 6 years old in 1997
I never realized how much Lego Island was a pioneer of 3D open world- doing a deep dive into this early project is cool!
This project seems incredibly cool, I can't wait to see more! If this ever finishes I am excited to see what crazy consoles Lego Island is ported to. I'm especially hoping that the Wii gets Lego Island ported to it.
The pure insanity of this strikes me as ending up as the next "it runs DOOM ". Like, beyond just porting it to every machine out there, the sheer potentials of this as a codebase for further modification are fascinating.
I don't know why but I really liked the original Lego island videos, watched them at least three times each at this point.
Fascinating for some reason I can't quite put my finger on.
Keep going - even if some don't really like Lego Island (and, I for one do, even though it's old and I haven't played it for years), the technical aspect of reverse engineering it and maybe even recompiling it eventually (with bug fixes, of course) and porting to other platforms is really interesting. Maybe the project could end up turning into something like OpenRCT2.
I followed the SM64 and OoT decomp projects closely. I was a comp sci major back in the day, but my career path went much away from that foundation. Those projects were teams of people working over years. I applaud your determination as one person to undergo such a task. Enjoy the over easy eggs dripping out of your ears as you work.
I grew up on Lego Island 2 but there was still something special about it. I actually fully get your fascination with this game, especially with how early on it was.
I've thought about how cool a decompilation of this game would be. I should have known you would be the one to do it! Thank you for your efforts, Matt!
Neat project. I was pretty nostalgic for this game. I remember poking around with the SI format too. I never properly figured it out 100% though. Only enough to pluck out data, but there were plenty of unknowns which would prevent me being able to pack everything back up. Look forward to what can be done with this game given time. It would've been neat if they were open with their tools and stuff because I would've loved modding this game as a kid, even if it would've just been like, changing the colors of things or drawing PPs on things. Definitely will be following this.
It would seem to me that a full decomp of this particular game would probably result in a very vibrant modding community
I now recall a Lego game from my childhood. Or actually two.
The second being a Gameboy Advanced game - Lego Island something. And you could shoot pizzas. I have the audio effects ingrained in my ear. I also think that the save game by step brother had was soft locked...
The game I played, was on my mom's laptop. It wasn't an island, but it was 3D and it had some pieces of building a city too. I think you could even setup NPC routes and destructively crash into the police tower... I believe the CD is still somewhere upstairs.
It's how I started watching your stuff. Saw a game I loved as a child, watched a bunch of your other stuff, and even caught a live stream and drunkenly amused myself with the broken donate button. I kind of forgot about this part of your channel. All good stuff, thanks for putting it together
Good luck man. Success or not you'll learn a ton and provide information about the game to anyone who's also interested. Also not a lot of people document their decompilation processes so this is something I'm looking forward to following.
As a developer myself I absolutely love videos like this, please keep us posted :). When done would be cool to make it run ontop of SDL2.
I for one loved Lego Island as a kid, and as a software engineer now this series is super interesting and right up my alley! Looking forward to part 2 :D
I didn't understand a word of this, but I was excited to watch and am invested because I haven't been able to play this game since the early 00's and I miss it.
13:09 "I made the decision not to bore you with every technical detail"
THAT'S EXACTLY WHAT WE WANTED FROM THE VERY START YOU FOOL 🤣🤣please give us the uncut 4 hour version
I find this fascinating. I can't wait to find out what weird stuff is baked into this old code.
"I'm tired of being called the LEGO Island guy, so let's decompile LEGO Island!"
I’ve got a few discs from a Mindscapes dev a few years back with some Lego Island assets on it. I’m unsure if it’s dumped but it has readable source code on it. I’ll have to find them since they’re up in storage (very secure and protected)
you should probably contact matt through other more reliable means than a yt comment about that
If you find them feel free to email me. My business email is on my channel under "About"
Nice.
This is comical to me. Lego Island was a favourite of mine as a child. Its inhabitants were like friends to me back then. I still have my big box copy, and a second back up big box I picked up at a bootsale. Great to see this niche title still getting attention.
Good luck with this. I've been working on decompiling a few functions which are missing from the source code to the somewhat obscure RTS game from 1996 Enemy Nations. Windward Studios, the developer, released the source. However, it's both incomplete, and relies on... Smartheap lol. Incidentally it also uses the program specific ini functions for accessing settings. I will say I appreciate that windows is nice enough to just reroute those to registry keys automatically for you.
Given both of these games are of similar times my guess is that Lego Island started development targeting windows 3.1 before. ENations has a lot of code that assumes it may be running under DOS and/or win3.1, which as far as I'm aware is simply not possible. But it has code for mixing 16 and 32 bit threads, supports both WinG and DirectDraw, and so-on.
There have been no successful projects to modernize and/or revive the game so far. I've managed to compile the game and make it to the main menu, but unfortunately some of the missing functions are rendering related and cause the game to crash before actually making it into the game proper.
All of this is to say that even with the source code to cross reference, reverse engineering the game has been a slow and painful process and I still haven't recovered much of the missing code yet. I don't want to imagine how awful it is when you've got almost nothing to go on.
I've always wanted to do this with Nicktoons Racing. There's all kinds of neat things hidden away in the code of the EXE like references to Nascar Racers (developed at the same time by the same people) and an editor of some kind, even a -nocddebug launch string which is disabled somehow.. this inspires me to go back to it using Ghidra even though i know i won't get anywhere with it
Imagine crunch-programming a lego game in 1997 and some random guy decompiles your forgotten game 26 years later and blames your programming skills
damn, the day i decide to start rewatching a bunch of matt's videos he releases a new one, that's one hell of a miracle.
God, I love your videos. Lego Island was my first ever PC video game and I poured thousands of hours into it. Your videos give me such a comforting sense of nostalgia.
I feel like Lego island is one of those games where every fabric of it's creation fascinates me
Hes back and its about time , love the vids , enjoy your type of humour too , for the past 6 months have been catching up slowly with the histroy of the channel , please keep it up , you do great content 😀
Be careful what you wish for. Of all the things that you could possibly be called, the Lego Island Guy isn't bad.
This ticks all the right boxes in my book. It's completely unnecessary but oh so fascinating to see what you might find hidden away (that teaser was begging for more!). Hope you'll keep the videos coming!
Wow, I basically did what your 2019 self did last summer. Thanks for the tips n tricks, boutta give this another go!
Something I’ve learned while decompiling brawl: if they have RTTI (runtime type information), figure out how the vtables (basically lookup tables that classes use to find where their methods are located) work and use that to your advantage. Brawl happens to have lots of strings that match the original name of various classes, making it very easy to find out what vtable corresponded to what :D
Also, ghidra by-default represents strings with “s_stringContentHere” - so if ya double click on them you can find where they’re used throughout the code in the form of XREFs. That kinda thing is SUPER useful too :3
Furthermore, if they’re using class-based systems there’s often a standard way the compiler will initialize subclasses and the like. Some compilers also use a function mangling scheme that can appear to operate some C++ things like basic operations.l (chances are there’s documentation for it out there SOMEWHERE though - so at least in my case I gotta pay close attention to anything like “__[oneOrTwoLetterNameHere]” like “__ct”)
Would be super interested to hear how you decompiled the textures. Alot have some sort of encryption and breaking that is something I'm stuck on in my own projects.
Are you talking about lego island or something else? Have you tried asking for help in reverse engineering or CTF communities? They might be able to help.
@@Just2Dimes I've tried. Mainly interested for PS1 decompilation reasons
watch out, many times you think it's encryption it's just compression
0:33 😳…what?… i’ve been lied to.
This man will never stop loving LEGO Island.
Really appreciate the way you go into the history of how it "used" to work and talk about of what kinds of mistakes where made.
I'm currently studying to become a data-engineer and it just amazes me that your video is so educational, you've earned my sub :)
It's so fascinating to me that you found out things about Windows, like code in WinXP to help with Lego Island, and that older versions of Windows may not have been 100% compliant with the title bar creations in FullScreen. I'm a security nerd and I hope I have time to decompile and mod stuff one day, PLUS Lego Island is a huge nostalgia core memory for me.
Matt is back!!! Love your content, whether or not it’s lego island, always looking forward to your next video
Im not sure I can say I'm fascinated by it but I am interested in how developers managed to optimize their games to run on the hardware of yesterday, especially considering that optimization seems to be becoming a lost art in the modern day.
lately I've been a huge enjoyer of emulation and decomps..I set up Jak & Daxter as native PC port today and I'm really curious to see where this journey will lead. increased framerate or draw distance for example. Who knows, maybe some smart psychopath implements Ray Tracing on Lego Island
Decompile FNV? I sleep.
Decompile Lego Island? Real Shit!
if some psychopath who doesn't have a life rewrites the whole rendering code just to use raytraced lighting
i'll be surprised
went back to check the repo project today, holy shit y’all are almost done now!
This game has a soft spot in my heart. I got it as a kid for Christmas and I remember finding out it required too much for my family computer to play and I was sad about it. Fortunately we upgraded a year later and I finally got to play it and I remember playing a lot of it lol.
And he has returned with another banger video.
I wonder if its now possible to use GPT4 to decompile binaries. I used AI to optimize my code, change variable names, generate structs etc. And it handled that well.
Would be sick to have a custom built ai for decompiling programs. Even if it got only thirty percent of the way it would do so much to open up software for the common good.
Hi Matt, love your content! Here’s a small donation which, after inflation, should get you about 1.5 coffees in Australia. Cheers.
This is incredibly ambitious and as someone who loved playing this game as a kid and watched all your other lego island video - i have to say im very excited for more updates. A good part of me is preparing for disappointment cause i think it would be crazy if you pulled it off before getting bored or busy and leaving it indefinitely. However, I choose to believe and cheer you on - I really hope something comes out of it - at least a few more videos and really cool takes from what you found.
Thank you for keeping this game alive an interesting even after completely destructuring it as you did before. Somehow I dont mind revisiting it especially in this technical sense. I too was throughly impressed by this game for its time. I would honestly really love to find someone who worked on this game to speak with them.
this honestly is sooo interesting and i’m really excited for the next parts!
So you've essentially decided that instead of falsely being known as the LEGO Island guy, you want to correctly be known as the LEGO Island guy…
He's THE LEGO Island guy now
19:58 excuse me WHAT. If you're decompiling Burnout 3 as well then uhm... I'll be your girlfriend. 👉👈
Honestly, a decomp of this game would instantly bring new life. Imagine the possibilities when suddenly you have access to what is essentially source code for an old game with wierd systems - Perhaps people will find ways to change it up so that it uses modern formatting and systems! Then the graphics could be overhauled so they look much more modern - This is a huge step for this game and I really hope this gets done soon.
You know what's crazy? I was just thinking about this game the other day. To this day, I still feel like there's a massive easter egg in this game that no one's found yet. I don't know why I feel that way, I just do.
FWIW, I'm pretty shocked that so many people are mad (or seem to be mad) about you making Lego Island content. Like, I'm not that interested in Lego Island specifically as a game, but I'm definitely super interested in software engineering.