February 22, 2014

GSoC 2014, Github flood and GL 3

Intro and upcoming GSoC
Finally I got to writing another blog post, and this time I'll try to sum up the latest couple months of work and also inform that we have applied as a mentoring organization for Google Summer of Code 2014! We want to continue last year's success with GSoC and while players have unfortunately not gotten those improvements in a stable release yet we do hope to address that later in the year.

So if you are interested in working on SuperTuxKart full time for a while and learning from our experienced programmers please check out our GSoC overview page which also contains a link to our ideas page. While we cannot guarantee that we will be accepted for this year we are cautiously optimistic and are waiting in suspense for the answer to that question in just a couple days. I will post at least a short update on Monday when we know. Update: we have been accepted for GSoC 2014!

Code and issue tracker moved to GitHub
A little while back we completed our migration of the SuperTuxKart code base from SVN on SourceForge to Git on GitHub. The new home for the code is at https://github.com/supertuxkart/stk-code, but for space and compression reasons we have a separate data repository which needs to be downloaded as well to get the whole game. New source fetching and build instructions can be found on our wiki.

But wait, before you go to GitHub and click on the 'Watch repository' button be warned that we will be converting all our issue tickets from SourceForge to GitHub. Since GitHub will send out an email for every new ticket and every comment, we expect 1000 or more emails to be sent to anyone watching SuperTuxKart on GitHub. So we recommend to not watch STK on GitHub for a day or two to avoid a flood of emails to your in-box. You have hereby been warned; the flood is coming and devout followers will get their regular email drowned such that when you open your email you will be compelled to start fixing all the bugs and issues. ;)

Introducing OpenGL 3 support
We have gotten another regular programmer on board as well. Vlj has been working for quite a while already on switching our version of the Irrlicht 3D engine to OpenGL 3 from OpenGL 2. This will mean that we can use newer methods of making the game prettier and will help to give the awaited 0.9 release a huge lift in graphical quality as well as samuncle's continuing work on tracks. At the same time this does come with a cost in hardware resources, and on slow hardware this may make the game run slower than before. On the other hand, hardware supporting OpenGL 3 has been around for at least 5 years so most should hopefully have it already, and since this is aimed at the 0.9 release there may be an extra year on top. But since a picture speaks more than a thousand words, here is a screenshot of a reworked Old Mine with nice OpenGL 3-powered shaders and lighting:

The good news for people with older hardware is that we will also offer a fallback, which will disable all fancy features so the game still runs. But to offer some perspective NVIDIA's proprietary driver offers OGL 3 support even for the Geforce 8 series of GPU's, and ATI Radeon HD 2000 and newer should also have the ability in theory. This will all depend on drivers as much as the hardware itself though so expect results to vary especially with older hardware as they don't tend to get as much work on drivers as newer GPU's. However, moving to OGL 3 will give STK an important base for better graphics so we concluded the positives will outweigh the potential negatives, especially considering that older hardware often does not run the game particularly well already.

Samuncle has been working on a successor to the Amazonian Jungle track, where he's using the new object library feature of our Blender scripts. While both are heavy works in progress, the object library will hopefully make it a lot easier for both veteran track makers such as samuncle and new, budding track makers not as comfortable with Blender.

The LinuxGameAwards.org winner for January was 0 A.D, while we managed second place this time around. Thanks a lot for all your support, and congratulations to 0 A.D - check them out if historical real-time strategy games hits your fancy, because there is none finer in the free and open source world. Also, you can vote at LinuxGameAwards March ballot here.


Otherwise, back in STK-land there have been the usual number of bug fixes, some restructuring to make the upcoming online achievements a bit more flexible and other miscellaneous work. See you soon, maybe even as a GSoC student? :)


  1. As for OGL 3, I think it's a good decision, as even the open source drivers got OGL 3.3 support in the latest Mesa. Supertuxkart will be amazing with it. Can't wait for it.

  2. What exactly is the reason for requesting GL3 support?
    What are the GL3 features you want to use that are not present in GL 2.1?

    1. I used Transform Feedback to simulate particle behavior (thus no ping pong between host and vram), instancing to render them, and geometry shader to generate 4 cascaded shadow map in a single pass.
      Actually it's possible to have the same effects with GL 2.1, but with worse performances. In most case the engine is limited by the draw calls count and these features make it possible to reduce this count.

  3. Very nice! Looks much better. I especially like the glow on the banana.