Flukz 0.2

Posté par  (site web personnel) . Édité par Nÿco, Slauncha, Bruno Michel et NeoX. Modéré par rootix. Licence CC By‑SA.
Étiquettes :
20
18
avr.
2013
Jeu

La version 0.2 de Flukz est disponible. Pour ceux qui ont raté la première saison, Flukz est un jeu de shoot'em up qui fonctionne comme un wiki. Il est possible de créer de nouveaux niveaux et de les éditer directement en ligne.

Flukz est un logiciel libre, distribué sous licence GPL v2, fonctionnant aussi bien sous Linux que Windows. Les graphiques sont soit en GPL soit en CC-BY-SA, essentiellement en provenance du site opengameart. Ils ne sont pas inclus dans le binaire lui-même, mais stockés sur le serveur Flukz, et téléchargés lorsqu'on exécute un jeu. Du coup, la licence et l'auteur de chaque fichier est indiquée dans les pages meta au sein de Flukz (la façon la plus simple d'accéder aux pages meta des sprites est depuis la page "liste des sprites").

NdM : merci à Yukito pour son journal.

La procédure de compilation est la même que dans le journal pour la version 0.1, en remplaçant 0.1 par 0.2.

Édition des niveaux

La version 0.2 améliore sensiblement l'édition des niveaux, avec :

  • l'affichage des paramètres des sprites dans une fenêtre fixe à droite du niveau.
  • un mode de test du niveau en cours d'édition. Cela permet de peaufiner le niveau, et de le tester autant de fois qu'on le souhaite avant de sauvegarder.

Capture d'écran du mode édition (le test se lance et s'arrête avec l'icône d'engrenage) :

Capture d'écran de Flukz 0.2

Nouveaux sprites

Par ailleurs, il est désormais possible d'ajouter de grandes images de fond. Combiné à l'ajout de sprites depuis l'excellent site opengameart, cela commence à donner des niveaux sympa :

Capture d'écran de Flukz 0.2

Bilan de la version 0.1

La release de la première version de Flukz a été une expérience intéressante. Je pensais naïvement que Flukz allait sauver la planète du réchauffement climatique et libérer les petits pingouins de leur dépendance à Google et Facebook. Mais quelques semaines plus tard, force est de constater qu'avant d'avoir un million d'utilisateurs, il faut commencer par en avoir dix, et que ce n'est pas facile du tout.

Les stats de bande passante à l'intérieur de Flukz (le lien "statut du serveur" à gauche) m'ont permis d'évaluer à environ 20 le nombre de personnes ayant réellement testé le logiciel. Parmi celles-ci, 4 ou 5 ont effectué une modification (ajout d'un commentaire, upload d'une image, création ou modification d'un niveau). Enfin, aucune d'entre elles n'est devenu un utilisateur régulier.

Bref, un démarrage plus difficile que je ne l'imaginais. Par contre, les retours étaient tous encourageants, ce qui est motivant.

Si Flukz vous intéresse, j'en profite du coup pour vous encourager à participer. Au stade actuel du logiciel, la moindre contribution a vraiment un impact énorme. Ceux qui ont ébauché les niveaux "wuhu" et "black and white" (à l'origine des captures d'écran ci-dessus) seront sans doute surpris de voir à quel point leur contribution initiale a évolué.

Futurs développements

Une fonctionnalité évidente qui permettrait d'augmenter l'intérêt du jeu est l'ajout d'un score. Avec une sauvegarde automatique sur le serveur des meilleurs scores obtenus, ça commencerait à devenir vraiment rigolo.

Pièce 2 du concours Plee the Bear

