Adieu à 2024 !

Chers fans de course automobile,

L'année 2024 touche à sa fin et nous aimerions revenir sur ce qu'elle a signifié pour le projet Speed Dreams.
Comme vous le savez peut-être déjà, 2024 a été une année de changement : la plupart des contributeurs actifs ont quitté le projet lorsque son fondateur, Xavier Bertaux, a annoncé son départ en septembre 2023 pour commencer à travailler sur sa propre version de Speed Dreams, Cars Sport Racing.
Nous lui souhaitons beaucoup de succès dans cette nouvelle aventure, et nous nous réjouissons de bénéficier mutuellement des améliorations et des corrections de bugs !

Sous la nouvelle direction annoncée en mars, nous avons changé nos priorités :

S'assurer que Speed Dreams reste libre (comme dans liberté), l'infrastructure aussi !

Tout d'abord, nous avons effectué un audit complet de nos actifs existants pour nous assurer qu'ils sont sous licence libre. Suite à cet audit, certaines ressources ont été considérées comme non libres, et ne seront donc plus distribuées officiellement.

Mais cela ne signifie pas qu'ils sont perdus à jamais. En juin 2024, nous avons mis en place un nouveau gestionnaire de téléchargement dans le jeu :

The new in-game downloader

Non seulement il permet de télécharger de nouvelles ressources sans avoir à les installer manuellement (comme d'autres simulateurs libres et gratuits, tels que FlightGear, mais il peut également être configuré pour un nombre illimité de dépôts, à l'instar des gestionnaires de paquets Linux.
Par conséquent, les ressources non libres peuvent être hébergées dans des dépôts tiers.

Deuxièmement, la fondation à but non lucratif Libre en Communs nous a contactés pour nous aider avec l'infrastructure, et nous a généreusement fourni un VPS, ainsi qu'une instance Forgejo, tous utilisant uniquement des logiciels libres et open source. Nous tenons à les remercier pour leur aide précieuse. ❤

Le SPV héberge maintenant :

  • Le serveur web qui héberge ce site web. Nous avons également migré l'ancien site web
    de WordPress vers Grav.
  • Le « serveur maître » qui stocke
    les meilleurs temps au tour des joueurs du monde entier.
  • Le serveur XMPP qui héberge les nouveaux salons de discussion :
    • general@chat.speed-dreams.net
    • development@chat.speed-dreams.net
  • L'instance Matterbridge qui connecte les salons XMPP ci-dessus à nos homologues Matrix
    Matrix :
    • #speed-dreams-space:tedomum.net

À propos d'un autre sujet, Speed Dreams s'appuyait sur des outils propriétaires comme MSVC pour les compilations natives de Windows, alors que les compilations basées sur des outils libres et open source comme MinGW n'avaient pas été maintenues depuis plus de 10 ans.

Pour changer cette situation, nous avons travaillé sur la correction de notre système de construction pour supporter non seulement les constructions natives de Windows avec des versions modernes de MinGW, mais aussi les compilations croisées à partir de systèmes d'exploitation libres comme Linux !
Avec le projet Wine, les développeurs disposent désormais d'un moyen de tester les versions Windows basées uniquement sur des logiciels libres.

Enfin, nous migrons le projet de SourceForge
(propriétaire, comprend les annonces et le suivi des utilisateurs) vers notre forge, ce qui signifie également migrer de SVN à Git, ce que de nombreux développeurs avaient demandé !

Augmentation de la qualité

Amélioration des pilotes et des voitures

Notre contributeur June Ravenmoon a travaillé dur pour rendre les pilotes IA comme USR plus compétitifs. En outre, June a apporté des ajustements à la classe MPA12, ainsi qu'à des voitures telles que :

  • Sprite GTS
  • Cavallo 360R
  • Boxer 96 RSR
  • Condor C400R
  • Morley R900

June Ravenmoon a également partagé plusieurs vidéos de développement, comme celle-ci :

SPEED DREAMS 2.4.0 WIP - Further Bot Driver Tweaks for Oval Racing
Open in new tab

Nouveaux sons

Notre contributrice June Ravenmoon a également fourni plusieurs nouveaux sons sous licence libre, extraits et édités à partir de FreeSound et de vidéos YouTube sous licence libre.

Voici une vidéo des nouveaux sons en action :

  • https://youtu.be/ys9RqZ-SaYI

Réduire la taille du dépôt

Avant la migration vers Git, cependant, beaucoup de choses ont dû être réglées au préalable:
le dépôt trunk est actuellement un énorme dépôt unique d'environ 14 GiB contenant 90 circuits, 512 pilotes et 124 modèles de voitures dans 30 catégories.

Le téléchargement d'un dépôt aussi volumineux à partir de SVN consomme non seulement beaucoup de ressources, mais est également sujet aux pannes du réseau SourceForge et, plus important encore, constitue une barrière à l'entrée très élevée pour les nouveaux développeurs potentiels.
Par conséquent, il était obligatoire de réduire la taille du référentiel de plusieurs façons avant de migrer vers Git :

Implémenter des pilotes générés dynamiquement.

En raison de son héritage du projet TORCS, Speed Dreams a jusqu'à présent consacré beaucoup d'efforts à la création manuelle de pilotes basés sur l'IA et à leur donner des « personnalités » uniques.
Cela demande beaucoup de ressources aux développeurs en raison du grand nombre de catégories de voitures, ce qui conduit à une explosion combinatoire qui, en même temps, laisse de nombreuses catégories de voitures sans aucun pilote contrôlé par ordinateur.

Pour réduire considérablement l'effort de maintenance, nous permettons désormais aux utilisateurs de générer leurs propres pilotes contrôlés par ordinateur dans le jeu, pour n'importe quelle catégorie de voiture, modèle ou « robot » (jargon Speed Dreams/TORCS pour l'implémentation du jeu).

Driver generation in action

Grâce à cette fonctionnalité, il est désormais possible de distribuer Speed Dreams sans pilotes IA créés à la main, ce qui réduit considérablement la taille du dépôt.
Bien entendu, les pilotes « uniques » sont toujours possibles et peuvent être téléchargés à partir du nouveau gestionnaire de téléchargement du jeu.

Simplification de la gestion des pilotes

Lorsque Speed Dreams a hérité de la conception de TORCS, il a tiré parti de sa structure de pilotes en définissant des ensembles de pilotes basés sur des catégories. Par exemple, il y avait un ensemble de pilotes appelé usr_ls1, où usr est l'implémentation du robot et ls1 est l'identifiant de la catégorie « Long Day Series GT1 ».

Afin d'éviter certaines limitations de conception concernant la façon dont Speed Dreams traite les bibliothèques partagées, Speed Dreams avait jusqu'à présent défini des « clones de robot », ce qui signifiait que les bibliothèques partagées (par exemple shadow.so ou shadow.dll) étaient copiées et chargées plusieurs fois, une par catégorie.
En conséquence, le jeu devait charger jusqu'à 58 bibliothèques partagées, dont 51 en double. En plus d'être très inefficace pour un certain nombre de raisons, cela montrait clairement que le design existant devait être refait.

Par conséquent, beaucoup de travail a été fait pour corriger cela, afin qu'aucune bibliothèque partagée en double ne soit définie, ce qui a également révélé plusieurs autres problèmes de conception et limitations qui ont également été corrigés. D'autre part, le répertoire data/drivers/ a également été grandement simplifié, de sorte que les paramètres des pilotes sont maintenant centralisés dans un seul répertoire (par exemple shadow/, simplix/) au lieu de plusieurs répertoires par catégorie (par exemple shadow_ls1/, shadow_sc/, simplix_ls2/, simplix_ref/).
Ainsi, de la même manière, le nombre de répertoires dans data/drivers/ a été réduit de 52 à 7.

A propos de 2025

Feuille de route pour l'avenir

Ayant atteint nos objectifs actuels, nous envisageons les points suivants pour l'année prochaine :

  • Réduire le temps de rendu, car actuellement il provoque un goulot d'étranglement au niveau du CPU.
  • Améliorer la prise en charge de Linux ARM64 (par exemple Raspberry Pi).
  • Supprimer le support du moteur graphique obsolète ssg de PLib, en faveur de OpenSceneGraph.
  • Ajouter le support de VulkanSceneGraph, en conservant le support d'OpenSceneGraph pour la rétrocompatibilité avec le matériel plus ancien.
  • Portage Android.

Nous sommes conscients qu'il s'agit là de défis importants et nous espérons que la migration finale vers Git et l'abaissement de la barrière à l'entrée pour les nouveaux développeurs nous aideront à les relever.

FOSDEM 2025

L'un de nos développeurs, Xavier Del Campo, sera présent au FOSDEM 2025 pour représenter Speed Dreams cette année.
Malheureusement, il n'y aura pas de stand Speed Dreams en raison de l'espace limité de l'événement, mais il y aura peut-être une occasion de discuter rapidement, alors les participants sont invités à venir et à se sentir libres de discuter et de bidouiller !

Conclusion

Nous pensons que 2024 a été une année très excitante pour notre communauté, et nous attendons avec impatience ce que 2025 nous apportera ! Nous tenons à remercier tous ceux qui ont participé au projet Speed Dreams, que ce soit en jouant, en testant, en contribuant ou simplement en le recommandant à vos amis et à votre famille.
Ce projet ne serait pas possible sans votre amour et votre soutien.

Meilleurs vœux et bonne année 2025 ! 🎉

Article précédent