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 :
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 :
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 :
general@chat.speed-dreams.net
development@chat.speed-dreams.net
#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é !
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 :
June Ravenmoon a également partagé plusieurs vidéos de développement, comme celle-ci :
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 :
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 :
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).
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.
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.
Ayant atteint nos objectifs actuels, nous envisageons les points suivants pour l'année prochaine :
ssg
de PLib, en faveur de OpenSceneGraph.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.
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 !
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 ! 🎉