./play.it installe vos jeux sans prise de tête

Posté par (page perso) . Édité par Davy Defaud, papap, Benoît Sibaud, Bruno, BAud et denny101. Modéré par Benoît Sibaud. Licence CC by-sa.
64
4
mar.
2018
Jeu

Le projet ./play.it est dédié à un seul but : tordre le cou à la rumeur la plus persistante au sujet de GNU/Linux.
Il s’agit bien sûr de : « Ton linusque, là, c’est nul, il n’y a aucun jeu qui tourne dessus ! ».

Ce projet propose donc une collection de scripts, qui à partir d’installeurs pour Windows ou GNU/Linux de formats divers et variés construisent sans besoin d’intervention de votre part des paquets natifs prêts à être installés sur votre distribution favorite.

À date du 2 mars 2018 vous pouvez déjà installer 313 jeux via ./play.it, et la liste grandit chaque semaine… Peut‐être bientôt grâce à vous ?

Sommaire

Présentation du projet

./play.it est un projet né en réaction à la difficulté présumée de se constituer une bonne ludothèque sous GNU/Linux. Une collection de scripts shell est fournie, chacun permettant de construire des paquets .deb (pour Debian et dérivées) et .pkg.tar (Arch Linux et dérivées) à partir d’installateurs de jeux de formats variés. Ces paquets peuvent ensuite être installés via votre gestionnaire de paquets préféré.
Parmi ces jeux se trouvent, bien sûr, des jeux natifs pour GNU/Linux, mais aussi des jeux pour Windows et DOS tournant grâce à des logiciels comme WINE, DOSBox ou ScummVM.

La simplicité d’utilisation de ces scripts est une priorité depuis le début du développement, le public ciblé étant en priorité les nouveaux venus sous GNU/Linux qui ne veulent pas se prendre la tête pour installer leurs jeux.

Les utilisateurs avancés ne sont pas oubliés pour autant, les scripts acceptant quelques options pour affiner leur comportement (on peut par exemple choisir le chemin d’installation des jeux, ou la méthode de compression des paquets), mais le comportement par défaut est intégralement non interactif pour éviter de perdre les débutants.

Une seule limitation existe pour qu’un jeu soit géré par ce projet : qu’il en existe une version sans DRM. La raison en est à la fois technique (il est beaucoup plus difficile d’accéder au contenu de ces jeux, qui souvent ne fournissent même pas de méthode d’installation autre qu’un client privateur et obligatoire), légale (il est souvent interdit de passer outre les DRM intégrés à un jeu, y compris après un achat légitime), et éthique (aucun contributeur à ce projet n’apprécie ces méthodes, considérant par défaut l’utilisateur du programme comme coupable de contrefaçon). C’est pourquoi vous ne trouverez, par exemple, aucun jeu Steam dans la collection gérée par ./play.it.

Exemple d’utilisation

Pour mieux comprendre comment fonctionne ./play.it, voici un petit exemple d’utilisation utilisant comme base l’installateur pour Worms Armageddon, vendu sur GOG.com :

Installation de ./play.it

dave@HAL9000:/tmp$ git clone https://framagit.org/vv221/play.it.git
Clonage dans 'play.it'...
remote: Counting objects: 11569, done.
remote: Compressing objects: 100% (3252/3252), done.
remote: Total 11569 (delta 6919), reused 11509 (delta 6878)
Réception d'objets: 100% (11569/11569), 2.01 MiB | 4.91 MiB/s, fait.
Résolution des deltas: 100% (6919/6919), fait.
dave@HAL9000:/tmp$ cd play.it
dave@HAL9000:/tmp/play.it$ make install
mkdir -p ~/.local/share/play.it/
[ -e play.it-1 ] && cp -a play.it-1 ~/.local/share/play.it/ || true
[ -e play.it-2 ] && cp -a play.it-2 ~/.local/share/play.it/ || true
ln -fs play.it-2/lib/libplayit2.sh ~/.local/share/play.it/
mkdir -p ~/bin
cp -a play.it ~/bin

Construction des paquets

dave@HAL9000:~$ play.it ~/jeux/worms-armageddon/archives/gog/setup_worms_armageddon_2.0.0.2.exe
Utilisation de /home/dave/jeux/worms-armageddon/archives/gog/setup_worms_armageddon_2.0.0.2.exe
Extraction des données de setup_worms_armageddon_2.0.0.2.exe
Construction de worms-armageddon_3.7.2.1-gog2.0.0.2+20180224.1_i386.deb OK
Construction de worms-armageddon-data_3.7.2.1-gog2.0.0.2+20180224.1_all.deb     OK

Installez Worms Armageddon en lançant la série de commandes suivantes en root :
apt install /home/dave/worms-armageddon_3.7.2.1-gog2.0.0.2+20180224.1_i386.deb /home/dave/worms-armageddon-data_3.7.2.1-gog2.0.0.2+20180224.1_all.deb

Il ne reste plus qu’à installer les paquets générés avec la commande donnée (qui s’adapte bien sûr automatiquement au système cible) pour pouvoir jouer.

Historique

Adieu Windows !

Tout a commencé quand je (vv222, créateur de ./play.it) me suis rendu compte que mon double démarrage Debian / Windows n’avait plus vraiment de sens et que je me suis décidé à me débarrasser de Windows de manière définitive.

Ne voulant pas abandonner ma collection de jeux vidéo lors de cette transition, j’ai dû apprendre à me servir d’outils comme WINE pour pouvoir continuer à jouer à mes jeux favoris. Une des grandes forces de nos distributions GNU/Linux étant à mon avis leurs systèmes de paquets, je me suis dit que construire des paquets pour mes jeux pouvait être une bonne manière de ne pas devoir répéter les étapes de configuration de WINE (ou DOSBox, ou ScummVM, etc.) à chaque fois que je souhaite installer un jeu en particulier.

Des scripts sous licence libre

