Mario Kart Wii Tracks
Mario Kart Wii is a heavily reversed-engineered, fun, complex, and modifiable game.
Mario Kart Wii details:
6th installment in Nintendo's Mario Kart racing series
32 race tracks
10 battle courses
Other improvements and new features over the previous installments
Online gameplay via Nintendo's WFC service
Monthly online tournaments
Motion controls via the Wiimote for steering
Minor anti-gravity system (for driving over steep surfaces)
Karts and bikes (of many different types)
So much more
Over many years of research, many game modders have cracked the game's main file formats and learned how Mario Kart Wii ticks, and many utilities now allow for the creation of custom content.
Custom race and battle tracks
New music and audio
So much more
Although the GameSpy servers (which hosted Nintendo's WFC servers) closed in 2014, the game is back online, thanks to the modders reverse engineering the WFC server for Mario Kart Wii, and for creating a replacement server through the Wiimmfi service. Many modders create "custom track distributions" which are a pack of custom courses for play in-game. Often times they are based on the CT-Code patch, which expands the course selection menu to play more than the game's internal limit of 32 race track slots and play all of these courses online via Wiimmfi. (Obviously all players must be using the same version of the custom distribution so that they game will sync up on each Wii and then play online.)
One of the more well-known CT distributions is CTGP-R, which includes a whopping 216+ custom tracks over 54 cups. CTGP-R also includes a few game patches for slightly tweaked gameplay, online connectivity enhancements, and also a new gameplay mode known as Countdown. CTGP-R is run from files on a SD card, and Riivolution is used to patch the MKWii game-disc files on the fly to run the CT's modifications. Riivolution is a utility which patches disc-based games with files from an SD card, as well as patch memory addresses (cheat codes) using the Ocarina cheat engine and Wii Gecko codes.
User's custom tracks and content can be played on a real console primarily through the "My Stuff folder" feature included in most CTs. This is a special folder in the CT where the user can place modified files for the game to patch in. CTGP-R has My Stuff support, but due to the fact that Countdown mode replaced Battle Mode, custom battle courses can't be tested; therefore, I recommend using the My Stuff folder feature in OptPack, which can support all track types. Both CTs must be run through Riivolution, although CTGP-R can also be run from a custom channel that can be installed.
The Mario Kart Wiiki has a ton of custom content to play, tutorials, and technical information on how to create custom tracks and modify Mario Kart Wii.
Below are all of my custom Mario Kart Wii tracks; they can also be found on my MKWiiki Profile.
Hover Pack is a set of 5 battle courses replacing the Retro Battle Cup for Mario Kart Wii. These tracks are ports of the 4 mazes from Microsoft Hover! (1995) plus a port of Arena Rumble track from Monster Truck Madness 2.
This pack includes:
The aforementioned custom battle arenas
Hover Item Pack for new items
Custom BRSTM music
New title screen music
New music for the tracks
New race/battle music
New sound effects
Patched song length entries for the new music
New THP videos
New title videos
Updated battle cup selection video, and Retro Battle cup video
Menu THPs created with Thwimp!
Updated game graphics
Updated game text
Retro battle cup name ("Windows 95" battle cup)
"Coin Runners" battle mode renamed to "Flag Grabbers"
These tracks were ripped by viewing the level in HoverRenderer (a DirectX viewer for the game's .maz maze files), and hooking the application executable with NinjaRipper. When hooked onto a DirectX application, NinjaRipper can rip 3D geometry and textures from the application as a NinjaRipper .rip file. The HoverRenderer application was necessary, because Hover's "3D rendering" is a simple raycast-like Doom rendering engine. This file was then imported into 3DS Max (using a 3DS ninjaripper .rip importer script which came with NinjaRipper), and exporting the model into a Wavefront .obj model. This model was then imported into Google Sketchup for editing.
Unfortunately, HoverRenderer is just a wireframe viewer of the maze levels, with no textures or depth. In Google Sketchup, I filled in the wireframes with volume, and then applied textures as appropriately (by playing the game to find all textures and where they go). The textures were ripped from the game from each maze using HoverMod. These textures were BMP files, with the color black being the transparent color, so I had to convert them to PNG files and manually apply transparency alpha channel where needed for use in Google Sketchup. After all of this editing, I began creating the KMP object positioning file, the KCL collision, the minimap, the VRCorn skybox, and the BRRES graphics file for normal MKWii tracks.
Hover Item Pack