Development:Mario Kart 64
This page details development materials of Mario Kart 64.
|This article is a work in progress.|
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.
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.
- 1 Courses
- 2 Items
- 3 3D Models
- 4 Textures
- 5 Code
- 6 References
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."
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.|
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.
The parking garage track mentioned in the interview also has remnants left over. While no model was among the asset leak, there were several textures for stuff like level markers.
Early Course Versions
Get comparison screenshots.
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.
Noticeable differences are:
-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 release version, albeit not visible normally.
|Overview of the course.||An additional wall placed at the exit.|
Noticeable differences are:
-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.|
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.|
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 of them are different.
- There are much fewer turns than in the final, and the end part was simplified.
- The house part has no holes or walls.
- The early version had a few more paths.
Koopa Troopa Beach
- The lake near the shortcut was missing.
- The track looked way different, jumps may have not been implemented at that point in development.
There is a copy of Moo Moo Farm in [LOCATION], but it uses the old file format (the same one that TOWN uses).
Multiple scrapped items were found.
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 marble-like objects.
- An old design for singular Mushrooms.
- An old design for Triple Mushrooms.
- A Cape Feather, also from Super Mario Kart.
- A weight.
The egg would eventually appear as an item in Mario Kart: Double Dash!!.
Get more info about objects with the "old" suffix.
There are two version of an unused RV vehicle, supposed to appear on 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 where supposed to appear alongside them as an additional vehicle type. In code, they are both defined the same object ID 44 and all the funcions are still named after the RV.
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, opposed to being flat on top in its final version.
Formula 1 Car
Find the filename and more details for this model
Model of a F1 car, unknown what it's purpose was before being cut. 
Miscellaneous Track Textures
Several track textures that never ended up being used.
Two pairs of "Welcome" and "Exit" signs, probably meant for Yoshi's Valley.
Koopa Troopa Beach
A shark and a wave texture, meant to be used in the water of Koopa Troopa Beach.
Leaves and soil meant to be used for a scrapped tornado.
An early international Yoshi billboard.
An early Koopa Air billboard that instead says Good Ear. It could've been removed to be less copyright-infringing or to be more Mario-themed (or both).
An early "Shot!" billboard that originally said "Shell" Strangely, the S is reversed. The S also uses an early design.
result/result00.sgi is an early screenshot featuring the old sprites, Magikoopa/Kamek, and an early version of the item box. This screenshot seems to be taken just before this other screenshot.
Title Screen Logo
Originally, the Chinese version of Mario Kart 64 was called Mario Kart iQue, instead of just Mario Kart.
There is also a very early placeholder logo, probably used at the very start of the localization's developement.
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.
In depot/mk64/kimura.lzh/sprite.c there is an icon/HUD graphic that looks to be an early speedometer.
A Goomba texture, from Super Mario 64, meant to test animations.
A Yoshi egg, probably meant for the unused Egg item.
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.
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.
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.
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.
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.
Commented out code can be found in kimura.lzh/object.c which would have been used to spawn fire pillar objects. display_firepillar to load the graphics and put_firepillar to place them. No move routine can be found, and the graphics pointer has no associated texture, but they would have appeared in the course Bowser's Castle. The internal ID for the object is 36.
Some unfinished code can be found in kimura.lzh/kobj.c seemingly used to spawn the scrapped weight item. The code is very rudimentary and would have just spawned 11 star sprites and one bubble sprite next to the player, which seem to be placeholders. Not much else can be concluded about the items behavior, but the code suggests, that the weight would have been somehow attached to a player, either for the hold state, or for colliding with it in some way.
Assumption: One possible behavior could be, that the item would have slowed down or kept the player in place, in a ball-and-chain manner, given the placement and count of the created sprites.
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).
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.
include/kwdraw.c contains commented out code labeled SANBO (Japanese name of Pokey), which would have drawn seven animated Pokey sprites next to eachother 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.
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.