GSoC topics 2014

(Scripting engine)
Line 29: Line 29:
==Scripting engine==
==Scripting engine==
-
SuperTuxKart race tracks are currently either static, either feature looping animations. The goal of scripting is to expose track object control and manipulation capabilities to a scripting language, so that each track may specify custom interaction. Examples include birds/animals that flee when you drive near, driving over a button opens a gate, cows stop eating grass and look at you as you drive by, play sounds depending on what's happening in the race, and so on and so forth. Furthermore, certain features that are currently hardcoded (help popups when you reach a certain point in the tutorial, offering to start a challenge when driving near a challenge node in the story mode overworld, the gates to the final story mode challenge opening only when you have completed all challenges) could be rewritten with scripting, and thus clean our code of specific hardcoded actions for certain objects.
+
SuperTuxKart race tracks are currently either static, or feature looping animations. The goal of scripting is to expose track object control and manipulation capabilities to a scripting language, so that each track may specify custom interaction. Examples include birds/animals that flee when you drive near, driving over a button opens a gate, cows stop eating grass and look at you as you drive by, play sounds depending on what's happening in the race, and so on and so forth. Furthermore, certain features that are currently hardcoded (help popups when you reach a certain point in the tutorial, offering to start a challenge when driving near a challenge node in the story mode overworld, the gates to the final story mode challenge opening only when you have completed all challenges) could be rewritten with scripting, and thus clean our code of specific hardcoded actions for certain objects.
More specifically, this project will involve :
More specifically, this project will involve :
Line 137: Line 137:
== Track Editor ==
== Track Editor ==
-
This is for now a place holder. It can be anything from tools to simplify track creation, for example a tool that allows people to draw the outline of a track in 2d, convert this into a mesh that is imported into blender. Maybe add height-fields to that. Or a full stand-alone track editor, which either directly exports the files we need, or create data to be imported in blender for fine tuning.
+
A long outstanding problem of SuperTuxKart is the fact that good skills with a 3d modelling software (best blender) is necessary in order to create tracks. This means that many people interested in designing tracks are facing a huge hurdle. Additionally, even for experienced modeller it takes a lot of time to create a track.
 +
 
 +
This project is about creating a track editor. It is certainly one of the most difficult suggestions for SuperTuxKart, but also some of the most creative ones. 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: either create a stand-alone track editor, that also exports the data structure needed for stk (see drivelines). Or create a kind of pre-processor, which creates a file that is then imported into blender. From there the final export could be done, or even additional tweaking of the track would be possible.
 +
 
 +
This project suggestion requires a well thought out proposal, likely with some examples in form of drawings or screenshots. 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. 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). This could then be imported into blender.
 +
 
 +
Think about placing items on the track. What about zippers, jumps, bridges?
 +
 
 +
 
 +
 
 +
'''Prerequisites'''
 +
 
 +
GUI development, a scripting language, some blender and python experience would be advantageous
 +
 
 +
'''Mentor'''
 +
* Joerg Henrichs (hiker)
 +
* Fallback: Marianne Gagnon (auria)
----
----

Revision as of 05:31, 20 January 2014

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

User Tools