Lugaru enfin libre

Posté par  (site web personnel) . Édité par Davy Defaud, Rémi Verschelde, palm123 et Benoît Sibaud. Modéré par bubar🦥. Licence CC By‑SA.
43
16
déc.
2016
Jeu

Peut‐être vous souvenez‐vous encore de Lugaru, jeu vidéo indépendant faisant partie du premier Humble Indie Bundle, du temps où ceux‐ci contenaient encore des jeux indépendants et tenaient la promesse de fournir des versions GNU/Linux.
Suite au succès de cette opération, le code de 4 des 5 jeux avait été libéré, dont celui de Lugaru [N. D. M. : un jeu d’action / combat prenant, original et au gameplay poussé, voir les commentaires].

Après quelque temps les libristes avaient obtenu de Wolfire, l’éditeur, la libération d’une partie des données fournies avec la démo. Cela laissait entrevoir une possibilité de libération complète en remplaçant le reste par des données libres. Si une timide tentative en ce sens a vu le jour, cela n’a jamais abouti.

Mais Wolfire approchant de plus en plus de la sortie de leur prochain jeu Overgrowth, ils ont finalement accepté de mettre sous licence libre l’ensemble du jeu !

Le développement a repris de plus belle (et il y en a besoin, l’état du code est catastrophique) et nous (l’équipe d‘OSS Lugaru) venons de sortir Lugaru 1.1, première version libre publiée par la communauté.
Plus d’informations sur les nouveautés et projets futurs dans la suite de la dépêche.

Bannière du jeu libre Lugaru HD

Cette version inclut toutes les nouveautés développées depuis la libération, dont certaines avaient été fusionnées upstream, comme la barre de vie, mais d’autres n’étaient encore jamais sorties dans des versions pré‐compilées pour le commun des mortels, comme le prise en charge de la multi‐campagne.

En effet, il existe des campagnes alternatives (mods) pour Lugaru, mais jusqu’ici en installer une revenait à remplacer la campagne officielle.
Dans cette version, vous pouvez sélectionner la campagne à lancer dans le menu, votre progression au sein de chaque campagne est sauvegardée.

Nous avons réussi à contacter les auteurs de trois de ces campagnes alternatives qui ont accepté de placer leur travail sous licence libre, il y a donc 4 campagnes jouables dans cette version !

Par ailleurs, le moteur a été porté de SDL 1.2 vers SDL 2.0, ce qui améliore grandement la gestion de la résolution d’affichage et du clavier. En particulier, les utilisateurs de clavier AZERTY ne devraient plus être des utilisateurs de seconde zone grâce à l’utilisation de scancodes.

Changements

Projet :

  • passage de Mercurial à Git et de Bitbucket à GitLab.com ;
  • mise en place d’intégration continue avec gitlab-ci pour différentes plates‐formes : Linux GCC, Linux Clang, Windows MinGW32, Windows MinGW64 ;
  • suppression des dépendances intégrées et souvent obsolètes.

Moteur :

  • prise en charge du mode multi‐campagne ;
  • migration de SDL 1.2 à SDL 2 (avec l’utilisation des scancodes pour le clavier pour que les contrôles par défaut fonctionnent sur tout clavier) ;
  • prise en charge d’une vraie installation avec les données dans /usr/share ;
  • amélioration de la prise en charge des arguments en ligne de commande, ajout d’un --devtools pour passer en mode débogage sans éditer son fichier de configuration ;
  • sauvegarde automatique après chaque niveau passé (utile en cas de crash) ;
  • prise en charge de la norme XDG et des dossiers standards pour stocker configuration et sauvegardes :
    • GNU/Linux : $XDG_CONFIG_HOME (par défaut ~/.config/lugaru) et $XDG_DATA_HOME (par défaut ~/.local/share/lugaru),
    • Mac OS X : ~/Library/Application Support/Lugaru,
    • Windows : %APPDATA%\Lugaru, par exemple : C:\Users\<you>\AppData\Roaming\Lugaru` ;
  • ajout d’un fichier .desktop, une icône, un fichier appdata.xml, tout ce qu’il faut pour empaqueter proprement pour nos distributions ;
  • correction du paramètre --nomousegrab ;
  • ajout d’une option plein écran dans le menu options, et prise en charge de la combinaison de touches Alt + Entrée pour passer en plein écran ou en mode fenêtré ;
  • passage de la définition d’affichage par défaut à 1024 × 768 pixels au lieu de 640 × 480 pixels et du niveau de détail au maximum par défaut ;
  • beaucoup de nettoyage de code.

Contenu de jeu :

  • toutes les données de Lugaru HD sont désormais sous licence Creative Commons (CC-BY-SA 3.0) ;
  • ajout de trois campagnes alternatives : Temple, par Silb (CC-BY-SA 3.0), Empire, par Jendraz (CC-BY-SA 4.0) et The Seven Tasks (Les sept tâches), par Philtron R. (CC-BY-SA 4.0) ;
  • réorganisation des données, corrections des chemins erronés vers celles‐ci dans les cartes existantes.

Veuillez noter que le format des sauvegardes a changé, ainsi que le chemin de la plupart des données. Donc, les cartes alternatives pour la version originale de Lugaru peuvent présenter quelques problèmes de compatibilité, mais peuvent être adaptées.

Aidez‐nous !

N’hésitez pas à ouvrir tout un tas de rapports de bogues et de suggestions sur notre GitLab, il est là pour ça.

Si vous connaissez le C++ et n’avez pas froid aux yeux, vous pouvez participer au nettoyage du code en vue de l’ajout de fonctionnalités futures.
C’est assez funky, des fois on remplace des tableaux par des vecteurs et on obtient une segfault parce que le jeu tape en dehors des tableaux, mais jusqu’ici ça marchait parce que les tableaux étaient côte à côte, donc ça tombait bien…

Vous pouvez aussi aider du côté de l’empaquetage pour que Lugaru soit disponible dès que possible dans toutes les distributions.

Aller plus loin

  • # Excellentes nouvelles pour les nostalgiques !

    Posté par  . Évalué à 8.

    Très bonne surprise que cette annonce, Lugaru est un jeu d'action/combat prenant, original et au gameplay poussé.
    J'y ai encore rejoué il y a quelques années par nostalgie. Ravi de savoir que quelqu'un a repris le flambeau et bon courage à l'équipe !

    L'autre bonne nouvelle, c'est qu'Overgrowth n'est toujours pas mort. Ayant adoré Lugaru, j'avais financé ce jeu au début des pré-ventes, à l'époque où on n'avait que des concepts à se mettre sous la dents. Un bon paquet d'années ont passé depuis, et je vois qu'on en est toujours aux alpha.
    Enfin la dernière en date est l'alpha 227 tout de même, avec un joli clin d'œil pour les fans de Lugaru.

    Je vais tester les builds Win/Mac/Linux pour pouvoir vous faire un retour en cas de bugs.
    Merci encore ;)

    • [^] # Re: Excellentes nouvelles pour les nostalgiques !

      Posté par  . Évalué à 5.

      Lugaru est un jeu d'action/combat prenant, original et au gameplay poussé

      Merci pour ce commentaire, expliquer ce qu'est ce jeu a tout simplement été oublié dans la dépêche :)

      Si quelqu'un veut compléter en expliquant en quoi le jeu est original et en quoi son gameplay est poussé, je pense que ça intéressera tous les autres lecteurs qui ont eu le courage de lire jusqu'au bout la dépêche sans savoir de quoi on parlait.

      Membre de l'april, et vous ? https://april.org/adherer -- Infini, l'internet libre et non commercial : https://infini.fr

      • [^] # Re: Excellentes nouvelles pour les nostalgiques !

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

        Corrigé, merci.

      • [^] # Re: Excellentes nouvelles pour les nostalgiques !

        Posté par  . Évalué à 5. Dernière modification le 16 décembre 2016 à 08:21.

        En effet, on aurait pu/dû mentionner ce qu'est Lugaru :)

        Comme indique par Apal, Lugaru est un jeu de combat en 3D et à la 3ème personne, dont la particularité est d'avoir des personnages (jouables et non jouables) qui sont des lapins (et quelques loups) anthropomorphiques, au style de combat plutôt ninja et qui joue bien des particularités du «lapin» (par exemple possibilité de faire de très grands bons, et de courir très vite une fois mis à quatre pattes).
        Les personnages ont aussi, selon les scénarios, accès à différentes armes : couteau, épée, bâton, ce qui influe grandement leur style de combat (on peut par exemple faire du lancer de couteau ou bien donner de grand coups de bâton).

        La campagne suit Turner, un lapin dont le village se fait attaquer et la famille décimer (niveau scénaristique on peut nuancer le «original» ;)), et qui part ensuite à la traque des agresseurs. Rien de bien sorcier, mais ce n'est pas trop pour l'histoire que l'on y joue, même si les campagnes additionnelles tentent de faire preuve d'un brin d'originalité :)

        • [^] # Re: Excellentes nouvelles pour les nostalgiques !

          Posté par  . Évalué à 1.

          J'ajoute une vidéo de démo, pour ceux qui veulent se faire une idée ce ce qu'il est possible de faire.
          La prise en main du jeu est en apparence simple, mais les techniques de combat sont nombreuses et on en découvre au fur et à mesure qu'on joue.
          La courbe d'apprentissage contribue grandement au plaisir et à la rejouabilité, en parallèle des "mentions" que l'on obtient sur le tableau de score en fonction du style de jeu que l'on a adopté pour terminer un "challenge".

          Démonstration des techniques de combat de base

          À noter tout de même, je viens de retester avec un trackpad et c'est sport, je conseille vivement une souris pour contrôler votre lapin ninja anthropomorphique !

          PS : Bug sur macOS Sierra, le jeu crashe lorsqu'on essaye de changer les touches de contrôle.
          Je me suis rendu compte en relisant la dépêche qu'il n'y a plus besoin de les changer avec les scancodes, on est directement en ZSQD sur un clavier AZERTY.

          • [^] # Re: Excellentes nouvelles pour les nostalgiques !

            Posté par  . Évalué à 1.

            PS : Bug sur macOS Sierra, le jeu crashe lorsqu'on essaye de changer les touches de contrôle.

            Si tu as un compte sur GitLab.com, n'hésite pas à ouvrir un rapport de bug. Sinon je pourrais le faire moi-même si tu préfères (mais c'est toujours mieux d'avoir celui qui peut reproduire le bug sous la main :)).

  • # Installation sous Debian

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

    Notons qu'un simple « sudo apt-get install openlugaru » fonctionne (sous Debian64 testing en tout cas).

    • [^] # Re: Installation sous Debian

      Posté par  . Évalué à 5.

      Oui mais ça vient de non-free

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Installation sous Debian

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

      On aimerait être distribué sous le nom lugaru si possible, maintenant qu’on peut intégrer sans soucis les données d’origine dans le jeu.
      Et comme dit plus haut, on devrait aussi pouvoir être distribué dans les dépôts libres maintenant (pas non-free quoi, je sais plus comment s’appellent les autres sections).

      • [^] # Re: Installation sous Debian

        Posté par  . Évalué à 1.

        Par ailleurs la version openlugaru de Debian, outre l'utilisation de données non-libres, utilise toujours SDL 1.2 et a divers bugs assez handicapants. Plus vite elle sera remplacée par Lugaru 1.1 et le mieux ce sera pour tout le monde, upstream comme downstream :)

      • [^] # Re: Installation sous Debian

        Posté par  . Évalué à 2.

        ça s'appelle main :)

        *splash!*

      • [^] # Re: Installation sous Debian

        Posté par  . Évalué à 3.

        A priori, le jeu sera distribué sous les 2 noms "lugaru" et "openlugaru" puisque le premier est déjà un alias du second chez Debian :

        % apt-cache search 'lugaru$'
        openlugaru - third-person rabbit action game
        lugaru - transitional dummy package

        Il ne reste qu'à trouver un gentil parrain pour remplacer le paquet actuellement distribué par Debian. Parce que le "lugaru" de Debian est en stable et vieux de presque 6 ans :

        % apt-cache policy lugaru
        lugaru:
        Installed: (none)
        Candidate: 0~20110520.1+hge4354+dfsg-4.1
        Version table:
        0~20110520.1+hge4354+dfsg-4.1 600
        600 http://ftp.debian.org stable/contrib amd64 Packages

  • # Petits utilitaires pour le grand nettoyage nécessaire du code

    Posté par  . Évalué à 3.

    Après un survolage rapide d'une partie du code, il y a effectivement besoin de faire le ménage… Pour celles et ceux qui ont le temps, voila des outils libres (disponibles dans Debian) qui aident à déceler de potentiels problèmes :

    Pour un lancement échoué (faute de Data), valgrind me signale plus de 800 ko de perdu.

    Bonne chance, et merci pour la libération.

    • [^] # Re: Petits utilitaires pour le grand nettoyage nécessaire du code

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

      Je serai un peu plus violent encore: grep delete et grep free et je les dégage tous pour suivre une approche 100% RAII—le seul endroit où je m'autorise un tel artéfact, c'est dans un destructeur, et il doit y être seul. Aussi, d'après ce que j'ai lu dans les commentaires d'une autre dépêche, vous allez devoir rajouter des petits : private boost::noncopyable (ou équivalent) à toutes les classes de base et à d'autres entités—ceci dit transformer les attributs pointeur en std::unique_ptr aura pratiquement le même effet: détecter les copies qui n'auraient jamais du être permises. Cf FAQ C++ de dvpz au sujet des sémantiques d'entité et de valeur.

      PS: Il existe clang-tidy, clang-analyser, et OCLint en analyseurs FOSS de codes sources. C'est la gamme de produit largement au dessus de ceux qui ont été cités.

  • # Paquets deb

    Posté par  . Évalué à 3.

    En attendant Debian, j'ai fais des paquets pour Debian et Ubuntu. J'ai mis les sources du package sur GitHub, ça se build tout seul avec git-buildpackage, le paquet est dans la branche debian/jessie.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

Suivre le flux des commentaires

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