Custom Track Tutorial
This is the main page of the Custom Track Tutorial. Here, you'll see a brief overview of the SZS (track) file, a listing of programs you might need to edit them and in-depth tutorials on creating and editing each of the files. The tutorials are presented in an order, however, you will find yourself jumping to previous and later steps, as it's impossible to define a strict "order" of building the track. During this process, it's common, even for advanced track makers, to run into issues or freezes of unknown origin. This is also addressed in the tutorial.
Overview of a Custom Track File
Mario Kart Wii uses SZS files to store track data; all of the original tracks can be found and extracted from the game's ISO using a program such as WiiScrubber or Wiimms ISO Tools. You will mainly be working with the following files when creating a custom track; they are all required for your track to load and work.
- Your SZS
- SZS is an archive format used by Nintendo for many types of data, and is similar to a ZIP or RAR file. Your SZS file will contain all the files needed by your track, including:
- course_model.brres and vrcorn_model.brres
- BRRES files contain 3D models and textures. They have no solidity of their own. The course_model.brres defines the main course model of the track and vrcorn_model.brres defines the model of the background, usually the sky.
- This is the minimap model, which is a textureless 3D model that is displayed in-game from a birds-eye viewpoint.
- This is the 3D model that defines collision data. It determines what parts of the level can be driven on, where the walls and boost pads are, and which parts of the level are out of bounds.
- This is a binary data file which controls the placement of all objects in a level, including item boxes and other animated objects such as trees, as well as enemy routes, start positions, checkpoints, and intro and replay cameras.
- posteffect folder
- This folder contains data for effects such as fog, glow, bloom and lightning, simulating the natural environment of the world.
An SZS archive typically contains many other files: Objects are usually composed of one or more files, and all associated files must be present for the track to load and the object to function properly. They might include BRRES files, which contain models, textures, "bones" and multiple types of animation and KCL files for objects with collision (although some solid objects do not use KCLs for collision). You may also find folders labeled effect and brasd. Effects include water splashes (Pocha), snow and fireworks (Hanabi). The brasd folder contains animations, needed for Goombas (Kuribo), Chain Chomps (Wanwan), flags, cannons, and other items. Files can also be imported, exported or deleted from an SZS file as needed.
Programs and Files
The following programs and files aide in the track creation process.
- Track Files
- You will need to obtain the SZS files of Mario Kart Wii's original tracks to obtain objects and any associated effects. You can see how to extract them from your Wii game disc in the Obtain Original Track Files page.
- These command-line tools can perform many tasks efficiently. They allow the creation of compressed SZS files automatically using scripts (batch files) and checking/fixing errors in KMP, KCL and SZS files. It can adjust the minimap automatically and can generate KCL files directly from OBJ imports.
- A BRRES Editor
- Originally created for Super Smash Bros. Brawl, this is the primary tool for editing BRRES files. BrawlCrate is an updated version of BrawlBox.
- Hottest new editor in the west. Still in alpha, but specifically designed for Mario Kart Wii and features many quality-of-life improvements.
- A KMP Editor:
- Most comprehensive editor. Highly recommended.
- A 2D editor, with useful features such as a line tool, or display of objects within a spreadsheet format.
- A tool giving an overview of the whole KMP file and is able to add/delete/move points with a click of the mouse button. For more complex models, an imported map model OBJ file can be used to directly calculate the height values.
- KMP3D is a plugin for Google SketchUp 6 and later that can help custom track authors with the KMP.
- This technique is for experienced devs or experimental purposes only. Some files, such as post-effects and animation files, cannot be edited with the current suite of programs. Hex Editing is the only option in cases like these and can lead to greater understanding of these files.
These tutorials cover all the normal procedures for making a Custom Track.
- How to import and export textures to and from BRRES files.
- Guidelines on making your track's model with a 3D model editor.
- How to create a minimap for your level.
- How to set up objects, routes, checkpoints and many other important things.
- How to change data for effects such as fog, glow, bloom and lightning of the world.
- Index of video tutorials on various subjects.
These tutorials cover additional topics.
- Various things that can be done with your BRRES in BrawlBox, either to make the track look better or fix issues.
- How to create and edit model or texture animations using BrawlBox.
- How to add shadows so your track doesn't look like the floor emits its own light.
- How to create moving terrain in your track.
- How to create a custom battle arena.
- How to setup objects with Extended presence flags
- How to convert music into the BRSTM format used by Mario Kart Wii and many other Nintendo games.
- How to extract an existing model (such as from Nintendo or another custom track) from a BRRES back into the 3D model editor.
- How to add advanced features provided by LE-CODE.
- How to edit on-screen effects (such as Blooper ink or Lightning).
Testing and Reviewing
In all phases of the development, it is important to test the track. This is especially true before releasing the new track.
- Testing check list.
- Create an OBJ file and import it in a 3D tool to make a visual review of your track.
- Scale your track, if it is too small or too large.
Crashes and Bugs
These pages cover various glitches and errors that may occur in your course.
- Common reasons why your track might freeze the game.
- Problems with transparent textures.
- A little discussion about often found KCL glitches.
- A visual artifact caused by repeated textures.
- How to fix various problems with checkpoints.
- Slow frame rates can make a fun level a dread to play.
- A way to skip a large portion of a course by a glitch or skipping the first checkpoint.
- If your viewpoint when playing gets stuck under your level, this tutorial is for you.
- When two overlapping polygons/faces "fight" to be seen, which causes flickering in-game.
The following programs and tutorials are outdated and/or obsolete and not recommended.
- This program is the predecessor of CTools. It can be used for editing things that CTools currently cannot. It is also better for certain tasks that CTools can handle, such as creating minimaps and editing KCL data, as both of these features in CTools have problems that will produce glitches in-game. Unlike CTools, SZS Modifier cannot expand files to make them larger than the originals.
- How to convert your model to a BRRES file that Mario Kart Wii can load using the CTools Pack BRRES Editor.
- How to add mipmaps to BRRES files created in CTools.
- How to remake a Paint level in SketchUp using an image, while maintaining the original scale and position of the track.
- How to make your track with MS Paint and import into a BRRES file.
- How to make your minimap using SZS Modifier and/or BRRES Editor.
Introduction – Textures – Scale – Modeling ⇒ Using Blender – BRRES: CTools
BRRES: BrawlBox – BRRES: RiiStudio – Minimap – Solidity – KCL: Wiimms Tools – KMP Editing
Object Editing – Cameras – Cannons – Post-effects – Videos
Getting Files – BrawlBox Tricks – Animations – Shadows – Mipmaps
Custom Effects – Moving Terrain – Music – Ports – Paint Remakes – Tutorial Archive
Extended presence flags: Track Tutorial – LE-CODE Track FAQ