As I noted in the RTTP thread earlier, I'm currently playing through Banjo Tooie on my N64. Through the RGB modded console, I'm constantly amazed at just how amazing it looks - with the game reaching Dreamcast levels at some points. It's led me to think a bit more about just why there's such a disparity between games like Rare's work and that of third parties (not even in the same fucking league).
I knew about Rare's mastery of the nitty gritty code of the N64 (microcode), as I read up about it in N64 magazine years back. In Tooie for example, you have dynamic realtime shadows, massive worlds, multiple realtime light sources, and a whole host of other at the time cutting edge effects all without an expansion pak. Reading up on it again today makes things visible in a whole new light:
So, the basic gist of it is that Nintendo purposefully held back from giving third party developers decent devtools. I guess the reasoning would be:
1. To keep Nintendo made games the best the console had to offer
2. To encourage third party developers to put effort into the console and reduce shovelware.
It's fucking insane. Then again, Kuturagi had the same line of thinking with the PS3, didn't he? Regardless, here's another quote this time from a dev posting on assemblergames:
Looking back, and I know this is an obvious question, was this the right thing to do? I guess the ratio of good to shit on the N64 library is higher than any other console I can think of, at least.
I knew about Rare's mastery of the nitty gritty code of the N64 (microcode), as I read up about it in N64 magazine years back. In Tooie for example, you have dynamic realtime shadows, massive worlds, multiple realtime light sources, and a whole host of other at the time cutting edge effects all without an expansion pak. Reading up on it again today makes things visible in a whole new light:
The graphics and audio co-processor was programmable through microcode.[7] By altering the microcode run on the device, it could perform different operations, create new effects, and be better tuned for speed or quality; however, Nintendo was unwilling to share the microcode tools with developers until the end of the Nintendo 64's life-cycle. Programming RSP microcode was said to be quite difficult because the Nintendo 64 code tools were very basic, with no debugger and poor documentation. As a result, it was very easy to make mistakes that would be hard to track down, mistakes that could cause seemingly random bugs or glitches. SGI's default microcode for Nintendo 64 is called "Fast3D", which some developers noted was poorly profiled for use in games. Although it allowed more than ~100,000 high accuracy polygons per second, it was optimized more for accuracy than for speed, and performance suffered as a result. Nintendo's own "Turbo3D" microcode allowed 500,000–600,000 normal accuracy polygons per second. However, due to the graphical degradation, Nintendo discouraged its use. Several companies, such as Factor 5,[8] Boss Game Studios and Rare, were able to write custom microcode that ran their software better than SGI's standard microcode.
So, the basic gist of it is that Nintendo purposefully held back from giving third party developers decent devtools. I guess the reasoning would be:
1. To keep Nintendo made games the best the console had to offer
2. To encourage third party developers to put effort into the console and reduce shovelware.
It's fucking insane. Then again, Kuturagi had the same line of thinking with the PS3, didn't he? Regardless, here's another quote this time from a dev posting on assemblergames:
The whole structure of the system is incredibly flexible - if you have the tools. Which most developers didn't. Because Nintendo locked down the uCode development tools, most devs just used the SDK-provided Fast3D microcodes.
It has been proven capable of MP3 playback WHILE rendering 640x480 hi-res graphics (good job Boss) and also capable of MPEG-1 decompression (Angel Studios).
The original Fast3D microcode sucked ass. I used to use it in my own demos. Then I switched to F3DEX (later redesign) and things were a good deal better. Still lightyears behind Factor 5's rendering engine though.
Looking back, and I know this is an obvious question, was this the right thing to do? I guess the ratio of good to shit on the N64 library is higher than any other console I can think of, at least.