Development:Mario Kart 64
This page details development materials of Mario Kart 64.
This page or section details content from the July 2020 Nintendo Leak. Check the July 2020 Nintendo Leak category for more pages also sourced from this material. |
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. |
To do:
|
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.
Contents
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. |
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
Ceiling
Wall
Elevator
Directions
Floor Numbers
Early Courses
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 release version, albeit not visible normally.
Overview of the course. | An additional wall placed at the exit. |
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. |
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. |
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 of them 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.
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, 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 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.
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 its final version.
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.
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
Miscellaneous Track Textures
Several textures used in development for various racing courses, but are not found in any release version.
Yoshi Valley
Two pairs of "Welcome" and "Exit" signs meant for the entry and exit points of the valley area.
Koopa Troopa Beach
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
Older renders of the background jungle.
Renders of plants that would be incorporated into the background tree line in the release version.
Blurry dirt road and finish line texture not used in release versions.
Unique arrow signs.
Various wooden patterns, cave wall, rocks, tree leaves and an early guard rail.
Hand-drawn textures for the jungle background.
Block Fort
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.
Various textures labeled "brick".
A blurry checkered finish line ontop of a two-colored underground.
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. 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".
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 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.
Unused Meter
In depot/mk64/kimura.lzh/sprite.c there is an icon/HUD graphic that looks to be an early speedometer.
Misc.
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
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
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.
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 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.
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.