The original TuxKart |
I discovered TuxKart in 2006 after installing the latest SUSE distribution. Never having played Mario Kart, I was quite fascinated by the game. By sheer coincidence I then heard of SuperTuxKart, a project trying to improve TuxKart.
An early SuperTuxKart screenshot |
SuperTuxKart 0.4 |
SuperTuxKart 0.7 |
Beginning of 2013 we were in the race to become the Sourceforge Project of the month, and we unleashed the ultimate weapon: cuteness showing off our new wiimote support:
In 2013 and 2014 SuperTuxKart participated in the Google Summer of Code, a program where Google pays students to work full time on open source projects for three months. Of course we had very many students interested (each year we got over 70 applications, which made it very difficult to select a small number of students that we could accept) - how cool it is to work implementing a game and getting paid for it :) The SuperTuxKart team mentored all in all 8 students during that time, who contributed important code to improve the graphics, game play, and to add online features. We somewhat underestimated the effort it would take to merge the code developed by students back into our main trunk, in some cases it took over one year before the code was finally merged into our development trunk. While this was a somewhat stressful period, it was also extremely rewarding – not only in terms of new benefits for SuperTuxKart, but also seeing the development of the students: In at least one case that I know of a student got a job in the gaming industry because of his work with SuperTuxKart, and only recently I received an email from a previous contributor stating: "I basically owe my career to SuperTuxKart".
SuperTuxKart 0.9 |
End of 2017 I started to implement the networking mode. If anyone is interested in details, I would strongly recommend Glenn Fiedler's excellent article collection. This is probably some of the most complex code I have added to SuperTuxKart, since we are not just sending the input from clients to the server, which would lead to a lagging and unplayable experience. Read Glen's article about networked physics and look for client-side prediction if you want to learn why SuperTuxKart plays rather smooth even with a ping over 100ms. And you will also appreciate why your computer has to work much harder in a networked game. It was an extremely frustrating time - often what would work just fine in my local environment, would fail horrendously when trying it in a wide-area network. The first big milestone was reached around March 2018 when we were able to play a first race reasonably well without too much shaking and teleporting of karts. It still took a long time to iron out all the bugs, and make the whole experience smoother. On the 20th of April 2019 we finally released version 1.0, the first release of SuperTuxKart that allows online races.
Another highlight of the history of SuperTuxKart was seeing the code being used in other projects: Microsoft used it to develop and showcase their 'Future of the Living Room' concept IllumiRoom, and Daimler used it as a demo of an entertainment unit in one of their cars. Research was also done with SuperTuxKart ("Comparison of Supervised Learning and SMILe for Imitation Learning in SuperTuxKart", "Real Time Drunkenness Analysis Through Games Using Artificial Neural Networks"), and it was used by schools and Universities to teach programming, internationalisation and other subjects. Various special versions for people with certain impairments were created, e.g.: Gaze and accessibility in gaming. I consider those outcomes a shining example of the benefits of open source code development.
To the supporters of SuperTuxKart throughout the years: I feel I owe you a big “Thank You”, and an explanation of my exit. To be completely honest, the main reason for my departure was not that my goal of online races was reached. It is a matter or principle and professionalism. From my point of view a big change has gone through the development team, when new members were added and older members left. Let’s just say that the newer team members preferred to pursue a faster-paced development style with fewer reviews, less documentation, less oversight and a reduced need for consensus, and that our differences in approach could not be reconciled.
We would also like to announce that Auria, who has been the co-project leader for around 10 years, has decided to step down from a management position in STK, but she will stay around and help out where required. Arthur, our pun master and social media manager, has also decided to quit the project. The team (excluding Auria and myself) has decided with 3 to 2 votes (and one abstention) that Benau and Alayan will be the new leaders of SuperTuxKart.
My profound gratitude to all the SuperTuxKart supporters who have witnessed and supported the game in the last 13 years! Let’s welcome the new age of SuperTuxKart and look forward to it achieving even greater goals.
Hiker, out