3

I watched this video and was annoyed by what he said here:

Why would the base Nintendo 64 not be able to keep a minimal number of true/false flags in its memory, as is what Majora's Mask's time mechanics must amount to? Why would that require extra RAM or virtually any resources at all?

A SNES could do it. A NES could do it. A freakin' Atari 2600 probably could easily hold all of Majora's Mask's possible time-related game flags in its very limited memory!

Whenever Link enters a new "scene", the Nintendo 64 just looks up the current day and time in the game (probably just a simple integer ticking away) and minimal boolean flags such as "has Anju given Link the letter?" (0/1), "has the Goron postman fetched the Anju letter?" (0/1), "has Link rescued the bomb lady?", etc., and then simply place the 3D models wherever they need to be at that moment.

He makes it sound as if each of those NPC polygon models have an entire simulated "brain" constantly "thinking" (eating system resources) and act on their own and walk around and perform an infinite number of actions based on a highly sophisticated AI, or something like that, when in reality, it's a very simple set of simple flags which can be kept by any ancient computer's memory.

Where did even such a myth origin? I never heard any such claims from Nintendo back then. They talked about the extra RAM being used to display more sprites and effects on the screen at once as well as powering the "movement strategy AI" for boss battles (always in confined areas). They didn't use it for higher resolution and, obviously, not for the NPCs' alleged "intelligence".

And if there actually is something to this after all, then I'm more than eager to be blown away by the revelation that my favourite game actually has "thinking" NPCs which I've never noticed! It would be remarkable if that were the case, but I do not see how it could be.

2
  • I can't find much detail other than a vague sentence on the fan wiki about the extra memory helping with "real time character interactions", along with extra draw distance and higher detail graphics. But, have you considered that it isn't enough that there's just a bunch of flags tracking what you've done through each cycle but also how the multiple combinations of those flags affect the state of everything in the world. 1 flag offers a maximum of 2 states for everything, 2 flags = 4 states, etc. Sure, not all flags affect every character/location, but it's still a lot.
    – HorusKol
    Commented Jan 8, 2023 at 22:48
  • To avoid link rot, could you include a summary of the claim made in the video?
    – Schism
    Commented Jan 14, 2023 at 21:38

4 Answers 4

5

It's hard to say where this myth could've came from. The Wikipedia page on the Expansion Pak notes that both games that require the Pak to do anything, Donkey Kong 64 and Majora's Mask, were built from the start to use the Pak for extra graphics power. And the vast majority of other games that support it only use it for graphics purposes, rather than other purposes (e.g. one game used it to support longer replays).

That said, there is one possibility. There's a long-standing rumour that DK64 began life without the Pak, and was forced to switch to requiring it because the developers couldn't fix a memory leak. From here:

One such story involves the N64's Expansion Pak, a little device used to double the console's RAM from 4MB to 8MB. The tale goes that a game-breaking, memory-related bug occurred in the 4MB version and forced Nintendo to ship the game bundled with the Expansion Pak. That's a costly bug, and we certainly wouldn’t have wanted to be the one to deliver the news to notoriously fiery then-President of Nintendo, Hiroshi Yamauchi back at Nintendo HQ.

That story has become more-or-less accepted fact, although Stevenson believes the truth is more complicated. "This one’s a myth. The decision to use the Expansion Pak happened a long time before the game shipped, in fact we were called in by management and told that we were going to use the Expansion Pak and that we needed to do find ways to do stuff in the game that justified its use and made it a selling point. I think the bug story somehow got amalgamated into the Expansion Pak use and became urban myth."

"There was a game-breaking bug right at the end of development that we were struggling with," he clarifies, "but the Expansion Pak wasn’t introduced to deal with this and wasn’t the solution to the problem. My memory is that, like all consoles, the hardware is constantly revised over its lifetime to take advantage of ongoing improvements in technology and manufacture methods to essentially make the manufacture more cost effective and eventually profitable. I think there we’re something like 3 different revisions of the internal hardware by this point and the bug was unique to only one of these versions. We did eventually find it and fix it, but very late in the day."

If this rumour about a memory leak could start for one Pak-requiring game, it's not a stretch to say it'd start for the other.

2

Unless the entire source code gets leaked like Super Mario 64 did then I think this information is simply going to be lost to the sands of time.

Game development is never some sort of perfect bubble and asking a programmer their exact thoughts a year ago while writing code is fairly futile let alone something they did during the development of a game launched in 2000.

Watch this if you wish for a more in-depth understanding of how things simply get launched "as-is", albeit usually bug free during this era of gaming.

One of the comments hits the nail squarely on the head:

In a commercial setting we cannot expect perfection. Oftentimes devs have to polish a turd. The result isn’t always beautiful under the hood but as long as it functions it’s good enough.

1
  • 1
    This video was the first thing that came to mind when I saw this post
    – Timmy Jim
    Commented Jan 11, 2023 at 21:43
1

