SuperTuxKart

From LinuxReviews
Jump to navigationJump to search
SuperTuxKart
SuperTuxKart-HKPig-Icon.png
Tux enjoying a nice day at the beach
Tux enjoying a nice day at the beach
Original author(s)Steve and Oliver Baker
Developer(s)
  • "Benau"
  • "Alayan"
  • Marianne Gagnon "Auria"
  • Jean-Manuel Clemençon "Samuncle"
Initial releaseAugust 6, 2007; 13 years ago (2007-08-06)
Stable release
Preview release
Repositorygithub.com/supertuxkart/stk-code
PlatformLinux, macOS, Microsoft Windows, Android, iOS
TypeRacing
LicenseGPLv3 (code)
GPL, CC BY-SA, public domain (assets)
Websitesupertuxkart.net
Supertuxkart-icon.png

SuperTuxKart is a fun free kart racing game with online and LAN multiplayer modes as well as single-player story-mode, time trials, a soccer mode and Easter Egg hunt. It is a very entertaining and family-friendly game. SuperTuxKart is available for GNU/Linux, Haiku, Android, macOS, iOS and Windows.

SuperTuxKart begun as a fork of TuxKart in 2006 and it has been gradually improving since that time. Version 1.0 released in April 2019 was the first version with online multiplayer features.

SuperTuxKart is a fairly successful free software project with over 240 thousand downloads from the Google Play Store and 25 thousands "active" players on Android.

Graphics and gameplay

SuperTuxKart had very nice advanced graphics. It looks very good and polished, specially at the higher graphics settings. It uses the OpenGL API for rendering. The higher graphics settings do require a powerful modern graphics card while the lower settings are kind enough to let you play on older laptops with a integrated graphics card. SuperTuxKart can be played on just about any combination of hardware and software. The graphics does look nice even on the lowest settings but you do need good hardware to see the games full potential.

The gameplay is similar to most other kart racing games, the objective is to beat the other drives to the finish line. You can pick up cans of Nitro for a boost and other items you can use to attack other players or defend yourself or otherwise gain an advantage along the way.

All the karts in the game have a free software theme. You can be Tux, Pidgin, BSD and many other mascots from free software projects. You can additionally install more karts at add-ons, many of those do not have any particular relation to free software.

Single-Player Story Mode

Supertuxkart-storymode.jpg

SuperTuxKart has a "story mode" where you compete against AI carts at various levels. There is a limited amount of tracks to play when you start out. More tracks, karts and challenges karts are unlocked as you win races.

There's three levels of difficulty for each track: bronze, silver or gold. The racing speed is slow on bronze, faster on silver and fastest on gold. There's also a SuperTux difficulty. The SuperTux difficulty is not used in Story Mode but you do need to play story mode to unlock it so it can be used elsewhere.

Unlocking items by winning races in Story Mode is kind of optional. There is the option of editing .config/supertuxkart/config-0.10/players.xml if you'd like to unlock everything without playing Story Mode more than once (you need to play it once to create that file). Editing this file could be described as "cheating".

Online Multi-player

SuperTuxKart allows you to connect to servers and play against other people. There's servers with special types of game-play; there's normal races, soccer and some other modes.

There are a lot of servers but not very many players. There will be sometimes be enough people to race online on a server near you and sometimes there's nobody online. Your time of day and location may vary.

Addons

Hkpig-supertuxkart-addon.jpg
A Hong Kong Pig kart is available as a SuperTuxKart add-on.

There is a huge abundance of add-on tracks, arenas and karts available under the Addons menu within the game. The KDE mascot Katie is not part of the original game but you can add her and play as her if you want to.

Some of the add-on tracks have slight problems like no finish line. The majority of them work just fine.

Hardware Requirements

SuperTuxKart does not require very much in terms of GPU or CPU. You can play it on anything as long as you choose the right settings for the hardware you have.

It is possible to manually configure the graphics settings and we find that manually configuring the following settings work fine. This is done by going to Settings ▸ Graphics where "Graphical Effects Level" can be set to a number between 1 and 6. 2 will run just fine on an old dual-core laptop with a Intel iGPU and a 1080p display.

