Journal gamepad et teeworlds

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
23
14
avr.
2012

Y'a quelques soirs de cela, je me suis dit que j'étais vraiment trop mauvais à teeworlds. J'ai mis ça sur le dos de ma souris et j'ai un peu pesté contre ce jeu car il n'y avait pas de support joystick. Alors j'ai pris mon gcc et mon emacs et j'ai bricolé un petit truc pour y ajouter le support joystick. c'est vite fait et pas super classe mais ça à le mérite de fonctionner.

ça se passe ici : https://github.com/ploki/teeworlds

ma productivité a explosé !

  • # question

    Posté par  . Évalué à 1.

    Flemme de tester maintenant, ça marche comment ? Ça utilise l'angle absolu d'un stick analogique ?

  • # tee time

    Posté par  . Évalué à 2. Dernière modification le 14 avril 2012 à 13:46.

    J'aime bien teeworlds, et c'est même un de mes jeux préféré.

    Je suis donc intéressé par tout ce qui pourrait me rendre un peu meilleur (à ce jeu, pas de façon générale).

    Faut-il un joystick genre playstation pour profiter du patch ? Tu connais un joystick de ce type qui ne couterait pas une fortune et qui fonctionnerait bien sous Linux ?

    Merci pour le patch en tout cas, tant il est vrai que la visée à la souris est décourageante.

    Discussions en français sur la création de jeux videos : IRC freenode / #gamedev-fr

    • [^] # Re: tee time

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

      désolé pour la pub, j'ai un logitech dual action qui fonctionne parfaitement

      • [^] # Re: tee time

        Posté par  . Évalué à 3.

        j'ai pas vu de pub, juste une recommandation.

    • [^] # Re: tee time

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

      Tu connais un joystick de ce type qui ne couterait pas une fortune et qui fonctionnerait bien sous Linux ?

      Pour développer la gestion des manettes de jeux dans Newton Adventure, j'ai acheté ce modèle qui marche parfaitement sous linux:

      http://www.webdistrib.com/cat/Manette-Filaire-TECHTOOLS-Advance-Gamepad-Vibration-__p_342342.html

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

    • [^] # Re: tee time

      Posté par  . Évalué à 1.

      Tu connais un joystick de ce type qui ne couterait pas une fortune et qui fonctionnerait bien sous Linux ?

      Pour info, celui livré gratuitement avec les Freebox v6 est un joystick standard, reconnu direct sous Linux, et il marche très bien (même si la qualité n'est pas top).

      *Sano*

      • [^] # Re: tee time

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

        et à la fin, il faut aussi le rendre gratuitement

        • [^] # Re: tee time

          Posté par  . Évalué à 1.

          Bah justement, à priori ils s'en moquent.

          J'ai récemment fait changer mon freebox player (problème de lecteur BlueRay), que j'ai renvoyé comme demandé sans le gamepad.
          Ils m'en ont renvoyé une neuve avec un autre gamepad (ce qui fait que j'en ai 2), et je doute qu'ils me réclament les 2 si je résilie.

          Au passage, le pad est en vente (via la boutique d'accessoires) pour 9,99€.

          Et dans tous les cas, ça fait toujours un joystick de dépannage gratuit.

          *Sano*

          • [^] # Re: tee time

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

            tu as certainement raison. je suis un peu moqueur car le miens (celui de chez free) déconne complètement et est inutilisable…

            • [^] # Re: tee time

              Posté par  . Évalué à 1.

              Pour ceux qui ne sont pas chez Free, c'est quoi la référence du joystick ? (ou alors, ça dit quoi dans dmesg quand tu le branches ?)

              • [^] # Re: tee time

                Posté par  . Évalué à 1.

                DMESG :
                [ 4858.955317] usb 2-1.1: new low-speed USB device number 6 using ehci_hcd
                [ 4859.052499] usb 2-1.1: New USB device found, idVendor=0079, idProduct=0006
                [ 4859.052511] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
                [ 4859.052519] usb 2-1.1: Product: Generic USB Joystick

                [ 4859.052526] usb 2-1.1: Manufacturer: DragonRise Inc.

                [ 4859.057406] input: DragonRise Inc. Generic USB Joystick as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input15
                [ 4859.057686] dragonrise 0003:0079:0006.0002: input,hidraw0: USB HID v1.10 Joystick [DragonRise Inc. Generic USB Joystick ] on usb-0000:00:1d.0-1.1/input0
                [ 4859.057722] dragonrise 0003:0079:0006.0002: Force Feedback for DragonRise Inc. game controllers by Richard Walmsley richwalm@gmail.com

    • [^] # Re: tee time

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

      Si t'as des vieilles manettes Playstation qui te servent plus (ou que t'as des potes qui en ont), il y a aussi des adaptateurs vers USB qui existent (ça doit aussi exister pour les autres consoles, d'ailleurs), j`'avais trouvé ça plutôt pratique avec les émulateurs et apparemment c'est pas super cher. (Par contre j'ai testé ça qu'avec une manette première génération, je sais pas ce que ça donne avec les sticks analogiques, les vibrations et tout ça)

      • [^] # Re: tee time

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

        L'un de ses adaptateurs vient de me lâcher. Ce n'est pas de la très bonne qualité et le mapping des sticks analogiques ne marchait pas bien avec certains pads (dreamcast par exemple).

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

      • [^] # Re: tee time

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

        C'est bien dommage que les adaptateurs de manettes gamecube -> usb soient rares, heureusement on peut produire le sien ou en commander : http://www.raphnet.net/electronique/gc_n64_usb/index.php

        Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

      • [^] # Re: tee time

        Posté par  . Évalué à 1.

        J'en ai deux pour manette de playstation et un pour manette de game cube, chacun acheté environ 10€, je n'ai jamais eu de soucis avec les sticks analogiques. Par contre, je n'ai jamais testé les vibrations avec donc je ne sais pas si ça marche.

        L'avantage de ce type d'adaptateur, c'est que tu es à peu près sur de la qualité de la manette, et on en trouve d'occasion des vraiment pas cher.

    • [^] # Manette chinoise quelconque

      Posté par  . Évalué à 1.

      J'ai acheté une manette imitation PS2 sur Dealextreme (Google est ton ami) pour une poignée de dollars (moins de dix). Elle est parfaitement reconnue sous linux : je l'ai testée sur une grande variété de jeux, y compris des émulateurs. Je m'en sers depuis plusieurs mois et elle tient toujours (et je la malmène). C'est une manette tranparente de marque senze, si tu veux la retrouver.

      Mon conseil, c'est que ça ne sert à rien de rechercher une bonne manette. Ça ne sert à rien et de toute façon la no-name directement importée de l'usine (ou presque), ça a une qualité au moins équivalente à ce qu'on peut trouver en magasin.

  • # Joystick + coding style

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

    J'ai vraiment du mal à voir comment un gamepad peut nous rendre plus efficace que le couple clavier+souris à ce jeu ! C'est quand même plus simple de viser les gens avec la souris qu'avec un joystick… Mais bon, ça peut être marrant à essayer.

    J'ai regardé ton code, je pensais pas que ça serait aussi simple à ajouter. Par contre, pourquoi ne pas avoir respecté leur coding style ? S'il y a bien une règle importante quand on code sur un projet c'est d'utiliser la coding style du projet et ne pas arriver avec SA coding style, même si elle est mieux.

    • [^] # Re: Joystick + coding style

      Posté par  . Évalué à 0.

      Je ne me rappelle plus exactement, dans teeworlds à la souris on peut déplacer le curseur n'importe où sur l'écran (et c'est l'angle qui est utilisé), ou bien le curseur ne peut se déplacer que sur un cercle autour du perso ?

      • [^] # Re: Joystick + coding style

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

        Le curseur peut se déplacer n'importe où à l'intérieur d'un disque autour du personnage. Donc n'importe où mais si tu dépasses une certaine distance, le pointeur arrive en butée du disque et tu n'as plus que l'angle. Donc si l'adversaire ou le mur est près de toi, tu peux le pointer à la souris.

    • [^] # Re: Joystick + coding style

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

      Coding style ? Parce qu'il n'y avait pas de règle plus importante que mon propre fun.

      • [^] # Re: Joystick + coding style

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

        Parce que ça coûte rien de faire un code qui s'intègre bien au reste du projet comme ça il pourrait être intégré au projet officiel (ou en tout cas plus facilement). Bon après, si tu t'en fous et que t'as pris ton pied en codant ça vite fait pour occuper quelques soirées mais que ça te ferait ni chaud ni froid que ton code soit intégré à teeworlds, ok, je peux aussi comprendre.

        • [^] # Re: Joystick + coding style

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

          Alors, je résume ton discours… ça sert à rien, c'est facile à faire et y'a pas les \n et les espaces là où il faut.

          Pour ta gouverne, les \n et les espaces bien placés ne sont pas suffisants pour qu'un patch soit accepté upstream, encore faut-il que le code soit de qualité et que l'intégration soit complète. Ce qui n'est pas le cas ici (c'est vite fait et pas super classe).

          Concernant ta remarque sur "ça coûte rien", je pense que tu te trompes. Je n'avais pas "quelques soirées" à y consacrer et j'ai beaucoup d'autres choses à faire. Mais si ça te gène tant que ça, n'hésite pas ! git clone !

          J'aurais pu aussi ne pas forker teeworlds sur github et ne pas y mettre ce patch.

          • [^] # Re: Joystick + coding style

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

            Tu as mal résumé et tu l'as pris trop personnellement. Excuse-moi, j'aurais dû ajouter de l'enrobage à mes commentaires. Alors je le fais maintenant et je t'assure que c'est sincère : C'est super ce que tu as fait et j'espère que ce sera intégré à Teeworlds pour que tout le monde puisse en profiter. Le côté simple était relatif à la taille de ton patch (seulement 160 lignes avec beaucoup de redondance). Ce n'est absolument pas pour dire que n'importe qui aurait pu le faire, juste que je pensais que ça aurait été plus compliqué à faire.

            Mais voilà, tu fais un truc et tu le partages pour que d'autres en profite. C'est en tout cas le sens de ton journal non ? Alors oui, il manque d'autres choses pour que ça soit intégrable, mais pourquoi dès le départ ne pas respecter l'indentation ? Franchement, non ça coûte rien d'aligner les cases entres eux dans un switch, de ne pas décaler les accolades de blocs, de ne pas mettre certains espaces, etc. Le faire au fur et à mesure ne prend pas plus de temps à faire. Par contre maintenant que le code est écrit, c'est juste pénible à faire, d'où l'intérêt de le faire dès le départ.

            • [^] # Re: Joystick + coding style

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

              c'est bon, ça me saoule ce non débat… la prochaine fois je garde pour moi…

            • [^] # Re: Joystick + coding style

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

              Il dit depuis le début que son code n'est pas intégrable, donc soit tu veux le support joystick tout de suite et maintenant et tu applique le patch, soit t'attends que des développeurs plus "propres" le fasse eux-même.

              Il ne faisait que répondre à un besoin immédiat (le sien), et je trouve facile de dire que soigner son code à l'écriture ne prend pas beaucoup plus de temps ! Respecter une quelquonque manière de coder autre que la sienne est toujours plus relou àmha. Que ce soit s'appliquer à mettre des tabulations là où il faut, ou nommer ses fonctions d'une certaine manière, ou bien ci, ou bien ca, etc… Franchement si c'est pas comme ca qu'il code, ça nuit au plaisir et à la productivité. Donc dans la mesure où il a codé cette fonctionnalité d'abord pour sa pomme, je ne vois pas pourquoi il se serait embêté à l'écrire différement que n'importe quel autre programme qu'il aurait écrit pour sa pomme.

              Bref, je ne joue plus à teeworld mais soit son truc vous plait et dites lui juste merci, soit vous vous en fichez et dans ce cas bah lisez un autre journal…

              Lui au moins il partage quelque chose, ce qui n'est pas mon cas (et je code beaucoup plus salement que lui en plus, donc j'aurai peur de me faire lapider)

    • [^] # Re: Joystick + coding style

      Posté par  . Évalué à 0.

      Quelqu'un a la gentillesse de proposer un patch dans l'idée qu'il pourrait être utile à d'autres, tout en insistant sur le caractère "crado" du code, donc non-intégrable en l'état dans le projet mainstream, et on lui répond :
      1. ça sert à rien ton truc ;
      2. ça respecte pas les règles blablabla.

      Je comprendrais complètement que la prochaine fois qu'il code quelque chose qui lui a été utile, il y réfléchisse à deux fois avant de le partager ici, vu le retour qu'il reçoit…
      Ou comment desservir la communauté du libre par une orthodoxie malvenue.

      • [^] # Re: Joystick + coding style

        Posté par  . Évalué à 3.

        C'était juste une remarque comme ça, pourquoi toi et l'autre le prenez comme une insulte ?

        • [^] # Re: Joystick + coding style

          Posté par  . Évalué à 3. Dernière modification le 16 avril 2012 à 11:18.

          Allez zou, je viens profiter du moinssage.

          Oser dire que parfois l'accueil réservé à un retour utilisateur ou à un petit contributeur dans le libre décourage d'aller plus loin, ça se fait pas !

          Maxime n'a pas tort dans ce qu'il dit mais formuler sa remarque sous forme de conseil plus que sous forme de critique eut peut être été plus profitable au libre.

          • [^] # Re: Joystick + coding style

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

            Je suis tout à fait d'accord avec toi. J'ai lu trop rapidement son message, j'ai loupé le côté "je fais ça vite fait pour mon plaisir, pas pour que ça soit intégré", sinon je n'aurais pas parlé de coding style dès le départ.

            Mon but n'est bien sûr pas de décourager quiconque à partager son code et ça me ferait plaisir que le support du joystick soit ajouté un jour dans Teeworlds qui est un jeu très sympa. Même si à titre personnel j'ai du mal à imaginer pouvoir être meilleur avec un gamepad, j'aimerais bien essayer pour voir ce que ça donne.

            • [^] # Re: Joystick + coding style

              Posté par  . Évalué à 4.

              Pas grave, tu as juste rédigé ton commentaire en oubliant le coding style du projet "accueil des touristes contributeurs" ;)

      • [^] # Re: Joystick + coding style

        Posté par  (site web personnel) . Évalué à 6. Dernière modification le 16 avril 2012 à 11:15.

        1. ça sert à rien ton truc ;

        Il n'a jamais dit ça. Il a juste dit qu'il était habitué au couple clavier+souris. Je me suis fait la même réflexion. Ce n'est pas pour autant que ça ne sert à rien.

        Je comprendrais complètement que la prochaine fois qu'il code quelque chose qui lui a été utile, il y réfléchisse à deux fois avant de le partager ici, vu le retour qu'il reçoit…

        Le retour qu'il reçoit, c'est avant tout un journal à +17 et des commentaires agréables.
        Une personne lui fait une remarque que j'ai compris comme une incitation à améliorer son code afin qu'il puisse être intégré au projet et ainsi profiter à tous.

        Après, il s'en fout, il l'a fait pour lui, et c'est son droit le plus strict.

        • [^] # Re: Joystick + coding style

          Posté par  . Évalué à 1.

          Il y a une façon de dire les choses, d'ailleurs l'auteur du commentaire s'en est rendu compte puisqu'il a reformulé sa remarque quelques messages plus loin.
          C'est juste dommage qu'il n'ait pas posté son message sous cette forme du premier coup, ça ne coûtait rien et l'auteur du journal y aurait sûrement réagi différemment. (et moi je me serais abstenu de poster :P)

Suivre le flux des commentaires

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