May 16, 2019

My Departure from SuperTuxKart

The original TuxKart
After 13 years of working on SuperTuxKart I have decided to step away from the project, and make space for a new team of leaders. As this is my last post, and I assume that we have many new readers who might not be aware of the history of SuperTuxKart, I'll use this opportunity to give a brief summary of what happened to SuperTuxKart in these 13 years, that resulted in the 1.0 version that you are playing now.
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
Being intrigued by the promised improvement in graphics, I tried to look for the community developing SuperTuxKart, only to learn that the project had been basically dead and the game in an unplayable state for over one year. I decided to see if I could fix this. Soon some other contributors joined and a 0.2 version was released in September 2006, making the graphical improvements of SuperTuxKart available in a playable form for the first time.


SuperTuxKart 0.4
With the 0.4 release in 2008 the physics were newly implemented: the open source physics engine bullet was integrated, and the physics were tweaked to give it a fun-racer feeling. Did you know that previously a kart would just stop if it hit any other kart? The initial port took around 9 months, though of course other work was done for the 0.4 release as well during that time. But tweaking the physics was a long ongoing process, in between we suffered from karts sometimes hovering, sticking to a wall, or being shot rocket-like into the air. Anyone thinking of 'just using a physics engine' - do not underestimate the tweaking effort necessary to make a game behave the way you want it to behave :)

SuperTuxKart 0.7
The 0.6 release in 2009 saw the introduction of OpenAL, allowing for positional audio effects, and the introduction of the skidding and nitro speed boosts. It also included the 3-strike battle mode. In 2010 SuperTuxKart 0.7 was released: we finished the migration of the rendering from PLIB to irrlicht. This allowed us to animate karts, and started a series of graphical improvements that is still ongoing. We also implemented a new GUI engine, and allowed short-cuts in tracks.


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
2015 saw the 0.9 release, in which a completely new, shader-based renderer was introduced. It also opened the door for many many woes with graphic driver bugs. We actually had to add a configuration file that would activate features depending on graphics hardware and driver version used.


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



20 comments:

  1. Thank you Hiker for your enormous contributions to the game! :-)

    ReplyDelete
  2. Thank you for this nice game. It made so much fun for days in the past years :)

    ReplyDelete
  3. Thanks you very much Hiker for your very good job. We will miss you.

    ReplyDelete
  4. Thank you Hiker! big respect!

    ReplyDelete
  5. It's somehow sad to read that. Even if it is not my favorite game (but yet I played many hours), it really is one of my favorite projects, due to its history, the way it represents the open spirit, the way it evolved over the years, how new people was encourage to participate, how programmers and other kind of artists were mixing and interacting, and many other aspects of project management and its philosophy. I always read these posts with great expectation, and enjoyed learning a lot from your experiences and from the problems you faced and solved for each new step. So I write to give you, and all the other "original" authors who left, a really big "Thank You!", and hope you the best for your new projects. Lets also hope the best for the new people that will be leading this project from now on (I'll still be reading the blog and waiting for exciting news), and a long live for the game.

    ReplyDelete
  6. Thank you for my happy childhood!

    ReplyDelete
  7. I can't thank you enough for all the time you have spent on bringing this game forward and I am very sad to see you leave now. I wish you all the best for your future and I hope that indeed STK will continue to thrive without you.

    ReplyDelete
  8. Thanks for all good work for so many years !

    ReplyDelete
  9. You depart on a high note. The always-excellent STK is better than ever. Since the addition of online racing, I have gotten approximately 3.5 times more enjoyment out of the game than previously. Thank you for your efforts and leadership.

    ReplyDelete
  10. Best game ever. Thank you, Hiker! You a my hero. Good luck, new team.

    ReplyDelete
  11. Thank you Hiker and the rest of the team for countless hours of gameplay with your game. I've been playing Supertuxkart since 2009 and really love your work. I really like your game and you've really come a long way in the last 10 years since version 0.6. I'm looking forward to the next 10 years with your game and I can't wait for the new milestones in the future. Until then I will remain a loyal player of your game. :)

    ReplyDelete
  12. Thank you, Hiker, thank you all! This game has been a big part of my childhood, been playing it for 10 years. I can't thank you enough...

    ReplyDelete
  13. Thank you and good luck in your new projects!

    ReplyDelete
  14. Thank you so much for all you've given to me and to all of us. I came across this game after installing Linux for the first time back in 2014 and found that I kept coming back to play a few more races when I had some spare time. The game grew on me. It was fun. I now have a Nintendo Switch with Mario Kart 8, and while that game is gorgeous and polished, they played it too safe with the level design. I find myself missing the creative, experimental nature of the STK tracks when I'm zooming around in the Mushroom Kingdom. So I actually prefer racing around with Tux and co. in this/your game to spending time with Mario and Yoshi in their amazing game. Anyway, this is my long, blabbing way of saying "thanks man. You and the others have created something really special, here. Cheers, and good luck with your future endeavours."

    ReplyDelete
  15. Thank you i love this game!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    ReplyDelete
  16. Also sad to hear this. Great game, I love it and I'm playing it mostly every day. Thank you...!!!

    ReplyDelete
  17. Thank you from Camilla (9yo) and Stefano (6yo)!

    Open source lives forever :)

    ReplyDelete
  18. Thanks for SuperTuxKart, such an awesome game! I really hope that your legacy will be carried on...
    It's sad yet inspiring to hear this, as it paves the way for a whole new generation of SuperTuxKart.

    ReplyDelete