Passage de Rigs of Rods en Open Source

Posté par . Modéré par Nÿco.
Tags :
21
26
fév.
2009
Jeu
Rigs of Rods est un jeu de simulation en 3D où l'on peut piloter différents véhicules : de la voiture au camion en passant par des avions ou des bateaux. L'originalité du logiciel est son moteur de rendu de la physique à base de tiges "souples" (on peut traduire rigs of rods par "semis-remorques en tiges") qui produit des effets réalistes et époustouflants.

Vous pouvez utiliser les nombreux véhicules existants produits par la communauté ou construire votre propre véhicule à l'aide des spécifications du Wiki.

La version 0.36.1 de Rigs of Rods vient de sortir en Open Source et gratuite, sous licence GPLv3 (alors que les versions précédentes étaient uniquement gratuites). Enfin, Cocorico et chapeau bas, Rigs of Rods est développé par un français, Pierre-Michel Ricordel (alias Pricorde), sur son temps de loisirs. Le passage de la version 0.35 à la 0.36 a nécessité 11 mois de travail et de nombreuses améliorations sont à la clé :
  • Chrome sur les véhicules (effets de réflexion) ;
  • Ombres ;
  • Meilleure simulation des frottements au sol ;
  • Personnalisation des sons ;
  • Déformation de la carrosserie en cas d'accident ;
  • Nouvelle interface utilisateur ;
  • Nouvelle organisation des fichiers (séparations des fichiers exécutables et des données utilisateurs) ;
  • ...
  • # Moteur physique

    Posté par (page perso) . Évalué à 4.

    En voyant la vidéo sur la page d'accueil, je trouve le moteur physique assez réaliste bien que je ne sois pas habitué à conduire des bus et camions :-) Il semble que le moteur physique ait été écrit de zéro car je ne vois pas de référence à une bibliothèque externe comme ODE [1]. Je trouve qu'un bon moteur physique améliore beaucoup les jeux vidéos. J'adore voir bouger mes structures dans World of Goo (pas libre, mais amusant et bien fignolé). Il y a même un société (AGEIA) qui vend une carte d'accélération de moteur physique (PhysX)... mais ça semble être un flop. Après les GPU, à quand la généralisation des PPU [2] ? :-)

    [1] Open Dynamics Engine : http://www.ode.org/
    [2] Physics processing unit : http://fr.wikipedia.org/wiki/Physics_processing_unit
    • [^] # Re: Moteur physique

      Posté par (page perso) . Évalué à 4.

      Après les GPU, à quand la généralisation des PPU [2] ? :-)

      Le problème des moteurs physiques n'est pas la puissance du processeur, mais l'algorithme.
      Il n'y a donc aucunement besoin d'un truc payant dédié, un des 4 CPUs généralistes que tu as (ou auras bientôt vu la vitesse où ça avance!) fera très bien l'affaire.

      A la poubelles les PPU qui ne sont que de la poudre commerciale!
      • [^] # Re: Moteur physique

        Posté par (page perso) . Évalué à 5.

        Ça me fait bien marrer. On attend toujours des CPU généralistes capables de faire du traitement d'image 2D correct : ces 5 voire 10 dernières années, l'essentiel de l'innovation à ce sujet se fait dans les GPU (fragment programs etc.) qui au contraire sont plutôt spécialisés. Alors pour faire du calcul sur des structures 3D, avec beaucoup plus d'itérations que les 60fps de l'affichage, le PPU me paraît plutôt pertinent. Certes c'est dommage de le mettre sur une autre carte que le GPU, mais loin du CPU, je m'en fiche un peu.

        Et le problème du moteur physique est complètement aussi un problème de puissance. L'efficacité d'un algo est cruciale, mais elle a aussi une limite théorique et au bout d'un moment il faut bien rajouter des CPU à la machine ou des machines au cluster.
        • [^] # Re: Moteur physique

          Posté par . Évalué à 6.

          Donc en gros, tu veux un processeur généraliste mais dédié a une application particuliere (le traitement d'image 2D, pourquoi 2D d'ailleurs?)!

          Pour moi ça existe déja, ce sont les MMX/SSE/Altivec..

          Ensuite, je n'ai toujours pas compris comment les hybrides CPU/GPU que tu attends allaient fonctionner au niveau mémoire: une des grosses forces des GPUs est qu'ayant des mémoires fixées, la bande passante mémoire est énorme avec un cout raisonnable, comment on fait ça avec un CPU généraliste?
          Du cache? Ca limite fortement la quantité de donnée traitables..
          Un FSB par coeur? Ce n'est pas très souple et c'est cher.

          Je n'ai toujours pas trouver et curieusement ce point la n'est quasiment pas abordé quand on discute de ces futurs CPU/GPUs..
          • [^] # Re: Moteur physique

            Posté par . Évalué à 2.

            +1
            Je ne suis pas expert dans le genre.
            Mais j' ai l'impression que se soit la différence entre la microélectronique (le hardware informatique), et le logiciel ( le software).
            Dans le monde du hardware, il y a des limites physiques que le software ne connait pas.
            C'est la dessus ou SGI faisait des miracles à une époque (numa, des bandes passantes de fou pour l'époque, etc).
            La gestion mémoire des GPU est simplifiée par rapport aux CPU , pas de MMU entre autres , maintenant le kernel 2.6 semble capable de se passer de ce genre de circuit.......a quand un noyau linux tournant sur une carte nvidia ou une ati ?

            Je suis peut être trop fatigué ce soir, je sors de belle bêtise (peut être....)...

            allez y moinsez moi ......
            • [^] # Re: Moteur physique

              Posté par . Évalué à 2.

              Disons qu'aujourd'hui, un GPU est surtout capable de faire un nombre de MAC 10x supérieur à un CPU si il n'y a pas trop de dépendance de donné et si tu n'exploses pas le nombre de registre interne. C'est donc assez limitant.

              "La première sécurité est la liberté"

    • [^] # Re: Moteur physique

      Posté par . Évalué à 1.

      Il y a quelques références à Ogre dans le wiki.

      La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

    • [^] # Re: Moteur physique

      Posté par . Évalué à 4.

      EGEIA (et PhysX) ont été rachetés par NVIDIA, et PhysX est maintenant aussi disponible pour les cartes graphiques via CUDA.
  • # Open Source

    Posté par . Évalué à 4.

    Pourquoi "Open Source" et pas "libre" ?

    ­La faculté de citer est un substitut commode à l'intelligence -- Somerset Maugham

    • [^] # Re: Open Source

      Posté par . Évalué à 2.

      Parce qu' "il n'est qu'Open Source".

      Les code est GPLv3 mais les données elle ne les ont pas.
      Elle sont en dans une Commons Creative Non commercial"

      Comme troller souvant ici, la restriction Non commercial emphêche la redistribution libre du jeu

      Conséquence, il ne peut pas être accepter sur JeuxLibres.net et ne peut être redistribué dans un magazine ...
      • [^] # Re: Open Source

        Posté par . Évalué à 1.

        Et alors ?

        Je ne pense pas que la licence CC NC soit Open Source. En tout cas ce n'est pas ce que dit l'Open Source Initiative.

        Le jeu est à la fois libre et Open Source. Les données sont sous une licence restrictive, et peut-être leur source est-elle disponible. Mais elles ne sont pas plus Open Source que libre.
        • [^] # Re: Open Source

          Posté par (page perso) . Évalué à 5.

          Le problème avec le terme Open Source est qu'il semble désigner plutôt le programme que les données elles-mêmes, mais ce n'est jamais très explicite.

          Dans l'Open Source Definition de l'OSI, il y a de nombreuses références au programme (et une au programmeur) ce qui laisse penser qu'elle ne considère pas les données (http://www.opensource.org/docs/osd ).

          De plus, Russell Nelson, un des responsables élus actuel de l'OSI qui dirige justement l'approbation des licences, a laissé sur son blog (novembre 2008) une courte réflexion sur la licence des données. Une personne lui a suggéré de considérer explicitement les données pour ainsi définir une catégorie de licences de type Open Source Data (http://www.opensource.org/node/378 ).

          Les données ne semblent donc pas encore être prises en compte par l'OSI dans leur définition de l'Open Source.
          C'est d'ailleurs le sentiment général que j'ai sur la compréhension que les gens ont sur ce terme.

          La considération simultanée du programme et des données pour une licence libre n'est que récente, et n'est pas encore mature. Le jeu vidéo est peut-être le domaine du logiciel le plus concerné, car mêlant programme et données (si on exclut les NetHack, MUD... ;-). D'ailleurs, sur jeuxlibres.net, comme en fait allusion EdB, nous avons souvent affaire à des cas de licences ambigües, et il nous faut régulièrement aller démarcher les développeurs pour qu'ils clarifient leur(s) licence(s).

          Je rejoins donc EdB ici, car je pense que le jeu de la dépêche est Open Source mais pas libre.
  • # Linux?

    Posté par (page perso) . Évalué à 3.

    ça doit être en cours de fignolage, mais j'ai pas trouvé les archives avec la source et les données. Est-ce que tout est libre?

    Par ailleurs, la licence sur les modèles faits par la communauté me semble abusivement large : si on fait un modèle, on donne le droit au projet de la distribuer!

    ⚓ À g'Auch TOUTE! http://agauch.online.fr

  • # Un homme tout seul

    Posté par (page perso) . Évalué à 2.

    Hé ben, beau travail, le résultat est bluffant. Ça a le bon goût d'être passé en GPLv3 en plus. Une très belle contribution au monde du libre.
  • # robotique virtuel

    Posté par . Évalué à 3.

    Cela serait énorme de pouvoir s'adapter à l'api de robot race, qui est une simulation de course avec une IA.

    http://www.pobot.org/-Robot-Race-.html?decoupe_recherche=vir(...)

    L'idée est de faire l'algo de pilotage le plus efficace. A cause du moteur physique, c'est loin d'être simple !

    "La première sécurité est la liberté"

  • # Environnement de jeu

    Posté par . Évalué à 3.

    J'ai juste regardé la video...
    Dans le jeu qu'est-ce qu'il y a comme environnement pour conduire ? Une ville entière modélisée, un circuit, plusieurs ? Si j'ai bien compris pour l'instant le jeu en reste là, donc pas vraiment d'intérêt pour y jouer pour l'instant.... ?
    En tous cas j'avoue que c'est joliement fait. Les déformations de la voiture m'ont bien fait tripper (genre le chassis à moitié plié à l'avant complètement enfoncé, faudra ajouter un peu de fumée des bruits de grincement et faire avancer la voiture en biais et ça le ferait ^^).
  • # La vidéo à voir

    Posté par (page perso) . Évalué à 2.

    Je vous recommande fortement d'aller voir cette vidéo :
    http://www.youtube.com/watch?v=EI926O4qOiw&feature=chann(...)
    C'est la vidéo qui résumé vraiment la force de Rigs of Rods.
    Je ne suis pas expert en conception de jeux vidéos mais ça m'a vraiment éclairé sur le sujet et la manière dont il a été traité. Cela me rappelle quand je codais un moteur 3D il y a presque 20 ans : il y a des solutions simples à des problèmes compliqués.
    Félicitations à l'auteur pour l'inventivité.
    • [^] # Re: La vidéo à voir

      Posté par . Évalué à 1.

      amusant ça : This is an excerpt of an interview of Brian Beckman, physicist and researcher at Microsoft.
      je me demande s'il serait aussi élogieux maintenant que la licence a changé....
  • # GPL !

    Posté par . Évalué à 3.

    Ça veut dire qu'avec ce genre de code on pourrait refaire un GPL ( http://lfgpl.ffsca.org/php/accueil/index.php ) en GPL ?

    La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

  • # Un projet qui promet

    Posté par . Évalué à 1.

    Cette ébauche de jeux est tout simplement bluffante. C'est toujour un plaisir de voir un programme passer en GPL ou BSD. De plus, les raisons de la non-libération des sources jusqu'à maintenant qui sont invoquées par l'auteur sonnent pour moi comme des arguments indéniables en faveur du logiciel aux sources fermées :

    The source code is kept closed for many reasons, one of which is that RoR is coded in a difficult to maintain, proof-of-concept way, not suitable for collaborative coding, another reason being the risk of seeing the code and ideas stolen by the game industry.

    Je suppose que l'auteur à considéré que son code était "publiable" selon ses critères et que la communauté crée autours de ce logiciel, sa notoriété, était maintenant suffisante pour éviter que l'on ne lui vole son droit d'auteur.

    Je n'ai pu tester qu'une version 0.34a, car je n'arrive pas à compiler convenablement ce programme.

    Pas moyen de compiler les "NVidia Texture tools" autrement que statiquement sur Debian amd_64, et la compilation du "content" réclame une bibliothèque partagée.

    (je vais remonter le bug)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.