the cutting room mirror

Mario Kart 64

This article has a talk page!
view on tcrf.net

This page details development materials of Mario Kart 64.

'This page or section details content from theJuly 2020 Nintendo Leak.'''

To do:

  • Near-final proto dated November 16, 1996, found in kimura.lzh (archive seems to be corrupted on most releases).
  • Document debug ROMs.
  • Partial source code - remember to look in the kimura.lzh file too.
  • Town's track icon, and dump all unused textures from it (maybe track name?).
  • Early versions of tracks in the final.
  • Space World

A portion of Mario Kart 64's source code, as well as other early assets such as textures and models, were present among the July 25, 2020 asset leak, having seemingly been among the assets given to iQue by Nintendo in order to produce the Chinese version.

Courses#

A developer interview in 1996 mentions two courses that were cut during development.

"There were a number of courses we had to drop, too. One was a big, multi-story parking garage-like structure, which you’d race around and around as you ascended it. At first, we thought it would be a nice, realistic track, and that it would be really fun, but when people actually played it the constant turning and turning as you went up quickly made them feel sick. (laughs) We also made a big city track, with a castle, and a nice pond, where you got to race around all these different houses and buildings. Unfortunately, it was a very large map, and it took too much time to race through. So we cut it."

TOWN#

The city track's model is located in TOWN_PK within the kimura archive, complete with all the textures. It is referred to as TOWN internally, and seems to match the description by the developers of it being very large. Similar-looking city tracks were later used in Mario Kart Tour.

A GIF showing the path racers were intended to take.

A render of the startline.

A render showing a cafe (left) and the church (right).

A render showing more buildings.

A render showing the tunnel entrance.

Another render of the tunnel entrance.

A render showing some farmlands.

A render showing a restaurant.

Watch on YouTube

A minimap for the track was found in image/minimap.c. Oddly, it shows all the roads in it, rather than just the roads that were driveable.

There is also a TOWN_point file which contains data like enemy paths, item paths, and object placement. Oddly, the points for this seem to match up with Luigi Raceway, suggesting that it replaced TOWN eventually.

Garage#

The parking garage track mentioned in the interview also has remnants left over. While no model was among the asset leak, several textures were found.

Road

MK64_Garage_Asphalt_Edge.c.png MK64_Garage_Asphalt.c.png MK64_Garage_Finish.c.png MK64_Garage_Asphalt_Pattern.c.png

Ceiling

MK64_Garage_ten0.c.png MK64_Garage_ten1.c.png.png MK64_Garage_ten2.c.png MK64_Garage_ten3.c.png MK64_Garage_ten4.c.png

Wall

MK64_Garage_Wall.c.png MK64_Garage_Wall2.c.png MK64_Garage_Wall3.c.png MK64_Garage_Wall5.c.png MK64_Garage_Wall6.c.png

Elevator

MK64_Garage_Elevator.c.png MK64_Garage_Elevator_Button2.c.png MK64_Garage_Elevator_Button1.c.png

Directions

MK64_Garage_1FArrow.pngMK64_Garage_1F.pngMK64_Garage_1FLine.png MK64_Garage_New1FArrow.pngMK64_Garage_New1F.pngMK64_Garage_New1FLine.png

MK64_Garage_2FArrow.pngMK64_Garage_2F.pngMK64_Garage_2FLine.png MK64_Garage_New2FArrow.pngMK64_Garage_New2F.pngMK64_Garage_New2FLine.png

MK64_Garage_3FArrow.pngMK64_Garage_3F.pngMK64_Garage_3FLine.png MK64_Garage_New3FArrow.pngMK64_Garage_New3F.pngMK64_Garage_New3FLine.png

MK64_Garage_4FArrow.pngMK64_Garage_4F.pngMK64_Garage_4FLine.png

MK64_Garage_R.pngMK64_Garage_RLine.png MK64_Garage_Out.png

Floor Numbers

MK64_Garage_Grey2F.png MK64_Garage_Grey3F.png MK64_Garage_Grey4F.png

