Journal Présentation de Badnik (alias GNOME Games)

Posté par (page perso) . Licence CC by-sa
25
28
juil.
2013

Je vous avais parlé il y a quelques mois de mon intérêt pour la préservation du jeu vidéo.

Icône temporaire de Badnik

J'ai depuis poussé plus loin ma démarche et ai bossé plus profondément sur un projet initié par Laurent Pointecouteau, alors une idée vague : faire un gestionnaire de jeu très simple à utilisé au demandant le moins possible d'actions de la part de l'utilisateur, tant dans son utilisation que dans sa mise en place. Une page sur le Wiki de GNOME nous a permis de mettre en place les premières briques du projet GNOME Games.

Design de la liste des jeux

J'ai récemment décidé de rebatiser le projet Badnik en référence aux ennemis des premiers jeux Sonic, une série de jeux que j'affectionne, principalement parce que GNOME Games était déjà pris par le projet créant des jeux pour GNOME.
Son icône, un badnik en forme de manchot, n'est pas libre et je souhaite rapidement la remplacer.

Ce projet ne se veut pas être un concurrent de Steam ou encore Desura : contrairement à ces projets Badnik ne propose pas de logithèque : il se contente de chercher les jeux disponibles dans votre système sous quelque format que ce soit, vous les présenter de manière unifiée, vous permet de les lancer sans configuration sur le simple clic d'un bouton, et vous présente des meta données sur l'œuvre.
Il est dans une certaine mesure concurrent à Lutris et GNOME Video Arcade :
- Lutris ne me convient pas car le MOINDRE jeu doit être configuré, ce que je trouve incroyablement ennuyeux, je pense que le programme devrait le faire à la place de l'utilisateur et c'est ce que je souhaite pour Badnik (cela dit je suis entré en contact avec les développeurs de Lutris et nous sommes en bon terme malgré nos différents de conception) ;
- GNOME Video Arcade est spécialisé dans les jeux d'arcade tandis que Badnik se veut généraliste.

