Difference between revisions of "Custom Track Tutorial"

From Custom Mario Kart
Jump to navigation Jump to search
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Introduction==
+
== Introduction ==
 +
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. All files and sections are combined together to form a track, so it is important to know what each of them does while working with them. It is important to read all the tutorials and topics thoroughly '''before starting to make the track'''. 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.
  
This page contains a brief overview of [[Custom Track]] files, a listing of the programs used to create Custom Tracks, and a listing of in-depth tutorials on creating Custom Tracks and related topics. If you plan to create your first custom track, please read each page and topic thoroughly and follow the tutorial steps. If you have any questions, you may post them on the [[{{TALKPAGENAME}}|talk page]] (please sign your posts with <nowiki>--~~~~</nowiki>).
+
You can use the [[{{PAGENAME}}#Links|blue links box]] at the bottom of each page to navigate faster through the tutorials. If you have any questions, you may post them on the [[{{TALKPAGENAME}}|talk page]] (please sign your posts with <nowiki>--~~~~</nowiki>).
  
Note that, when creating a custom track, it is important to know what each file you are working with does and how each section of it works. The files are combined together to build a track and even though this tutorial presents each one of them in an order, you will most likely find yourself going back to previous steps of the tutorial to change something in the track. It is common, even for advanced track makers, to run into issues or crashes that they don't know where they are coming from, or even simple stuff that requires a fix, such as a turn that is too tight for vehicles with outer drifting or long straight sections that get too boring in 50cc.
+
== Overview of a Custom Track File ==
 
+
[[File:Replacing a KCL File in CTools.png|256px|thumb|A view of [[SZS Explorer]] showing [[SZS]] file structure.]]
==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.
 
 
[[File:Soliditykh.png|256px|thumb|A view of [[SZS Explorer]] showing [[SZS]] file structure.]]
 
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.
 
  
 
*'''Your [[SZS]]'''
 
*'''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:
 
::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.[[KCL|kcl]]'''
+
:*'''course_model.[[BRRES|brres]]''' and '''vrcorn_model.brres'''
:::This is collision data. This file 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.
+
:::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.
 
 
:*'''course.[[KMP|kmp]]'''
 
:::This file controls the placement of all [[object]]s 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.
 
 
 
:*'''course_model.[[BRRES|brres]]'''
 
:::This is the model of the level displayed in-game.  It has no solidity of its own, but can be used by programs such as SZS Modifier or Wiimms SZS Tools to generate collision data into a KCL file.
 
  
 
:*'''map_model.brres'''
 
:*'''map_model.brres'''
:::This is the [[minimap]], which is a textureless 3D model that is displayed in-game from a birds-eye viewpoint.
+
:::This is the [[minimap]] model, which is a textureless 3D model that is displayed in-game from a birds-eye viewpoint.
  
:*'''vrcorn_model.brres'''
+
:*'''course.[[KCL|kcl]]'''
:::This is the background of the track, often a 3D model of the sky.
+
:::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.
  
 +
:*'''course.[[KMP|kmp]]'''
 +
:::This is a binary data file which controls the placement of all [[object]]s 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.
  
An '''SZS''' archive typically contains many other files. The '''posteffect''' folder contains data for effects such as fog, glow, bloom and lightning, simulating the natural environment of the world. 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, otherwise your level will freeze on load. These files usually include '''BRRES''' files.  BRRES files usually contain models, textures, "bones" and multiple types of animation.  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.
+
:*'''posteffect''' folder
 +
:::This folder contains data for effects such as fog, glow, bloom and lightning, simulating the natural environment of the world.
  
==Required Programs and Files==
+
An '''SZS''' archive typically contains many other files: [[Object]]s 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.
  
You will need to download these programs and obtain the original track files to use as a base for your new level.
+
== Programs and Files ==
 +
The following programs and files are recommended for you to create your track. Some of them are required, and some are optional.
  
* '''[[CTools Pack#SZS Explorer|SZS Explorer]]'''
+
*'''Track Files'''
::This program is used to load an SZS file archive and manage the files inside, such as the course and map models. Double clicking on an object inside an SZS archive will open it in an external editor, if available.  
+
::You will need to obtain the SZS files of Mario Kart Wii's original tracks to use the object files (such as the item box) and maybe the KMP and vrcorn_model from them. You can see how to extract them from your Wii game disc in the [[Obtain Original Track Files]] page.
  
* '''Model Editor'''
+
*'''[[Wiimms SZS Tools]]'''
::* '''[[Modeling with 3D Editor|Google SketchUp]]''' ''(Recommended)''
+
::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.
::* [[3ds Max]] (Recommended for advanced modellers or for proper texture mapping of Sketchup models)
+
::*'''[[Wiimm's Tool Manager]]''' is a simple GUI for Wiimms SZS Tools.
::* Any other 3D modeler program; usually needs to be used along with '''[[Modeling with 3D Editor|Blender]]''' or '''[[Modeling with 3D Editor|3ds Max]]'''.
+
::*You can download a pack of batch files with simple scripts which can be used on this tutorial [http://www.mediafire.com/file/bb30qwtrrh0ilfw/CTTutorial_WiimmsSZSTools_ScriptPack.zip here].
  
*'''BRRES Editor'''
+
*'''[[CTools Pack]]'''
::*'''[[CTools Pack#BRRES Editor|CTools Pack's BRRES Editor]]'''  
+
::The multiple programs contained in this pack are used to load and edit [[SZS]], [[BMG]], [[TPL]], [[BRRES]] and [[KCL]] files. Only the following two will be used in these tutorials:
:::This program is used to view models and convert OBJ-format models (exported with 3D modeling programs) to the BRRES model format used in Mario Kart Wii. It is also used to import and export textures without otherwise altering a model.
+
:::*'''[[CTools Pack#SZS Explorer|SZS Explorer]]'''
 +
::::It can open SZS archives and manage the files inside, by adding or removing them. Double-clicking on an object inside an SZS archive will open it in an external editor, if available.
 +
:::*'''[[CTools Pack#BRRES Editor|BRRES Editor]]'''
 +
::::This program is used to view models and convert OBJ-format models (exported with 3D modeling programs) to the BRRES model format used in Mario Kart Wii. It is also used to import and export textures without otherwise altering a model.
 +
::If you use Wiimms SZS Tools to manage your SZS file and [[Custom Track Tutorial#BrawlBox|BrawlBox]] to import your models, this pack is not needed (recommended for advanced users).
  
::*'''[[BrawlBox]]'''
+
*'''[[3D Tool]]'''
:::This program is originally designed for Brawl, but can edit Mario Kart Wii's BRRES files aswell. You can convert DAE files, which hold a better texture mapping and have more features than OBJ files, to the BRRES model format. This way other features that the BRRES model format supports, like vertex painting and more complex materials, can be converted too.
+
::Most 3D model editors can be used to create a Mario Kart Wii track. '''[[Google SketchUp]]''' is the recommended tool for beginners. [[3ds Max]] can be used for more advanced editing.
  
*'''KMP Editor'''
+
*A '''KMP Editor''':
::* '''[[KMP Cloud]]'''
+
::*'''[[KMP Cloud]]'''
 
::::This program can edit and expand KMP data. It allows you to add or remove extra objects, checkpoints, respawn points, etc.
 
::::This program can edit and expand KMP data. It allows you to add or remove extra objects, checkpoints, respawn points, etc.
::* '''[[KMP Modifier]]'''
+
::*'''[[KMP Modifier]]'''
 
::::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.
 
::::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.
::* '''[[Wiimms SZS Tools|wkmpt or wszst (Wiimms SZS Tool)]]'''
+
::*'''[[Wiimms SZS Tools|wkmpt or wszst (Wiimms SZS Tool)]]'''
 
:::: Both tools convert a KMP file into a text file, which can be edited with any text editor. And both tools use an [http://szs.wiimm.de/info/kmp-guide.html internal compiler] to re-create the KMP.
 
:::: Both tools convert a KMP file into a text file, which can be edited with any text editor. And both tools use an [http://szs.wiimm.de/info/kmp-guide.html internal compiler] to re-create the KMP.
  
* '''[[Wiimms SZS Tools#wszst (Wiimms SZS Tool)|Wiimms SZS Tool]]'''
+
=== Advanced ===
::These command-line tools can perform many tasks and surpasses many of the capabilities of other programs. 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. It does '''not''', however, possess any model importing or viewing functions (for BRRES files) and does not have any visual form of KMP editing.
+
These are optional programs and tools that can enhance your track.
  
* '''Track Files'''
+
*'''Image Editor'''
::You can base your level on one of Mario Kart Wii's track files, such as ''beginner_course'' (Wii Luigi Circuit), ''castle_course'' (Wii Mario Circuit) or ''old_mario_64'' (N64 Mario Raceway.)  These levels all have fairly easy to understand KMPs. This option is usually preferable, as long as you have [[Obtain Original Track Files| access to the original files]].
+
::Adobe Photoshop, GIMP, and Paint.NET are just a few examples. Since they are free, GIMP and Paint.net are recommended; Paint.net is much faster and lighter while GIMP is slower but more powerful.
  
::You can also base your track off of another custom track.  [[Rooster Island]] works well as it can replace almost any track and is based on castle_course's KMP. [[Fishdom Island]] is another good choice if you need more complex checkpoints, item routes and enemy routes.  Or you can create an SZS file from scratch using CTools or Wiimms SZS Tools. If you create the SZS from scratch you will need to import some of the files from another Nintendo or custom track into your SZS. Some dedicated CT creators have managed to create their own glitch-free KCL or KMP files, such as the KCL at [[Sunset Ridge]].
+
*'''[[BrawlBox]]'''
 +
::This program is originally designed for Super Smash Bros. Brawl, but can edit Mario Kart Wii's files as well. You can convert DAE files, which have more features than OBJ files, to the BRRES model format. This way other features that the BRRES model format supports, like vertex painting and more complex materials, can be converted too. It also allows the creation of BRSTM files for custom music.
  
====Optional/Advanced====
+
*'''[[Material Tool]]
 +
::This tool edits the properties of the materials in MDL0 files.
  
These are helpful programs that can enhance your track.
+
*'''[[KMP3D]]'''
 +
::KMP3D is a plugin for Google SketchUp 6 and later that can help custom track authors with the KMP.
  
*'''Image Editor'''
+
*'''[[MagicY]]'''
::Photoshop, GIMP, and Paint.NET are just a few examples. Since they are free, GIMP and Paint.net are recommended; Paint.net is much faster and lighter while GIMP is slower but more powerful.
+
::MagicY is a tool which works together with KMP Cloud to [[Automated height correction|automatically calculate Y coordinates]] for KMP entries.
  
* '''[[SZS Modifier]]'''
+
*'''[[Hexadecimal|Hex Editor]]'''
::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.
+
::A Hex Editor is included with CTools, but this technique is for experienced hackers 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.
  
* '''[[Hexadecimal|Hex Editor]]'''
+
== Tutorials ==
::A Hex Editor is included with CTools, but this technique is for experienced hackers or experimental purposes only.  Some files, such as post-effects and animation files, cannot be edited with the current suite of programs. [[Hexadecimal|Hex Editing]] is the only option is cases like these, and can lead to greater understanding of these files.
+
If you're creating your first custom track, you should begin with the [[Modeling with 3D Editor]] page.
  
==Tutorials==
+
=== Main Tutorials ===
If you're going to create a [[Texture Hack]] you need to follow the [[Texturing]] tutorial. Otherwise you should begin with the [[Modeling with 3D Editor]] tutorial.
+
These tutorials cover all the normal procedures for making a Custom Track.
  
===Main Tutorials===
+
==== Model Related ====
These tutorials cover all the normal procedures for making a Custom Track.
+
*'''[[Texturing]]'''
 +
::How to import and export textures to and from BRRES files.
  
* '''[[Texturing]]'''
+
*'''[[Scale]]'''
::How to import textures to and export textures from BRRES model files. Useful information even if you aren't creating a texture hack.
+
::How to make sure your track will be the right size; not too big or too small. And make sure that all drivable points (or the complete track) use coordinates between -131071 and +131071. Otherwise items will cause problems. However, these problems can be solved with [[LEX]]:[[LEX#HIPT|HIPT]].
  
* '''[[Modeling with 3D Editor]]'''
+
*'''[[Modeling with 3D Editor]]'''
 
::Guidelines on making your track's model with a 3D model editor.
 
::Guidelines on making your track's model with a 3D model editor.
 +
:::*'''[[Creating a BRRES with CTools]]'''
 +
::::How to convert your model to a BRRES file that Mario Kart Wii can load using the CTools Pack BRRES Editor. ''(beginner)''
 +
:::*'''[[Creating a BRRES with BrawlBox]]'''
 +
::::How to convert your model to a BRRES file that Mario Kart Wii can load using BrawlBox. ''(advanced)''
  
* '''[[BRRES Creating]]'''
+
*'''[[Creating a Minimap]]'''
::How to convert your model to a BRRES file that Mario Kart Wii can load.
+
::How to create a minimap for your level.
 
 
* '''[[Solidity]]'''
 
::How to create an optimized collision model, assign properties such as boosts, walls, and off road to surfaces in your level and generate a KCL file.
 
 
 
* '''[[KCL Tutorial (Wiimms Tools)]]
 
::How to convert your optimized collision model into a KCL using [[Wiimms SZS Tools]].
 
  
* '''[[Creating a Minimap]]'''
+
==== KCL Related ====
::How to create a minimap for your level. A minimap not only helps players by showing their location on the track, it is needed as a guide to place objects in your level.  
+
*'''[[Solidity]]'''
 +
::Guidelines on creating an optimized collision model, assigning properties such as boosts, walls, and off road to surfaces in your level.
 +
:::*'''[[Creating a KCL with Wiimms Tools]]
 +
::::How to convert your optimized collision model into a KCL using [[Wiimms SZS Tools]].
  
* '''[[KMP Editing]]'''
+
==== KMP Related ====
::How to set up objects, routes, checkpoints and many other important things. Expanding KMP files is also covered in this tutorial.
+
*'''[[KMP Editing]]'''
 +
::How to set up objects, routes, checkpoints and many other important things.
 +
:::*'''[[Object Editing]]'''
 +
::::How to import objects from other tracks.
 +
::::How to edit other models (sky dome, item boxes, etc.) in your track.
 +
:::*'''[[KMP Editing/Cameras|Camera Editing]]'''
 +
::::How to set up intro and replay cameras in your level for a professional look.
 +
:::*'''[[Cannon|Cannons]]'''
 +
::::How to set up a cannon using a KCL trigger and a KMP destination point.
  
* '''[[Object Editing]]'''
+
==== Other ====
::How to import objects from other tracks.
+
*'''[[Post-effects|Editing post-effects]]'''
::How to edit other models (sky dome, item boxes, etc.) in your track.
 
 
 
* '''[[Camera|Camera Editing]]'''
 
::How to set up intro and replay cameras in your level for a professional look.
 
 
 
* '''[[Cannon|Cannons]]'''
 
::How to set up a cannon using a KCL trigger and a KMP destination point.
 
 
 
* '''[[Post-effects|Editing post-effects]]'''
 
 
::How to change data for effects such as fog, glow, bloom and lightning of the world.
 
::How to change data for effects such as fog, glow, bloom and lightning of the world.
 +
*'''[[Video Tutorials]]'''
 +
::Index of video tutorials on various subjects.
  
===Miscellaneous/Advanced Tutorials===
+
=== Miscellaneous/Advanced Tutorials ===
 
These tutorials cover additional topics.
 
These tutorials cover additional topics.
  
* '''[[BrawlBox Tricks]]'''
+
==== Model Related ====
 +
*'''[[BrawlBox Tricks]]'''
 
::Various things that can be done with your BRRES in BrawlBox, either to make the track look better or fix issues.
 
::Various things that can be done with your BRRES in BrawlBox, either to make the track look better or fix issues.
  
* '''[[Shadows]]'''
+
*'''[[Animations]]'''
 +
::How to create and edit model or texture animations using BrawlBox.
 +
 
 +
*'''[[Shadows]]'''
 
::How to add shadows so your track doesn't look like the floor emits its own light.
 
::How to add shadows so your track doesn't look like the floor emits its own light.
  
* '''[[Adding Mipmaps for CTools Models]]'''
+
*'''[[Adding Mipmaps for CTools Models]]'''
 
::How to add mipmaps to BRRES files created in CTools.
 
::How to add mipmaps to BRRES files created in CTools.
  
* '''[[Battle Arena (Custom Track Tutorial)|Battle Arena]]'''
+
==== KCL Related ====
 +
*'''[[Moving Terrain]]
 +
::How to create moving terrain in your track.
 +
 
 +
==== KMP Related ====
 +
*'''[[Battle Arena (Custom Track Tutorial)|Battle Arena]]'''
 
::How to create a custom battle arena.
 
::How to create a custom battle arena.
 +
*'''[[Extended presence flags/Track Tutorial|Extended presence flags: Track Tutorial]]'''
 +
::How to setup objects with [[Extended presence flags]]
  
* '''[[Custom Music]]'''
+
==== Other ====
 +
*'''[[Custom Music]]'''
 
::How to convert music into the BRSTM format used by Mario Kart Wii and many other Nintendo games.
 
::How to convert music into the BRSTM format used by Mario Kart Wii and many other Nintendo games.
  
* '''[[Porting Tutorial]]'''
+
*'''[[Importing 3D models]]
 +
::How to extract an existing model (such as from [[Nintendo]] or another custom track) from a BRRES back into the 3D model editor.
 +
 
 +
*'''[[Porting Tutorial]]'''
 
::How to Port 3D levels from other games such as [[Mario Kart 64]], [[Mario Kart Double Dash!!]], or Super Mario 64.
 
::How to Port 3D levels from other games such as [[Mario Kart 64]], [[Mario Kart Double Dash!!]], or Super Mario 64.
 
* '''[[KCL Tutorial (CTools and SZS Modifier)]]
 
::How to convert your collision model into a KCL using [[CTools]] and [[SZS Modifier]] ''(Not recommended)''
 
 
* '''[[Modeling with Paint]]'''
 
::How to make your track with MS Paint and import into a BRRES file ''(Obsolete and not recommended)''
 
 
   
 
   
* '''[[Remaking Paint Levels in SketchUp|Remaking Paint Levels in SketchUp]]'''
+
*'''[[Remaking Paint Levels in SketchUp|Remaking Paint Levels in SketchUp]]'''
 
::How to remake a MS Paint level in SketchUp using an image, while maintaining the original scale and position of the track.
 
::How to remake a MS Paint level in SketchUp using an image, while maintaining the original scale and position of the track.
 +
 +
*'''[[LE-CODE/Track FAQ|LE-CODE Track FAQ]]'''
 +
::How to add advanced features provided by [[LE-CODE]].
  
 
=== Testing and Reviewing ===
 
=== 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.
  
In all phases of the development it is important to test the track. This is especially true before releasing the new track.
+
*'''[[Testing a Track]]
 
 
* '''[[Testing a Track]]
 
 
::Testing check list.
 
::Testing check list.
  
* '''[[wkmpt DRAW|Visual Review]]
+
*'''[[wkmpt DRAW|Visual Review]]
::Create an OBJ file and import in a 3D tool to make a visual review of your track.
+
::Create an OBJ file and import it in a 3D tool to make a visual review of your track.
  
* '''[[Track Transformation]]
+
*'''[[Track Transformation]]
 
::Scale your track, if it is too small or too large.
 
::Scale your track, if it is too small or too large.
  
Line 165: Line 182:
 
These pages cover various glitches and errors that may occur in your course.
 
These pages cover various glitches and errors that may occur in your course.
  
* '''[[Common Crash Causes]]
+
*'''[[Common Crash Causes]]
 
::Common reasons why your track might freeze the game.
 
::Common reasons why your track might freeze the game.
  
* '''[[Harry Potter Effect]]
+
*'''[[Harry Potter Effect]]
 
::Problems with transparent textures.
 
::Problems with transparent textures.
  
* '''[[KCL Glitches]]
+
*'''[[KCL Glitches]]
 
::A little discussion about often found KCL glitches.
 
::A little discussion about often found KCL glitches.
  
* '''[[Moiré pattern]]
+
*'''[[Moiré pattern]]
::A visual artifact caused by small repeated textures.
+
::A visual artifact caused by repeated textures.
  
* '''[[Position Jump Bug]]
+
*'''[[Position Jump Bug]]
 
::How to fix various problems with checkpoints.
 
::How to fix various problems with checkpoints.
  
* '''[[Slow Motion Bug]]
+
*'''[[Slow Motion Bug]]
 
::Slow frame rates can make a fun level a dread to play.
 
::Slow frame rates can make a fun level a dread to play.
  
* '''[[Ultra Shortcut]]
+
*'''[[Ultra Shortcut]]
 
::A way to skip a large portion of a course by a glitch or skipping the first checkpoint.
 
::A way to skip a large portion of a course by a glitch or skipping the first checkpoint.
  
* '''[[Underground Camera Bug|Camera under the ground bug]]
+
*'''[[Underground Camera Bug]]
 
::If your viewpoint when playing gets stuck under your level, this tutorial is for you.
 
::If your viewpoint when playing gets stuck under your level, this tutorial is for you.
  
* '''[[Z-fighting]]
+
*'''[[Z-fighting]]
 
::When two overlapping polygons/faces "fight" to be seen, which causes flickering in-game.
 
::When two overlapping polygons/faces "fight" to be seen, which causes flickering in-game.
 +
 +
== Tutorial Archive ==
 +
The following programs and tutorials are outdated and/or obsolete and not recommended.
 +
 +
==== Software ====
 +
*'''[[SZS Modifier]]'''
 +
::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.
 +
 +
==== Tutorials ====
 +
*'''[[KCL Tutorial (CTools and SZS Modifier)]]
 +
::How to convert your collision model into a KCL using [[CTools]] and [[SZS Modifier]].
 +
 +
*'''[[Modeling with Paint]]'''
 +
::How to make your track with MS Paint and import into a BRRES file.
 +
 +
*'''[[Creating a Minimap with SZS Modifier]]
 +
::How to make your minimap using SZS Modifier and/or BRRES Editor.
  
 
== Links ==
 
== Links ==
 
{{Custom Track Tutorial}}
 
{{Custom Track Tutorial}}
 
[[category:Tutorials]][[category:Custom Track Tutorial]]
 
[[category:Tutorials]][[category:Custom Track Tutorial]]

Revision as of 23:25, 29 February 2020

Introduction

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. All files and sections are combined together to form a track, so it is important to know what each of them does while working with them. It is important to read all the tutorials and topics thoroughly before starting to make the track. 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.

You can use the blue links box at the bottom of each page to navigate faster through the tutorials. If you have any questions, you may post them on the talk page (please sign your posts with --~~~~).

Overview of a Custom Track File

A view of SZS Explorer showing SZS file structure.

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.

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.
  • map_model.brres
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 are recommended for you to create your track. Some of them are required, and some are optional.

  • Track Files
You will need to obtain the SZS files of Mario Kart Wii's original tracks to use the object files (such as the item box) and maybe the KMP and vrcorn_model from them. 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.
  • Wiimm's Tool Manager is a simple GUI for Wiimms SZS Tools.
  • You can download a pack of batch files with simple scripts which can be used on this tutorial here.
The multiple programs contained in this pack are used to load and edit SZS, BMG, TPL, BRRES and KCL files. Only the following two will be used in these tutorials:
It can open SZS archives and manage the files inside, by adding or removing them. Double-clicking on an object inside an SZS archive will open it in an external editor, if available.
This program is used to view models and convert OBJ-format models (exported with 3D modeling programs) to the BRRES model format used in Mario Kart Wii. It is also used to import and export textures without otherwise altering a model.
If you use Wiimms SZS Tools to manage your SZS file and BrawlBox to import your models, this pack is not needed (recommended for advanced users).
Most 3D model editors can be used to create a Mario Kart Wii track. Google SketchUp is the recommended tool for beginners. 3ds Max can be used for more advanced editing.
  • A KMP Editor:
This program can edit and expand KMP data. It allows you to add or remove extra objects, checkpoints, respawn points, etc.
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.
Both tools convert a KMP file into a text file, which can be edited with any text editor. And both tools use an internal compiler to re-create the KMP.

Advanced

These are optional programs and tools that can enhance your track.

  • Image Editor
Adobe Photoshop, GIMP, and Paint.NET are just a few examples. Since they are free, GIMP and Paint.net are recommended; Paint.net is much faster and lighter while GIMP is slower but more powerful.
This program is originally designed for Super Smash Bros. Brawl, but can edit Mario Kart Wii's files as well. You can convert DAE files, which have more features than OBJ files, to the BRRES model format. This way other features that the BRRES model format supports, like vertex painting and more complex materials, can be converted too. It also allows the creation of BRSTM files for custom music.
This tool edits the properties of the materials in MDL0 files.
KMP3D is a plugin for Google SketchUp 6 and later that can help custom track authors with the KMP.
MagicY is a tool which works together with KMP Cloud to automatically calculate Y coordinates for KMP entries.
A Hex Editor is included with CTools, but this technique is for experienced hackers 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.

Tutorials

If you're creating your first custom track, you should begin with the Modeling with 3D Editor page.

Main Tutorials

These tutorials cover all the normal procedures for making a Custom Track.

Model Related

How to import and export textures to and from BRRES files.
How to make sure your track will be the right size; not too big or too small. And make sure that all drivable points (or the complete track) use coordinates between -131071 and +131071. Otherwise items will cause problems. However, these problems can be solved with LEX:HIPT.
Guidelines on making your track's model with a 3D model editor.
How to convert your model to a BRRES file that Mario Kart Wii can load using the CTools Pack BRRES Editor. (beginner)
How to convert your model to a BRRES file that Mario Kart Wii can load using BrawlBox. (advanced)
How to create a minimap for your level.

KCL Related

Guidelines on creating an optimized collision model, assigning properties such as boosts, walls, and off road to surfaces in your level.
How to convert your optimized collision model into a KCL using Wiimms SZS Tools.

KMP Related

How to set up objects, routes, checkpoints and many other important things.
How to import objects from other tracks.
How to edit other models (sky dome, item boxes, etc.) in your track.
How to set up intro and replay cameras in your level for a professional look.
How to set up a cannon using a KCL trigger and a KMP destination point.

Other

How to change data for effects such as fog, glow, bloom and lightning of the world.
Index of video tutorials on various subjects.

Miscellaneous/Advanced Tutorials

These tutorials cover additional topics.

Model Related

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 add mipmaps to BRRES files created in CTools.

KCL Related

How to create moving terrain in your track.

KMP Related

How to create a custom battle arena.
How to setup objects with Extended presence flags

Other

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 Port 3D levels from other games such as Mario Kart 64, Mario Kart Double Dash!!, or Super Mario 64.
How to remake a MS Paint level in SketchUp using an image, while maintaining the original scale and position of the track.
How to add advanced features provided by LE-CODE.

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.

Tutorial Archive

The following programs and tutorials are outdated and/or obsolete and not recommended.

Software

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.

Tutorials

How to convert your collision model into a KCL using CTools and SZS Modifier.
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.

Links