Early Courses#

Watch on YouTube

Within the kimura archive, several early renditions of courses have been found, some of them having more differences compared to the final versions than others.

Banshee Boardwalk#

  • The entire boardwalk part is enclosed with wooden guardrails.
  • The interior of the house features a wall on the path to the exit.
  • The wall next to the fireplace is sticking out into the room a bit more.
  • The house has a ceiling, which is still present in the final version, albeit not visible normally.

Overview of the course.

An additional wall placed at the exit.

(Source: deadhamster)

Yoshi Valley#

  • Welcome and Exit gates instead of waving Yoshi flags.
  • The ground around the giant egg is slightly elevated.
  • The giant egg is part of the course geometry (although it's unclear if it would have moved or been a LOD, replacing the object in the distance).

Overview of the course.

A Welcome gate at the valleys entry point.

Giant egg on an elevated platform and the Exit gate.

(Source: deadhamster)

Mario Raceway#

The only difference in this course is some slightly altered geometry on the background hills, right behind the first set of two advertisement banners.

Overview of the course.

(Source: deadhamster)

Minimaps#

There are minimaps located in image/minimap.c, which have the first 8 minimaps with Debug Menu order and Town. Most of them are the same as final, but some are different. In general, the outlines are thicker and don't have as many holes in them.

Bowser's Castle#

Leak

Final

There are much fewer turns than in the final, and the end part was simplified.

Banshee Boardwalk

Leak

Final

The house part has no holes or walls.

Yoshi Valley#

Leak

Final

The early version had a few more paths.

Koopa Troopa Beach#

Leak

Final

The lake near the shortcut was missing.

Royal Raceway#

Leak

Final

The track looked way different, jumps may have not been implemented at that point in development.

Miscellaneous#

To do:
Add the location of the mentioned file

There is a copy of Moo Moo Farm in [LOCATION], but it uses the old file format (the same one that TOWN uses).

Items#

Multiple scrapped items were found.

MK64egg.pngMK64marble.pngMK64oldmushroom.pngMK64oldmushroom3.pngMK64feather.pngMK64sinker.png

From left to right:

  • A Yoshi egg, which in Super Mario Kart could only be used by the CPU-controlled Yoshi.
  • A set of six colorful marbles, labeled G_Marble in the files.
  • An old design for singular Mushrooms.
  • An old design for Triple Mushrooms.
  • A Cape Feather, also from Super Mario Kart.
  • A 10-ton weight, labeled Sinker in the files.

The egg would eventually appear as one of the special items in Mario Kart: Double Dash!!.

3D Models#

To do:
Get more info about objects with the "old" suffix.

RVs#

There are two versions of an unused RV vehicle, intended to appear in Toad's Turnpike. object/rv.c reveals that it would have looked similar to the sedan vehicle used in the final game. object/rvold.c seems to be an older, thinner version.

It is not clear if RVs would have replaced sedans, or were supposed to appear alongside them as an additional vehicle type. In code, they are both defined the same object ID 44 and all the functions are still named after the RV.

"Final" version of the RV Earlier version of the RV, based on the suffix "old"

(Source: deadhamster, MonsterDruide1)

Steamboat#

To do:
Get a better image with proper coloring

object/SHIP1bodyold.c appears to be an early version of the steamboat which appears in D.K.'s Jungle Parkway. The only difference in the model are the two smoke stacks, which have a jagged appearance, as opposed to being flat on top in the final version.

(Source: deadhamster, MonsterDruide1)

Trophy Cups#

In object/cup_old.c variants for older trophy models can be found. Differences to the final models consist of the podium base being black before, rather than a reddish brown and the small trophy having the same metal material applied to the three struts as opposed it being always the silver material in the final variant.

MK64_Cup_large.gif MK64_Cup_norm.gif

kimura.lzh/kart_cup.c contains what seems to be the earliest version of the trophy cup. It resembles the design of the trophies from Super Mario Kart.

Another variant features a trophy sporting Mario's head on top of a chunk of broken concrete. Only a golden version of this is referenced.

Formula 1 Car#

To do:
Find the filename and more details for this model

Model of an F1 car, purpose unknown.1

Super Mario 64 "Castle" Level#

In kimura.lzh/sample.c there is a copy of the unused Stage1 level found in Super Mario 64's leaked source. It may have been used as a level test. The corresponding textures are not included.

Textures#

Unused Font#

A complete set of small font graphics exists in the game's data. The character set contains letters, numbers, and a symbol. No known version of the game uses this font, and it differs from the fonts seen in the final game's menus and interface. These graphics can be found in d1\routefree\bbgames\mk64\kimura.lzh\sprite.c.

The graphics are stored as individual textures.

Miscellaneous Track Textures#

Several textures used in development for various racing courses, but are not found in any release version.

Yoshi Valley

MK64_Leak_Welcome1.png MK64_Leak_Exit.png

MK64_Leak_Welcome2.png MK64_Leak_Exit2.png

Two pairs of "Welcome" and "Exit" signs meant for the entry and exit points of the valley area.

Koopa Troopa Beach

MK64LeakShark.png MK64LeakLeaf.png

A shark fin intended for the scrapped shark object and a leaf for the scrapped typhoon hazard.

Kalimari Desert

Soil meant as debris in a scrapped tornado hazard.

DK's Jungle Parkway

MK64_DKJP_Treeline5.pngMK64_DKJP_Treeline3.pngMK64_DKJP_Treeline4.pngMK64_DKJP_Treeline1.pngMK64_DKJP_Treeline2.pngMK64_DKJP_Treeline6.png

Older renders of the background jungle.

MK64DKPlant1Joined.png MK64DKPlantPalm.png MK64DKPlantFruit.png

Renders of plants that would be incorporated into the background tree line in the release version.

MK64_DKJP_Dirt_Road.png MK64_DKJP_Finish_Line.png

Blurry dirt road and finish line texture not used in release versions.

MK64_DKJP_Arrow_Sign1.png MK64_DKJP_Arrow_Sign2.png

Unique arrow signs.

MK64_Wooden_Pattern_32x64.png MK64_Wood_Pattern.png MK64_Wood_Pattern2.png MK64_Cave_Wall.png MK64_DKJP_Rocks.png MK64_DKJP_Tree_Leaf.png MK64_DKJP_Guard_Rail.png

Various wooden patterns, cave wall, rocks, tree leaves and an early guard rail.

MK64_Jungle_Trees.png MK64_Tree_Vines.c.png

Hand-drawn textures for the jungle background.

Block Fort

MK64_Rcolor.c.png MK64_Rcolor2.c.png MK64_Rcolor3.c.png MK64_Rcolor4.c.png MK64_RWall.c.png

MK64_Gcolor.c.png MK64_Gcolor2.c.png MK64_Gcolor3.c.png MK64_Gcolor4.c.png MK64_GWall.c.png

MK64_Bcolor.c.png MK64_Bcolor2.c.png MK64_Bcolor3.c.png MK64_Bcolor4.c.png MK64_BWall.c.png

Colored RGB textures which are painted with vertex coloring in the release versions. A yellow version is not in the files, as it has been overwritten by the final gray-scale textures.

Unknown

The end of a wooden log.

An entrance texture, not specified.

Some sort of guard rail.

MK64_Brick1.c.png MK64_Brick2.c.png MK64_Brick3.c.png MK64_Brick4.c.png MK64_Brick5.c.png

Various textures labeled "brick".

A blurry checkered finish line on top of a two-colored underground.

MK64_Light1.c.png MK64_Light2.c.png

Lights, either used as headlights for cars or other light fixtures.

The same water texture as it's been used in release versions, but much more saturated and brighter.

Billboards#

An early international Yoshi billboard.

An early Koopa Air billboard that instead says Good Ear, with a rabbit head symbol (possibly MIPS). It could've been removed for being too similar to the actual Goodyear logo, or for not really being Mario-themed (or both). It can also be seen in early footage.

An early "Shot!" billboard that originally said "Shell", a reference to the Shell oil company. Strangely, the S is reversed and uses an early design.

result00#

result/result00.sgi is an early screenshot featuring the old sprites, Magikoopa/Kamek, and an early version of the item box. It is similar to a prerelease screenshot, the only real difference being that "LAP" was changed to "TIME".

Originally, the Chinese version of Mario Kart 64 was called "Mario Kart iQue" instead of just Mario Kart.

A very early placeholder logo, probably used at the very start of the localization's development.

Placeholder Title Screen#

Located in kimura.lzh/kwastatic.c and nearly identical to the Japanese Super Mario Kart logo, with the exception that Mario's mouth is not open.

This was used in many Super Mario Kart prototypes that were also part of the July 25, 2020 leak.

(Image: MonsterDruide1)

Unused Meter#

In depot/mk64/kimura.lzh/sprite.c there is an icon/HUD graphic that looks to be an early speedometer.

Misc.#

Smoke Four unused particle textures named smoke000, smoke001, smoke002, and smoke003 are present in d1\routefree\bbgames\mk64\kimura.lzh\sprite.c

Despite their names, the graphics do not resemble the smoke effects used in the final game. Instead, they appear as small golden particle sprites. No known object, effect, or course in the final game uses these textures.

Goomba

A Goomba texture lifted from Super Mario 64, meant to test animations.

Egg

A Yoshi Egg, likely meant for the unused Egg item.

Fire

MK64_Leak_Fire.png MK64_Leak_Blue_Fire.png

Red and blue flames. Scrapped shell trail particles. The red flame would also have been used on scrapped bomb car move modes: BOM_MODE_RUN and BOM_MODE_OIKAKE (chase). They would have been animated by quickly scaling them down and up, resulting in a moving flame to the viewers eye.

Milky Way

In depot/mk64/map/KT14.c (data for Rainbow Road) an array for texture data called milkeyway_txt is set, but no actual raw image data or other references to it can be found.

Code#

Bomb Cars#

Different bomb move types opposed to the ones in the release version are found in kimura.lzh/enemy.c:

"BOM_MODE_ROTATE" was the previous rotational move type. Only a clockwise version is present here, whereas in the final release a counter-clockwise type has been added as well. In this mode, the bomb would have been colored blue.

"BOM_MODE_RUN" calls a function to have the bomb move along the course path, similar to the traffic on "Toad's Turnpike". In this mode, red flame particles would have appeared on the object and the bomb would have been colored green.

"BOM_MODE_DAKOU" acts the same as the previous type but adds some deviation to the center of the course path. "Dakou" translates to "snaking; zigzagging" from Japanese. In this mode, the bomb would have been colored yellow.

"BOM_MODE_GYAKU" calls a function to follow the course path in reverse. "Gyaku" translates to "reverse; opposite" from Japanese. In this mode, the bomb would have been colored red.

"BOM_MODE_STOP" has the bomb stay stationary at a determined course path point. In this mode, the bomb would have been colored black.

"BOM_MODE_OIKAKE" executes code to follow a player, if inside the radius of 20 units. Otherwise, the bomb would follow the path as in the "move" type. "Oikake" translates to "chase; follow" from Japanese. In this mode, red flame particles would have appeared on the object and the bomb would have been colored red.

In predetermined course data, only "BOM_MODE_STOP" and "BOM_MODE_ROTATE" are set, meaning the other move types would have been called dynamically, although it isn't known how or when. The other modes also appear to be similar to red and blue shell code in their functionality.

Interestingly, on the course Yoshi Valley, touching a bomb would have resulted in the same hit state as touching a red shell (propelling you forward in the air), whereas on every other course it would call the hit state for fake item boxes and other course hazards (throwing you into the air without any forward momentum). This code is still present in the release version of the game, but no bomb cars appear on this course.

Fire Pillars#

MK64_FIRE_WALL.gif

Some commented-out code in kimura.lzh/object.c shows that separate fire pillar objects were once planned for the game. Two functions, display_firepillar and put_firepillar, would have been used to draw the fire pillar and place it on the track. There's no code to make the fire pillar move, and its graphics don't have a texture assigned, but it seems like it was meant to appear in Bowser's Castle. The object has an internal ID of 36. Since the commented out code would only place one fire pillar object at the starting line, it’s likely this was just a test. The fire pillar idea might have later been reused for the Bowser statue flames and the also unused fire wall effect.

Fire Wall#

Function names containing fire_wall found in kwanime.o suggest the presence of unused effects, similar to the previously mentioned fire pillar effect. This feature appears to have been intended to spawn fire pillar objects in three separate locations near the wooden bridges and outer castle walls sections of Bowser's Castle, emerging from the lava below.2 While the code seems to be largely functional, it lacks the necessary initialization calls, and the corresponding area check function is entirely omitted from the final game.

Weight Object#

Some unfinished code can be found in kimura.lzh/kobj.c seemingly used to spawn the scrapped weight item. The code is very rudimentary - it would have simply spawned 11 star sprites and one bubble sprite in a row next to the player. Not much else can be concluded about the items behavior, but it is likely that the sprites are placeholders for the weight and some kind of chain that would have slowed or stopped a player in a ball-and-chain kind of situation.

Speech Bubbles#

Within kimura.lzh/kobj.c four speech bubble functions can be found, which are not in the release version of the game. Only the one that shows a musical note was kept.

They are as followed: oops, ouch, oh, and himei (which is Japanese for scream)

The bubble displaying oops can be seen in old footage of Super Mario Kart R and by how each function is coded, it is safe to say they all would have been words inside a bubble, appearing above the character on various occasions.

Character state flags for all of them can be found in the release version, but they are omitted and won't do anything (except the aforementioned musical note).

Bees#

Located in include/kawaext.h is a "bee move table pointer" labeled beemvtbl. This is the only mention of bees in the entire code, but the placement suggests that those would have been allocated into the same memory area as the leaves particles falling out of trees.

Pokey#

include/kwdraw.c contains commented out code labeled SANBO (Japanese name of Pokey), which would have drawn seven animated Pokey sprites next to each other to the screen. Given the fact, that it is bundled together with other testing code and the mentioned sprites are not referenced anywhere else, this was most likely disregarded relatively early in development. There is a commented out date within the code block, namely "ITEM Test ('96/1/30)".

Tornado and Typhoon#

Located in kwprint.c are two functions with commented out code, namely kwdisplay_tornado and kwdisplay_typhoon.

The tornado effect would have consisted of a set of max. 5 colored smoke particles on the ground, another set of max. 32 smoke particles creating the body of the tornado and set of max. 50 soil particles. The typhoon would have looked the same but was coded to use a different color for the smoke particles and instead of soil, it would have contained leaf particles.

The actual animation values have not been found, so it is not clear how they would have moved. In kwdraw.c a commented out call to the tornado function is proof, that it would have been appeared in the course Kalimari Desert, but a call to the typhoon function is not present.

Sharks#

Additionally to a discovered texture, a commented out function can be found in kwprint.c, labeled kwdisplay_shark. Not much is known about the behavior, but the shark would have begun its animation state when the player approaches an unknown area in the course "Koopa Troopa Beach". A maximum of 4 shark objects could have been allocated simultaneously into memory.

Different Battle Modes#

Within kwfx.c exists an array of text strings for the various course names. Three of them don't appear in the release version: "push battle", "rimocon battle" (Remote Control Battle), and "new".

There also is an entry called "balloon battle", so it seems like each mode corresponded to a separate battle arena at some point during development.

Those strings are the only mention of alternative battle modes in the entire code.

SM64 Leftovers#

Also found within the Mario Kart 64 leaked data is some code and assets pertaining to Super Mario 64, namely some early character lighting code.

References#


  1. https://twitter.com/vl_tone/status/1289639440814489600↩︎
  2. https://x.com/rlgcarrot/status/1920396031956557916↩︎