Le design ayant été défini durant ces derniers mois et les grandes vacances aidant, je me suis attelé à coder un prototype de ce logiciel dont je viens tout juste de publier son code sur Github (le choix de Github sera, je l'espère, temporaire, le temps pour moi de pouvoir remettre en place mon serveur personnel dans un mois).

Capture d'écran de laprésentation de Teeworlds

Le choix a été fait d'utiliser Python 3 pour ce projet, dans un premier temps simplement car je voulais faire du prototypage rapide. Cependant, le code tournant relativement bien je me demande s'il est pertinent de le réécrire dans un autre langage (Vala notament).

Je me suis lancé dans ce projet principalement parce que je souhaite depusi longtemps avoir un tel logiciel proposant une expérience de jeu et un confort d'utilisation aussi proche que possible de mes vieillissantes consoles de jeu et de mon étagère-logithèque, et permettant de soutenir la préservation du jeu vidéo dans un domaine trop souvent laissé de côté par son mouvement : l'interface à l'utilisateur final.

Le projet étant extrêmement jeune, j'ai besoin de retours d'utilisation, de suggestions, d'avis, d'encouragements et bien entendu de lettres d'insultes et de trolls !

  • # Lettre d'insultes

    Posté par . Évalué à -10.

    Bon ton journal est plein de fotes, c'est nul.

    Au suivant !

    PS : j'aime les fotes :]

    Pas_edit : c'est pour rigoler, c'est assez nul, c'est du comique plat, j'assume :)

    // t'as vu, en 3 temps, tranquille

    • [^] # Re: Lettre d'insultes

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

      À tes souhaits.

    • [^] # Re: Lettre d'insultes

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

      Désolé pour les fautes, il était 23h30 quand je l'ai publié (heure de la Réunion), et après avoir passé ma soirée à fignoler le Makefile, créer le dépôt git et écrire ce journal, je n'ai pas eu le courage d'en vérifier l'orthographe. :p

  • # teeworlds

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

    C'est marrant que l'exemple soit teeworlds, on y joue quasi tous les midi au taf depuis quelques semaines, tu suis le développement du jeu ? on attend la version 0.7 depuis pas mal de temps :-/

    Le projet étant extrêmement jeune, j'ai besoin de retours d'utilisation, de suggestions, d'avis, d'encouragements et bien entendu de lettres d'insultes et de trolls !
    

    Je testerai à l'occasion, en attendant je te dis merde ^

    • [^] # Re: teeworlds

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

      Non, aucun rapport, c'est juste un jeu parmi tant d'autres, et il a donné de bons résultats de recherche de métadonnées et a une icône qui passe bien en 256x256. :p

  • # Demande de précisions

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

    Badnik ne propose pas de logithèque : il se contente de chercher les jeux disponibles dans votre système sous quelque format que ce soit, vous les présenter de manière unifiée, vous permet de les lancer sans configuration sur le simple clic d'un bouton

    Je ne vois pas bien la valeur ajouté par rapport à ce que j'ai dès maintenant. Quand j'installe un jeu, un raccourci vient se ranger bien gentiment sous l'intitulé "Jeux" de mon menu principal. J'ai donc bien la liste complète de mes jeux, présentés de manière unifiée et permettant de les lancer d'un seul clic.
    Je dois donc avoir raté quelque chose dans ton explication sur Badnik.

    • [^] # Re: Demande de précisions

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

      Quand j'installe un jeu, un raccourci vient se ranger bien gentiment sous l'intitulé "Jeux" de mon menu principal. J'ai donc bien la liste complète de mes jeux

      Toutes les précisions sont dans le journal, la valeur ajoutée se trouve ici :

      il se contente de chercher les jeux disponibles dans votre système sous quelque format que ce soit, vous les présenter de manière unifiée, vous permet de les lancer sans configuration sur le simple clic d'un bouton, et vous présente des meta données sur l'œuvre.

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

      • [^] # Re: Demande de précisions

        Posté par . Évalué à -10.

        Tu es excellent, tu n'as pas changé. Je te confirme dans le rôle de superviseur du CDCF de Zino v0.8

    • [^] # Re: Demande de précisions

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

      Pour cette première version publique je me suis concentré sur l'intégration des jeux disponibles via les .desktop, qui je l'accorde n'apporte pas grand chose toute seule (je me suis rendu compte qu'un explication manquait à mon journal après l'avoir publié).

      L'intérêt sera quand d'autres systèmes seront intégrés :
      Plus tard j'intègrerai des moteurs de jeux (ScummVM, DOOM, Cave Story, LÖVE…) et des émulateurs (SNES, Mega Drive, Wii, DOS Box…) et chaque système s'occupera de chercher les jeux lui correspondants sur le système, et les présentera de manière unifiée. Ainsi Super Mario Bros sera présenté de manière similaire à Xonotic ou à Super Mario Galaxy.

      Ce mockup fait par Laurent illustre bien mes propos :
      Mockup de la liste des jeux

      L'idée est d'abstraire le fait que les jeux contiennent des programmes et ne plus les présenter que comme des œuvres, voyant les moteurs de jeu et les émulateurs comme des codecs très avancés.

      J'avais déjà ce système fonctionnant pour la SNES et la Mega Drive, mais j'ai préféré le retirer le temps de polir un seul système (le système "Desktop") et l'API de ces derniers. Leurs fichiers sont toujours présents mais sont "mis de côté" car l'API des systèmes a changé, ils reviendront rapidement, j'ai préféré publier tôt un programme incomplet et n'ayant pas encore de réelle valeur ajoutée pour rapidement avoir des retours sur le projet (comme le tient d'ailleurs).

      • [^] # Re: Demande de précisions

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

        OK je comprends mieux. Merci pour l'explication.

      • [^] # Re: Demande de précisions

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

        N'est-ce pas prendre le problème à l'envers ? les fichiers .desktop sont justement là pour référencer les application y compris les jeux. N'aurai-t-il pas été plus judicieux de faire générer des fichiers .desktop pour les jeux qui n'en ont pas encore (scummvm, émulateurs, wine …) pour les intégrer dans les menus standards ?

        Quitte à développer un autre lanceur d'application dédiés aux jeux mais basé sur les .desktop ?

        Un jour libre ?

        • [^] # Re: Demande de précisions

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

          A mon sens c'est la création de .desktop qui est prendre le problème à l'envers.

          Si on crée un .desktop on traite le jeu comme une application, hors je souhaite les traiter comme des œuvres d'art dont les programmes ne sont qu'un effet de bord nécessaire à la mise en place de leur interactivité, et non la composante principale.

          Aussi j'ai peur que la création de .desktop fasse perdre en souplesse, notamment pour remplacer le programme faisant tourner unjeu par un autre.

          • [^] # Re: Demande de précisions

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

            En effet, le modèle ici est plus proche de Rhythmbox et XBMC que d'un lanceur d'applications.

            J'ajoute à l'intention de patrick_g qui écrit plus haut :

            Quand j'installe un jeu, un raccourci vient se ranger bien gentiment sous l'intitulé "Jeux" de mon menu principal

            Sous GNOME 3, le menu principal n'a plus d'intitulé "Jeux". D'ailleurs, chez moi, taper "jeux" dans le Shell ne me renvie aucune application. Badnik est aussi là pour pallier ce manque, dans la continuité des autres applis GNOME.

            (rien à voir, mais je découvre à l'instant l'existence de ce journal, merci de l'avoir rédigé Kekun :-) )

            • [^] # Re: Demande de précisions

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

              Sous GNOME 3, le menu principal n'a plus d'intitulé "Jeux".

              Je suis sous Xfce, what else ?

              • [^] # Re: Demande de précisions

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

                La problématique va plus loin qu'une question d'environnement de bureau ou de design, c'est une question de philosophie : considère-t-on un jeu comme une application ou comme une œuvre artistique ?

                À mon sens le second cas qui est vrai et il n'y a pas plus lieu d'avoir un jeu dans le menu des applications qu'un film, une musique, un livre, une image… Les jeux sont dans le menu d'application pour des raisons historiques (le fait qu'ils sont partiellement composés de programmes) qui n'ont plus lieu d'être, ce qui explique en partie mon implication dans ce projet.

                La question reste ouverte pour les simulateurs… même si personnellement je les verrais plutôt comme des applications.

                • [^] # Re: Demande de précisions

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

                  J'installe un jeu depuis le dépôt de ma distribution. Il vient donc se placer dans le menu. Tout est normal.
                  On ne trouve pas de films, de musiques, de livres ou d'images dans le dépôt donc ça n'a rien à voir.

            • [^] # Re: Demande de précisions

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

              Badnik est aussi là pour pallier ce manque,

              On peut se demander s'il y aura encore des utilisateurs de Gnome quand ton projet sortira?

              http://devnewton.bci.im

      • [^] # Re: Demande de précisions

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

        Ce mockup fait par Laurent illustre bien mes propos

        • pardon ?
        • ce mockup fait par Laurent illustre bien mes propos
        • ce quoi ?!
        • ce mockup
        • hein ?
        • ce maukeupe. Cette maquette !
        • ha, mockup
        • Simon, tu as un bout de pomme de terre sur la joue
        • [^] # Re: Demande de précisions

          Posté par . Évalué à 2.

          • Il dit qu'il ne voit pas le rapport. Et qu'il n'a plus de genoux.

          LinuxFr, parfois c'est bien de la MERDE : http://linuxfr.org/news/cpp17-exprime-la-virgule-flottante-en-hexadecimal-et-offre-des-cadeaux-aux-lecteurs-de-linuxfr-org#comment-1686201

  • # Très bonne idée

    Posté par . Évalué à 3.

    J'aime le concept, et une fois fini, Badnick devrait bien s'intégrer à Gnome 3 (même si sur un plan purement esthétique, je préférerais peut-être un thème clair). J'ai vu sur le wiki que les jeux par navigateur seraient aussi intégrés : c'est vraiment une excellente idée, je trouve.

    Mais pourquoi ne pas souhaiter en faire une logithèque pour les jeux disponibles dans les dépôts de la distribution de l'utilisateur ? Est-ce par crainte de faire doublon avec la logithèque Gnome ?

    • [^] # Re: Très bonne idée

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

      Oui on préfère faire les choses simplement et bien.

      Par contre une intégration à PackageKit pourrait venir pour télécharger automatiquement les émulateurs et moteurs de jeux pour lesquels des jeux existent sur le système.

      • [^] # Re: Très bonne idée

        Posté par . Évalué à 2.

        Je testerai à l'occasion, j'attends qu'il soit un peu plus complet que les .desktop car actuellement je n'ai aucun jeu qui en possède un.

        Je te contacterai surement dans 3 mois quand j'aurai attaqué la v3 du site iplay4you.fr, on mettra peut être en place une api de recherche de meta sur les jeux que nous avons renseigné.

        • [^] # Re: Très bonne idée

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

          Tiens je ne connaissais pas ce site. Quel est le principe?

          http://devnewton.bci.im

          • [^] # Re : Très bonne idée

            Posté par . Évalué à 1.

            Tout simplement présenter des jeux vidéos indépendants car nous aimons ce milieu. Le site a bien évolué dans ce qu'il souhaitait faire au fur et à mesure.

            Le but de mon message n'était pas vraiment de faire de la pub mais tant que j'y suis, si un développeur web motivé dans la mise en avant du jeu vidéo indépendant passait par là, je l'invite à aller sur le site. Il y a du gros chantier en préparation.

            Pour info, devnewton, ton jeu aurait pu être le premier jeu présenté sur ce site mais finalement l'article n'est jamais sorti puisque j'ai arrêté la rédaction pour m'occuper d'autres choses.

            • [^] # Re: Re : Très bonne idée

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

              Il y a du gros chantier en préparation.

              Est-ce qu'il y aura une partie "créative"?

              Aujourd'hui on a des sites séparés pour les joueurs, les développeurs, les moddeurs, les makers, les libristes, les graphistes, les musiciens… Et rien pour faire discuter tout ce petit monde!

              Pour info, devnewton, ton jeu aurait pu être le premier jeu présenté sur ce site mais finalement l'article n'est jamais sorti puisque j'ai arrêté la rédaction pour m'occuper d'autres choses.

              Snif!

              http://devnewton.bci.im

        • [^] # Re: Très bonne idée

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

          Ah oui pourquoi pas ça peut être intéressant ! Pour le moment je récupère des données en analysant des pages Web… niveau vitesse y'a mieux, mais au moins ça marchouille.

  • # Juste un launcher?

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

    Pour proposer ne expérience de jeu et un confort d'utilisation aussi proche que possible de mes vieillissantes consoles de jeu, il va falloir faire plus qu'un launcher classique.

    La simplicité d'une console vient de plusieurs choses:

    • Lancement après insertion du CD ou installation en ligne qui se résume à je veux ce jeu, j'appuie là.
    • Pas de configuration: il démarre en plein écran, dans la bonne résolution et la manette de jeu est prise en compte avec les bonnes associations boutons/actions.
    • Toute l'interface est navigable à la manette.

    Si ton projet arrive à ce résultat ce sera formidable, mais il faudra intervenir sur les jeux eux mêmes pour arriver à ce résultat: packaging, support des manettes et des aller/retour au launcher…

    http://devnewton.bci.im

    • [^] # Re: Juste un launcher?

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

      mais il faudra intervenir sur les jeux eux mêmes pour arriver à ce résultat: packaging, support des manettes et des aller/retour au launcher…

      Je compte le faire pour certains systèmes (vieilles consoles et certains moteurs de jeu), notamment via libretro.

      • [^] # Re: Juste un launcher?

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

        Je ne comprends pas trop comment ça marche. Par exemple si je voulais ajouter le support à mon jeu, que faudrait-il faire?

        http://devnewton.bci.im

        • [^] # Re: Juste un launcher?

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

          Libretro est, basiquement, une API mettant en place des entrées de contrôles et des sorties audio et vidéo standardisées, permettant de transformer un moteur de jeu ou un émulateur en bibliothèque qui pourra être utilisé par n'importe quel frontend Libretro.

          Je ne me suis pas encore suffisamment attardé dessus, je te conseille de contacter la communauté libretro pour plus d'informations.

          • [^] # Re: Juste un launcher?

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

            permettant de transformer un moteur de jeu ou un émulateur en bibliothèque

            C'est super intéressant si on commence un nouveau jeu, mais c'est inutilisable pour beaucoup de jeux existants:

            • ça ne marche que pour du C/C++.
            • il avoir prévu de pouvoir le livrer sous forme de bibliothèque.

            J'aurais préféré un service auquel accéder depuis le jeu pour recevoir des évènements changer de résolution, mettre à jour la configuration des touches, …

            http://devnewton.bci.im

            • [^] # Re: Juste un launcher?

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

              Libre à toi de la mettre en place les deux peuvent coexister et se compléter.

              Avec libretro c'est le frontend qui gère la configuration, tu peux très bien créer ton système de demande de reconfiguration et l'ajouter à ton jeu et un frontend libretro (portant parla même occasion tout les backends libretro).

              • [^] # Re: Juste un launcher?

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

                J'ai regardé un peu libretro, ça n'a pas l'air de convenir: l'api suppose vraiment que le jeu est embarqué, elle contrôle le framerate, qu'elle suppose fixe… Bref ce n'est pas très adapté.

                http://devnewton.bci.im

                • [^] # Re: Juste un launcher?

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

                  C'est prévu pour porter les émulateurs de consoles rétro et de moteurs de jeux s'y prêtant bien vers une API commune, c'est sûr que ce n'est pas fait pour les jeux plus moderne mais une API similaire pourrait être développée pour ce genre de jeux.

  • # Excellente idée

    Posté par . Évalué à 4.

    Je trouve que c'est une excellente idée.

    Parfois je ne retrouve plus certains jeux sur mon système, alors je n'ose même pas imaginer à quel point ça doit être dérangeant pour un débutant qui va sur le GNU/Linux d'un copain/parent juste pour lancer quelques jeux.
    Puis même sans parler de ça, ton logiciel serait bien pour moi tout simplement :)

    Bravo continue !

  • # +1

    Posté par . Évalué à 3.

    Salut,

    Juste pour te dire que l'idée est très bonne.

    Il ne manque plus qu'une bonne intégration à KDE, et tu auras tout mon soutien (mais il ne vaut pas tant de travail).

    Félicitations, ce sera un logiciel que j'utiliserai et que je conseillerai vivement s'il tient ses promesses ! :)

    • [^] # Re: +1

      Posté par . Évalué à 2.

      Une activité « jeux » dans plasma pourrait être très sympa :)

  • # But et fonctionnement ?

    Posté par . Évalué à 2.

    Est-ce qu'il sera possible de l'intégrer dans la recherche du shell ? Les dernières versions supportent des sources de contenu externes, on pourrait fournir des entrées pour lancer les jeux qui n'ont pas de .desktop

    L'interface devrait permettre aussi de filtrer les jeux, pour n'afficher que ceux disponibles hors ligne, multijoueurs ou tout autre critère pertinent.

    Je pense que j'utiliserais très peu ce système, la recherche par nom dans le shell marche très bien et je ne supporte pas les applications de type "Documents" qui limitent fortement ce que je peux faire avec ces fichiers. Y a-t-il des retours de personnes qui trouvent ce système plus pratique que le gestionnaire de fichiers ?

    • [^] # Re: But et fonctionnement ?

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

      Est-ce qu'il sera possible de l'intégrer dans la recherche du shell ? Les dernières versions supportent des sources de contenu externes, on pourrait fournir des entrées pour lancer les jeux qui n'ont pas de .desktop

      Oui très certainement, même si ce n'est pour le moment pas prévu (il y a déjà assez à faire pour mettre en place une application utile).

      L'interface devrait permettre aussi de filtrer les jeux, pour n'afficher que ceux disponibles hors ligne, multijoueurs ou tout autre critère pertinent.

      Quelque chose du genre est également prévu

      Je pense que j'utiliserais très peu ce système, la recherche par nom dans le shell marche très bien et je ne supporte pas les applications de type "Documents" qui limitent fortement ce que je peux faire avec ces fichiers. Y a-t-il des retours de personnes qui trouvent ce système plus pratique que le gestionnaire de fichiers ?

      La recherche des jeux dans le shell ne fonctionne que pour ceux fournissant un .desktop, de plus je ne connais pas d'application similaire à Badnik (mis à part Lutris mais qui demande une quantité folle de configuration).

  • # Ma quête

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

    Je trouve tes mockups sympas, j'allais te demander ce que tu utilises pour les faire, et puis j'ai remarqué les trous des feuilles dans la marge.
    Du coup tu fais tout sur papier, que tu scans ensuite ? C'est un peu lourd de refaire tous les éléments à la main, non ?

    Est-ce que par hasard tu ne connaîtrais pas des solutions pour faire des maquettes d'interface dans un format numérique ?

    J'ai souvent des idées d'interface en tête pour des projets personnels que j'aimerais bien garder quelque part, et je suis une vraie quiche pour du dessin sur papier (le dessin technique ça va encore, mais je suis d'une lenteur affligeante) alors que je me débrouille plutôt bien avec des outils numériques. Et puis je trouverais intéressant de pouvoir partager des projets de maquettes.

    • [^] # Re: Ma quête

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

      Malheureusement je n'ai pas trouvé plus confortable que ce système.
      J'aurais pu utiliser Inkscape mais avec je suis trop tatillon et au final j'aurais mis plus de temps (et accessoirement j'aime bien l'aspect brouillon du dessin papier).
      J'ai aussi essayé d'utiliser une tablette graphique et MyPaint mais j'ai beaucoup de mal avec ces engins et mes traits partaient en permanence de travers… alors qu'avec un vrai crayon ça va encore.

    • [^] # Re: Ma quête

      Posté par . Évalué à 2. Dernière modification le 29/07/13 à 11:44.

      pencil ?

      http://pencil.evolus.vn/Features.html

      C'est pas forcément exactement ce que tu veux mais c'est déjà pas mal :)

      • [^] # Re: Ma quête

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

        Ah c'est intéressant ! Il y a pas mal d'ensembles de formes pour représenter les différentes plate-formes.

        Je vais voir ce que ça donne à l'usage. Merci en tout cas, je ne connaissais pas.

  • # Mes retours

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

    On a effectivement besoin d'un launcher sexy, c'est quelque chose qui manque.
    Pour moi une des priorités est d'avoir quelque chose de confortable à contrôler depuis une manette.
    La dernière fois que j'avais cherché j'étais tombé sur des trucs faits pour MAME comme http://advancemame.sourceforge.net/menu-snapshot.html
    C'est assez bien fait, et il ne manque pas grand chose pour y incorporer les jeux natifs de mémoire (utiliser /bin/exec comme "émulateur" et lui filer la liste des jeux au bon format à partir des .desktop en gros)

    À terme ton projet peut être intéressant pour les gros joueurs ou les PCs linux utilisés comme console. En espérant que ça tournera en dehors de GNOME.

    Je rêve du jour où une distribution GNU/Linux de qualité existera enfin pour transformer un PC en console de jeu… Peut-être du genre de ce qui existe sur Open Pandora

Suivre le flux des commentaires

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