Strict Standards: Declaration of SkinSTK::initPage() should be compatible with Skin::initPage(OutputPage $out) in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/skins/stk.php on line 41

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/supertuxkart/htdocs/mediawiki-1.16.2/includes/MagicWord.php on line 722
GSoC topics 2014 - Supertuxkart

GSoC topics 2014

(GSoC Addon Dependencies)
 
Line 1: Line 1:
-
This is currently a brainstorm list of projects students could work on for GSoC 2014. It's not even certain that SuperTuxKart will get reaccepted to participate in 2014, nor are we sure how many slots we will get. Last year we mentored 3 students who all succesfully completed the program and we hope to get at least the same amount of students this year.
+
We have been accepted as a mentoring organisation for the Google Summer of Code. We can't be sure how many slots we will get, but last year we mentored 3 students who all successfully completed the program and we hope to get at least the same amount of students this year.
-
The actual projects we will select will depend on the students' proposals, the mentors' availability (to avoid having too much work for one mentor), and also what features benefit STK the most. Please discuss your ideas with us on IRC and try to contribute beforehand so that we can get an idea of your skills. The latter is definitely not necessary but it might help us in our selection process.
+
The actual projects we will select will depend on the students' proposals, the mentors' availability (to avoid having too much work for one mentor), and also what features benefit STK the most. Please discuss your ideas with us on IRC and try to contribute beforehand so that we can get an idea of your skills. The latter is not strictly necessary but it might help us in our selection process.  
-
For now consider this to be a brainstorming list - to be discussed and fleshed out later.
+
More information about how to get started as a student can be found at our [[GSoC_overview|GSoC overview]] page.
-
==Scripting engine==
+
== Scripting engine ==
-
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. Details are on the [[GSoC_Scripting|Scripting Engine]].
+
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 interactions, as described in more detail on our [[GSoC_Scripting|Scripting Engine]] page.
'''Prerequisites'''
'''Prerequisites'''
Line 17: Line 17:
* Marianne Gagnon (auria)
* Marianne Gagnon (auria)
* Fallback : Joerg Henrichs (hiker)
* Fallback : Joerg Henrichs (hiker)
 +
 +
----
 +
 +
== Online User Administration ==
 +
 +
SuperTuxKart uses a server to provide several online features. At this stage the server is used to manage addons, but it is expected in the future to also take over a role in online multiplayer. This project is about adding missing features to the server, like simple bug reports for addons (e.g. the original designer of a track could be informed about problems, and other users could be warned that a track does not work properly). We also need a way to moderate our online users (e.g. prevent offensive names from being used, allow different roles for different users, ...). Details can be found  [[GSoC_2014_Server_Side|here]].
 +
 +
 +
'''Prerequisites'''
 +
* PHP(OO)
 +
* CSS and HTML
 +
* (My)SQL
 +
* Familiar with C++ (Only a little bit will have to be done in C++.)
 +
 +
''' Mentor'''
 +
* Glenn De Jonghe (unitraxx)
 +
* Fallback: Stephen Just
----
----
Line 26: Line 43:
* C++ programming
* C++ programming
-
* some experience with HTML or XML GUI's
+
* Experience with GUI programming may help
'''Mentor'''
'''Mentor'''
Line 32: Line 49:
* Glenn De Jonghe (unitraxx)
* Glenn De Jonghe (unitraxx)
* Fallback : Joerg Henrichs (hiker)
* Fallback : Joerg Henrichs (hiker)
 +
 +
----
 +
 +
== Physics and Game Play Improvements ==
 +
The physics of SuperTuxKart are very simple at this stage, and some wanted features of the game can not be implemented at this time. Some examples:
 +
* Properly using motor bikes (at this stage all bikes are internally karts, i.e. no real leaning in curves).
 +
* Corkscrew tracks. Some preliminary support for corkscrew tracks is implemented in STK (i.e. the gravity of the karts can be changed, allowing karts to drive on the walls or ceiling), but many details are missing to actually use this feature.
 +
* Different kart physics.
 +
More details can be found [[GSoC_Physics|GSoC Physics]] page.
 +
 +
'''Prerequisites'''
 +
 +
* Good C++ programming.
 +
* Understanding of physics, potentially experience with bullet physics engine.
 +
* Ability to quickly understand existing code.
 +
* Potentially some GUI coding might be required (e.g. different kart physics need to be shown in the kart selection screen).
 +
 +
 +
'''Mentor'''
 +
* Joerg Henrichs (hiker)
 +
* Marianne Gagnon (auria)
----
----
Line 47: Line 85:
'''Mentor'''
'''Mentor'''
 +
* Lauri Kasanen (cand)
* Joerg Henrichs (hiker)
* Joerg Henrichs (hiker)
* Fallback: Marianne Gagnon (auria)
* Fallback: Marianne Gagnon (auria)
 +
----
 +
 +
= Other ideas =
 +
 +
== GSoC Addon Dependencies ==
 +
Currently, when an artist creates an add-on package (a kart, track or battle arena), their contribution is completely encapsulated within a single archive file for download. This presents a few problems:
 +
* Assets may be stored with multiple add-ons
 +
* Users must download the same files multiple times
 +
