2.4.1 release

We are truly excited to announce the latest release for Speed Dreams, 2.4.1! 🎉 This is the second version released since the project was migrated from SVN and SourceForge to Git and Forgejo, and resulted in 160 commits and 205 files changed in speed-dreams-code alone.

More importantly, this release has seen the arrival of many new contributors to the speed-dreams organization: 19 at the time of this writing. Thank you very much for your support! ❤

As a consequence of this new influx of contributors, testers and players, a series of weekly championships are being organized by our community member James Ashwood, with great participation. These events have been so successful within our community that we have set up new Matrix and XMPP rooms dedicated to them:

Thank you James for the initiative! 🏆

As the increase in the patch version number reflects, this new version has been mostly dedicated to bugfixes. However, there has also been some notable improvements, as described below.

Reworked in-game download manager

The 2.4.0 release saw the introduction of an in-game download manager, which allowed users to easily fetch new assets, such as tracks or cars, from a configurable list of repositories. A lot of feedback was given by the community since then, so we have vastly improved it:

The improved in-game download manager for v2.4.1

Instead of showing 4 entries per page, 2.4.1 makes a much better use of the screen estate by showing 8 entries per page, while feeling less cluttered compared to its previous release. The somewhat verbose Download/Update buttons have been replaced by smaller icons, and the detailed information about assets has been moved into the new + button, which opens a new menu:

Asset detail information

And you might have realized something else: there are many more cars and tracks! A leftover in 2.4.0 was accidentally limiting the maximum size for the assets database to only 32 KiB, which means around 64 assets maximum. Obviously, this limitation was too strict, so it has been bumped to 10 MiB so that around 20k assets are now supported.

This means that all freely-licensed assets from the old SVN repository are now available from the in-game download manager! 83 cars from 19 different categories and 67 tracks from 7 different categories have been migrated.

New car categories have been introduced:

  • Monoposto 1 2023 (23MP1), by Peter Collings.
  • Monoposto Elettrica (MPE), by Peter Collings.
  • SuperTour2, by TerraRoot.
  • SDWC GT-Pro (SD-GTP), by June Ravenmoon.

New tracks by Ruediger Weghaupt (aka Gunny) have been introduced:

  • Sandpit.
  • Batfish.
  • Trackfest.
  • Immula.

As a consequence of the changes described above, the official assets database will stop working on 2.4.0 now that 2.4.1 has been released, as its size has already grown beyond the 32 KiB limit artifically imposed by 2.4.0. Existing users are therefore encouraged to migrate to 2.4.1.

AppImage support

Our CI/CD has been improved to generate AppImage artifacts for each pull request and merge to the main branch. This allows testers running Linux distributions to quickly catch up on the latest improvements and fixes, similarly to how the CI/CD already built ready-to-use Windows installers since 2.4.0.

AppImage is one of the better known file formats to run complex applications like Speed Dreams in a portable way accross different Linux distributions, so it will be used as our primary binary distribution format for Linux, along with Debian/Ubuntu packages.

Hit wall penalty and invalid laps

Some players from our community suggested that hitting a wall, similarly to cutting a corner, should mark a lap as invalid, so that it is not considered when calculating the best lap time in a race. This is specially important in the context of the weekly championship events held recently.

Therefore, the game engine has been improved to detect wall collisions, so that invalid laps are now sent to the master server:

Wall hit penalty in action

Also, the master server was improved to show valid and invalid laps accordingly:

The master server showing valid and invalid laps

Thank you son_link for the huge work on improving the master server! 🎉

Simplifying the code base further

2.4.0 saw a reduction on the system requirements to run the game, as well as on the Git repository sizes. Following this trend, 2.4.1 has removed all simulation engines other than simuv5 (i.e., v3, v4 and v4.1) in order to improve maintainability.

Similarly, multi-threading and thread affinity support have been removed, since profiling showed those features were not bringing any significant performance benefits, mostly because of the monolithic, single-threaded design inherited from TORCS, and the fact that most of the CPU time is being spent on rendering the track and cars, anyway.

Other bugfixes and improvements

  • Fixed USR and Shadow not switching beyond 1st gear when "realistic gear change" was enabled.
  • Fixed 22mp1-sector-mcl3
    not switching beyond 1st gear with Shadow.
  • Fixed an invalid parameter in ssggraph.
    Thanks, plinio!
  • Fixed crash when exporting a track from Windows with sd2-trackgen due to floating-point non-determinisim.
  • OsgGraph and ssggraph are labeled as new and old, respectively, on the OpenGL settings menu.
  • Fixed secondary textures not loading on OsgGraph.
  • Fixed refuel dashboard on compounds enabled.
  • Honor tyre degradation settings on simuv5.
  • Races can now be started using any joystick button.
  • ... and many more.

Final notes

2.4.1 has refined many of the features introduced by 2.4.0 and provided many bugfixes and improvements, with a vast array of tracks and cars now available for download.

We truly hope you all enjoy this new release, and we thank you for your support to the Speed Dreams project, be it contributing, playing or recommending it to friends and family. Your support means a lot to us. ❤

Happy racing! 🏎️