Plutôt satisfait du résultat, et ayant envie de contribuer au monde du logiciel libre depuis longtemps, s’est alors posé le problème de la distribution de ces paquets. S’agissant pour la plupart de jeux commerciaux, je ne pouvais bien sûr pas les distribuer sous forme de paquets (ou alors pas longtemps avant d’avoir de gros ennuis). C’est de là qu’est venue l’idée de publier les recettes de construction de ces paquets, à l’origine sous forme d’instructions à suivre, puis sous forme de scripts prêts à l’utilisation.

Le choix du Shell comme langage de script s’est très vite imposé, tout simplement parce que n’ayant aucune expérience préalable de la programmation, je me suis orienté vers le seul langage que je fréquentais déjà au quotidien : celui utilisé par mes terminaux. C’est donc armé de man dash et d’une quantité impressionnante de motivation et de café noir que l’aventure ./play.it s’est lancée sous sa forme définitive…

Évolutions et réécritures

Depuis les premiers scripts, illisibles pour qui que ce soit, beaucoup d’évolutions ont permis à ce projet de devenir accessible aux contributions. La première et probablement la plus importante, a été de réunir une collection de fonctions spécifiques aux besoins de ./play.it au sein d’une bibliothèque, et ainsi de simplifier l’écriture des scripts spécifiques à chaque jeu. La deuxième grosse évolution a été un énorme travail de réécriture de cette bibliothèque qui avait comme objectif principal de ne plus rien avoir de spécifique au format de paquet .deb (à ce moment le seul géré) codé en dur. La conséquence immédiate a été l’ajout de la possibilité de construire des paquets .pkg.tar(.xz/.gz) pour la famille Arch Linux.

Le travail tant sur la bibliothèque que sur la collection de scripts (visant chacun un jeu précis) ne s’est jamais arrêté depuis la naissance du projet, qui connaît un nombre croissant de contributions. Un tas d’améliorations est prévu et devrait nous occuper pendant encore longtemps, vous pourrez en lire un peu plus à ce sujet plus loin dans cette dépêche.

Keep It Simple, Stupid

Je pense qu’arrivés à ce point vous sentez peut‐être comme une odeur de NIH autour de ce projet ? Il y a plusieurs raisons pour lesquelles j’ai préféré lancer un nouveau projet plutôt que de participer au développement d’un logiciel existant, comme PlayOnLinux ou Lutris. Souvent ces projets sont soit trop limités (PlayOnLinux ne gère que des jeux tournant avec WINE, game-data-packager ne construit que des paquets pour Debian et à condition qu’un moteur libre soit disponible), soit fournissent trop de fonctionnalités pour l’adepte du KISS que je suis (Lutris gère les téléchargements des jeux et fournit un client pour les lancer). À ma connaissance ./play.it est le seul projet se concentrant sur la tâche de construire des paquets à destination de plusieurs familles de distributions pour des jeux commerciaux, sans poser aucune autre contrainte au niveau du choix de ces jeux que leur capacité à fonctionner sur GNU/Linux.

Fonctionnalités

Intégration

Le maître‐mot derrière le développement de ./play.it est « intégration ». Notre objectif est qu’un jeu installé via ./play.it soit indiscernable d’un jeu installé via les dépôts officiels de votre distribution favorite. Voici quelques points dans le fonctionnement de ./play.it qui nous aident à remplir cet objectif :

  • installation des jeux via le système de paquets de la distribution, ce qui en simplifie les futures mises à jour, désinstallations et réinstallations ;
  • pas de client intégré pour lancer les jeux, les paquets placent juste des fichiers .desktop dans les chemins standard du système qui permettent de les lancer via votre lanceur d’applications habituel ;
  • les standards FHS et Freedesktop sont suivis, ce qui signifie que, si vous utilisez un client quelconque pour gérer vos jeux, il a de bonnes chances de repérer aussi ceux installés par ./play.it, sans aucune manipulation de votre part ;
  • les jeux sont installés en lecture seule dans des arborescences système, et seuls les fichiers nécessitant des droits d’écriture pour l’utilisateur sont dupliqués dans le répertoire personnel de l’utilisateur (défini par $HOME). Dans le cas d’un système partagé, le jeu nécessite donc de n’être installé qu’une seule fois pour que tous les utilisateurs de la machine puissent en profiter, chaque utilisateur pouvant utiliser ses propres choix de configuration et sa propre collection de sauvegardes et de mods.

Simplicité

Les scripts ./play.it s’adressent avant tout à ceux qui veulent juste jouer, et pas passer des après‐midi à bidouiller avant que leur jeu ne fonctionne… Nous prenons ça en compte de différentes manières :

  • les scripts sont totalement non interactifs, ce qui évite de perdre l’utilisateur avec des séries de questions auxquelles il ne saurait pas quoi répondre ;
  • les paquets construits sur une machine peuvent être installés sur n’importe quel système utilisant ce format de paquets ; il suffit donc de construire les paquets une seule fois avant de pouvoir les installer sur autant de systèmes que vous le désirez ;
  • passer par le système de paquets permet d’automatiser la gestion des dépendances, et dans le cas de dépendances obsolètes (versions plus fournies par les distributions actuelles) celles‐ci sont intégrées aux paquets construits.

Souplesse

Les utilisateurs avancés ne sont pas oubliés pour autant, et plusieurs options peuvent être passées aux scripts pour modifier en partie leur comportement. Voici la liste des propriétés configurables de cette manière (cette liste croît régulièrement en fonction des retours de nos utilisateurs et des nouvelles fonctionnalités développées) :

  • le chemin d’installation est configurable (par défaut, /usr/local/share est utilisé) ;
  • le type de paquets à construire est par défaut celui géré par le système courant, mais il est aussi possible de le spécifier explicitement (par exemple, pour profiter des machines du boulot pour construire des paquets à installer à la maison) ;
  • par défaut les paquets sont construits sans compression, mais les méthodes de compression gzip et XZ peuvent être utilisées ;
  • un test d’intégrité des archives données en entrée (installateurs des jeux) est effectué avant toute manipulation, mais peut être désactivé par une option.