Aller plus loin

  • # blop

    Posté par  . Évalué à 3. Dernière modification le 18 avril 2013 à 14:54.

    Déjà, bravo pour le concept ;)

    Ton projet n'a pas attiré les foules, peut-être parce que tu n'avais pas fait beaucoup de communication autour ;) (je viens d'en prendre connaissance)
    Mais cette dépêche y remédiera peut-être. (d'ailleurs, sera t-elle reprise sur jeuxlibres/jeuxlinux ?)

    Je vais essayer, suivre les instructions de ton readme, et pour le reste, je pense que «les wikis» feront le reste.

    FreeGameDev pourrait aussi être intéressé.

    • [^] # Re: blop

      Posté par  . Évalué à 3.

      On va commencer par là: pulseaudio est-il obligatoire ?

      Je tombe dans le cas:

      (2) If pulse audio is not installed, the following error can occur when launching Flukz :
      "Unable to create a connection to the pulseaudio context."
      In that case, you need to install the pulse audio package
      Under Lubuntu : apt-get install pulseaudio
      
      

      … mais j'ai vraiment pas envie d'installer pulseaudio :D

      Donc quand je lance flukz, le processus tourne, j'ai le message d'erreur, mais y'a rien qui s'ouvre.

      En attendant mieux, perso ça me dérangerait pas de jouer sans le son.

      • [^] # Re: blop

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

        Dans le même genre, j'aimerais pouvoir utiliser ma manette, est-ce prévu?

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

        • [^] # Re: blop

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

          Pour la gestion des manettes, il faudrait que je passe à la sfml. Ça ferait d'une pierre deux coups avec un meilleur support des sons. J'ai entendu dire que la sfml et Qt font bon ménage, mais je n'ai encore jamais essayé.

      • [^] # Re: blop

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

        Au niveau de la dépendance à pulseaudio, je suis dépendant de l'implémentation sous-jacente de QtMultimedia. Je réfléchis à passer à la sfml pour avoir un meilleur support des sons (en particulier plus de formats), mais je crois bien que la sfml aussi a une dépendance à pulseaudio sous linux. Donc, pas moyen d'y échapper.

        Par contre, je vois ce que tu veux dire. Tu aimerais que le logiciel puisse se lancer quand même quitte à ce que les sons ne soient pas disponibles. C'est peut-être possible. Il faut que je regarde plus en détail si j'ai un moyen de "tester" la disponibilité des sons au démarrage de l'application.

        • [^] # Re: blop

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

          Pourquoi pas cette bonne vieille SDL?

          Sinon, est-ce que le format des niveaux fait l'objet d'une spécification? Ca permettrait d'avoir plusieurs moteurs qu'on lance avec l'url du niveau!

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

          • [^] # Re: blop

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

            Je n'ai jamais utilisé la sdl ni sfml, donc je suis plutôt neutre. Mais comme Qt et Flukz sont codés en C++, il me semble naturel de choisir plutôt la sfml (en C++ également) plutôt que la sdl (en C).

            Sinon, le format des niveaux est loin d'être fixe ou spécifié. Il y a encore trop de fonctionnalités à ajouter pour avoir une idée de ce à quoi ressemblera le format final. Et puis, il faudrait d'abord franchir le cap des 10 contributeurs…

            Tiens, pendant que j'y suis, tu as déjà pensé à la possibilité de recoder devnewton dans Flukz ? Sauf si c'est important pour toi de garder ton indépendance ou si ça te ferait trop mal au coeur d'abandonner un code dans lequel tu t'es déjà beaucoup investi, peut-être que ça vaut le coup d'y réfléchir. Le passage de Java à Qt n'est pas si dur que ça en terme de codage. Temporairement, tu auras peut-être l'impression de faire un pas en arrière (perte de fonctionnalités, perte de performances, sans doute quasiment aucun code récupérable), mais à moyen terme, on pourrait aller bien plus loin que Flukz ou devnewton pris indépendamment.

            • [^] # Re: blop

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

              Je n'ai jamais utilisé la sdl ni sfml

              L'avantage de la SDL, c'est qu'elle existe sur toutes les plateformes alors que sfml va mettre du temps à arriver sur mobile, console et tablette!

              tu as déjà pensé à la possibilité de recoder

              J'ai pensé plusieurs fois réécrire Newton Adventure pour qu'il tourne sur de petites configs, sur mobile ou tablette, mais:

              • j'ai la flemme de tout recommencer.
              • il faut un moteur physique particulier, capable de mixer un déplacement classique du personnage (irréaliste à la mario) avec une physique moderne (réaliste).
              • c'est surtout le dessin et le game design qui m'intéresse maintenant.

              Du coup, ça m'intéresserait d'avoir un moteur avec éditeur de niveau de jeux de plateforme tout fait comme ce que propose Flukz pour les shmups!

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

            • [^] # Re: blop

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

              Au fait, est-ce vous avez une tribune ou à défaut un salon xmpp ou au pire un chan IRC?

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

              • [^] # Re: blop

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

                Non, rien de tout ça. Jusqu'ici, les interactions n'étaient pas assez nombreuses et trop centrées autour de moi, du coup on utilisait surtout le mail, ou des discussions de vive voix quand on arrivait à se rencontrer.

                Maintenant qu'il y a un peu plus de monde intéressé, je pense que le mieux est d'utiliser Flukz directement pour communiquer, sur le principe du "eat your own food". C'est assez facile de voir s'il y a eu une modif sur Flukz grâce au lien "modifications récentes". En particulier, si ça t'intéresse, on peut continuer la discussion à propos des jeux de plateforme (ou autres) sur les pages Forum ou Forum des développeurs.

                Tiens, ça me fait penser que pour les pages de type "forum" ou "discussion", ce serait pratique de pouvoir poster sur un principe similaire aux journaux de linuxfr, plutôt qu'un principe de wiki.

                • [^] # Re: blop

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

                  Ca va être un peu dur à suivre au boulot :-(

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

                  • [^] # Re: blop

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

                    Mmh, pourquoi ? A cause du numéro de port exotique qui va éveiller les soupçons du service de sécurité ?

                    • [^] # Re: blop

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

                      Oui si ce n'est pas carrément bloqué…

                      Plus le client UI bizarre quand on passe derrière moi!

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

                      • [^] # Re: blop

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

                        Je vois.
                        En même temps, tu n'as sans doute pas besoin de te connecter depuis le boulot. Un coup d'oeil le soir à la maison, un message si nécessaire, et ce sera plus que largement suffisant pour suivre ce qui se passe sur Flukz et y participer.

                        Tiens, sinon, je viens de finir un niveau 3 pour black_and_white. Normalement, il est un peu plus dur à finir que les précédents à cause des astéroïdes dangereux. Je n'aurai jamais pensé que ce soit si difficile de faire des niveaux un minimum intéressants. Il m'a fallu largement deux ou trois heures de boulot juste pour ce petit niveau.

                        • [^] # Re: blop

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

                          Je fais surtout ma veille techno en journée!

                          Sinon, je suis déjà sur plusieurs forums, sur xmpp, sur irc, sur les tribunes, des mailings listes, des flURSS…

                          Ca fait déjà beaucoup de systèmes de communication.

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

        • [^] # Re: blop

          Posté par  . Évalué à 1.

          Tu veux dire que https://qt-project.org/doc/qt-4.8/qtmultimedia.html ne propose pas de moyen d'utiliser directement ALSA ?
          Ou que c'est Debian (dans mon cas) qui fait le choix de ne mettre à disposition que PulseAudio ?

          C'est quand même fou … ou bien j'ai pas compris.

          • [^] # Re: blop

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

            Oui, c'est bien ça, qtmultimedia ne gère pas directement Alsa. Je ne suis pas du tout un spécialiste de ces questions, mais si j'ai bien compris, le choix de PulseAudio plutôt que d'Alsa par qt était pour avoir plus de portabilité avec moins de code à maintenir.

            • [^] # Re: blop

              Posté par  . Évalué à 2.

              J'comprends, en même temps c'est dommage Flukz serait une des seules (la seule ?) appli avec laquelle je suis confronté à ça.

              Au pire, si tu veux continuer dans la lignée "game design experimental", tu peux songer à faire des hooks pour OSC ( http://www.obiwannabe.co.uk/tutorials/gamedev/OSC/oschooks.html ). OSC étant un équivalant du fameux MIDI.
              Ca permettrait par exemple de synthétiser avec un logiciel externe des sons en fonction d'évènements du jeu.

              Voilà un essai pas top en guise d'exemple dans cette video: WebM Ogg Theora
              Voir explications dans ce topic

  • # débug.

    Posté par  . Évalué à 1.

    Hello, je n'ai pas vu de section pour les remontées de bugs sur le site.

    juste pour en remonter un, plutot fun : le vaisseau est victime du 'friendly fire' sur les collisions :
    Quand on tire, si le vaisseau remonte, il va plus vite que son propre tir et s'explose dessus … embetant non ?  ;)

    • [^] # Re: débug.

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

      Yep, merci du retour. Ce bug a l'air systématique, même si la vitesse du tir est supérieure à celle du vaisseau.

      Pour les bugs, on a une page dans Flukz (le software, pas le site). Je viens d'ajouter ce problème d'explosion du vaisseau sur son propre tir. Je vais essayer de le résoudre aujourd'hui, d'ailleurs.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: débug.

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

          Ok, bonne idée. Je l'ai résolu à peu près de cette façon-là dans la révision 506 du repo. Par contre, je n'ai pas bien compris à quel type de stats tu penses.

Suivre le flux des commentaires

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