We just reached 20,000 articles on this wiki!
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Development:Mario Kart 64

From The Cutting Room Floor
Jump to navigation Jump to search

This page details development materials of Mario Kart 64.

This cactus is UNDER CONSTRUCTION
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.
Hmmm...
To do:
  • Near-final proto
  • 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

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.

MK64 TOWN Path.gif MK64 TOWN Render1.png
A GIF showing the path racers were intended to take. A render of the startline.
MK64 TOWN Render2.png MK64 TOWN Render3.png
A render showing a cafe (left) and the church (right). A render showing more buildings.
MK64 TOWN Render4.png MK64 TOWN Render5.png
A render showing the tunnel entrance. Another render of the tunnel entrance.
MK64 TOWN Render6.png MK64 TOWN Render7.png
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.

MK64 TOWN Minimap.png

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, there were several textures for stuff like level markers.

MK64 Garage 1FArrow.png MK64 Garage 1F.png MK64 Garage 1FLine.png MK64 Garage New1FArrow.png MK64 Garage New1F.png MK64 Garage New1FLine.png

MK64 Garage 2FArrow.png MK64 Garage 2F.png MK64 Garage 2FLine.png MK64 Garage New2FArrow.png MK64 Garage New2F.png MK64 Garage New2FLine.png

MK64 Garage 3FArrow.png MK64 Garage 3F.png MK64 Garage 3FLine.png MK64 Garage New3FArrow.png MK64 Garage New3F.png MK64 Garage New3FLine.png

MK64 Garage 4FArrow.png MK64 Garage 4F.png MK64 Garage 4FLine.png

MK64 Garage R.png MK64 Garage RLine.png

MK64 Garage Out.png

MK64 Garage Grey2F.png MK64 Garage Grey3F.png MK64 Garage Grey4F.png

Early Course Versions

Hmmm...
To do:
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.


Banshee Boardwalk

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.

MK64 Banshee Boradwalk beta1.png MK64 Banshee Boardwalk Beta2.png
Overview of the course. An additional wall placed at the exit.
(Source: deadhamster)

Yoshi Valley

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).

MK64 Yoshi Valley Beta1.png MK64 Yoshi Valley Beta2.png
Overview of the course. A Welcome gate at the valleys entry point.
MK64 Yoshi Valley Beta3.png
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.

MK64 Mario Raceway Beta1.png
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 of them are different.

Bowser's Castle

Leak Final
BetaBowsersCastle.png
FinalBowsersCastle.png
  • There are much fewer turns than in the final, and the end part was simplified.

Banshee Boardwalk

Leak Final
BetaBansheeBoardwalk.png
FinalBansheeBoardwalk.png
  • The house part has no holes or walls.

Yoshi Valley

Leak Final
BetaYoshiValley.png
FinalYoshiValley.png
  • The early version had a few more paths.

Koopa Troopa Beach

Leak Final
BetaKoopaBeach.png
FinalKoopaBeach.png
  • The lake near the shortcut was missing.

Royal Raceway

Leak Final
MK64 Unknown Minimap.png
FinalRoyalRceway.png
  • The track looked way different, jumps may have not been implemented at that point in development.

Misc.

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 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!!.

3D Models

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

RVs

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.

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


(Source: deadhamster and MonsterDruide1)

Steamboat

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.

Focus on the top of the smoke stacks


(Source: deadhamster and MonsterDruide1)

Formula 1 Car

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

Model of a F1 car, unknown what it's purpose was before being cut. [1]

Mk64 internal f1 car.png

Textures

Miscellaneous Track Textures

Several track textures that never ended up being used.

MK64 Leak Welcome1.png MK64 Leak Exit.png MK64 Leak Welcome2.png MK64 Leak Exit2.png

Two pairs of "Welcome" and "Exit" signs, probably meant for Yoshi's Valley.

Koopa Troopa Beach

MK64LeakShark.png MK64LeakWave.png

A shark and a wave texture, meant to be used in the water of Koopa Troopa Beach.

Kalimari Desert

MK64LeakLeaf.png MK64LeakSoil.png

Leaves and soil meant to be used for a scrapped tornado.

Billboards

MK64LeakYoshiBboard.png

An early international Yoshi billboard.

MK64LeakGoodEar.png

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).

MK64LeakShellBboard.png

An early "Shot!" billboard that originally said "Shell" Strangely, the S is reversed. The S also uses an early design.

result00

MK64 result00.png

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.

MK64EarlyiQueLogo.png

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

Mario kart titlelogo.png

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.

Internal MarioKart64 OldTitleScreen.png

(Image: MonsterDruide1)

Unused Meter

Scrapped MK64 meter.png

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

Misc.

Goomba

MK64LeakGoomba.png

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


Egg

MK64 Yoshi egg.png

A Yoshi egg, probably 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.

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.

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.

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 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.

Speech Bubbles

Super Mario Kart R Speech Bubble.png

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.

References