Évolutions

De nombreuses évolutions sont au programme et nous sommes ouverts aux suggestions, aussi bien sur notre salon IRC (#play.it sur freenode) que via le système de tickets du dépôt sur Framagit. En voici quelques‐unes qui méritent d’être mises en avant :

  • une API est depuis peu disponible sur http://api.dotslashplay.it/ pour permettre de facilement construire des applications se basant sur ./play.it ; cette API devrait aussi servir de base à une future refonte complète du site Web projet (dont la version actuelle se base sur DokuWiki) ;
  • la rédaction de documentation, bête noire d’énormément de projets, qu’ils soient libres ou non, devrait bientôt débuter pour permettre de faciliter l’arrivée de nouveaux contributeurs au sein du projet ; pour l’instant, c’est le salon IRC qui sert à obtenir de l’aide sur le fonctionnement des scripts mais, sans documentation, la première approche n’est pas forcément évidente ; nous prévoyons que la première partie à écrire de la documentation explique comment ajouter la gestion de nouveaux jeux au sein du projet ;
  • l’ajout de la gestion de nouveaux formats de paquets (en plus des .deb de la famille Debian et des .pkg.tar de la famille Arch Linux actuellement gérés) est une tâche qui reste à demeure dans notre TODO list, mais celle‐ci nécessite que l’on se fasse aider par des personnes connaissant ces formats de paquets ; d’ailleurs, un spécialiste du format RPM serait le bienvenu au sein de notre équipe !
  • le système de gestion des sauvegardes et de la configuration des jeux nécessite encore d’être amélioré, à la fois pour empêcher les jeux de remplir nos répertoire personnels avec tout un tas de répertoires disgracieux, mais aussi pour faciliter la synchronisation des sauvegardes entre différentes machines ;
  • la gestion des jeux sur support CD-ROM et DVD-ROM est prévue depuis le tout début du projet, mais s’avère bien plus complexe que la gestion des versions téléchargeables pour deux raisons principales : il est devenu difficile d’acheter ces versions aujourd’hui, et il existe pour un même jeu parfois une douzaine de versions différentes sur support physique ;
  • dans le milieu du jeu vidéo dématérialisé, certaines structures de données se retrouvent quasiment à l’identique pour des dizaines ou des centaines de jeux. Des scripts génériques pouvant gérer un type de jeu (plutôt qu’un seul jeu) sont donc probablement envisageables ; par exemple, on pourrait imaginer un script unique gérant tous les jeux basés sur le moteur Unity3D, dont une version native GNU/Linux est vendue sur GOG ;
  • un nouveau logo est en cours de réflexion et, plus généralement, une véritable charte graphique ; ce point devrait avancer en parallèle de la mise en place du nouveau site Web.

Contribuer

Pour les développeurs

Une des façons les plus efficaces pour contribuer consiste à écrire de nouveaux scripts gérant d’autres jeux. Nous sommes limités par nos ludothèques respectives et nous n’avons sous la main que des jeux de certains genres (ceux que nous aimons, bien sûr). Nous avons besoin de plus de contributeurs avec des goûts différents en jeux vidéo pour que la collection de jeux gérés se diversifie.

Sans rentrer dans les détails (la documentation sera bientôt là pour ça), l’idée est de se baser sur un script assez récent, décompresser l’installateur du jeu concerné, changer la valeur de quelques variables, et le tour est joué !

Bon, en rentrant un peu plus dans les détails : la simplicité des scripts est une priorité. Dans la plupart des cas, il n’y a pas beaucoup de choses à changer d’un script à l’autre. Les noms des variables sont les plus explicites possibles. Bref, tout est fait pour qu’un non‐codeur puisse s’y retrouver (mais, bon, ça reste du code). On se base donc sur un script récent, on farfouille notre installateur pour voir comment sont rangés les fichiers du jeu, on modifie le script (le nom du jeu, le nom des fichiers présents, où les trouver, le nom de l’exécutable…) et on teste. De même, nous essayons d’avoir des messages d’erreur faciles à comprendre. Quand un souci se présente, nous ne sommes jamais loin d’IRC ni de nos boîtes de courriel. Une fois que le script fonctionne, il faut l’envoyer par demande d’intégration Git (merge request), si vous connaissez Git, par pastebin ou par courriel, tous les moyens sont bons. Une relecture sera faite par vv222 et il l’intégrera dès que possible dans les dépôts.

Nous avons aussi grandement besoin de retour de contributeurs de scripts : les messages d’erreur sont‐ils compréhensibles ? En manque‐t‐il ? Qu’est‐ce qui pourrait faciliter vos contributions ?

Pour les autres

Mais contribuer peut aussi se faire de plein d’autres façons qu’en touchant directement aux scripts…
Par exemple, parler du projet autour de vous. :-) Et en invitant l’équipe à venir participer à divers événements (nous fréquentons déjà régulièrement les |JdLL](http://www.jdll.org/ "Les journées du logiciel libre"), Capitole du Libre et autres Ubuntu Parties parisiennes).
Offrir des jeux aux membres de l’équipe peut avoir une certaine utilité aussi, mais le résultat est très loin d’être garanti : si le jeu est vraiment bon, on risque de passer beaucoup de temps à y jouer, ce qui retardera la publication des prochains scripts.

Pour ceux qui souffrent d’un cruel manque de temps libre mais souhaitent tout de même aider le projet à avancer, nous acceptons les dons via Liberapay. Pour l’instant nous pouvons à peine nous acheter un café par an, mais si le volume de dons augmente il sera possible de dédier plus de notre temps au développement de ./play.it. Par exemple, vv222 (développeur principal du projet) a déjà décidé de passer en temps partiel dans son emploi pour pouvoir travailler plus souvent sur ./play.it, et d’autres contributeurs pourraient être intéressés si les dons pouvaient remplir au moins partiellement leur réfrigérateur. ;-)

Remerciements

Merci à tous ceux qui ont contribué à la rédaction de cette dépêche, y compris ceux qui ne sont pas passés par la tribune de rédaction de LinuxFr.org. Merci donc, en plus des participants listés, à Elzen, HS-157, Zatalyz, Mopi, kilobug et tous ceux qui ont aidé de près ou de loin à la première annonce de l’existence de ./play.it sur LinuxFr.org !

  • # Journées du Logiciel Libre 2018

    Posté par (page perso) . Évalué à 10. Dernière modification le 04/03/18 à 16:35.

    Pour ceux qui habitent près de Lyon, ./play.it sera aux Journés du Logiciel Libre 2018 (24 et 25 mars) avec au programme une conférence par vv222 (initiateur du projet) et mopi (principale contributrice à ./play.it 2), ainsi qu’un stand où vous pourrez venir nous voir tout le week-end.

    J’espère qu’on sera nombreux à se retrouver pour causer jeux vidéos ;)

    Pour rappel, l’ALDIL a lancé un appel au don qui prend fin dans une dizaine de jours, n’hésitez pas à y participer si vous aussi vous considérez que ce type d’événement fait partie des grandes forces du Libre : Contribuons aux Journées du Logiciel Libre

  • # Cool!

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

    Ca ma rappelle les paquets flatpak qui traînent sur le web: des jeux windows crackés qui tourne avec une version de wine fournis dans le paquet. Ou comment flatpak est devenu le vecteur de distribution de jeux piratés sous Linux :-)

    D'ailleurs pourquoi ne pas générer un paquet flatpak histoire d'avoir un outils multi distrib?

    • [^] # Re: Cool!

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

      Ca ma rappelle les paquets flatpak qui traînent sur le web: des jeux windows crackés qui tourne avec une version de wine fournis dans le paquet. Ou comment flatpak est devenu le vecteur de distribution de jeux piratés sous Linux :-)

      Je connaissais pas du tout cette histoire. Du coup j'ai cherché après ton message, et… effectivement!

      C'est quand même vachement marrant.
      Comme le note le premier commentaire sur reddit: sans parler du fait de cracker des jeux, c'est quand même une grosse victoire pour flatpak (en terme d'adoption du système).

      Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]

    • [^] # Re: Cool!

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

      Potentiellement tout ce qui manque à ./play.it pour générer des Flatpak, c’est un contributeur intéressé par ce format ;)

      Le code de gestion des paquets est déjà géré dans des fichiers séparés pour chaque format histoire de simplifier au maximum l’ajout de la gestion de nouveaux formats.

      Exemple pour les fichiers .deb (Debian et dérivées) :
      https://framagit.org/vv221/play.it/blob/master/play.it-2/src/30_packages_deb.sh

      Exemple pour les fichiers .pkg.tar (Arch Linux et dérivées) :
      https://framagit.org/vv221/play.it/blob/master/play.it-2/src/30_packages_arch.sh

      Mais comme un des intérêts de ./play.it est d’utiliser au maximum les paquets fournis par la distribution, je me demande si Flatpak est vraiment un format pertinent dans le cadre de ce projet.

      • [^] # Re: Cool!

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

        Ben ça permet de lancer le jeu dans un container dédié donc mieux niveau sécurité si tu n'as pas confiance en l'éditeur ;)

        • [^] # Re: Cool!

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

          Ça c’est un point qui me parle, surtout que ça fait un moment que je réfléchis à la question de l’isolation des jeux installés par ./play.it !

          • [^] # Re: Cool!

            Posté par . Évalué à 7.

            Et je pense qu'un autre argument serait la possibilité d'embarquer des versions différentes des libs nécessaires au fonctionnement. Ce qui peut être très intéressant pour un jeu un peu vieillot et done les sources ne sont pas disponibles.

            • [^] # Re: Cool!

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

              Pour l’instant ce souci, malheureusement fréquent, est géré à coup de LD_LIBRARY_PATH.
              Flatpak apporte un avantage par rapport à cette méthode ?

              • [^] # Re: Cool!

                Posté par . Évalué à 4.

                Je n'ai rien fait d'autre que d'installer des applications via ce système, mais il me semble, oui. Tu peux installer des dépendances dans des versions différentes du système sans perturber l'écosystème.

                Pour ce qu'en dit la page de présentation :

                Dependencies that aren't in a runtime can be bundled as part of an application. Versions of the dependencies that are used can be fixed and patched.

                Il semblerait donc bien :)

  • # API

    Posté par . Évalué à 3.

    une API est depuis peu disponible sur http://api.dotslashplay.it/

    Le lien ne semble pas bon. On est redirigé vers http://api.dotslashplay.it/games/list (page JSON avec une liste de jeux).

  • # Skullgirls

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

    Je vois Skullgirls dans la liste, il me semblait qu’il n’y avait pas de version DRM-free pourtant?

    Est-ce qu’il y a d’autres jeux de combat dispos sans DRM? J’ai rien trouvé pour l’instant à part des trucs émulés.
    Du coup je joue sur fightcade en attendant que quelqu’un sorte un jeu de combat dispo sans DRM sur GNU/Linux :-/

    • [^] # Re: Skullgirls

      Posté par . Évalué à 3.

      Skullgirls + All Characters and Color Palette était disponible en DRM-free dans un Humble Bundle il y a plusieurs années.
      Je t'aurais bien filé un lien mais ça risque de poser des problèmes légaux :-/

    • [^] # Re: Skullgirls

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

      Je vois Skullgirls dans la liste, il me semblait qu’il n’y avait pas de version DRM-free pourtant?

      Comme précisé par xev, une version DRM-free a été temporairement disponible durant un Humble Indie Bundle (quand Humble Bundle donnait encore l’impression de se soucier de GNU/Linux et des soucis de DRM). Aujourd’hui je ne sais pas si on peut encore l’acheter sous cette forme.

      Est-ce qu’il y a d’autres jeux de combat dispos sans DRM? J’ai rien trouvé pour l’instant à part des trucs émulés.

      Si quelqu’un a des jeux à proposer je suis aussi intéressé !
      Je suis plutôt mauvais aux jeux de combat, mais ça ne m’empêche pas de m’y amuser beaucoup ;)

      • [^] # Re: Skullgirls

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

        Ok, donc plus disponible, et d’après mes recherches c’était une version privée du jeu en ligne (puisque basé sur les comptes steam).

        Un jour je ferai un jeu de combat libre…

        • [^] # Re: Skullgirls

          Posté par . Évalué à 4.

          Perso j'ai acheté skullgirls la semaine dernière sur Humble bundle dans le pack brawler je crois.

          Et j'ai bien une version DRM-free que je peux installer sur linux. (Après j'ai pas testé l'install vu que j'ai directement rentré la clé sur steam.)

        • [^] # Re: Skullgirls

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

          Un jour je ferai un jeu de combat libre…
          Ca existe, c'est OpenMortal et il n'a pas bougé depuis longtemps je crois.

      • [^] # Re: Skullgirls

        Posté par . Évalué à 3. Dernière modification le 05/03/18 à 12:24.

        quand Humble Bundle donnait encore l’impression de se soucier de GNU/Linux et des soucis de DRM

        Oui il y a carrément eu une baisse de contenu Linux et/ou sans DRM (c'est surtout flagrant dans les bundle, un peu moins dans le store) mais c'est peut-être pas entièrement de leur volonté. Les éditeurs sont peut-être moins chauds pour filer le DRM-free à Humble surtout si il y a des questions d'exclusivité : GOG avec ses jeux gratuits en durée limitée, son interface communautaire et son appli Galaxy a possiblement raflé le marché du DRM-free, qui me parait de plus en plus petit comparé à tout ce qui sort sur Steam.

        Aussi les devs utilisent Steam comme plate-forme pour les béta et les rares portages (le ratio de jeux Linux natifs n'a pas évolué sur Steam) et ça doit être dû aux outils de communication tout prêts (news,forum, rapports de bug ou de plantage). Puis pareil, je pense que les devs utilisent les API de Steam par convenance (pour le netcode ? la gestion de la triche ?) ou pour avoir de meilleurs outils de stats pour le marketing (à noter qu'avec un moteur comme Unity, DRM-free ne veut pas dire sans mouchard et que certains jeux sur GOG n'ont le multiplayer en ligne qu'en installant Galaxy).
        Même sur itch.io il y a de plus en plus de devs qui vendent des clés Steam. :-/

        Sinon j'ai pas trouvé de versus fighting récent même sur Windows en dehors de Steam.

        • [^] # Re: Skullgirls

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

          C'est surtout qu'en Octobre 2017, ils ont été racheté par IGN et eux pour le coup, Linux et les DRM-Free, ils s'en battent royalement les reins.

          Et depuis cette date, j'ai d'ailleur supprimé mon compte Humble Bundle.

          La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas senti la différence.

          • [^] # Re: Skullgirls

            Posté par . Évalué à 2.

            Merci de l'info. Mais étant donné que cette baisse d'intérêt pour Linux et le DRM-free est bien plus ancienne que l'année dernière, je pense que le rachat par IGN n'est qu'une conséquence.
            Durant ces cinq dernières années, on a vu apparaitre le Store, les bundle sur des livres et logiciels, puis leur abonnement Monthly. Le site s'est progressivement transformé en une machine à fric facile sous couvert de caritatif.
            Et perso j'ai parfois envoyé des rapports de bugs mais je n'ai jamais eu de réponse et ils n'ont toujours pas été corrigés malgré les changements de design (exemple : quand dans le Store tu filtres Linux ET drm-free, tu ne veux pas les résultats de Linux OU drm-free)

  • # Différences avec Lutris ?

    Posté par . Évalué à 1.

    Bonjour et merci pour la présentation de ce projet !

    J'ai récemment vu passer un autre projet qui a l'air de faire plus ou moins la même chose : Lutris.

    Quelles sont les différences entre les deux projets ?

    • [^] # Re: Différences avec Lutris ?

      Posté par . Évalué à 4.

      …fournissent trop de fonctionnalités pour l’adepte du KISS que je suis (Lutris gère les téléchargements des jeux et fournit un client pour les lancer)

      En fait, c'est (rapidement, c'est vrai) mentionné dans la partie "Keep It Simple, Stupid" de la dépêche

      Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things - Doug Gwyn

    • [^] # Re: Différences avec Lutris ?

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

      Si Lutris et ./play.it ont l’air de faire la même chose quand on les regarde de loin, tout change quand on commence à s’approcher ;)

      Lutris est un système "tout-en-un", sauf erreur de ma part il gère tout du téléchargement du jeu jusqu’à son lancement en passant par son installation. En gros c’est un équivalent libre à Steam. D’ailleurs, le projet semble se concentrer essentiellement sur la gestion des jeux Steam.

      ./play.it se spécialise sur une tâche unique : la construction de paquets. Le téléchargement du jeu est laissé à l’appréciation de l’utilisateur, l’installation est gérée par le gestionnaire de paquets de la distributions, et le lancement des jeux passe par les outils habituels de l’utilisateur (lanceur d’applications, menu ou autre console bash). De plus, les jeux Steam sont hors sujet pour ./play.it qui se spécialise donc plutôt sur les jeux vendus sur GOG.com et Humble Bundle (et commence à lorgner du côté de Itch.io depuis peu).

      Contrairement à Lutris, ./play.it a vocation à se faire oublier une fois l’installation des jeux effectuée, et laisse la place à des outils plus adaptés pour gérer les autres tâches.

  • # "sans prise de tête" ?

    Posté par . Évalué à 4.

    J'ai pris un exemple, Aladin https://wiki.dotslashplay.it/fr/games/aladdin

    Il faut :
    1. télécharger manuellement de mystérieux scripts
    2. lancer manuellement l'un des mystérieux script puis "Patiente[r] quelques minutes, […]" pendant que des trucs mystérieux de passent (mais quoi ?)
    3. ….
    4. PROFIT installer le package du jeu qu'on aura obtenu mystérieusement (ou par GOG comme le laisse deviner le nom du script)
    5. ???

    C'est "sans prise de tête" ça ?

    Par rapport au confort d'installation des jeux de sa distribution (1 seule étape, via ligne de commande ou outil graphique) ou même des boutiques en ligne ( 1. acheter le jeu 2. installer le package téléchargé), je ne trouve pas.

    BeOS le faisait il y a 15 ans !

    • [^] # Re: "sans prise de tête" ?

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

      1. télécharger manuellement de mystérieux scripts
      2. lancer manuellement l'un des mystérieux script puis "Patiente[r] quelques minutes, […]" pendant que des trucs mystérieux de passent (mais quoi ?)

      Si tu ne connais rien au shell ou au format de paquets de ta distribution, c’est une bonne chose que le site comme les scripts ne t’assomment pas avec des termes techniques. Sache quand même qu’ils n’accèdent pas au réseau ni au compte root de ta machine, ce sont deux restrictions que je me suis imposé dès le début du projet.
      Dans le cas contraire, il s’agit de scripts que tu peux parfaitement ouvrir dans l’éditeur de texte de ton choix pour comprendre leurs arcanes. Et si tu as des difficultés à comprendre un point particulier, tu peux demander de l’aide sur notre salon IRC, ou par e-mail, ou sur un des forums donnés en lien sur le site.

      Les scripts affichent quand même quelques retours dans la console, comme on peut voir dans l’exemple d’utilisation donné dans la dépêche, pour que l’utilisateur ne se demande pas pourquoi certaines étapes peuvent prendre du temps.

      4. PROFIT installer le package du jeu qu'on aura obtenu mystérieusement (ou par GOG comme le laisse deviner le nom du script)

      Il y a sur le site un lien vers la page où tu peux acheter ce jeu (non sponsorisé, je ne gagne rien à ce que quelqu’un passe par ce lien), je ne vois pas comment on peut rendre ça encore plus clair.

      5. ???

      Jouer ;) Un raccourci pour lancer le jeu est ajouté automatiquement au lanceur d’applications de l’environnement utilisé (à condition bien sûr que celui-ci prenne en compte le format .desktop standardisé par Freedesktop).

      Une alternative au processus décrit sur le site est d’installer ./play.it, comme décrit dans la dépêche, mais cette solution est pour l’instant moins testée et donc moins mise en avant que l’utilisation directe des scripts individuels.

      C'est "sans prise de tête" ça ?

      Oui, si je me fie aux centaines d’utilisateurs de ./play.it, dont la plupart n’ont absolument aucun background technique. C’est même un processus plus rapide et demandant moins d’interactions que l’utilisation classique des installeurs fournis.

      Par rapport au confort d'installation des jeux de sa distribution (1 seule étape, via ligne de commande ou outil graphique) ou même des boutiques en ligne ( 1. acheter le jeu 2. installer le package téléchargé), je ne trouve pas.

      ./play.it demande une étape supplémentaire, qui s’insère entre les deux processus que tu listes :
      1. acheter le jeu
      2. télécharger l’installeur
      3. lancer le script ./play.it
      4. installer les paquets générés

      Si tu trouves ça trop complexe, je t’invite à nous proposer des pistes d’amélioration.

      • [^] # Re: "sans prise de tête" ?

        Posté par (page perso) . Évalué à 3. Dernière modification le 05/03/18 à 15:49.

        Il y a sur le site un lien vers la page où tu peux acheter ce jeu (non sponsorisé, je ne gagne rien à ce que quelqu’un passe par ce lien), je ne vois pas comment on peut rendre ça encore plus clair.

        Bien que n’était pas tout à fait étranger au shell (mais relativement étranger au projet), je trouve qu’il n’est pas évident de deviner au premier coup d’œil que les deux premiers .sh (ceux marqués « scripts ») proviennent de play.it et le dernier (marqué « cible ») de GOG.
        Quelque chose dans le goût de « Cible : version ${ver} distribuée par GOG
        <a href="${url_gog}">fichier_gog.sh</a> » serait plus parlante.

        Je suis informaticien, donc feignant, donc devoir passer sa souris sur le lien pour savoir qu’il pointe vers gog.com est largement au dessus de mes capacités. (il faut déplacer sa main du clavier vers la souris, c’est déjà un acte de bravoure en soi)

      • [^] # Re: "sans prise de tête" ?

        Posté par . Évalué à 2.

        Mon commentaire était caustique et ne fait pas honneur au boulot que vous faites pour simplifier et fiabiliser l'installation sous Linux de jeux pas prévus pour.

        Mais le résultat est loin d'être idéal et encore moins "sans prise de tête" (attendre "quelques minutes" me parait fou).
        La vraie piste d'amélioration serait que les boutiques de jeux offrent directement des paquets Linux. J'ai d'ailleurs l'impression que c'est le cas pour GoG.

        Ou alors il faudrait que ça marche comme pour les émulateurs : mettre tous ses jeux dans un dossier sous forme d'archive. Ou encore mieux, laisser le launcher chercher les archives de jeu à lancer.

        BeOS le faisait il y a 15 ans !

        • [^] # Re: "sans prise de tête" ?

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

          Pour avoir testé trois sortes de jeux, voici mon retour :
          - jeu qui existe mais que pour windows (Caesar III), je me contente de suivre les indications de la fiche sans chercher à comprendre, ça a marché, le jeu est accessible dans mon menu, dans la catégorie Jeux
          - Jeu qui existe en version linux (Don't Starve) mais aussi porté sous play.it ; au lieu de simplement lancer le fichier, je l'ai installé via play.it, pareil en suivant bêtement les instructions. Ça juste marche (mais là le jeu était déjà pour linux, y'a moins de mérite :p ), je n'ai plus qu'à cliquer sur l'icone dans mon menu, dans la catégorie jeux
          - Jeu en version Linux (Rimworld) mais pas supporté par play.it, j'ai donc fait une installation classique, qui m'a demandé un peu plus de temps pour comprendre ce que je devais lancer, où, et avec quels droits. Le jeu semble être en static ; pas d'ajout automatique dans mon menu, il a fallu que je me fasse un lien symbolique sur le bureau, et s'il y a une commande pour le lancer, je n'ai pas trouvé. Je m'en suis aussi sorti mais j'ai passé plus de temps à me demander comment faire pour arriver à finaliser l'install et jouer.

          Donc, même pour des jeux en natif sous linux, je crois que je préfère ./play.it : c'est plus assisté et confortable. Après, bien sûr, quand le jeu est directement dans les dépôts c'est encore mieux… mais ça ce n'est possible que pour les jeux sous licence libre. Attention : je suis d'accord, ça reste un peu "compliqué" puisqu'il y a quelques manipulations à faire, ce n'ets pas du clicodrôme, mais c'est vraiment assisté et sans bien comprendre les subtilités, je suis arrivée à installer des jeux, et à jouer, et ainsi à limiter mon recours à windows.

          Quand à attendre quelques minutes, la dernière fois que j'ai allumé mon windows pour jouer à GuildWars2, j'ai eu le temps de me regarder quelques vidéos de chatons avant de pouvoir jouer (mises à jour, tout ça…). Et jusque là, tous les jeux que j'ai installé, sur windows ou linux, mettent "quelques minutes" (et parfois plus) à faire des trucs sans trop me dire quoi lors du processus d'installation. Et parfois c'est effectivement trèèèèèèès long… indépendament de la plate-forme et du type d'installateur. Je ne vois pas en quoi attendre quelques minutes est un problème pour installer un jeu, à moins de choisir un jeu très très léger, ça demande toujours un peu de temps ?

        • [^] # Re: "sans prise de tête" ?

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

          Mon commentaire était caustique et ne fait pas honneur au boulot que vous faites pour simplifier et fiabiliser l'installation sous Linux de jeux pas prévus pour.

          Pas de souci, ça a eu l’avantage de me faire réfléchir un peu plus à la facilité d’utilisation de ./play.it ;)

          attendre "quelques minutes" me parait fou

          Tu n’as jamais installé de gros jeu commercial de plusieurs dizaines de Gio ? Attendre quelques minutes est indispensable ne serait-ce que pour extraire les données des installateurs compressés.
          Bien sûr, dans l’exemple que tu as pris, l’attente n’est que de quelques secondes, et avec un SSD et des jeux de quelques centaines de Mio seulement le processus entier est presque instantané.

          La vraie piste d'amélioration serait que les boutiques de jeux offrent directement des paquets Linux. J'ai d'ailleurs l'impression que c'est le cas pour GoG.

          GOG fournissait pendant un moment des paquets .deb, de qualité douteuse. Maintenant ils utilisent pour les jeux Linux des installateurs MojoSetup, qui ressemblent fortement à ce qu’ont l’habitude de voir les utilisateurs de Windows ("Accepter", "Suivant", "Suivant", "Patientez", "Terminé", "Jouer").

          Ou alors il faudrait que ça marche comme pour les émulateurs : mettre tous ses jeux dans un dossier sous forme d'archive. Ou encore mieux, laisser le launcher chercher les archives de jeu à lancer.

          kilobug, un utilisateur et contributeur de ./play.it, travaille sur une solution assez proche de ce que tu évoques : build.it

          • [^] # Re: "sans prise de tête" ?

            Posté par . Évalué à 5.

            Tu n’as jamais installé de gros jeu commercial de plusieurs dizaines de Gio ? Attendre quelques minutes est indispensable ne serait-ce que pour extraire les données des installateurs compressés.

            Quel malheur, même sur consoles on se tape des lustres d'installation et de téléchargement d'un "patch" de plusieurs gigaoctets …

            C'est peut-être pour ça que je joue le plus souvent sur ma bonne vieille Sega Saturn.

            BeOS le faisait il y a 15 ans !

  • # gui

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

    Vu les utilisateurs ciblés par ce logiciel, il serait quand même intéressant d'avoir une interface graphique même minimale, pour choisir l'installateur du jeu.

    Autre amélioration possible: il n'est pas courant d'avoir un point dans une commande, "playit" serait plus simple à taper.

    Bon courage pour la suite

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: gui

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

      L’interface graphique est un point qui est souvent discuté, et j’ai décidé qu’elle ne sera pas intégrée directement à ./play.it (ce bon vieux KISS).
      Par contre je suis prêt à faire tous les efforts nécessaires pour faciliter au maximum la construction d’une interface graphique qui utiliserait ./play.it. Y compris à proposer une interface graphique de manière "officielle", tout ce que je souhaite c’est que le code de ./play.it et celui des éventuelles interfaces restent totalement distincts.

      Si certains souhaitent se lancer sur cette idée, je les invite à rejoindre le salon IRC du projet où quelques contributeurs ont déjà commencé à réfléchir à ce sujet.

  • # super projet

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

    J'essayerai de m'en rappeller, le jour où je me remets à jouer … ou que j'arrive à convertir le fiston à Linux.

    • [^] # Re: super projet

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

      Ça tombe bien, ./play.it se veut un outil aidant à la libération des joueurs ;)
      Ne reste plus qu’à s‘assurer que ses jeux favoris soient gérés…

  • # Contribuez en parlant de ce que vous aimez

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

    Depuis quelques temps, un travail de titan a débuté du côté du site Web de ./play.it : ajouter aux pages de chaque jeu une description de celui-ci pour vous donner encore plus envie de les essayer ;)

    Jusqu’ici les pages des jeux dont le nom commence par A, B, C, D ou E ont été enrichies par un courageux contributeur qui travaille seul sur cette tâche : PengouinPdt. Infatigable, il vient de m’annoncer que la série des F est elle aussi prête à l’inclusion !

    Mais je suis sûr qu’il apprécierait un coup de main, alors si dans la liste des jeux gérés par le projet vous reconaissez un de vos jeux préférés et voulez vous prêter à l’exercice de nous donner envie d’y jouer en quelques lignes, vos contributions sont plus que bienvenues.

    Les pages du site sont générées à partir de ce dépôt git : https://framagit.org/vv221/play.it-pages

    Si vous n’êtes pas à l’aise avec git, n’hésitez pas à envoyer vos propositions par e-mail, sur IRC, ou même directement en réponse de ce message. Et si vous bafouillez en anglais ce n’est pas un souci, envoyez nous une description en français et on chargera un de nos traducteurs d’élite de la traduire ;)

    Merci d’avance pour votre aide !

  • # Steam

    Posté par . Évalué à 2.

    Bonjour,
    Tout cela m'a l'air très intéressant.
    Concernant Steam, qui concernant quand même pas mal de monde, peut-être qu'une solution provisoire serait de proposer un script pour installer le client Steam dans wine pour les jeux uniquement windows, ou dans linux pour les autres ?

    • [^] # Re: Steam

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

      Je ne souhaite pas apporter la gestion de Steam à la version officielle de ./play.it, pour les raisons déjà évoquées dans la dépêche.
      Par contre je ne suis absolument pas hostile à un éventuel fork du projet qui serait plus souple à ce sujet.

  • # Avantage de PlayOnLinux

    Posté par . Évalué à 2. Dernière modification le 07/03/18 à 13:46.

    Bonjour,

    Je trouve l'approche de créer des packages pour ensuite les intégrer au mieux avec le système d'exploitation excellente. Ça me rappel un projet similaire qui était prévu pour être intégré par défaut dans Ubuntu où il était question d'avoir les jeux Wine directement dans la logithèque si je me rappel bien (désolé la flemme de chercher les références). Je crois que c'était un dev Wine qui avait lancé ça…

    Par contre, je ne sais pas si ça couvrira mes maigres besoins qui sont d'installer de temps en temps des vieux jeux PC qui sont sur CD. C'est ça que j'aime bien avec PlayOnLinux c'est qu'on peut installer à partir d'un CD avec des installeurs "officiels".

    Est-ce qu'il y a une chance pour que play.it puisse supporter un jour des installeurs hétéroclites ou est-ce qu'il se concentrera toujours sur des installeurs type GOG ou autre ?

    Autre question : est-ce qu'il y a une option pour installer tout le jeux dans le ~ car j'ai généralement une petite partition système (sur un SSD) et une grande partition /home ? Désolé si la réponse se trouve dans la doc, j'avoue j'ai pas cherché. Euh, en même temps je me dis qu'il faut plutôt voir du côté de dpkg ou autre vu que play.it ne fait que générés les packages…

    En tout cas, bonne continuation, c'est chouette de voir ce genre d'initiatives.

    Andréas

    • [^] # Re: Avantage de PlayOnLinux

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

      Est-ce qu'il y a une chance pour que play.it puisse supporter un jour des installeurs hétéroclites ou est-ce qu'il se concentrera toujours sur des installeurs type GOG ou autre ?

      C’est dans les objectifs du projet depuis le premier jour, on l’évoque même rapidement dans cette dépêche ;)

      est-ce qu'il y a une option pour installer tout le jeux dans le ~ car j'ai généralement une petite partition système (sur un SSD) et une grande partition /home ?

      Tu peux utiliser pour ça l’option --prefix :

      --prefix=$path
      --prefix $path
      
              Choix du chemin d’installation du jeu
      
              Cette option accepte uniquement un chemin absolu.
              chemin par défaut : /usr/local
      
      • [^] # Re: Avantage de PlayOnLinux

        Posté par . Évalué à 1.

        Merci pour ta réponse ! En effet, j'avais pas bien lu toute la dépêche.

        Et oui, pas facile de gérer les différents installeurs, surtout si votre objectif est que l'utilisateur n'ait rien à faire.

        Je sais que pour les jeux et applications Wine un développeur wine (je ne sais plus lequel malheureusement) avait créer des scripts pour en installer automatiquement afin de faire des tests de non régression automatique. Il avait finit par arrêter car c'était long à maintenir mais les scripts existent sans doute encore.

        Sinon, est-ce que vous prévoyez de permettre aussi l'installation de logiciels autres que des jeux (genre Office ou autre), ça serait vraiment TOP !

        Bonne continuation.

        • [^] # Re: Avantage de PlayOnLinux

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

          Sinon, est-ce que vous prévoyez de permettre aussi l'installation de logiciels autres que des jeux (genre Office ou autre), ça serait vraiment TOP !

          Qui suis-je pour juger des goûts des autres ? Si ton jeu préféré est Microsoft Office, je comprends que tu souhaites pouvoir profiter de la facilité d’installation proposée par ./play.it ;P

          Blague à part, ce n’est pas prévu et je ne crois pas que ça intéresse nos contributeurs actuels. Je pense que pour la gestion de logiciels "sérieux" il faudrait plutôt se pencher du côté d‘un fork de ./play.it

  • # Linux natif

    Posté par . Évalué à 3.

    Il ne faut pas oublier les jeux natifs, qu'ils soient libres ou non, dont la liste est dispo sur LGDB, les clones de jeux en version libre sur OSGameClones, ainsi que les news au taquet de GamingOnLinux.

    • [^] # Re: Linux natif

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

      ./play.it gère déjà une belle quantité de jeux natifs (un peu plus de 200 aujourd’hui), mais pour gérer la totalité de ceux proposés par LGDB il faudra beaucoup de temps et d’argent, ou beaucoup de nouveaux contributeurs !

      Je ne cache pas que je préfère la seconde option ;)

Suivre le flux des commentaires

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