* Duplicate data must be stored on the server multiple times
 +
This is particularly prevalent with music that artists include with their track or battle arena packages. A dozen artists may all include the same music track, with a size of 4MB, and we would have to store all dozen or more copies independently. In order to resolve this problem, a dependency system could be implemented for add-ons. A more detailed explanation on this topic can be found on the [[GSoC_Addon_Dependencies | Addon Dependencies]] page.
 +
 +
'''Prerequisites'''
 +
* PHP(OO)
 +
* CSS/HTML
 +
* C++
 +
* (My)SQL
 +
 +
''' Mentor'''
 +
* Glenn De Jonghe (unitraxx)
 +
* Fallback: Stephen Just
----
----
Line 62: Line 121:
'''Mentor'''
'''Mentor'''
* Joerg Henrichs (hiker)
* Joerg Henrichs (hiker)
 +
* Glenn De Jonghe (unitraxx)
* Fallback: Marianne Gagnon (auria)
* Fallback: Marianne Gagnon (auria)
-
 
-
----
 
-
 
-
== Administration of Online Play==
 
-
 
-
For online multiplayer we've build upon our STKaddons code base (live at http://stkaddons.net) to reuse a lot of the account code. This has a nice side affect that the accounts at the addons site, can also be used for online multiplayer. The aim of this project is to provide a way to moderate our online play. A moderating/administration panel has to be developped that needs to be nicely integrated with the user panel of stkaddons. Moderator roles will need to be created along with a permissions system to allow certain user managing actions.
 
-
 
-
An in-game report feature to report cheaters (as well as patched servers) should also be added. The stkaddons website should then list (for the moderators with the correct permissions) suspicious servers that can be looked into.
 
-
 
-
Something similar as the latter was suggested for addons. A very simplified bug tracker so that users can report that an addon is buggy or isn't compatible with a certain STK version. The maker of the addon should then be notified (not for every single report obviously) and have the chance to commit revisions. If the addon is in a buggy state for a long specified time it should be removed from the addons repository.
 
-
 
-
Integration with both the game client and the website is the main goal and restructuring of the current stkaddons code base is highly encouraged. It would be nice to have regressing testing for the newly added features in the form of unit testing. If time allows this could be expanded to full coverage.
 
-
 
-
 
-
'''Prerequisites'''
 
-
* PHP(OO)
 
-
* CSS and HTML
 
-
* some (My)SQL
 
-
* Familiar with C++ (Only a little bit will have to be done in C++.)
 
-
 
-
''' Mentor'''
 
-
* Glenn De Jonghe (unitraxx)
 
-
* Fallback: ?
 
----
----
Line 106: Line 143:
==Allow to take a video in game==
==Allow to take a video in game==
Many people want to create videos of a SuperTuxKart race. Be it because they want to report a bug, show off a new feature, or just to post it on youtube. To do this atm additional software needs to be installed, and very often there are problems (performance, sound missing, ...). This project is about adding a built-in video recording feature. Anyone would just need to press a start and stop button, and a video is automatically created (similar to the already implemented snapshot feature).
Many people want to create videos of a SuperTuxKart race. Be it because they want to report a bug, show off a new feature, or just to post it on youtube. To do this atm additional software needs to be installed, and very often there are problems (performance, sound missing, ...). This project is about adding a built-in video recording feature. Anyone would just need to press a start and stop button, and a video is automatically created (similar to the already implemented snapshot feature).
 +
 +
In order to get good performance, you may need to compress frames on the GPU before fetching them. Using the hardware encoding support in latest graphics cards would also be acceptable, but a solution that works on a wider range would be preferred.
'''Prerequisites'''
'''Prerequisites'''
Line 114: Line 153:
'''Mentor'''
'''Mentor'''
* Marianne Gagnon (auria)
* Marianne Gagnon (auria)
-
* Joerg Henrichs (hiker)
+
* Lauri Kasanen (cand)
 +
* Fallback: Joerg Henrichs (hiker)
----
----
-
 
-
== Additional Game Modes ==
 
-
At this stage SuperTuxKart has only a few, more or less standard game modes: races with and without items, and a simple battle mode. A few more unique(?) game modes have been added over time (follow the leader, soccer mode, and Easter Egg Hunt). SuperTuxKarts appeal would increase if it would include more variety of game modes. Come up with some interesting ideas. For example:
 
-
- pacman mode: collect coins in a track, but avoid the police/ghosts who are trying to catch you.
 
-
- Add different physical properties for the karts. Perhaps even more extreme: properly implement motor bikes (lean when driving, perhaps wheelie option to gain some speed boost), karts that don't touch the ground (flying carpet and hovercract, perhaps even (very limited) planes ? ). Or what about adding downhill races with sledges/toboggan - like Extreme Tux Racer (which afaik is mostly dead)?
 
-
 
-
'''Prerequisites'''
 
-
 
-
* Some C++ programming
 
-
* Some gui knowledge is useful
 
-
 
-
'''Mentor'''
 
-
* Joerg Henrichs (hiker)
 
-
* Marianne Gagnon (auria)
 

Latest revision as of 00:19, 26 February 2014

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

User Tools