|
|
Subscribe / Log in / New account

Stunt Rally: Racing for Linux

December 3, 2014

This article was contributed by Adam Saunders

Quality open-source racing games are not hard to come by. There's SuperTuxKart for those who like cartoonish kart racing games, Speed Dreams for something more realistic, and Extreme Tux Racer for casual gamers. Stunt Rally is another racing game that stands out from the crowd with its attention to detail, along with some whimsical tracks and vehicles.

Gameplay

[Jungle track]

Starting the game leads to a menu that could use a little aesthetic polish. There are a number of gameplay options available, but new users will probably want to start by playing a single course or by launching the tutorial. Once a vehicle and track are chosen, players compete against AI opponents. The game can be controlled with the keyboard or can be configured to use a game controller in the "Input" settings. Stunt Rally's graphics are impressive, and the focus on gravel tracks and 4-wheel-drive vehicles gives the game a nice, gritty feel.

Vehicles include several different types of cars, a futuristic spaceship, a hovercraft, and an alien spheroid starcraft. Overall, the game is fun, save for one annoyance: going off-road and landing in a ditch or deep in water doesn't lead to the vehicle respawning on the road after a few seconds, which is what I expected. Instead, you can hit a "rewind" button to go back in time; while this returns the car to the track, it doesn't lead to a penalty for the player, which did not feel right to me. Nonetheless, it's hard to complain about being able to ride a bouncy alien sphere on Mars. Overall, the game is a blast.

[Mars track]

There are over 150 different tracks to race on, including a desert, a jungle, the planet Mars, Greece, a metropolis shrouded by fog, and many more. Online multiplayer racing is theoretically possible using a master server list. Unfortunately, not a single multiplayer match was listed during my playtime. One can also host multiplayer games.

Technical details

Stunt Rally's lead developer is based in Poland and goes by the pseudonym Crystal Hammer. He described the game's technical details and history in an email conversation.

The game is not yet available for download from most Linux distribution repositories. This is due to a licensing issue: the entire project is open-source (under GPLv3) except for the sky textures, which have a non-commercial redistribution license. Crystal Hammer doesn't "have plans on replacing them, since I don't think there are any of such good quality and with a compatible license". He said it would be fairly easy to replace them with open-source textures, though "I suspect that would lower the game's quality".

To play the game, users must download a Linux binary tarball or Windows executable from the project's home page. The source code can be obtained from the project's Git repository. The minimum hardware requirements are a dual-core, 2.0 GHz CPU, and a GPU at least as strong as "a GeForce 9600 GT or Radeon HD 3870 with Shader Model 3.0 supported and 256 MB GPU RAM". The project notes that one can run the game on lower graphical settings with weaker hardware, and that "integrated graphics processors (from Intel and AMD) will work, but may be slow, especially the older ones." Nonetheless, I was able to play on the "High" graphical setting on my laptop with an Intel HD 4000 graphics and a dual-core 2.50 GHz processor.

Crystal Hammer began Stunt Rally in 2009, when he forked the game VDrift. He saw the engine as a good base for his own work:

I was looking for open source simulation code which I could use. I wanted to create my own game. I really liked the code from VDrift, but didn't like the gameplay much.

The project, written in C++, relies on a number of dependencies: "We use Boost, OGRE, SDL, Bullet collision (is also used in VDrift), MyGui, and for OGRE: PagedGeometry (for vegetation) and Shiny (material generator library)". For those unfamiliar with some of these tools: Boost is a collection of general-purpose C++ libraries, SDL is the Simple DirectMedia Layer (a cross-platform library commonly used for video game development among other uses), MyGUI is a graphical user interface (GUI) library for games and 3D applications, OGRE is a 3D graphics rendering engine, and Bullet is a physics engine that is widely used for things like collision detection.

The project is a true labor of love for Crystal Hammer; it's all done in his spare time, as he works full-time for a company as a C++ and C# developer. He has no intention to monetize the project , nor even to accept donations: "I may think about this again later, if a few people do want that". He particularly enjoys working on the art assets and new tracks, while he finds coding AI and realistic car damage "difficult to do (also too time consuming)". He sees Stunt Rally as substantially different from the VDrift base:

Firstly: gravel. This is a completely different style of driving, all our cars have 4WD, 3 differentials, and slide a lot, it's part of the gameplay. In VDrift you drive on asphalt, have more grip and less engine power. Secondly: stunt tracks. We have a lot (167) of tracks and some of them are very twisted and stunt-like. Thirdly, the features list. There are many more things implemented like the track editor (used to make our tracks), multiplayer or hovering spaceships to name just a few.

Crystal Hammer's knowledge of racing physics is self-taught, by studying libraries like Bullet, as well as by studying VDrift's code base. He also read books on vehicle and tire dynamics, including materials on Pacejka's Magic formula, which is a means to model tire forces when a vehicle is not perfectly following the curves of the road. Just working on tire physics was laborious and consumed weeks of Crystal Hammer's spare time, he said.

For those interested in contributing, there's lots of work to do. Crystal Hammer mostly would like to have new programmers to develop features or squash bugs, but localization, graphic design, and game testers are also welcome. Currently, he is the only developer, so he'd appreciate the help: "There was a time, like a year, around 2012, when we were 4 guys. We still keep in contact and they still commit small patches once in a while". A roadmap page shows a list of tasks Crystal Hammer would like to have worked on, and a bug tracker is used to keep track of their progress. It'll be interesting to see what turns this racing game will take in the years to come.

Index entries for this article
GuestArticlesSaunders, Adam


to post comments

Stunt Rally: Racing for Linux

Posted Dec 4, 2014 16:41 UTC (Thu) by spaetz (guest, #32870) [Link]

I would like to try it out in Debian Jessie, but the source installation seems more than I want to do right now. Which would be the comparable Ubuntu release PPA? Raring?

Stunt Rally: Racing for Linux

Posted Dec 4, 2014 18:25 UTC (Thu) by utoddl (guest, #1232) [Link] (1 responses)

Crystal Hammer mostly would like to have new programmers to develop features or squash bugs

When I first read this, I thought, "What? He wants people to work on modelling bugs squashing on windshields?" Then I remembered the whole programming thing. Had me for a second or two though.

Stunt Rally: Racing for Linux

Posted Dec 4, 2014 23:28 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

It'd be great if the release notes were given as a guided race where the bug descriptions splat onto the windshield :D .

Stunt Rally: Racing for Linux

Posted Dec 9, 2014 16:35 UTC (Tue) by ber (subscriber, #2142) [Link]

Thanks for a game review on LWN!

Good work pointing out the licensing problem, we can just hope that this is not a plot to place unsafe binaries somewhere, would be too easy (create^Hbuy a nice game, make it 99% Free Software, offer binaries instead of the distributions, put spyware inside).

At the first moment a screenshot remined me of http://trigger-rally.sourceforge.net/ which is quite nice, though probably less polished.


Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds