Hacker News new | past | comments | ask | show | jobs | submit login
Luigi Model found in Mario 64 source code (twitter.com/bigcti)
150 points by bueny on July 26, 2020 | hide | past | favorite | 54 comments



I love these discoveries but I dislike the guaranteed follow-up by game conspiracy theorists who don’t appreciate how games are built.

For any game, the odds are that it has unused assets or partially completed systems that hit the cutting room floor.


See also: the Star Fox 64 Arwing left over from implementing a boss in Ocarina of Time.

https://arstechnica.com/gaming/2020/01/how-to-get-star-fox-6...

Ocarina of Time started with the Mario 64 engine, so there are probably bits and pieces all over.


What are these theories? I always thought It was fairly well known Luigi (and a bunch of other things)was cut due to budget and limitations of the n64 carts. Not just in mario 64 but most n64 games.

I'm honestly curious, i've never actually heard any theories about Luigi and mario 64 other than he just cut due to above mentioned reasons. Much like Yoshi.


There’s a whole mythology of Mario 64 conspiracy theories regarding Luigi, Wario, Wet-Dry World, and other things. Googling “Mario iceberg” will get you started. A lot of it is just bad fakes, so it’s not as entertaining as something built purely out of unused assets.


Thanks, this was a fun rabbithole.


[flagged]


> I think the GP doesn't know the conspiracy theories, but expects them to be invented in attempts to rationalize the inclusion of unused assets.

It takes less effort to google 'mario 64 conspiracy'[0] than it did to create the fan-fic you came up with while assuming that the GP was rationalizing things.

Why not assume the best of people?

[0]: https://www.kotaku.com.au/2020/07/super-mario-64-iceberg-con...


> Why not assume the best of people?

Why assume negative connotation where there is none? It was a silly conspiracy poking light-hearted fun at conspiracy theorists.

The GP's phrasing "the guaranteed follow-up" that made me suspect the GP had seen conspiracy theories about other video games, but hadn't yet seen any conspiracy theories about this latest find, and was anticipating a future conspiracy theory. Sorry if my phrasing sounded malicious.


Please tell us more. Why are the assets not simply deleted when the developers realize it's not needed, especially on a N64 cartridge to save space?


The model is not in the cartridge. It was only in the game assets in the source code dump.

Why delete it? You never know if they might reinstate it (before release that is, and why bother deleting on release day?) or the model could be used in another game, making them costs money, storing them not that much.


> especially on a N64 cartridge to save space?

The space obviously wasn't needed during development (this is leaked source, I don't know if it made it to the gold version) so there's two likely possibilities:

a) They knew about it but didn't have the dev/tester time to vet the change. This is coming from an era when most game testing was done manually and the N64 toolchain had some big issues around launch. Higher priority fixes might have just pushed a cleanup task like this off the list.

b) They just didn't know. This is also from an era where DCVS weren't particularly common in the games industry and CVS was still black magic in some circles so auditing changes or doing code reviews were very rare.


I'm going on a limb here and assume the codebase wasn't as easy to manage back then. They missed a lot of fancy tooling to review it.

Also, as a developer (game and webdev), there's tons of leftover stuff. Most of which is assets. For games, the artists would've put them in the codebase at some point. For web, it's usually just forgotten when removing features.


I've always considered these theories to be a genre of speculative fiction, somewhere in between creepypasta and a real theory. I thought it was generally understood that these things are more for the sake of entertainment than real investigation?


Right, this is something I've been talking about on other forums as well. I can almost see the thumbnails already circling Luigi's model with a shocked expression....


It’s so interesting to see what didn’t quite make it into such culturally important works. It’s a shame that for most classic games, the source code will never be released. I wish that after a while, and things were no longer commercially viable, code would be released. I get that’s kinda how copyright was meant to work with books and similar, but the code is never published, so nobody has it to preserve it for posterity...


> It’s a shame that for most classic games, the source code will never be released. I wish that after a while, and things were no longer commercially viable, code would be released.

Unfortunately, many game companies lost the source code for their classic games years ago. They couldn't release it even if they wanted to.

One of the big surprises coming from this leak is simply the fact that Nintendo's source code still exists. The company seems to have been very thorough in archiving material related to its older games.


I wouldn't be surprised if Nintendo has the source code for most everything they've made. You don't become a 150 year old company without fastidious bookkeeping.

Now if they'd just pay the emulator people a bucket of cash to make officially supported emulators that run on the Switch and all future hardware (without having to rebuy the titles), they'd make so much money they'll be around for the next 300 years.


> pay the emulator people a bucket of cash

> without having to rebuy the titles

How does this lead to making "so much money"? Purely from hardware sales?


> How does this lead to making "so much money"? Purely from hardware sales?