tl;dr; Developers assumed the Extra RAM would be there, so they used it (for everything).

The 64DD is mentioned briefly in the video but with little explanation or context. I believe that at launch the N64 "base" console was only planned for playing games with 4MB of RAM. When you bought the "coming soon" 64DD you would also get the 4MB Expansion PAK to unlock the potential of the 64DD.

The 64DD was intended to be released soon after or even with the main console but had some technical challenges, even when they were resolved it wasn't released until 1999 more than 3 years after the N64 launch.

Starting prior to the N64 launch some developers chose to develop games targeting the 64DD: the extra memory, a Real Time Clock and a very large save game capacity and the possibility of multiple disk games. Disks alone would of reduced the distribution costs of games. This could of been a great addon. Unfortunately it was only available in Japan for a little over a year and that was it.

So these games that were targeting the specs of the 64DD had to make some decisions. Cut features? Put more into the cartridge? The Japanese Animal Crossing put a Real-Time-Clock in the cartridge, other games like Ocarina of Time, and Majora's Mask used the Expansion PAK.

The developers had assumed the 8MB of RAM was available from the beginning, so they used it. It's very hard to go back and retest a years worth of code, to make sure it can work in a lower spec system. The extra memory could of been used for Triple buffering the screen or enhanced audio tracks so many things that would simply break on consoles with just the jumper PAK.

Also we are talking about game franchises that gamers will pay a premium for, especially if they believe it will be a premium experience. Once a few of these premium games were available (forcing the purchase of the Expansion PAK) it would be easier for others to take advantage of the extra memory. I wonder if things like the Donkey Kong "bug" made it easier for consumers to accept the extra cost for the Expansion PAK?

Without the planned 64DD, I don't think the N64 would of had an Expansion PAK option. Releasing the Expansion PAK as a stand alone product is what Nintendo "had" to do to "take care of" their developers that had made that assumption during development.

0

As a programmer, I can say that needing four megabytes of extra RAM to store a few boolean flags is too far-fetched. This can only mean two things:

Marketing strategy

That was actually a strategy to sell more expansion paks. Remember, back at the time of Nintendo 64 there were no DLC's for console games. The way Nintendo had to extract more money from its fans was selling gizmos such as rumble paks and gadgets to link Game Boys to N64's.

This is also why they sold memory paks for the Nintendo 64. As anyone who played Final Fantasy or Sim City in the SNES will be able to tell you, game cartridges could save a huge amount of data just fine - and since the Nintendo 64 used cartridged, it should be able to do better. The first generation Playstation, which used CD's and had no internal hard disc or other form of storage had a good excuse to require external memory cartridges; the N64 did not.


Or just plain bad programming.

The biggest difference between good programmers and bad ones is that the good will always be more efficient with whatever resources they have. It might be that the code for Majora's Mask was so bad that it used way more memory than it really needed.

This would be of no surprise to me. It used to be that the developers for Nintendo were masters of their craft during the NES and SNES eras. During the Wii era... Not so much. I don't know how they were doing during the N64 and Game Cube eras, but given the huge change in paradigm that was the N64 I think they might have had too much pressure to release early and not enough adequate talent.

5
  • 3
    There's a third possibility of "we didn't necessarily need all this extra space, but we really do need some extra". Agreed that it's unlikely that a good programmer couldn't squeeze in the handful of bytes for a few booleans by saving space somewhere else, but it's technically possible...
    – Toby Y.
    Commented Jan 11, 2023 at 4:29
  • Most people don't realize that putting the Save Game on the cartridge cost the manufacturer/publisher extra for every cartridge. It had the benefit of being harder to share save games (easy with the memory pak) The memory Pak put the cost of save games on the players.
    – James
    Commented Jan 24, 2023 at 1:05
  • 1
    Also regarding the 4MB Memory Expansion, this was a time when Memory was expensive, and 4 MB was enough for 90% of the game library, so by shipping with only 4 MB Nintendo was able to meet a price point of $199.99. PS1 launched at $299.99 but had since dropped to $199.99 prior to the N64 launch so this was a very competitive situation. I'm sure Nintendo would of liked more Memory Expansion sales, but I'm not sure it was the driving decision.
    – James
    Commented Jan 24, 2023 at 1:09
  • @James can tou quantify that extra cost for saves? I believe it should be negligible since this was a thing in NES cartrudges, so two generations later it should not be something costly.
    – Old Gamer
    Commented Jan 24, 2023 at 1:55
  • I can't find pricing for N64 save types. 128 KB Flash was the most expensive N64 save type. Right now (Jan/2023) for a 128 KB Flash @ 24K qty its $0.22 In 1996-2001 with Nintendo's "markup" I'd pretty safely assume it was $2.00 per cart. I'd actually assume that NES and N64 probably had the same per cartridge surcharge for the feature, but N64 probably needed larger space.
    – James
    Commented Jan 24, 2023 at 6:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .