Un nouveau jeu libre : Newton Adventure

Posté par  . Modéré par baud123.
Étiquettes :
26
2
jan.
2010
Jeu
La première démo jouable de Newton Adventure est sortie. Il s'agit d'un jeu de plates-formes 2D proche des classiques du genre en apparence, mais qui propose une nouveauté majeure : le personnage principal, Newton, a le pouvoir de modifier le sens de la gravité.

Cela permet de parcourir les niveaux dans tous les sens, d'atteindre des plates-formes inaccessibles, de faire tomber des objets ou des ennemis pour les atteindre, etc. La démo

La démo qui propose un niveau très simple, pour montrer le concept, a été testée sous Linux, mais devrait aussi tourner sous Windows, Mac OS X et Solaris. Un greffon pour Tiled permet de créer de nouveaux niveaux.

Le développement

Techniquement, le jeu est écrit en Java avec les bibliothèques lwjgl pour l'affichage et phys2d pour la physique.

Les sources, fournies avec la démo, sont sous licence BSD tandis que les graphismes et les données du niveau relèvent de la Creative Commons BY-SA 3.0.

Le développeur

Je réalise Newton Adventure sur mon temps libre et les vacances de fin d'année m'ont permis de bien avancer. J'espère pouvoir sortir dans l'année une version complète qui sera aussi amusante à jouer qu'à créer.

Pour l'instant je vais prendre un peu de recul et attendre les retours sur la démo, car j'ai beaucoup d'idée pour la suite et il va falloir faire le tri :
  • Framework pour ajouter des ennemis avec une IA sous forme de greffons ;
  • Objets utilisant le moteur physique : trampolines, cordes, pendules, rochers géants à la Indiana Jones, vent... ;
  • Des plates-formes particulières : glissantes, mobiles, déplaçables... ;
  • Musiques et effets sonores ;
  • Thèmes graphiques (jungle, ville...).

Enfin, j'aimerais porter le jeu sur téléphone mobile, mais je ne sais vraiment pas comment faire techniquement.