Yeah, hardware margins for gaming systems are often not great. The point is that you also have to buy games for it. Similar to how printers are priced (it's the ink that makes the money).


Exactly, and if you can continue to play all your old games on your new system, you're probably less inclined to buy a lot of new games - probably buy one or two (otherwise why bother getting a new system?), but if you couldn't play your old games on it, you may initially buy a few more new games to justify the system purchase etc.


Nintendo fans aren't like that though.

They'll buy the new releases. And as a sample size of 1, I'd probably pay $10-$20 for each classic game if I knew it had indefinite portability. Same way I'm happy to pay for classic books.

I missed Metroid prime when it came out, and there's no real way for me to go back to it without getting my GameCube from my parents and finding a disk on eBay.

Just think of all of the kids who've heard about all of these classic games, love the latest version, and would gladly dive into the rest of the series, if it were available.

People are still getting excited because the source code for a 25 year old game has finally been stolen and leaked. 2401


I assume the suggestion isn't that Nintendo should give the games away. Just that if you buy a game on the Switch you shouldn't have to buy it again when you upgrade to their next console.


Yeah, I got that, my point is more that it takes away a potential recurring revenue stream for the sake of maybe a slight boost in software sales right now (I doubt there are a massive number of people who would suddenly purchase a whole bunch of virtual console games right now if it was announced they'd transfer over to all future Nintendo consoles)


Isn't that exactly the point of Steam though? Single, highly transferable library.

I certainly know that I'd be loading up if they made everything available in perpetuity.

And thinking of how many people want to get get into a series but simply can't because there's no real way for them to. Nintendo isn't really even doing VC this generation. So they're turning to emulation, if they're technical enough.


Correct.

I won't buy virtual console stuff because it won't carry over.

I'd happily buy their whole catalog if I knew it was mine forever.


Many newer games are still built on top of that source code to a certain degree as well. I remember recently reading about how Bungie built the engine for Halo 1 and pieces of it have been used in every single game in the series since then.


As proven by the emulation scene, access to the source code isn't a requirement to preserve games.

Edit: Could someone downvoting explain what is wrong with my comment? We would all love to have source code of everything because that's what we like to dig into and hack on, it's also a fact that it isn't required if the goal is preservation.


Maybe I missed it, but how exactly is the source getting leaked? Who has access to this stuff and why has it taken so long for it to be leaked?

Curious find though. Always wanted to play as Luigi in the game back in the '90s.


There was a recent major hack/leak of data from Nintendo. The Mario 64 source code was included.

http://www.pcgamer.com/amp/gigaleak-of-alleged-nintendo-sour...


I'm amazed at how much detailed investigations into just this single game have been. From the glitches, to how the game works internally, and now neat little facts like this make it such a cool little game.


L is real 2401!


This leak happened exactly 24 years and 01 month since SM64 was first released :)


That's too coincidental. Given the size of the Mario iceberg, maybe it's time to get the SCP Foundation involved?


And the leak happened on the 25th of July.

24+01 = 25.

2+4+0=1 = 7.


Half-Life 3 confirmed.


This was predicting the future world of launch day DLC that's pre-downloaded.


nah that was the Naboo Starfighter in Rogue Squadron for the N64, which was released five months before The Phantom Menace. the cheat code wasn't revealed until after the movie released. the PC version did NOT include the Naboo Starfighter at launch and you had to download a patch to get it


Is there a rendering of Luigi 64 yet?


Guess your mean "in game render"? Here is one from 2016.[0]

And here is its 3D model loaded in Blender with textures preview mode ON.[1]

[0] https://www.nintendolife.com/news/2016/12/random_a_glimpse_o...

[1] https://twitter.com/firubiii/status/1287283654436298752


There are some (alleged) links to it in this Reddit comment:

https://old.reddit.com/r/emulation/comments/hxtqei/seems_lik...


L IS REAL


Delete your unused code, people


My understanding is that Luigi is not in the final build of the game (which is why it was not found before). But I believe the recent leak contains the CVS repo used during development, which includes the complete change history.


# Nah, commenting out is better in case decisions are reversed.

# Once it's deleted, there's no way to get it back.

# Version control isn't reliable.


> Nah, commenting out is better in case decisions are reversed.

But worse in all other cases. If your decision process is such that that weighs in favor of cluttering your codebase with dead code, that's a problem.

And, actually, since the commented code almost certainly isn't being maintained and uncommented for testing as the rest of the codebase evolved, it's probably not even better in the case that decisions are reversed.

> Once it's deleted, there's no way to get it back

There's rewriting it in light of the actual requirements and current state of the rest of the code base.

> Version control isn't reliable.

Neither is unmaintained, commented-out code dragged along with your code base. If your VCS isn't the vastly more reliable of those two things, that's a problem you ought to address.

(Of course, at the time of Mario 64, the calculus might well have favored a different approach.)


Man, you took that comment seriously. Doh!


# JIRA: L-2401

# Dev-only code.

# Fixme: delete before release.


Most software isn't released anymore. Most times pipelines will gobble up your changes and ship immediately after review. I don't see how this would work for your team.


For what reason?


As long as delete means "commit the deletion of unused files to source control", I agree. Though I don't know what kind of source control they had back then, and if they used it for such assets. In my opinion if something is not serving any current purpose in your code base it should be deleted from source control. The repo should be a reflection of the precise range of capabilities that you intend for the project to have; leaving dead vestiges of the past just laying around is like growing a garden and never cleaning it of deadwood and debris, giving more places for weeds to grow unnoticed.

I think we need better tooling for browsing historical artifacts that may be valuable in the future -- which I think is the main reason I've seen people intentionally keep dead code. Maybe the solution to that is to just tag the commit in which you deleted the code with a note on what it was so you can find it again.

Edit: An uncle comment mentions that this may have been a discovery from digging around in the CVS history for the game, so they may have kept the assets in source control after all! Some might reasonably take away from this to protect your source repo, but I think it's pretty cool it's possible to find these historical artifacts.


Lol it’s funny at a big company with a lot of repositories to search for “removed passwords” in all the repos git history... very interesting stuff to be found...


Smaller file sizes, less bloat


This model presumably didn't make it onto the cartridge, which is where the size would matter (and even then, the size would really only matter if it pushed them to use a larger rom at added expense). Extra files in the source directory that might not even be used by the build process barely matter.


How in the world would I find a flight simulator in my word processor?


I don't know, but you might find one in Excel [1].

[1] https://kb.iu.edu/d/agqw




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: