Journal OpenRTS, un moteur de jeux-vidéo open-source en Java

Posté par . Licence CC by-sa
23
16
mai
2015

Bonjour à tous,

On m'a conseillé de venir ici pour parler de ce nouveau projet de moteur de jeux de stratégie temps-réel en Java, multi plate-forme sur lequel nous travaillons depuis quelques mois.

C'est un projet open-source (MIT) visant à offrir une plate-forme de développement pour n'importe quel type de RTS (Real-Time Strategy) indépendant type Stracraft ou Age of Empire, comprenant tous les outils de développement nécessaires ainsi qu'un vivier de ressources graphiques, sons, musiques… libres de droits.

Consultez le dépôt public GitHub

image

Nous avons grand besoin d'aide pour développer tous les aspects du moteur lui même, programmé en Java 7, ainsi que pour remplir le vivier des ressources :

Code Java très varié (3d, géométrie, parsing, architecture générale, intelligence artificielle, réseau, GUI…),

3D low poly art style : modélisation des assets (unités, éléments de décor, bâtiments…) avec Blender, 3DSMax, Maya…

Animations principalement pour les personnages en jeu,

2D art : création de dessins, icônes, interfaces, sprite de particules, textures, portraits,

sons, voix, musiques

Nous sommes également en train d'élaborer un jeu test afin de mettre l’éditeur et le moteur à l'épreuve, et pour présenter les capacité en situation réelle.

Au programme :
- design de maps
- design de gameplay, équilibrage, armements, actoring,
- scénario avec breifing, dialogues et missions.

Bref, toute contribution est bonne à prendre. Si ce projet vous intéresse, et que vous souhaitez vous joindre à l'aventure, n’hésitez pas !

Adepte de GitHub, clonez le projet et testez, jetez un oeil au wiki et au code source documenté, plongez dans la listes des issues et participez aux discussion, puis soumettez nous directement vos participations (pull-request, ou par mail) et devenez contributeur !

Pour ceux qui ne seraient pas habitués à GitHub, c'est une bonne occasion de s'y mettre ! Sinon, faites simplement un mail à openRTS.team@gmail.com.

Merci pour votre intérêt :)

Benoît et l'équipe de OpenRTS

