Track Maker's Guide

This page describes how to "format" your objects in Blender 2.5 / 2.6, when making a track, so that the STK 0.7 track exporter will recognize and export its properties. There is also a track editor, an easier way to create less professional tracks. You can find its manual here, and a tutorial here.

If you have not already done so, I recommend you read articles Style Guidelines and Licensing (if you are making tracks/karts for your personal enjoyment then you may not need this, but if you wish to submit your contributions for inclusion into SuperTuxKart having read these articles is an definite prerequisite)


Get the tools

See article Installing the tools 2 to get the proper blender set-up.

It's also a good idea to enable Artist Debug Mode.

Porting an old track

If you have an old track, made in Blender 2.4 for SuperTuxKart <= 0.7.2, see this tutorial to upgrade it to the latest version. Note: 2.49b and later of Blender allow you to edit the files used for 0.6.0. You can use this to your advantage and take 0.6.0s tracks and export for 0.7.3 (and later).

Media repository

If you wish to work on an existing track, or just see how current tracks are done, check the Media Repository.


Note that making tracks for SuperTuxKart currently requires knowledge of Blender. If you are not at ease in Blender, it is suggested to start by following Blender tutorials.

Modelling the track model itself is covered in the following articles:

Note that you need to be already somewhat familiar with blender. Tutorials are easily found with a Google search.

Texture your models with UV texturing. Your texture images size must be a power of two, e.g. 256x256 or 512x512, in .png or .jpg format (if you use a jpeg texture, give us the original lossless version [e.g. png] along the jpg one so that we have a lossless version).

Blender procedural materials are not supported and most of what you enter in the material buttons window will be ignored. Vertex colors may however be used.

For static objects, most combinations of scale and rotation will export file. However please avoid giving a negative scale to objects (this is bad practice anyway).

Track-wide properties

If you have installed the SuperTuxKart blender plugins as described above, a new panel called SuperTuxKart Scene Properties will appear in the properties window.


Note that in this screenshot, Is a SuperTuxKart track is checked; by default this checkbox is unchecked and many less options are visible. The first thing to do when you make a track is to check this checkbox.

Per-Object Properties (or how to handle "special" objects)

If you installed the SuperTuxKart Blender plugins as described above, a new "SuperTuxKart Properties" panel will appear for each object in the scene, in the properties window.


The most important setting is this panel is the type property, which is used to mark which objects are 'special' (i.e. are not part of the static scenery).

Types overview

apply scale and rotation to water objects before exporting!

Separate/Animated Objects

See Separate or Animated Objects

End Camera

SuperTuxKart supports different end cameras. For a track several cameras can be defined. The cameras will be sorted relative to the main driveline (which is where the karts will drive during end animations) - the camera closest to the beginning of the track first etc. All blender cameras will be used as end cameras, if you want a camera not to be exported, give its 'type' property the value 'ignore'. The following two camera types are currently defined:

Additionally a camera defines a property called 'start', which defines a start-sphere. If a kart comes into the start-sphere of the next end camera, this camera will replace the current camera. Note that for an 'ahead' camera the camera position you use in blender is only used to determine the start-sphere, i.e. when the camera should be activated. Once the camera is activated, it will instantly fly ahead of the kart, independent of the camera position in blender.

If you have a series of fixed cameras it is very common that the start-sphere of one camera overlaps (or covers) the previous camera. Otherwise it is likely that the previous camera will show the back of the kart, which might not be that interesting (though feel free to ignore this recommendation of course).

Other camera types might be added on request - so please let us know if you have a good idea for a different camera type.

Property Value
type "ahead", "fixed" or "ignore" depending on the type of camera. "ahead" is default
start the radius of the start sphere around the camera. If a kart enters the sphere the camera is activated.

Animated Textures

Any objects that are part of the main track (i.e. no other special object listed here except objects of type object, see above) can mark one texture to be animated. The object must define the name of the texture in the property texture to animate, and should set the speed of movement by setting Animation X Speed and/or Animation Y Speed. See the following example:



You can add particle emitters anywhere in a track. Simply add an empty, give it the type Particle emitter, and in the particle kind property enter the name of the file describing the particles you wish to use.


For a list of currently available particle files, check the data/gfx folder. You should be able to create new particle types by duplicating an existing one and tweaking its properties.

The format for a particle XML file is described at Particles File

Level of Detail

Note : In simple cases, when there is a single level of detail (i.e. the object is either visible or non-visible), and the object appears only once (i.e. not appropriate for the trees of a forest), you can select object type LOD Standalone which will make the object disappear after a distance.

Level of detail is the ability to show a highly-detailed model when you're close, and a less detailed one when you're far.

Start by creating the various models with different levels of detail, and give them type LOD Model. Place them anywhere in the track, these particular models won't be visible in-game. Then place an object in the track where the LOD object should be instanciated and give it type LOD Instance (you can place any model on the track; it could be a cube, etc. but of course usually it's more helpful to place the actual model).

For instance, here is the example of how to setup a LOD sphere :

Lod low.png

Lod medium.png

Lod high.png

The various models that represent various definitions of the same object should all receive the same LOD group name.

Once the 3 levels are defined, you are ready to place instances of the sphere in the track, setting the LOD group name of the object you want to appear there :

Lod instance.png

The result in-game will be that, at this location :

When using LOD, please make sure that the transition between the various levels is a seamless as possible.


SuperTuxKart supports lightmaps from version 0.8. See article lightmaps


SuperTuxKart supports splatting from version 0.8. See article splatting


If you have installed the SuperTuxKart Blender plugins as described above, you will see a new panel called "SuperTuxKart Image Properties"


From there, you can enter the properties of each texture

See the materials page to learn about the syntax of the generated materials.xml file (this is not required to make tracks)

A nice water splash

It is possible to make it so that a water splash is drawn when a kart hits the water. For this, you will need to model both the surface of the water and a "seabed" (bottom of the water).

Then apply the following settings to the surface and "seabed" materials :

(the water splash sound is not mandatory, here the splash sound effect that comes with SuperTuxKart is used; splash.xml is a particle descriptor for water splashes that comes with STK)



All objects having the type 'maindriveline' or 'driveline' will be exported as drivelines. Drivelines are currently used to specify where to drive for the AI, and to draw the minimap which is displayed in the lower left corner of the race GUI.

For more information, see this separate article

For lap counting to work, you need to create a driveline and at least one checkline as mentioned in the article above


You can export the track by clicking the Export button in the Track Export panel under the Scene tab of the properties.


After the export, the log section under it may contain additional information.

Retrieved from ""

User Tools