Journal Premiers builds du nouveau Plee the Bear

Posté par (page perso) . Licence CC by-sa
19
11
mar.
2014

Cher journal,

Suite à l'appel aux dons lancé l'année dernière sur OpenFunding, j'ai grandement modifié mon jeu Plee the Bear ; et je suis ravi d'avoir enfin mis en ligne les premiers builds de cette nouvelle version du jeu :)

Est-ce que tes lecteurs auraient envie de tester et de me faire des retours ? Il y a des binaires Linux qui pourraient marcher presque partout¹, une archive avec le code source à compiler soi-même et, pour ceux qui connaissent, des binaires pour Windows.

Je n'ai pas encore pris le temps de faire des captures et des vidéos mais il y en aura la prochaine fois.

¹ J'ai eu des échos disant que certains plantages pouvaient être évités en supprimant des bibliothèques du dossier lib, au cas par cas.

  • # Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

    qui pourraient marcher presque partout¹
    ¹ J'ai eu des échos disant que certains plantages pouvaient être évités en supprimant des bibliothèques du dossier lib, au cas par cas.

    Mouais, donc bonjour la bidouille et le bohneur la chance, vachement agréable Linux (oui, il faut bien troller un peu) surtout que du coup même libgcc_s.so, même libX11.so.6 sont la, moi qui croyait que Linux c'est trop génial car on n'a pas besoin de livrer toutes les libs ;-).

    Bon, sous cette entrée trollesque, l'idée était plus sérieusement de te recommander OBS pour que 90% de tes utilisateurs Linux puissent utiliser sans avoir à supprimer au hasard des .so. et surtout en aillant la chose mieux intégrée à leur distro (mise à jour auto, tu peux facilement ajouter une entrée de menu etc, package rpm/deb…), sans que tu te prennes trop la tête.
    (de la même manière, les utilisateurs Windows s'attendent à une entrée dans leur menu plutôt qu'un ZIP bizarre qu'il faut tout le temps retrouver)

    Note : le lien vers le code source est faux (mauvais copier-coller de la version Linux?), si un modo passe par la il serait sans doute judicieux de modifier le lien vers le vrai code source.

    • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

      Effectivement c'est un peu lourd de transporter toutes les bibliothèques, et je n'ai pas essayé de faire dans la finesse : quasiment toutes celles que je n'ai pas pu lier statiquement sont dans le dossier lib… Il y en a certainement à supprimer.

      J'ai entendu beaucoup de bien d'OBS et j'aimerais bien prendre le temps de l'essayer à l'occasion. Un élément qui m'inquiète est dans la gestion des dépendances car j'utilise la SDL2 et libclaw qui ne sont pas toujours disponibles dans les distributions.

      Pour le build Windows il s'avère que je faisais des installateurs pour les versions précédentes, mais j'ai appris depuis qu'il était plus efficace de faire un zip pour minimiser les actions de l'utilisateur. Il semblerait que plus il y a de clics entre le téléchargement et le lancement du jeu, moins les gens testent effectivement. C'est pour ça que j'ai opté pour le zip cette fois ci.

      • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

        Posté par (page perso) . Évalué à 0. Dernière modification le 12/03/14 à 08:42.

        Un élément qui m'inquiète est dans la gestion des dépendances car j'utilise la SDL2 et libclaw qui ne sont pas toujours disponibles dans les distributions.

        Ca sera en effet plus difficile, mais pas forcément plus que "maintenant" :
        - tu les packages dans ta release comme tu le fais maintenant, pour les distros n'ayant pas ces libs (tu peux filtrer en fonction des cibles)
        - tu créés les packages correspondant

        Sinon, oui OBS c'est bien, c'est ce qui devrait exister pour toutes les distros afin de simplifier la vie des devéloppeurs (le hic est que les mainteneurs de distros n'aiment pas trop avoir des choses communes et simplifier la vie des développeurs, reste donc toujours à créer les fichiers de config dans des langue différentes, les noms différentes des libs etc… Mais OBS permet au moins d'automatiser le bousin)

        mais j'ai appris depuis qu'il était plus efficace de faire un zip pour minimiser les actions de l'utilisateur.

        Je serai bien curieux de lire une argumentation sur le sujet, car mon préjugé est que les gens cherchent dans le ZIP où on clique pour démarrer le truc et comme ils ont peur (trop de fichiers), ils poubellisent. Et puis, ça va une fois, mais la seconde ils ont oublié où ils ont mis le répertoire décompressé.
        Maintenant si tu penses que c'est mieux et que tu le sais plus contre ces gens qui n'ont pas cherché à optimiser le taux d'install que sont Microsoft, Skype, Adobe, Google (bon, pour rester dans le libre : Videolan, Mozilla…) et j'en passe… Après ça doit dépendre pas mal de ta cible d'utilisateur (le geek qui sait mais est hyper pressé ou 99% des autres)

        • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

          mon préjugé est que les gens cherchent dans le ZIP où on clique pour démarrer le truc et comme ils ont peur (trop de fichiers), ils poubellisent.

          c'est peut-être mieux d'avoir les 2 ?

          je dois faire partie des geeks pressé, perso pour un logiciel que je ne connais pas trop, j'ai horreur des installateurs windows qui vont éparpiller toutes leurs m**** dans le système, et quand je teste je préfère avoir un zip, et si le logiciel me plait je peux le copier dans un répertoire avec les autres logiciels du même style (cas typique : les roguelike)

          Sinon pour Plee, j'ai testé sous Linux (mint), et ça fonctionne très bien du premier coup, merci d'avoir fourni ces binaires, c'est plus pratique que d'avoir à le compiler soi-même. Et j'ai bien aimé les nouveaux graphismes ! Par contre le jeu ne m'a pas paru très fluide (testé qu'en plein écran), limite saccadé, j'ai pourtant une grosse carte graphique (nvidia), je n'avais pas eu cette impression dans les versions d'avant.

          « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

          • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

            Posté par (page perso) . Évalué à 1. Dernière modification le 12/03/14 à 09:29.

            c'est peut-être mieux d'avoir les 2 ?

            Perso je fourni les deux, car en effet si tu files que un installeur il y a des geeks qui réclament un ZIP.
            Ma remarque concernait la personne surtout si elle veut avoir une audience large (bref : sortir des geeks libristes qui sont tr_ès peu par rapport aux autres), sinon un ZIP suffit.

            je dois faire partie des geeks pressé,

            Oui :)
            Déjà, tu es sur ce site, qui interesse nullement beaucoup beaucoup de monde (ça parle de truc bizarres genre licence et pas utilisables en 3 clics)

          • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

            En appuyant sur F2 pendant le jeu tu pourras voir le nombre d'images et d'itérations de la boucle de jeu par seconde. Si tout va bien ils doivent être à 66 tous les deux.

            Nous avons quelques artefacts graphiques parfois (des sprites qui tremblent) et il y a aussi un petit saut de mouvement de temps en temps, qui se voient surtout quand le perso court. Est-ce que ça correspond à ce que tu as ?

        • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

          Bon je ne retrouve pas l'article qui dit de faire des zip plutôt que des installateurs pour communiquer avec la presse… Tout ce que je peux te proposer c'est ce sondage dans les forums de TIGSource. La tendance est celle relevée dans les autres commentaires : les gens qui ont un minimum de niveau technique veulent des zip, pour le reste il faut un installateur.

          • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

            Bon je ne retrouve pas l'article qui dit de faire des zip plutôt que des installateurs pour communiquer avec la presse…

            Ca, ça ne m'étonne pas (test vite fait sans droits admin puis poubelle, donc ZIP).

            les gens qui ont un minimum de niveau technique veulent des zip, pour le reste il faut un installateur.

            comme ce que j'ai dit finalement ;-)
            (il ne faut pas généraliser un sondage envers des gens qui ont un niveau technique car leur point de vue ne correspond pas aux non technique. Mais il faut le ZIP pour faire plaisir au technique qui en feront alors la pub, choix impossible si on doit faire un truc unique… Bon au final les plus gros décidnet l'installeur pour les non techniques qui sont très nombreux)

            • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

              Ca, ça ne m'étonne pas (test vite fait sans droits admin puis poubelle, donc ZIP).

              Les installeurs "génériques", fait avec izpack de mes jeux sont utilisables sans droits admin (ils s'installent par défaut dans le dossier ~/nomdujeu et ne touchent pas à la base de registre ou autres saletés).

              http://devnewton.bci.im

              • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

                ils s'installent par défaut dans le dossier ~/nomdujeu

                Pourrir le ~/ comme ça, sans façons…
                Chacun son truc sans doute.

                (Sinon installer dans un répertoire "local" à l'utilisateur est ce qui se fait aussi sous Windows, mais bon, sans pourrir le répertoire "racine" de l'utilisateur, à part pour des logiciels venant du monde Linux qui n'ont pas cherché à comprendre que Windows a une arborescnece différente, comme aussi pour la config qu'on ne met pas dans ~/.nomduprogramme mais dans un sous-répertoire, et le pire c'est que même sous Linux c'est conseillé de ne pas mettre dans ~/)

                • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

                  Pourrir le ~/ comme ça, sans façons…

                  C'est juste par défaut. Il y a un beau magicien d'installation qui te propose de choisir le dossier d'installation. Est-ce qu'il existe une convention? Chez moi, je mets les logiciels optionnels dans ~/opt.

                  Pour les fichiers de configuration, j'essaye dans l'ordre:

                  • ${XDG_CONFIG_HOME}/nomdujeu
                  • ${APPDATA}/nomdujeu
                  • ~/.config/nomdujeu

                  J'ai vu que beaucoup de nouveaux jeux les mettent dans "Mes documents". Je ne sais pas si c'est une bonne pratique.

                  http://devnewton.bci.im

    • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

      les utilisateurs Windows s'attendent à une entrée dans leur menu plutôt qu'un ZIP bizarre qu'il faut tout le temps retrouver

      Les jeux des humble indie bundles sont parfois packagés ainsi.

      http://devnewton.bci.im

      • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

        Si les humble indie bundles étaient des références pour la diffusion de jeux, ça se saurait. Un pic de volume sur une cible très précise n'en fait pas une généralité.
        (surtout vu que maintenant ce sont les version non indie qui se vendent le plus)

        Après, c'est un choix, je signale juste que ça fait bizarre pour certaines personnes, que d'autres qui ont pour but de diffuser au plus grand nombre sur un plus long terme font différement et vous en faites ce que vous voulez.

        • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

          Posté par (page perso) . Évalué à 4. Dernière modification le 12/03/14 à 09:24.

          Si les humble indie bundles étaient des références pour la diffusion de jeux, ça se saurait.

          Ben oui. C'est packagé à la truelle, mais ça se vends :-)

          D'ailleurs je note qu'ils ont les mêmes problèmes pour fournir des binaires portables sous Windows et sous Linux: 32/64 bits, libs qui ne peuvent pas être liés statiquement, runtime msvc/libc…

          Peut être que libretro est une solution à ce problème?

          http://devnewton.bci.im

      • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

        Posté par . Évalué à 2.

        Les jeux des humble indie bundles sont parfois packagés ainsi.

        Les jeux des Humble Bundle fournissent quasiment systématiquement une clef Steam, aussi ;)

    • [^] # Re: Ca marche, euh... Peut-être, faut bidouiler en fait, alors qu'on a des outils

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

      Lien corrigé, merci.

  • # portable

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

    Tu as essayé avec http://www.pgbovine.net/cde.html pour voir?

    http://devnewton.bci.im

    • [^] # Re: portable

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

      Je ne connaissais pas ! Ça a l'air effectivement pratique. Connais-tu des projets qui l'utilisent ?

  • # Marche presque partout ?

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

    J'ai connu plus portable… Sur Debian Stable :

     % ./plee-the-bear 
    ./plee-the-bear: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by ./plee-the-bear)
    ./plee-the-bear: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by /home/max/Téléchargements/plee-the-bear/lib/libX11.so.6)
    
    • [^] # Re: Marche presque partout ?

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

      Est-ce que ça fonctionne mieux si tu enlèves libX11.so.6 du dossier lib ? Et en virant tout le dossier lib ?

      • [^] # Re: Marche presque partout ?

        Posté par . Évalué à 1.

        Je suis aussi sous Debian Stable et cette manip ne résoud pas le problème :
        si tu enlèves libX11.so.6 du dossier lib
        ./plee-the-bear: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version GLIBC_2.15' not found (required by ./plee-the-bear)
        en virant tout le dossier lib
        ./plee-the-bear: /lib/i386-linux-gnu/i686/cmov/libm.so.6: version
        GLIBC_2.15' not found (required by ./plee-the-bear)
        ./plee-the-bear: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by ./plee-the-bear)

  • # Version Windows

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

    Sous Firefox: fichier de 0 octets
    Sous Chrome: ERR_CONTENT_LENGTH_MISMATCH

  • # Version Linux/Ubuntu

    Posté par . Évalué à 3.

    Fonctionne du premier coup au lancement du binaire, sous Ubuntu 12.04.4.
    Jeu fluide, son très clair.
    Bravo au développeur !

  • # Problème de build "out-of-source"

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

    Pour construire à partir des sources, il faut construire avec un "in-source" sinon au lancement du programme une Exception erreur de chargement des librairies est affiché. D'après la FAQ CMake il faut privilégier une construction "out-of-source" pour pouvoir facilement générer des versions "Release" et "Debug" indépendantes.

    Autre retours, sur une Fedora 20 x86_64 et en utilisant les librairies fournis par le système (eg. après un rm lib/*) le binaire ne fonctionne pas si l'utilisateur n'a pas la version i686 de la libGL.so.1 spécifique à chaque driver.

    • [^] # Re: Problème de build "out-of-source"

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

      Peux-tu donner plus de détails sur l'erreur ? Je pense qu'elle vient du fait d'une construction non « release ». Je n'ai pas eu le souci avec une construction release comme suit :

      tar xf plee-the-bear_0.7.0-light.tar.gz
      mkdir build
      cd build
      cmake ../plee-the-bear-0.7.0-light/ -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr
      make
      sudo make install
      plee-the-bear
      

      Le make install est important, sinon le jeu ne sais pas trouver ses données. Pour les constructions de développement il s'attend à les trouver dans le dossier source, et du coup il faut effectivement appeler cmake . dans le source.

      • [^] # Re: Problème de build "out-of-source"

        Posté par . Évalué à 1.

        Pour info on utilise un simple:

        add_definitions(-DASSETS_DIR="${CMAKE_SOURCE_DIR}/assets/")
        

        dans le CMakeLists.txt.
        Ensuite les données du jeu sont lues depuis $ASSETS_DIR et ça permet de lancer la version de dév depuis n'importe quel endroit (et de compiler en dehors du source).

    • [^] # Re: Problème de build "out-of-source"

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

      Autre retours, sur une Fedora 20 x86_64 et en utilisant les librairies fournis par le système (eg. après un rm lib/*) le binaire ne fonctionne pas si l'utilisateur n'a pas la version i686 de la libGL.so.1 spécifique à chaque driver.

      J'ai mis en ligne une version 64 bits de l'archive. Pourrais-tu tester si cela fonctionne sur la Fedora x86_64 (éventuellement après le rm lib/* ?

  • # Version Windows

    Posté par . Évalué à 3.

    Je télécharge la version Windows, je dézippe, je lance et :

    Impossible de démarrer le programme car il manque libgcc_s_dw2-1.dll sur votre ordinateur. Essayez de réinstaller le programme pour corriger ce problème.

    • [^] # Re: Version Windows

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

      Merci pour le retour ! J'ai remplacé l'archive en ligne en ajoutant cette bibliothèque et deux autres qui manquaient aussi.

  • # OpenFunding

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

    Tu as fermé la tache OpenFunding qui était loin d’être terminée, semble-t-il, alors que justement la sortie d’une béta aurait pu relancer la campagne de dons.
    Peux-tu nous en dire plus là dessus? (pourquoi l’arrêt, est-ce que tu vas ouvrir d’autres tâches OpenFunding, …)

    • [^] # Re: OpenFunding

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

      Mmh… la tâche sur OpenFunding me semble tout à fait accomplie avec cette nouvelle version. En fait je suis obligé de la fermer (la tâche) pour pouvoir faire valider son accomplissement par les utilisateurs.

      J'ai une autre tâche en attente, qui consiste en fait à réaliser les trois niveaux suivants. Le coût est bien plus grand que la première tâche, qui n'avait même pas reçu la moitié de la somme prévue, donc je dois trouver une autre façon de l'aborder si je veux pouvoir la faire financer.

      • [^] # Re: OpenFunding

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

        Je me suis mal exprimé, par «la tache OpenFunding qui était loin d’être terminée», je voulais dire qu'elle était loin d'être financée.

Suivre le flux des commentaires

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