GSoC topics 2014

(Unit Testing)
(User Administration Web Portal (and Lobby Server API))
Line 66: Line 66:
----
----
-
== User Administration Web Portal (and Lobby Server API)==
+
== 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 revamp the STKaddons website and generalize the already present user panel, and most importantly add an moderating/administration panel. Moderator roles will need to be created along with a permissions system to allow certain user managing actions.
+
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.
-
In addition to the user moderation, this project can head into different directions :
+
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.
-
* Add an in-game report feature; the administration page will list suspicious users and actions can then be taken.
+
 
-
* Reorganize the lobby server API. At the moment there are just a few php pages (i.e. client-user.php) that accept POST arguments for actions. Some htaccess and moving around can do a lot.
+
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.
-
* Add the friending features that are present in-game, also to the web app. Logically all server-side code is already present so this would only be some layout code.
+
 
-
* ...
+
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.
-
Suggestions for this project highly appreciated. Be sure to discuss your ideas with us!
 
'''Prerequisites'''
'''Prerequisites'''
Line 86: Line 85:
''' Mentor'''
''' Mentor'''
* Glenn De Jonghe (unitraxx)
* Glenn De Jonghe (unitraxx)
-
* Fallback: Stephen?
+
* Fallback: ?
----
----

Revision as of 00:06, 24 January 2014

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.

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.

For now consider this to be a brainstorming list - to be discussed and fleshed out later.


Contents

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 Scripting Engine.

Prerequisites

Mentor


GUI Improvements

SuperTuxKart uses a self written GUI engine that is based on the Irrlicht's GUI elements. Nevertheless the GUI itself has quite a few shortcomings. This project is about fixing existing GUI issues, and improving the look of the menus. This task will require you to implement additional widgets, and (re-)designing the GUI flow and look of the menus. More details about this task can be found on the GSoC GUI page.

Prerequisites

Mentor


Track Editor

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.

More deteails of this project are on our GSoC Track Editor page.

Prerequisites

Mentor


Unit Testing

SuperTuxKart does not have any kind of unit testing implemented, at this stage it relies on tester to report any bugs. This project is about adding a unit test framework to STK - ideally for both STK and the addon/online server. More details on the GSoC Unit Testing page.

Prerequisites

Mentor


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

Mentor


Battle Mode AI

At this stage our NPC's our only configure to do simple lap-based races. STK already supports different game modes, especially a battle mode. Goal of this task is to implement artificial intelligence that allows computer controlled karts to take part in battle modes. More details can be found on our battle AI page.

Prerequisites

Strong C++ programming, AI techniques, path finding

Mentor


Improving graphics

STK graphics can be improved in a variety of ways. What's currently requested by our main artists is compression, GPU skinning, better shadow implementations and SSAO.

Prerequisites

Mentor


Race History Verifier

It is very easy to modify the kart characteristics in SuperTuxKart. This makes it difficult to have reliable online highscores. We intend to use the replay feature to help with that: any highscore will need to be submitted with a replay.

In this project the student will try to automatically verify if a given replay is based on an unmodified set of kart parameters. The verification process could look out for excessive acceleration, high speeds from zipper that last too long, too much nitro for a track etc.

Prerequisites

Mentor



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).

Prerequisites

Mentor


Include tux racer

The tux racer project is mostly dead (not sure if this is still true, I think there was a rc recently - under some other name ... extreme tux racer?), but anyway: the intention of tux racer was to support multiplayer and proper physics, all of which we already have. Instead of having tux racer as a separate project, it would help everyone to pool our resources and include a tux racer mode. It would involve supporting heightmaps (so that tracks from tux racer can be imported), etc.

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

User Tools