.

  • # Pourquoi Java?

    Posté par . Évalué à 4.

    Question de noob…pourquoi Java et pas un langage de plus bas niveau, ou alors ouvert, comme Python?
    C'est pour viser Android?

    • [^] # Re: Pourquoi Java?

      Posté par . Évalué à 4.

      En langage "bas niveau" il y a déjà le moteur de 0ad, en c++ (si c'est ce que tu appelles bas niveau).

    • [^] # Re: Pourquoi Java?

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

      Pourquoi opposer "ouvert, comme python" ? Il me semblait que java était sous licence GPL de nos jours. Ce n'est pas assez ouvert ?

      • [^] # Re: Pourquoi Java?

        Posté par . Évalué à 1.

        Pourquoi opposer "ouvert, comme python" ? Il me semblait que java était sous licence GPL de nos jours. Ce n'est pas assez ouvert ?

        En effet, au pire son inquiétude se situe au niveau de la JVM, si OpenRTS n'était optimal que sur la JVM d'Oracle, ça serait en effet un problème.

        • [^] # Re: Pourquoi Java?

          Posté par . Évalué à 1.

          Pourquoi pas en rust ? Je suis sur que ce sera un super langage pour les jeux vidéos (pas de fuites mémoires) :D
          Sinon super initiative mais qu'est ce que ça apporte de plus par rapport au moteur de 0ad ?

    • [^] # Re: Pourquoi Java?

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

      Certainement pour obtenir de bonnes performances tout en restant productif.

      http://devnewton.bci.im

    • [^] # Re: Pourquoi Java?

      Posté par . Évalué à 0.

      Question de noob…pourquoi Java et pas un langage de plus bas niveau

      Excellente question, car d'expérience tous les jeux en java que j'ai testé on toujours affiché des performances littéralement pourries (et encore je reste poli).

      ouvert, comme Python?

      Étant aussi allergique à Oracle et fan de Python j'aurais on pourrait imaginer une tendance à approuver. Mais il se trouve que je pense que Python n'est pas du tout prêt pour le jeux vidéo et surtout pas la 3D pour les même raisons que java (sauf que Python c'est propre ;-)) à savoir la machine virtuelle d'interprétation et le garbage collector.

      kentoc'h mervel eget bezan saotred

      • [^] # Re: Pourquoi Java?

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

        Python c'est propre ;-)) à savoir la machine virtuelle d'interprétation et le garbage collector.

        Et qu'est-ce que ça veut dire ? En tous cas les performances de Python sont largement moins bonnes que celles de Java.

        • [^] # Re: Pourquoi Java?

          Posté par . Évalué à -2.

          Ça dépend, un exemple parmi d'autres

          kentoc'h mervel eget bezan saotred

          • [^] # Re: Pourquoi Java?

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

            Super, Pypy est plus rapide que CPython, et donc ? Par rapport à Java ? Sinon, je veux bien les autres exemples, surtout ceux qui montrent que la JVM est crade (surtout comparée aux implémentations python).

            • [^] # Re: Pourquoi Java?

              Posté par . Évalué à -2.

              ceux qui montrent que la JVM est crade

              J'ai jamais parlé de la JVM mais de la grammaire du JAVA.

              Super, Pypy est plus rapide que CPython, et donc ? Par rapport à Java ?

              Comme je l'ai déjà dis JE PENSE que LES DEUX langages sont de la marde pour écrire des jeux vidéos surtout en 3D.
              Si tu veux te lancer dans une comparaison qui a la plus grosse le meilleur langage, regarde du côté de C++ et non de Python pour avoir quelque chose de valable à comparer à ton truc de caféïnomane.
              Point final.

              kentoc'h mervel eget bezan saotred

    • [^] # Re: Pourquoi Java?

      Posté par . Évalué à 7.

      Bonjour,

      en effet, nous avons des velléité à viser la plateforme Android et nous considérons que Java est suffisamment ouvert, et suffisamment performant pour porter au mieux notre projet sur tous les horizons.

      Il s'agit aussi d'une affinité personnelle avec le langage ainsi qu'avec la communauté, riche et dynamique du moteur jMonkey Engine qui assure le rendu.

      Je vous laisse débattre des autres considérations :)

  • # Licence des données ?

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

    La licence des données est dite "Libre de droit" ce qui ne veut pas dire grand chose. Quelle est donc cette licence ?

  • # Merci

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

    Ça donne envie de compiler et exécuter avec le dataset de test ! J'ai juste jeté un petit coup d'oeil dans le source à quelques fichier en passant, étant un peu familier avec JMonkeyEngine et très familier avec le Java. Ça donne envie de creuser un peu plus dès que j'aurai un peu de temps à moi. Merci beaucoup, en tout cas, d'avoir pris le temps de venir en parler sur linuxfr (j'étais passé à côté).

    • [^] # Re: Merci

      Posté par . Évalué à 2.

      Merci beaucoup pour votre message !

      J’espère vous croiser bientôt sur le dépôt GitHub dans ce cas ;-)

  • # Spring

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

    Déjà bravo pour le travail accompli ; il y a un mois j'avais vu passé le projet sur FreeGamer, et la vidéo de l'éditeur de carte est vraiment très sympa.

    En revanche je m'interroge : y a-t-il des fonctionnalités qui vous différencient de Spring ?

    Par exemple je ne pense pas que Spring permette de faire autres chose que des classiques maps rectangulaires ; alors que dans le monde propriétaire j'aime beaucoup (sans y avoir jouer) Planetary annihilation qui propose des maps qui sont des systèmes solaires avec de petites planètes ! Mais pour le coup, OpenRTS m'a l'air tout aussi classique (c'est juste une fonctionnalité qui me parait intéressante, mais il y a sûrement moyen d'innover sur d'autres fronts).

    • [^] # Re: Spring

      Posté par . Évalué à 4.

      Merci pour votre commentaire, c'est encourageant !

      Le moteur Spring est incroyable et pour le moment, nous n'avons aucune fonctionnalité supplémentaire. Mais les différences entre notre approche et la leur sont aussi profondes qu'entre Total Annihilation et Starcraft.

      OpenRTS s'oriente davantage vers le micro-management, la tactique et les unités héroiques (bien que Spring le permette aussi) et devrait offrir des outils de productivité plus abordables que Spring qui reste, à notre sens, difficile à prendre en main.

      De plus, OpenRTS est 100% original (pas de risque de conflit avec une licence existante), et sa licence MIT ne l'oppose pas à un usage commercial.

      D'une manière générale, je dirai qu'OpenRTS est le pendant open-source de Starcraft/Warcraft, là ou Spring est celui de Total-Annihilation et 0 A.D. celui de Age of Empire. Chaque moteur emporte avec lui un héritage qui le caractérise.

      • [^] # Re: Spring

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

        Ok merci pour ta réponse ça explique bien des choses.

        OpenRTS est 100% original (pas de risque de conflit avec une licence existante), et sa licence MIT ne l'oppose pas à un usage commercial.

        • Spring a depuis longtemps laissé tomber le 'T.A.' de son nom, donc je pense qu'un studio qui lui adjoindrait des assets originaux n'aurait aucun risque de conflit de licence je pense.
        • Attention à ne pas opposer libre et commercial. Un jeu peut tout à fait être libre et commercial. Il peut aussi avoir un moteur libre (sous licence GPL par exemple dans le cas de Spring), des assets propriétaire et être commercial. Après on est bien d'accord une licence MIT sera sûrement plus attractive en pratique, les studios rechignant classiquement même s'il faut juste libérer leur moteur.
  • # Un forum à disposition

    Posté par . Évalué à 2.

    Nous avons désormais un forum de discussion, gentillement prêté par la communauté de jMonkey Engine : http://hub.jmonkeyengine.org/c/user-code-projects/openrts

    Merci à eux ! Ça sera plus pratique que les issues de GitHub pour les discussions générales.

    Au plaisir de vous lire !

Suivre le flux des commentaires

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