*** Welcome to piglix ***

Nintendo 64 programming characteristics


The programming characteristics of the Nintendo 64 present unique challenges, with distinct potential advantages. As with many other game consoles and other types of embedded systems, the Nintendo 64's architectural optimizations are uniquely acute, yielding weaknesses and thus specific software engineering challenges. First released in 1996, the Nintendo 64's architecture yields programming requirements which The Economist described as "horrendously complex." The weaknesses were said to be caused by a combination of oversight on the part of the hardware designers, limitations on 3D graphics and general computing technology of the time, and manufacturing capabilities. Ultimately, these limitations would be overcome and the advantages would be more thoroughly realized by sufficiently experienced and dedicated software engineers, especially later in the platform's commercial lifetime.

As the Nintendo 64 reached the end of its lifecycle, hardware development chief Genyo Takeda referred to the programming challenges using the word hansei (Japanese: 反省 "reflective regret"). Looking back, Takeda said "When we made Nintendo 64, we thought it was logical that if you want to make advanced games, it becomes technically more difficult. We were wrong. We now understand it's the cruising speed that matters, not the momentary flash of peak power."

A challenge is presented by the texture cache small size of only 4 KB. This leads to developers needing to stretch small textures over a comparatively larger space. The console's bilinear filtering only blurs them. When mipmapping is used, texture width requirements and the extra storage for the mipmap levels limit the largest mipmap level to 2 KB. Toward the end of the Nintendo 64's market cycle, certain developers innovated with new techniques of precomputing their textures, such as the use of multi-layered texturing and heavily clamped, small texture pieces, to simulate larger textures; and with the streaming of precomputed textures into the small texture cache from the large, high speed, cartridge medium. Examples of this ingenuity are found in Rare's Perfect Dark, Banjo-Tooie, and Conker's Bad Fur Day and in Factor 5's Indiana Jones and the Infernal Machine. Some games use plain colored Gouraud shading instead of texturing on certain surfaces, especially in games with themes not targeting realism (e.g., Super Mario 64).


...
Wikipedia

...