Un remake de Total Annihilation GPL en 3D !

Posté par  . Modéré par Florent Zara.
Étiquettes : aucune
0
9
mai
2005
Jeu
Annoncée depuis quelques années, la première version jouable de TA Spring est sortie il y a peu. En deux mots, TA Spring a pour objectif d'offrir une alternative libre aux meilleurs jeux de stratégie en temps réel du marché, en se basant sur la communauté toujours très active de Total Annihilation.

Pour l'instant seuls les installeurs pour Windows sont disponibles, mais le projet venant de déplacer son développement sur SourceForge, on peut espérer un port rapide sous Linux (des volontaires ?), qui selon les développeurs ne représenterait pas énormément de travail. Sinon il fonctionne avec Wine...

Une petite communauté française est en train de naître pour ce jeu plus que prometteur, qui a encore quelques bugs de jeunesse mais une équipe très réactive. On peut déjà faire des parties passionnantes de plusieurs heures à 6, laissez vous tenter !

Aller plus loin

  • # D'ailleurs...

    Posté par  . Évalué à 3.

    dans le journal, il y a nu lien vers le blog d'une personne qui se mort les doigts d'avoir pris en charge le portage sous Gnu/Linux ;-)

    http://natulte.net/index.php/blog/335(...)
    • [^] # Re: D'ailleurs...

      Posté par  . Évalué à 10.

      Hein quoi, on m'apelle?

      Hereusement, après mon annonce que je m'attaquais au port, plein de monde a rejoint la joyeuse aventure. On doit maintenant être à 8, et les choses avancent de bon train. Encore heureux d'ailleurs, je suis pris jusqu'a fin mai avec un autre projet, pour lequel je dois rendre un rapport et faire une soutenance, alors ca me fait plaisir qu'il y aie du monde pour que le port continue pendant mon absence temporaire :)

      Pour résumer:
      - le serveur (un peu l'équivalent d'un serveur battle.net, il fait uniquement la mise en relation des joueurs) compile et tourne presque
      - le client était écrit en C# et est entrain d'être réecrit en C++/WxGlade.
      - le moteur du jeu en lui-même est entrain d'être tailladé pour compiler sous linux en excluant la compilation de tous les sous-systèmes problématiques, ce qui devrait être fini dans la semaine. Une fois cela fait, on se distribuera les sous-systèmes pour les rendre portables (OpenGL/Win32 vers OpenGL/OpenGlut, DirectSound vers OpenAL...).

      Bref, on est pas arrivés, mais au moins on est partis :)

      Le wiki causant du port: https://opensvn.csie.org/traccgi/taspring_linux/(...) (liens vers le dépot subversion dessus). Une mailing list sera bientot crée sur sourceforge par les administrateurs SF du projet.

      Enfin, pour ceux qui parlent de fork, essayez de vous retenir: Clan SY (les développeurs de TA Spring) ont longtemps hésité avant de mettre le code source sous licence GPL. Une de leur plus grosse inquiétude était l'apparition d'une multitude de forks et la dilution de communauté qui s'en suivrait. Pour ma part, lorsque j'ai annoncé ma volonté de porter le jeu, je comptais bien leur rendre toutes les modifications pour intégration dans le projet officiel, et non lancer un quelconque "TA Pingouin" qui serait encore forké quatre fois au moins. Si on pouvait garder la communauté autour du jeu (qui grossit à vue d'oeil) intacte, ca serait vraiment bien.

      Après, si cela va être possible étant donné l'ampleur des modifications qu'on devra apporter... Je ne sais pas, mais ca vaut le coup d'essayer!
      • [^] # Re: D'ailleurs...

        Posté par  . Évalué à 3.

        Ben le temps que j' y pense.

        Pourrais tu me dire comment ça ce passe au niveaux graphisme ? nb de face par unité etc.

        Je connais une personne qui a longtemps créé des unités pour ce jeux (evolva). Au vu des résultats il serait tenté de recommencer. La compatibilé des unités sera maintenue ? Je sais que c' est le cas à l' heure actuelle, mais cela va t' il durer ?.

        Sinon bon courage , tu risques d' en avoir besoin :-) .
      • [^] # Re: D'ailleurs...

        Posté par  . Évalué à 2.

        Pourquoi vous refaites le client C# en C++/WxGlade ?
        Je suppose que ça doit tourner sous mono. Vous le faites à cause des winforms pas tout à fait au point ? Parce que si c'est ça, d'ici à ce que vous ayez fini votre portage, les winforms tourneront trés bien sous linux.
        • [^] # Re: D'ailleurs...

          Posté par  . Évalué à 1.

          il était moche de tout facon le client C# donc autant le recoder en GTK (c'est pas le jeu en lui meme, juste le client pour voir la liste des serveurs et s'y connecter)
  • # Je râle mais....

    Posté par  . Évalué à 4.

    Bon, c'est le même cas que worldwind : un soft même pas natif Unix et lié aux technos Microsoft....trop bien :)


    Question naïve : le type chargé du port doit se débarasser du code DirectX. Tout changer à ce point, ça revient pas à forker ? Et si des modifications sont faites dans la branche principale, faudra réimporter les changements ? Ca vaut pas plus le coup de "tout" porter sous SDL/gcc ?
    • [^] # Re: Je râle mais....

      Posté par  . Évalué à 10.

      Peut-être le billet sur mon blog était-il un peu exagéré. En technologies non-portables, il n'y a pas tant de choses que ca. Ca ne va pas etre simple, mais ce n'est pas impossible comme s'ils avaient tout codé en Direct3d.

      - La 3D utilise OpenGL, avec des routines Win32 pour l'ouverture de fenêtre. En remplaçant ces dernières par du code OpenGlut, le moteur graphique ne devrait pas avoir besoin d'autres modifications.
      - Le son utilise DirectSound, qui sera remplacé par OpenAL.
      - Le réseau utilise du winsock, qui sera "remplacé" dans un premier temps par du code sockets BSD avec les quelques appels en plus nécéssaires à winsock entourés de #ifdefs. Il semblerait qu'une discussion sur un changement radical d'architecture réseau est en cours dans la communauté, donc en attendant d'y voir plus clair, le moins de boulot on fournira la dessus, mieux ca sera.
      - La gestion des entrées est faite avec du code Win32, qu'OpenGlut remplacera sans problème.
      - L'accès aux ressources de jeu se fait via une bibliothèque de lecture de fichiers HPI, un format spécifique à Total Annihilation qui a été décortiqué par les moddeurs. Un collègue (travaillant sur http://openrts.sf.net(...) ) nous a proposé d'utiliser sa réimplémentation portable du lecteur de fichiers HPI. Là aussi, sur le long terme, un basculement vers un autre format (zip et 7zip sont à l'étude) pourrait nous faciliter la tâche.

      Il y a sans doute d'autres parties à problème, je n'ai évoqué que les principales parties qu'on a actuellement isolé dans le boulot préliminaire (reussir, en excluant tous les morceaux pas portables à coup de #ifdef NO_SUBSYSTEM, à faire compiler plus ou moins le reste).

      Bref, tout cà pour dire que oui, il y a du travail, mais étant donné l'architecture du moteur, il y a de bonnes chances que ce qu'il faut modifier sera confiné dans quelques fichiers/classes, ou que du moins il n'y aura pas besoin de réecrire un tiers du moteur pour que ca marche. J'ai donc bon espoir qu'on pourra réintégrer nos modifs de "portabilisation" dans l'arbre de sources principal et ne pas scinder en deux une communauté émergente.
      • [^] # Re: Je râle mais....

        Posté par  (site web personnel) . Évalué à 2.

        Je vais aussi me risquer à une question naïve, mais est-ce que l'utilisation de SDL ne simplifierait pas grandement la tâche ?

        Je sais que sous Windows, SDL "refile ses bébés" à DirectX s'il détecte que ce dernier est présent sur la machine. De plus, SDL inclut tout ce qu'il faut pour développer un jeu : couche réseau, couche graphique, ...

        J'avoue que je suis pas encore allé voir les sites, donc la réponse est peut être déjà là bas.
        • [^] # Re: Je râle mais....

          Posté par  . Évalué à 9.

          Le problème avec SDL, c'est un peu justement que tout est intégré. À utiliser uniquement une partie, on le sous-utiliserait. À tout utiliser, on devrait pas mal chambouler le code pour s'adapter à la façon de faire les choses qu'a SDL. Or, dans notre cas, on s'en servirait pour initialiser une surface vidéo et la refiler à OpenGL et gérer les entrées (clavier/souris/joystick), ce qu'OpenGlut, la continuation ouverte de Glut, fait tout aussi bien sans avoir à intégrer tout une infrastructure dans notre code.

          Donc non, à priori l'utilisation de SDL ne simplifierait rien du tout, puisqu'il faudrait non-seulement toujours réecrire les sous-systèmes non-portables, mais en plus altérer l'architecture de la partie déjà indépendante de la plateforme pour y intégrer SDL.

          Pour ma part, si on me sort un ultime avantage qu'a l'architecture SDL sur tout ce qu'on compte utiliser, pourquoi pas; mais je pense que l'acceptation du port auprès des développeurs originels sera d'autant plus facile si on ne se met pas à réecrire les morceaux qui marchent déjà parce que soi-disant on sait mieux qu'eux quoi faire. Terminons déjà un premier port qui n'impacte que le strict nécéssaire dans le code. Ensuite, on verra pour ce qui est de les faire utiliser toutes les bibliothèques libres à la mode ;-)
      • [^] # Re: Je râle mais....

        Posté par  . Évalué à 4.

        Oups, ca m'apprendra à ne pas vérifier les liens que je mets avant de poster le commentaire! Le projet openrts sur sourceforge est un projet mort. Celui dont je parlais, le collègue qui développe un moteur de RTS libre et qui nous donne un coup de main, c'est http://orts.sf.net(...) .
  • # Première page !

    Posté par  . Évalué à 0.

    Bonjour tout le monde,

    Je sais que c'est une petite news pour linuxfr, mais un grand pas pour la communauté que d'avoir un jeux de qualité sous Linux.

    De ce fait, je pense que mettre la news en première page et non pas en seconde page serait un plus.

    Autre question : Je suis moi-même développeur logiciel mais mes connaissances sont limitées dans les technogie qui sont demandées pour ce projet (OpenGL,OpenGlut, OpenAL, ...). Ou pourrais je trouver une documentation claire et courte (si possible) sur l'ensemble de ces technologies.
    Je veux bien participer au projet, mais si c'est pour ne rien comprendre au code, autant ne rien faire (Je sais, ca à l'air pessimiste mais ca ne l'est pas : c'est réaliste)

    Bonne journée
    • [^] # Re: Première page !

      Posté par  (site web personnel) . Évalué à 5.

      Je sais que c'est une petite news pour linuxfr, mais un grand pas pour la communauté que d'avoir un jeux de qualité sous Linux.

      De ce fait, je pense que mettre la news en première page et non pas en seconde page serait un plus.

      Du calme :
      - C'est *un* jeu
      - Il n'y a *aucune* version jouable pour Linux.
      Une première page me parait donc un peu trop...
    • [^] # Re: Première page !

      Posté par  . Évalué à 2.

      À mon humble avis, la news méritera la page principale quand le port du jeu sous GNU+Linux sera effectif.
      • [^] # Re: Première page !

        Posté par  . Évalué à 1.

        Oui mais, si est elle se trouve en page principale, plus de monde l'apercoit et plus de monde pourrait s'intéresser, voir participer au projet.

        Enfin c'est ce que je pense, mais je sors quand même... ->[]
        • [^] # Re: Première page !

          Posté par  . Évalué à 6.

          Simplement une petite intervention pour nuancer un peu la question de la participation massive. Nous sommes actuellement 8 à travailler sur la version linux. Et quand je dis 8, c'est 4 qui peuvent bosser et 4 qui attendent qu'on atteigne sur le moteur de jeu un stade ou on peut subdiviser le travail. Alors perso je ne vais pas refuser l'aide qui se propose, mais il faut voir qu'on ne peut pas bosser à 15 sur le portage des 3 mêmes lignes de code. Déjà là, à 8, je pense qu'on aura plus ou moins couvert tout ce qui concerne le moteur de jeu. Reste encore à porter quelques outils annexes (convertisseur/compilateur de maps, programme qui vérifie les versions/mods des joueurs d'une partie...), mais je ne pense honnêtement pas que nous en soyons à un stade de recrutage massif.

          De plus, l'équipe des développeurs de Clan SY a expressément demandé d'essayer d'éviter une "explosion" de la communauté avant qu'une prochaine version plus stable et complète ne voie le jour. C'est pour quelques raisons assez simple: éviter que des gens viennent en s'attendant à un produit fini, soient déçus par l'instabilité ou par l'impression de "pas fini" et s'en aillent pour ne plus revenir; ensuite, au niveau développement, il n'y a pour l'instant qu'assez peu de gestion de projet. Avec la mise en place (toute récente) du projet sur SourceForge, on peut espérer que cela ira en s'améliorant. Il suffit de voir ce qui s'est passé quand j'ai proposé de porter le code et que l'équipe de portage s'est formée. À essayer de discuter de modifications profondes par phpbb interposé, ca virait de plus en plus à l'anarchie.

          Donc pour ma part, je suis plutot satisfait que l'annonce ne soit pas passée en première page. Ca évitera un deuxième effet slashdot (ils sont passé sur la page jeux de la maison mère il y a quelques semaines), ca évitera que la communauté en cours de formation ne fasse imploser le projet à ce moment assez critique de son évolution, et ca évitera qu'on se retrouve a 42 sur le port alors qu'il y a pour l'instant de quoi faire pour une dizaine ;-)
          • [^] # Re: Première page !

            Posté par  . Évalué à 3.

            Au risque de me faire couler dans l'évaluation, tu viens de me convaincre de ne pas participer au projet. J'aurais été intéressé mais vu ton post, je resterais spectateur mais suivrai néanmoins l'évolution avec intérêt. Je ferais peut-être parti des futurs testeurs.

            Bonne chance, j'attends une version Linux avec impatience.

            @+
          • [^] # Re: Première page !

            Posté par  . Évalué à 3.

            ca virait de plus en plus à l'anarchie.


            objection !
            il ne faut surtout pas confondre l'anarchie et le bordel ! l'anarchie signifie l'absence de hierachie et non pas l'absence d'ordre. Le dévelopement des logiciel libres est souvent assé proche de l'anarchie puisque qu'il n'y a pas de chef, chacun est libre et dévelope ce qu'il veut. voila.
            • [^] # Re: Première page !

              Posté par  (site web personnel) . Évalué à -1.

              l'anarchie signifie l'absence de hierachie et non pas l'absence d'ordre. Le dévelopement des logiciel libres est souvent assé proche de l'anarchie puisque qu'il n'y a pas de chef, chacun est libre et dévelope ce qu'il veut. voila.
              Objection : il y a souvent de la non-anarchie : en effet, il y a toujours un project leader dans un projet, meme open-source, c'est lui qui autorise ou pas l'accès au CVS, etc... C'est lui qui peut decider si ton code est acceptable ou pas. Il est au dessus.
              L'anarchie, c'est les forks, mais l'expérience a montré qu'il y en avait assez peu (bon, allez l'exemple XFree :), sinon j'en n'ai pas d'autres en tete, MySQL, Apache, Linux, Samba etc... ne sont pas forké... ou forkés mais pas suivis, ca revient au meme)
              • [^] # Re: Première page !

                Posté par  . Évalué à 0.

                Anarchie et Fork n'ont rien à voir ensemble :
                Un fork peut exister seulement parce que le code est libre.

                et mandrake ressemble a un fork de red hat, que knoppix, ubuntu, gnoppix, mib-truc, linux-console (au moins à une époque), la distrib chrétienne dont j'ai oublié le nom, sont des forks de debian...
                Bon, il y a aussi sylpheed-claws (actuellement en dépêche de seconde page), sorcerer et sourcemage, camino et firefox, mozilla et netscape, openoffice et staroffice, heu...
            • [^] # Re: Première page !

              Posté par  (site web personnel, Mastodon) . Évalué à -1.

              Objection votre honneur !

              L'anarchie, c'est le bordel, par définition dans la langue française.
              Pour l'opposé de la hierarchie, je propose plutôt l'hétérarchie, mot inexistant dans le dictionnaire (français) donc à même d'être l'objet de toute les manipulations sémantiques qu'on veut. Notez que le concept existe, tout de même...

              Donc, ne pas confondre l'ananarchie avec la hierarchie :)
              • [^] # Re: Première page !

                Posté par  . Évalué à 1.

                oui tu as raison, comme taliban sera définit par "terroristes" dans les prochaines versions des dicos ;)

                Le fait est qu'il y a une très longue tradition d'utilisation de anarchie pour désigner le désordre .
                Mais il faut aller jusqu'au bout : le désordre est lui asocié à l'absence d' autorité , ce dernier terme désignant un pouvoir donné du fait d'une position dans une hierarchie. On peut donner des ordres à ceux qui sont en dessous mais pas l'inverse.

                La définition que tu trouves dans un dictionnaire est liée à l'histoire de l'utilisation du mot jusqu'à aujourd'hui.

                Dans un dictionnaire plus précis, tu trouveras aussi à anarchie un sens correspondant à son étymologie.

                Dans le cas du développement de logiciels, le contexte pousse à utiliser le sens étymologique et non le sens commun. Surtout lorsque le logiciel est fait par un petit nombre de personnes qui se mettent d'accord à chaque grande étape du développement, ont toutes le même accès aux ressources CVS, peuvent décider de partir du projet ou de se faire aider par d'autres personnes.
              • [^] # Anarchie

                Posté par  (site web personnel) . Évalué à 2.

                Il est clair que les mots et le sens qu'on leur donne ont, entre autres, une portée politique. Et que par conséquent l'Académie Française, émanation de l'état, n'a pas intérêt à définir le mot "anarchie" dans son sens philosophique (à savoir "suppression de l'État"). Un exemple pour convaincre les dubitatifs : dans sa 8ème édition (celle précédant celle en cours, donc), le mot "grève" renvoie exclusivement à un "lieu plat", la notion sociale de "cessation de travail" étant seulement indiquée en remarque, "par extension" du nom de la place sur laquelle se retrouvait les grèvistes. (l'exemple vient de mon cours de philo mais je viens de le vérifier sur http://atilf.atilf.fr(...) ).

                Pour une autre description de l'anarchie, on peut par exemple se reporter à un texte de Léo Ferré ( http://kropot.free.fr/Ferre-anarchie.htm(...) ) ou à un bon manuel de philosophie, section politique (Platon en parle par exemple, quoique dans un sens encore différent).

                Il est toutefois vrai que le sens actuellement le plus commun de "anarchie" est "désordre". Les anarchistes lui préfèrent en général le terme (plus technique) d' "anomie" pour éviter toute ambiguité quand ils veulent parler de l'absence d'ordre.
                • [^] # Re: Anarchie

                  Posté par  . Évalué à 1.

                  effectivement, le terme anarchie, dans la 8ième édition, est définit comme étant le désordre. Mais il ne faut pas oublié que c'est une édition qui date du début du XXième, si je ne me trompe pas.

                  Dans la 9ième (à venir mais déjà dispo en parti http://atilf.atilf.fr/academie9.htm(...) ), l'anarchie est d'abord définit comme "Mode d'existence d'une société sans État, où ne doit s'exercer aucune autorité hiérarchique"
    • [^] # Re: Première page !

      Posté par  . Évalué à 1.

      Je veux bien participer au projet, mais si c'est pour ne rien comprendre au code, autant ne rien faire (Je sais, ca à l'air pessimiste mais ca ne l'est pas : c'est réaliste)

      C'est une autre maniere de dire que tu es pessimiste!
      C'est ce que je disais aussi!! ;)
  • # moteur physique ?

    Posté par  (site web personnel) . Évalué à 2.

    Dans TA ce que je trouvais bof, c'est l'interraction avec le terrain. Etre sur une hauteur ne changeait ni la porté de tir, ni la ligne de vue, cela ne changeait pas non plus le cadrage (pourtant tiré de haut est toujous un avantage dans la réalité).

    Est-ce qu'un moteur physique est inclus ?

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

Suivre le flux des commentaires

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