GSoC Track Editor

Line 1: Line 1:
== A Track Editor for SuperTuxKart ==
== A Track Editor for SuperTuxKart ==
-
This project is about creating a track editor. It is certainly one of the most difficult projects for SuperTuxKart, but also probably the most creative and potentially most satisfying one. Editors can come in many different variations: they can be based on pieces (e.g. squares or rectangles) that you just place next to each other, to very powerful tools like the integrated editor of ModNation Racer (see for example http://www.youtube.com/watch?v=Tyk3CC3vyyg). We certainly don't expect anything close to the latter ;)
+
This project is about creating a track editor. It is an average to diffcult project (depending on selected scope), but also probably the most creative and potentially most satisfying one. Editors can come in many different variations: they can be based on pieces (e.g. squares or rectangles) that you just place next to each other, to very powerful tools like the integrated editor of ModNation Racer (see for example http://www.youtube.com/watch?v=Tyk3CC3vyyg). We certainly don't expect anything close to the latter ;)
-
There are two general approaches:
+
Generally speaking, in order to keep the scope realistic, we are not aiming to produce a tool that can actually do 3D modelling. The tool would rather be geared towards less technical users, and let them assemble roads and place objects, so that they can have fun creating roads or even building their neighborhood. This project would not aim to replace blender for the making of high-quality, "core package" tracks
-
=== Create a Stand-alone track editor ===
+
There are a few approaches to this project. A first way is to build tracks by letting the player assemble roads from a set of preset road segments, be it [http://i.imgur.com/mctrTch.gif in 2D] or [in 3D https://www.youtube.com/watch?feature=player_detailpage&v=5HZr9AK5P6g#t=30] . Then the player could add objects (trees, rocks, buildings, etc.) from a library of objects, and also add gift boxes, nitro bottles, etc.
-
A stand-alone track editor could export the track (i.e. the 3d models, and all data structures needed by STK). This solves the issue that blender knowledge is required, but to make really good tracks this would appear to be a very challenging task (esp. in the limited amount of time). For high quality tracks certain blender features would be necessary, e.g. to easily create mountains, texture areas, ... Perhaps an existing open source editor can be modified?
+
-
The target audience would be more casual player than experienced designer.
+
A more ambitious project could feature mesh generation and let the player manipulate a road of an arbitrary shape and then generate a B3D file for that road.
-
=== Create a Pre-Processor ===
+
The exporter will in all cases need to generate the XML files SuperTuxKart expects, including namely track.xml and scene.xml
-
The idea here is that a simpler editor is used to create the beginning of a track, which is then imported into blender and finished there. This pre-processor should take care of some of the more mundane work, e.g. find an easy way to describe the outline of the track (including its width), its height. Perhaps allow some rough texturing, and/or placing of objects (tree, houses, ...), and/or placing of powerups (items, bananas, zipper).  
+
-
The pre-processor must be able to save and load the way done so far, but more importantly be able to export the track so that it can be imported into blender. Blender is then used to to export the track into STK's format, where it can be tested. It would be a nice (though not essential) feature if the pre-processor could also directly export into STK's format.
 
-
This would allow a work-flow as follows:
 
-
# Create the track outline in the pre-processor
 
-
# Save, and:
 
-
#* either export into blender format, export the track from blender into STK's format,  or
 
-
#* export the track directly from the pre-processor into STK's format
 
-
#* Run the (at this stage somewhat rough) track in STK to test if the track works fine (e.g. road wide enough, nothing too steep, ...)
 
-
#* If necessary, load the track in the pre-processor again, and go back to step 1.
 
-
#* Export the track into blender.
 
-
#* Import the track in blender, and finish it.
 
-
 
-
 
-
== Discussion ==
 
-
A stand-alone editor that creates high quality tracks appears to be impossible to create in 2 months time. So if your project suggests a stand-alone editor, make sure to create a realistic time line, and let us know what kind of tracks can be created (e.g. if you decide to use a height map, it will be difficult to create bridges etc), and how the track editor can be extended in the future. The advantage is obviously that anybody can create tracks without any blender knowledge.
 
-
 
-
If you decide to suggest a pre-processor, you will likely still need blender knowledge to create a polished track. On the other hand it might free a lot of time for artists doing more repetitive work like creating a nice, challenging, smooth outline of the track etc. It will take some time to find a format that can be imported into blender, but it might mean that the track editor could be used even for highest quality tracks. You still need to give us a realistic timeline, and tell us how the editor can be extended in the future.
 
== Hints ==
== Hints ==
-
This project suggestion requires a well thought out proposal, likely with some examples in form of drawings or mockups. Think of the steps necessary to go all the way from a track idea to the end - a track that can be loaded in SuperTuxKart. Perhaps try to make a simple track with blender to see what is involved. If you base your idea on pre-designed pieces that are put together, then you need a good library manager to allow people to find the pieces they are looking for. If you allow a more flexible approach, describe the process from the beginning to the end.
+
This project suggestion requires a well thought out proposal, likely with some examples in form of drawings or mockups. Think of the steps necessary to go all the way from a track idea to the end - a track that can be loaded in SuperTuxKart. Perhaps try to make a simple track with blender to see what is involved - minimal 3D modelling knowledge would likely help you focus your proposal. If you base your idea on pre-designed pieces that are put together, then you need a good library manager to allow people to find the pieces they are looking for. If you allow a more flexible approach, describe the process from the beginning to the end.
-
A very simple example: you could draw the road of the track in any 2d graphics program (or if you write your own gui allow to draw it). Then analyse this picture to create a real 3d mesh from it (perhaps use a height map). How would you help filling the empty spaces (i.e. between the road) with a simple mesh and some textures. This could then be imported into blender.
+
Think about placing items on the track. What about zippers, jumps, bridges?
-
Think about placing items on the track. What about zippers, jumps, bridges?
+
Think about 3D heights. Will the road be flat, or will you support uphill and downhill sections? If so, how will this be handled?
The editor also needs to create the information the AI is using for driving (which is basically the outline of the track, see [[New_drivelines|drivelines]] for details).
The editor also needs to create the information the AI is using for driving (which is basically the outline of the track, see [[New_drivelines|drivelines]] for details).

Revision as of 23:45, 27 January 2014

A Track Editor for SuperTuxKart

This project is about creating a track editor. It is an average to diffcult project (depending on selected scope), but also probably the most creative and potentially most satisfying one. Editors can come in many different variations: they can be based on pieces (e.g. squares or rectangles) that you just place next to each other, to very powerful tools like the integrated editor of ModNation Racer (see for example http://www.youtube.com/watch?v=Tyk3CC3vyyg). We certainly don't expect anything close to the latter ;)

Generally speaking, in order to keep the scope realistic, we are not aiming to produce a tool that can actually do 3D modelling. The tool would rather be geared towards less technical users, and let them assemble roads and place objects, so that they can have fun creating roads or even building their neighborhood. This project would not aim to replace blender for the making of high-quality, "core package" tracks

There are a few approaches to this project. A first way is to build tracks by letting the player assemble roads from a set of preset road segments, be it in 2D or [in 3D https://www.youtube.com/watch?feature=player_detailpage&v=5HZr9AK5P6g#t=30] . Then the player could add objects (trees, rocks, buildings, etc.) from a library of objects, and also add gift boxes, nitro bottles, etc.

A more ambitious project could feature mesh generation and let the player manipulate a road of an arbitrary shape and then generate a B3D file for that road.

The exporter will in all cases need to generate the XML files SuperTuxKart expects, including namely track.xml and scene.xml


Hints

This project suggestion requires a well thought out proposal, likely with some examples in form of drawings or mockups. Think of the steps necessary to go all the way from a track idea to the end - a track that can be loaded in SuperTuxKart. Perhaps try to make a simple track with blender to see what is involved - minimal 3D modelling knowledge would likely help you focus your proposal. If you base your idea on pre-designed pieces that are put together, then you need a good library manager to allow people to find the pieces they are looking for. If you allow a more flexible approach, describe the process from the beginning to the end.

Think about placing items on the track. What about zippers, jumps, bridges?

Think about 3D heights. Will the road be flat, or will you support uphill and downhill sections? If so, how will this be handled?

The editor also needs to create the information the AI is using for driving (which is basically the outline of the track, see drivelines for details).

Retrieved from "http://supertuxkart.sourceforge.net/GSoC_Track_Editor"

User Tools