It is possible to fine-tune the graphics settings further by going to Settings ▸ Graphics and clicking Custom settings.... Disabling Advanced pipeline makes it possible to run it at 60 fps on really weak hardware. The graphics will be worse without the "Advanced" pipeline.

Running the game on high settings at 1080p on a mid-range GPU like the AMD RX 570 with max settings is fine. However, SuperTuxKart will struggle and drop frames down to unacceptable levels at 4K unless the settings are reduced. Using Custom settings... to do this gives the best results.

FineSuperTuxKartSettings RX570-4K.png
These settings let you run the game at 4k 60 fps using low/mid range graphics cards.

The "Motion blur" and "Depth of field" settings in SuperTuxKart increase AMD graphics card utilization by a lot. Consider disabling "Ambient occlusion", "Bloom", "Motion blur", Depth of field", "Light shaft" and "Image-based lighting" in the custom settings. The "Glow", "Light Scattering" and "Anti-aliasing" options do not use much GPU processing power, all of those can be enabled with little to no impact on frame rates.

Easter-eggs

Several characters in SuperTuxKart, including Tux and GNU, wear a cute red hat around Christmas-time. Tux-with-santa-hat-in-supertuxkart.jpg

Verdict and conclusion

SuperTuxKart is a really fun game worth having around. The graphics is fine and the game-play is entertaining. It's free and it's available for most platforms and it works on older as well as new machines. It's worth the 1 minute it takes to install it if you don't already have it.

Release-cycle

SuperTuxKart is under active development. The main developer announced that they are working on re-implementing SuperTuxKart using Vulkan because macOS has a hard time doing OpenGL.

The projects actual release-cycle is a bit .. random:

"There was kind of "release process" when hiker was the leader and we had alpha/beta/rc releases, feature freeze, translations freeze etc

I think now it's when benau decides 😉"

SuperTuxKart insider source

Secret Artist Debug Mode

The file $HOME/.config/supertuxkart/config-0.10/config.xml (created when the game's started once) has a line setting

<artist_debug_mode value="false" />

This can be set to true to get additional functionality where you can view tracks from above, freely move the camera around, switch between what chart's in focus in a race and a lot of other things like that. It's meant to be used by artists creating carts and tracks. It's also useful for taking screenshots of the game's characters in odd settings and things like that.

The SuperTuxKart artist mode is buggy unless the "primary" screen is the one to the very left of all screens in multi-monitor setups.

The debug menu in "artist" mode can be accessed by right-clicking with the mouse.

See supertuxkart.net/Artist_Debug_Mode for keybindings you can use in this mode.

Installation

Some version of SuperTuxKart is available in all GNU/Linux distributions repositories and there's also versions for Windows, MacOS and Android. You can click here to install it on Ubuntu. Binaries and source can be downloaded from supertuxkart.net/Download.

SuperTuxKart for Android is available for free in the Google Play Store.

Compiling SuperTuxKart from git / svn

While compiling yourself with fancy CFLAGS tends to give placebo performance increases there's actually good reason to compile SuperTuxKart yourself: CMAKE defaults to the legacy libGL.so library when both the legacy library and the newer OpenGL and GLX libraries are present. The package you get on Ubuntu is compiled to use libGL.so.

Requirements for compiling on Ubuntu are:

sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libfribidi-dev \
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libxrandr-dev libx11-dev nettle-dev pkg-config zlib1g-dev

And on Fedora they are:

sudo dnf install @development-tools cmake bluez-libs-devel \
openssl-devel libcurl-devel freetype-devel fribidi-devel mesa-libGL-devel \
libjpeg-turbo-devel libogg-devel openal-soft-devel libpng-devel \
libvorbis-devel libXrandr-devel libGLEW nettle-devel pkgconf zlib-devel

Now you can grab the source and graphics assets. This will take a very long time. Checking out the svn with graphics assets is particularly slow.

mkdir supertuxkart-src ; cd supertuxkart-src
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets

Now it's time to configure it.

cd stk-code
mkdir cmake_build
cd cmake_build
cmake -DBUILD_RECORDER=off  -DOpenGL_GL_PREFERENCE=GLVND   ..

Notice the -DOpenGL_GL_PREFERENCE=GLVND option to ensure you're not using the legacy OpenGl library. Now it is time to compile by running

make -j$(nproc)

and once that's done

sudo make install

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.