Aller plus loin

  • # Java

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

    Bonjour et merci pour ce joli jeu très prometteur.

    Sous windows je n'arrive malheureusement pas à faire marcher la démo:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/tuxfamily/newtona
    dv/Main

    N'étant pas "pro" de java, j'avoue ne pas savoir du tout comment faire marcher le tout.
    Une idée ?

    • [^] # Re: Java

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

      Je n'ai pas de Windows chez moi, je testerai au boulot lundi!

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Java

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

      Un ami a la même erreur sous Macosx et c'était du à la version de Java : il faut la 1.6.

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Bravo

    Posté par  . Évalué à 4.

    Je viens de le tester (ubuntu 9.10), c'est déjà très fun, bravo.

    Mes suggestions :
    - de la musique, des sons
    - plus de niveaux
    - une touche spéciale : inversion à 180° de la gravité
    - un niveau où la gravité a tendance à revenir à la verticale
    - un niveau où la gravité a tendance à tourner lentement
    - un niveau où la gravité oscille entre 2 orientations
    - éventuellement des monstres et des armes
    • [^] # Re: Bravo

      Posté par  . Évalué à 3.

      Je viens aussi de tester, ça marche bien chez moi, mais j'ai une suggestion qui concerne plus les mécanismes de base du jeu que celles proposées juste au dessus.
      Je pense qu'il pourrait être plus pratique pour le joueur et pour les concepteurs de niveau de limiter le nombre d'orientations à, disons, au maximum 8 : j'ai l'impression que les orientations intermédiaires n'offrent pas vraiment d'intérêt par rapport à ces 8 orientations en terme de jeu, et ne font donc que rendre plus compliqué d'atteindre précisément l'orientation souhaitée.

      Sinon, il y a un autre jeu sur un principe assez proche, qui pourrait éventuellement servir d'inspiration : Which Way Is Up ( http://www.hectigo.net/puskutraktori/whichwayisup/ ).


      Voila, bonne chance pour la suite du développement !

      LinuxFr, parfois c'est bien de la MERDE : https://linuxfr.org/users/c2462250/journaux/ecriture-inclusive-feministes-et-wikipedia#comment-1793140

      • [^] # Re: Bravo

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

        Je ne connaissais pas Which Way Is Up, mais il est très marrant!

        Ca rappelle plus les niveaux tournant de Super Ghouls'N Ghost ( http://www.mobygames.com/game/snes/super-ghouls-n-ghosts/scr(...) ) que ceux de Sonic ( http://www.mobygames.com/game/genesis/sonic-the-hedgehog/scr(...) ) qui m'ont donné l'idée.

        Pour ce qui concerne le nombre de direction de la gravité, le niveau proposé est très carré et donc on ne voit pas encore bien l'intérêt, mais j'ai prévu d'ajouter des plates-formes inclinés ou sphériques.

        On peut aussi utiliser de petites variation de la rotation de la gravité pour accélérer et ralentir certaines chutes d'objets ou de Newton et ainsi atteindre des plates-formes inaccessibles.

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Bravo

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

        Autre jeu au même (très bon) concept, l'indépendant And Yet It Moves : http://www.andyetitmoves.net (le titre est une citation de Gallilée, pas de Newton, voir E_pur_si_muove!). Le jeu ne tourne pas sous Linux, pas si vous avez l'occasion de tester, ça peut donner des idées.

        Sinon, j'allais faire la même remarque à propos du nombre différent d'orientations. Quelques angles prédéterminés (comme 0°, 90°, 180° et 270°) rendrait l'ensemble encore plus jouable (ce qui a été fait par And Yet It Moves d'ailleurs).

        Et si certain niveaux gagnent intérêt à cette rotation continue, peut-être que le fonctionnement de la rotation pourrait être différent selon le niveau.

        Enfin, un vrai effet de rotation (et pas cette sorte d'inclinement qui déforme l'image) pourrait donner mieux. C'est à tester.

        En tout cas, bien joué, bon projet, j'ai hâte de voir comment il va évoluer !
        (envie d'y jouer)
        • [^] # Re: Bravo

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

          Enfin, un vrai effet de rotation (et pas cette sorte d'inclinement qui déforme l'image) pourrait donner mieux.

          C'est quoi un "vrai effet de rotation"? (Techniquement j'applique juste une matrice de rotation via glRotate).

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

          • [^] # Re: Bravo

            Posté par  (Mastodon) . Évalué à 2.

            À voir les screenshots, ça pixellise pas mal. Si tu vises un style graphique simple (plutôt proche du dessin que de la photo) je me demande si tu n'aurais pas mieux fait de faire ça avec des graphismes vectoriels, qui seraient aussi jolis quelle que soit la rotation.

            Par contre, ça doit demander un peu de boulot pour avoir des performances décentes, je ne pense pas qu'utiliser un des moteurs de rendus de SVG actuels soit assez efficace.
  • # sympa

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

    je viens de tester le jeux sous windows xp, il marche parfaitement dès que je lance le .bat
    par contre, l'histoire de déplacer la clé en même temps que le perso grace à la gravité est un peu... spéciale, j'ai bien cherché pendant plusieurs minutes comment prendre la clé et la transporter avec moi...

    mais sinon ca a l'air prometteur :)
    • [^] # Re: sympa

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

      C'est le point sur lequel j'hésite le plus : est-ce qu'il faut ajouter la possibilité de changer la gravité en gardant le personnage fixe?

      Je pense que ça rendrait le jeu beaucoup plus accessible, mais j'ai peur que ça devienne trop simple.

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: sympa

        Posté par  . Évalué à 1.

        L'un n'empêche pas l'autre, par exemple :
        -pour une porte verrouillée, il faut une clef facile à transporter.
        -pour une porte blindée, il faut des explosifs trop lourds à porter.
  • # Le retour de Sonic ?

    Posté par  . Évalué à 3.

    C'est comme les niveaux tournants de Sonic sur Megadrive !

    C'est rigolo, mais ça me donne rapidement le mal de mer :(

    BeOS le faisait il y a 20 ans !

    • [^] # Re: Le retour de Sonic ?

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

      Bof, c'était vrai pour les niveaux bonus de sonic, mais là j'ai pas eu mal au crâne. À mon avis c'était plutôt du aux couleurs des niveaux en question dans sonic.

      En plus là tu tournes quand tu veux.

      Il manque encore un peu de difficulté, par exemple des murs pleins de piques où s'empaler, mais j'imagine que ça viendra. Un chrono aussi serait pas mal.

      Pour la clef, moi ça m'a pris quelques secondes seulement pour comprendre comment bouger la clef, mais bon c'est vrai que quelques instructions à ce sujet à l'intro éviterais à certain de ce demander ce qu'il faut faire.
  • # screenshots

    Posté par  . Évalué à 2.

    Les screenshots au format timbre poste uniquement, c'est pas génial. On peut modifier l'url et supprimer ".tb" pour obtenir la grande taille, mais un thumbnail cliquable serait plus pratique.
    • [^] # Re: screenshots

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

      En fait il suffit de cliquer sur le lien "Lire : Première démo jouable" pour voir l'article complet et les screenshots en grande taille.

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Personnage & gravité

    Posté par  . Évalué à 3.

    Pourquoi ne pas assumer complètement le titre et proposer le personnage d'Isaac Newton (dont le potentiel comique n'est plus à démontrer, cf la rubrique-à-brac de Gotlib :)), au lieu d'un sprite d'un perso qui ressemble vaguement à indiana jones ?

    Sinon, la gravité me semble trop importante; pour être plus précis, on dirait que le modèle adopté est le modèle physique a = g, ce qui fait que la chute est très rapide, et la vitesse croît linéairement. Il serait plus réaliste et plus jouable d'ajouter un terme de frottement, p.e. a = g - k v, de sorte que le personnage atteigne une vitesse limite dans sa chute.

    Sinon, le jeu est assez sympa.
    • [^] # Re: Personnage & gravité

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

      J'aimerai bien faire évoluer les graphismes, mais je débute en "pixel art" et si j'arrive à faire des objets simples (les briques, les nuages...), je n'ai pas le niveau pour faire des personnages animés ou des décors. Ainsi le sprite et le fond sont des oeuvres trouvées sur http://www.pixeljoint.com et http://opengameart.org/ sous licence Creative Commons.

      Pour la gravité je vais y réfléchir et voir ce que je peux faire avec le moteur physique que j'utilise (phys2d).

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Personnage & gravité

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

        A mon avis, et sans offense aucune, ce dont tu as besoin maintenant c'est d'un graphiste.

        Ton jeu me fais un peu penser a Braid, pour le concept et pour le cheminement de développement: tu as une démo qui tourne bien, qui démontre les capacités de la mécanique de jeu, mais il faut admettre que ce n'est pas très joli... Braid en était pratiquement la avant de trouver un graphiste qui a transformé ce qui n'était qu'un jeu très laid en une petite tuerie.

        Je t'invite a lire cette interview du graphiste de Braid, et en particulier de jeter un œil sur l'évolution incroyable des graphismes et ce que ça apporte au jeu:

        http://www.gamasutra.com/view/feature/3753/the_art_of_braid_(...)

        Bon courage!
        • [^] # Re: Personnage & gravité

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

          Braid est un jeu commercial. C'est plus facile de recruter quand il y a un revenu à la clé.

          Mais je suis ouvert à toute contribution de graphisme, de code ou d'idée!

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # Commits en français

    Posté par  . Évalué à 2.

    Juste une petite remarque, je vois que les commits sur Git sont écrits en français... Ce serait beaucoup mieux en anglais, ça demande un petit effort au début pour ceux qui ne maitrisent pas bien la langue de Shakespeare, mais au moins tout le monde peut suivre le développement et éventuellement contribuer.
  • # Besoins CPU

    Posté par  (Mastodon) . Évalué à 1.

    Très sympa ton petit jeu ! J'aime moyennement les jeux de plateforme, mais celui-ci a le mérite de rafraîchir un peu le genre.

    Dans ta news tu expliques que tu penses aux téléphones portables. C'est une excellente idée quand on voit qu'il sont de plus en plus capables de détecter les mouvements/rotations.

    Cela dit, j'ai testé ton jeu sur mon eeePC 701 (processeur Celeron 630), sous Ubuntu 9.10. Le jeu est jouable, mais on sature déjà le CPU, alors qu'il ne s'agit que d'un "proof of concept". Donc peut-être peux-tu déjà jeter un oeil sur de quelconques optimisations ?

    En tous cas bon courage,et tiens-nous au jus !

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Besoins CPU

      Posté par  . Évalué à 2.

      Sans aller jusqu'à saturation, chez moi ça consomme pas mal de CPU et ça réveille rapidement les ventilos.

      Et pourtant, je ne suis qu'au premier écran du jeu, que je n'arrive pas à passer (j'appuie pourtant sur la barre d'espace). Aucune touche semble n'avoir d'effet. Lorsque je lance le script (run_linux.sh), la console affiche adapter : null et version : null si ça a une importance.

      J'ai loupé quelque chose?
    • [^] # Re: Besoins CPU

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

      Le problème c'est que les performances dépendent d'éléments que je ne maîtrise pas beaucoup :

      - le moteur physique phys2d pour lequel dont j'ai du réécrire une classe pour obtenir des performances décentes.
      - les drivers OpenGL : là je n'y peux rien!
      - Java : je ne peux qu'attendre de meilleurs runtimes.

      Toutefois, il est possible de régler la qualité d'affichage dans le fichier data/config.properties. En mode FASTEST, j'ai pu faire tourner sans accélération 3D (sur une machine avec un bon processeur quand même).

      Il y a peut être d'autres optimisations auxquelles je ne pense pas...

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

  • # bug tracker

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

    Beaucoup de personnes ont du mal à lancer le jeu (saloperie de java) et leurs problèmes ne sont pas facile à identifier.

    J'ai mis en place un bug tracker pour centraliser ces problèmes : http://newtonadv.tuxfamily.org/bugtracker/

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

Suivre le flux des commentaires

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