Sortie de CatchChallenger 1.0

Posté par  (site web personnel) . Édité par M5oul, BAud, Benoît Sibaud, ZeroHeure, zurvan, Nils Ratusznik, Nÿco, ariasuni et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
15
12
déc.
2014
Jeu

CatchChallenger est un jeu de rôle indépendant en ligne, massivement multijoueur (MMORPG), à l'ancienne, libre, publié sous licence GNU GPL v.3 aussi bien pour le code que pour les données artistiques et le site web.

La base du jeu est un mélange de différents styles : combat, farming, exploration, fabrication, commerce, gestion, compétition. Les travaux se sont concentrés sur la jouabilité, les performances et la créativité.

Cette version totalise plus de 5 Mo de code, plus de 1 700 commits sur 3 ans de vie (sur les différentes parties du projet). Le client et le serveur sont développés sous GNU/Linux, puis automatiquement empaquetés pour OS X et Windows.

Capture d’écran

Améliorations depuis la dernière version

La sécurité et l'anonymat ont été améliorés (dissimulation des dates des fichiers du serveur).

La vérification de la clef publique a été changée, cela permet de voir s'il y a eu détournement DNS/routage — et c'est transparent pour l'utilisateur (l'équivalent de known_hosts + StrictHostKeyChecking no pour SSH).

La réactivité et les possibilités pour le contenu du jeu ont été améliorées, dont le fait de mettre des objets sur la carte.

Un algorithme de recherche de chemin (path finding) d’un nouveau genre a été développée spécialement pour le jeu (je n'ai trouvé aucun jeu qui avait ces besoins), mais désactivé pour cause de bugs.

Si quelqu'un a les paquets utiles pour sa distribution et la démarche de compilation pour le jeu, je pourrai le mettre dans le README.

L'amélioration de la bande passante pour le téléchargement du datapack et la détection des miroirs corrompus (donc pas besoin de leur faire confiance), permettent la réduction des coûts.

Des technologies, techniques et algorithmes ont été développés (Aperçu des technologies), suite aux analyses et recherches, des innovations ont vu le jour.

Les outils annexes basiques pour le projet sont présents comme les tests cases, un tracking des performances par commit, le Git/issues, des zones communautaires, l'exploration depuis le site du contenu (dont le convertisseur de map vers le format .png), tous les scripts d'automatisation, les grabbers et convertisseurs divers pour importer le contenu d'autre jeu à titre d'exemple.

Le projet est toujours à la recherche d'aide pour le client, un seul des points suivants est demandé :

  • Un développeur QtQuick2 (portage QtQuick1 d'un code et adaptation des binding C++) ;
  • Un développeur HTML5/Websocket/WebGL.

Le futur

J'ai posté une feuille de route pour la partie développement qui s'étale sur trois ans, si les rentrées d'argent suivent.

Pour l’utilisateur final

Un nouveau wiki sera mis en place sur l'univers du jeu, avec les données générées du datapack, cela remplacera le datapack explorer et permettra d'ajouter des données arbitraires (histoire, photo, dessin, commentaire…).

Le client recevra diverses améliorations (navigation uniquement au clavier, à la souris, peut-être au joystick), diverses améliorations de l'interface (dont une série d'animations qui la rendra plus sympathique).

Changement interne

Des changements internes sont prévus (passage en C++11 pur pour un certain type de serveur, arbre de serveur/base de données, …), surtout après avoir eu assez de retours pour cette version 1.0 ; mais aussi des changements de programmations et de protocole, et les traditionnels ajouts de protection native et amélioration des performances.

Les serveurs

Les serveurs seront organisés en arbre avec tout ce qui va avec (datapack, base de données). Et donc, vous pourrez avec le même personnage (avec les mêmes items, monstres…) aller sur plusieurs serveurs d'un même groupe. Des serveurs pour les bots seront spécialement ouverts, cela permettra à ceux aimant coder des bots d’affronter les bots des adversaires.

Fonds

Le projet étant fait de manière professionnelle et par des professionnels, soumis à l'impôt et encadré par une entreprise, il a besoin de fonds. Pour cela une campagne Indiegogo sera sûrement ouverte, un espace pour les utilisateurs premiums donnera accès à de nouveaux habillages… Tout cela en plus de la version 1.0 qui est en vente actuellement en Bitcoin, via PayPal ou sur le Nextcoin market (un Ebay décentralisé). Le code, même vendu, est sous GNU GPL v.3.

Autre

La version 3 commence aussi à être ébauchée. Les technologies liées aux monnaies virtuelles sont étudiées (donc autre que le transfert de valeur). Il y aura sûrement la publication du code C10M qui applique une technique permettant sur un PC normal de faire des millions de connexions simultanées et en utilisant une base de données taillée sur mesure (pour minimiser et optimiser les index, les performances et l'espace occupé).

Aller plus loin

  • # et le jeu ?

    Posté par  (site web personnel) . Évalué à 10. Dernière modification le 13 décembre 2014 à 08:36.

    C'est toujours pareil, à chaque fois qu'une news sur ce projet sort, ça ne parle quasiment jamais du jeu lui-même et de son gameplay, mais des technos utilisées par en dessous. Et puis ça manque singulièrement de vidéos et de screenshots.
    Je ne sais pas trop quelle joueur potentiel pourrait être attiré par un MMORPG où on ne cause que d'optimisation réseau et de résistance aux DDOS.

    • [^] # Re: et le jeu ?

      Posté par  . Évalué à 4.

      Vu le screenshot je ne pense pas, mais en soit ca peut etre une idée de jeu amusante, où tu dois inspecter les réseaux, combattre les méchants virus et hacker etc… :)

    • [^] # Re: et le jeu ?

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

      Qu'entend tu par parler du jeu lui même?
      Car pour moi c'est le gameplay. Après savoir que le jeu est une bonne technologique ça fait toujours plaisir (ont est sur linuxfr, le dev de nouvelle technologie en open source…), mais içi c'est important de savoir que le jeu est bien protégé, crypté, sécurisé (comme toute application je voudrai dire) et qu'il y aura de bonne performance pour garantir un coût de fonctionnement très bas et possiblement le fonctionnement à vie.
      Si faire fonctionner le serveur coûterai 10000€/mois, soit j'aurai un forte contrainte pour le rentabilisé, soit le jeu ferai au bout de quelque mois.

      Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

      • [^] # Re: et le jeu ?

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

        Et ça fait plaisir de voir un jeu commercial open source réalisé de façon pro et non amateur.

        Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

        • [^] # Re: et le jeu ?

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

          l'idée du commentaire précédent (si je le comprends bien) était d'avoir plus qu'une phrase

          La base du jeu est un mélange de différents styles : combat, farming, exploration, fabrication, commerce, gestion, compétition. Les travaux se sont concentrés sur la jouabilité, les performances et la créativité.

          un retour d'expérience d'utilisateurs serait sympathique : pourquoi ils viennent, pourquoi ils y reviennent, l'ambiance qu'ils y trouvent (important pour un meuporg), les possibilités données aux utilisateurs, bref ce n'est plus la même dépêche et cela devrait être sur ton site et donné en lien pour motiver du monde à faire une flashmob ;-)

          • [^] # Re: et le jeu ?

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

            C'est ça, après avoir lu la dépêche, on se dit "ok, cool, ce jeu a l'air bien blindé et optimisé, mais au fait.. il s'agit de quoi exactement ? Quels sont les types d'interaction qu'on peut avoir avec les personnages du jeu, à quoi servent les PNJ ? A quoi ressemble le système de looting ? de quêtes ? comment est le système d'XP ? Y'a-t'il un background historique à l'univers qui nous est proposé ? Peut-on personnaliser son avatar ? Le monde est-il totalement persistent ou bien y'a-t'il un reboot régulier ? etc, etc etc".
            Ou alors, cette dépêche ne s'adresse pas aux joueurs potentiels, mais AMHA, il aurait fallu l'introduire tout autrement.

            • [^] # Re: et le jeu ?

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

              il aurait fallu l'introduire tout autrement

              j'ai bien une idée, non pas celle-là, mais oui : ajouter des copies d'écran et faire un retour sur le ressenti utilisateur serait un bon complément ;-)

            • [^] # Re: et le jeu ?

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

              Ok, ça ce précise:
              - MMORPG
              - Les joueurs peuvent interagir comme pour n'importe quel MMORPG: parler, échanger ou ce vendre des objets, combattre, faire des équipes
              - Les PNJ servent pour mettre de l'ambiance, faire des quêtes, vendre, acheter, stocker, combatre
              - Le système de looting est assez simple, à la fin de chaque combat, l'on as X% de chance de recevoir X à Y objet(s)
              - Le système de quêtes est basé sur du texte (très proche de lineage), on doit faire des combats, apporter des objets, parler à des PNJ, avoir tel réputation ou avoir fini tel quel quêtes. Cela donne comme récompense: de la réputation, des items, accés à d'autre zone.
              - Le système d'XP est basé sur les combat gagné, il y as un système de SP qui permet d'apprendre des compétences ou d'amélioré les niveaux des skills déjà aquis. Ce système de SP peu être désactivé coté serveur.
              - Il y as un background à l'univers, hélas l'as personne le fessant ne l'as pas écrit.
              - Ont peu choisir son avatar, mais pas encore le personnaliser.
              - Le monde est persistent
              J'avoues qu'un petit teste puis une suggestion d'écriture de dépêche serai simpa.
              Hélas pas de joueur pour l'instant.

              Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

          • [^] # Re: et le jeu ?

            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 15 décembre 2014 à 13:02.

            Hélas il n'y as pas de joueurs. Quelque testeur c'est tout. C'est trés sympathique même en y jouant tout seul.
            Quelque retour serai simpa pour amélioré ce qui ne vas pas, par exemple j'aime pas certain truc dans le contenu du jeu (datapack), à voir si c'est la même chose pour d'autre joueur.

            Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

            • [^] # Re: et le jeu ?

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

              Pour avoir des joueurs, il faut faire une communication qui soit plus orientée joueur. Et vu la quantité de MMORPG disponibles, il faut arriver à mettre en avant ce qui est propre au jeu du point de vue des joueurs.

              Le fait qu'il soit libre et visiblement bien abouti est un excellent point qui va attirer une certaine population (au hasard, des gens qui traînent dans le coin) mais pour les transformer en utilisateurs, il faut vendre du rêve, donc pas des chiffres, mais un univers, un style de jeu particulier, une expérience spécifique. Il manque un client linux déjà empaqueté pour bien faire, aussi…

              Là, typiquement, je lis la nouvelle comme j'ai lu les précédentes sur le jeu : avec un certain intérêt sur le fait que "ça avance" (j'aime les projets qui marchent), ensuite je me dis "est-ce que je le teste ? Bof, je sais pas trop ce que je vais y trouver, ça va sans doute être classique… Erf, c'est anglais sur le site, encore un truc où je vais devoir me farcir de l'english… bon quand même, aller voir, y'a pas tant de MMORPG libre et sous linu… Ah, pas de client linux… faudrait que je redémarre sous windows… Bon, dépêche suivante !"

              Bref si j'ai bien au départ une petite envie d'aller voir, la flamme est vite soufflée parce qu'il n'y a rien pour nourrir mon côté "joueuse feignasse". Je finirais bien par le tester un de ces jours, mais jusque là ce n'est toujours pas fait.

              Y'a du boulot "hors du code". Courage :)

              • [^] # Re: et le jeu ?

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

                Hélas je suis pas trés vendeur.

                Pas de client linux (comme Ultracopier) car je sais pas packager sous linux avec https://build.opensuse.org/.

                Il y a pas mal de boulot hors code comme dans le code. Je doit faire les traductions fr, … bref c'est beaucoup pour moi tout seul.

                Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

      • [^] # Re: et le jeu ?

        Posté par  (site web personnel) . Évalué à 4. Dernière modification le 14 décembre 2014 à 15:14.

        c'est important de savoir que le jeu est bien protégé, crypté, sécurisé

        Ben non… tant que tu ne nous donne pas envie d'y jouer, ben les technos utilisées dans ton jeu on s'en fout un peu. De même que tu te fiches pas mal de savoir si le logiciel XYZ est bien sécurisé tant que tu ne sais pas quoi en faire.

        Pour donner envie regarde comment font les autres : captures d'écran un peu partout, démos, vidéos, animation, présentation graphique sur le site web avec peu de texte sur les pages d'accueil — le blabla est placé dans la documentation, etc. Bref, faut plus de fun !

        "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: et le jeu ?

          Posté par  (site web personnel) . Évalué à 4. Dernière modification le 15 décembre 2014 à 10:20.

          J'oubliais : ta dépêche ne mentionne même pas la disponibilité de paquets pour le client. Alors qu'on aurait pu être nombreux à l'installer pour tester… ça aurait fait du monde sur ton serveur et ça aurait été rigolo de se retrouver tous sur le même terrain de jeu.

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

          • [^] # Re: et le jeu ?

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

            Hélas pas de paquets pour linux tant que j'arrive pas à faire marcher: https://build.opensuse.org/
            Il faut le compiler depuis les sources. Juste Qt5 est requit.

            Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

        • [^] # Re: et le jeu ?

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

          Hélas je ne sais pas mettre en forme une video, je ne suis pas trés commercial.

          Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

  • # Graphismes

    Posté par  . Évalué à 1.

    Les graphismes ressemblent énormément à ceux des jeux pokémons sortis à l'époque sur gameboy advance, ce sont les sprites de ces jeux récupérés ou une forte influence ?

  • # Essai

    Posté par  . Évalué à 2.

    J'ai passé du temps à compiler le client, j'ai essayé le jeu. Je n'arrive pas à sortir du 1er village.
    Où est la liste des commandes ?

  • # Si j’arrivais à y jouer

    Posté par  . Évalué à 3.

    Bon j’ai suivi les instructions du README pour compiler le client et j’ai l’erreur suivante dans la fenêtre du jeu:

    No datapack!

    De plus, le README est un peu incompréhensible, il pointe vers https://github.com/alphaonex86/datapack qui donne une erreur 404.

    D’autre part, quand j’essaie de m’inscrire sur le site, j’obtiens le message suivant:

    Your password need be composed of upper and lower char and number. And need be more than 6 of lenght

    Pourtant, je peux t’assurer que mon mot de passe correspond bien à la description. :)

    Du coup j’ai pas réussi à tester ni le client solo, ni le client de jeu en ligne…

    Écrit en Bépo selon l’orthographe de 1990

    • [^] # Re: Si j’arrivais à y jouer

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

      Lien corrigé vers:
      https://github.com/alphaonex86/CatchChallenger-datapack

      Tu peu me donner un exemple de passe similaire?
      https://github.com/alphaonex86/CatchChallenger-site/blob/master/register.php#L289 -> pas de caractères spéciaux, corrigé

      Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

      • [^] # Re: Si j’arrivais à y jouer

        Posté par  . Évalué à 2.

        Lien corrigé vers:
        https://github.com/alphaonex86/CatchChallenger-datapack

        Pas sur le Github en tout cas :P

        Tu peu me donner un exemple de passe similaire?

        Sans dévoiler d’informations sur mon mot de passe, c’est compliqué…

        https://github.com/alphaonex86/CatchChallenger-site/blob/master/register.php#L289 -> pas de caractères spéciaux, corrigé

        J’ai réussi à m’inscrire! Par contre il faut que j’attende d’être chez moi, j’imagine que CatchChallenger utilise un port spécial et du coup à l’école c’est bloqué.

        Par contre tu ne m’as pas répondu pour le datapack… J’ai bien suivi les instructions pourtant:

        cd client/single-player/
        qmake *.pro
        make
        git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack

        Quand je lance l’exécutable, j’ai ça:

        QEventLoop: Cannot be used without QApplication
        QApplication::qAppName: Please instantiate the QApplication object first
        QApplication::qAppName: Please instantiate the QApplication object first
        QEventLoop: Cannot be used without QApplication
        "GCC 4.9.2 build: Dec 15 2014 09:46:07"
        "Qt version: 5.4.0 (328704)"
        QObject::connect: invalid null parameter
        QGraphicsScene::addItem: item has already been added to this scene
        QObject::connect: signal not found in CatchChallenger::ClientFightEngine
        

        Écrit en Bépo selon l’orthographe de 1990

        • [^] # Re: Si j’arrivais à y jouer

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

          https://github.com/alphaonex86/CatchChallenger/blob/master/README
          Si pourtant.

          Si tu remplace des minuscules par d'autre, des majs par d'autre, numéro par d'autre…

          Oui port spécial et alétoire, sur le serveur officiel c'est 42489.

          Version Solo? J'ai update le README:
          mv CatchChallenger-datapack/datapack/ datapack/
          devrai résoudre le probléme.

          Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

          • [^] # Re: Si j’arrivais à y jouer

            Posté par  . Évalué à 2.

            mv CatchChallenger-datapack/datapack/ datapack/
            devrai résoudre le probléme.

            Presque, je crois que les commandes précédentes avaient créé un dossier datapack, ce qui fait que les données se sont retrouvées dans datapack/datapack/.

            Du coup j’ai réussi à lancer la version solo. :) Je testerais probablement pendant les vacances.

            Écrit en Bépo selon l’orthographe de 1990

  • # Idem que mes VDD

    Posté par  . Évalué à 1.

    A l'image de mes voisins du dessus, je trouve dommage qu'on n'ait pas plus d'informations sur le jeu. Qu'est-ce que ton jeu apporte de plus/différent par rapport aux autres meuporgs ? Qu'elle est l'orientation du jeu ? Quel est le background ? Le but ? Les mécaniques ?

    Effectivement, derrière ça semble costaud mais quand j'ai cliqué sur l'article, je m'attendais à ce qu'on me fasse saliver sur le jeu, pas sur les technologies utilisées.

    Certes, ce dernier point est très intéressant également mais je ne sais rien du jeu en lui-même au final…

    Bon après un petit tour sur le site, ça ressemble à un pokemon-like sauce MMO (en respectant même le style de l'époque GBA). Une idée actuellement surexploitée mais aucun projet ne m'a encore réellement conquis…

    J'irai quand même compiler ça dans le semaine et faire un tour. Le projet a l'air sérieux.

    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: Idem que mes VDD

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

      Il est libre, de trés trés bonne qualité. Orientation du jeu? Le background n'est pas écrit, j'ai fait la demande à la personne. Le but: jouer… Je vois pas comment expliquer les mécaniques. Hélas je suis techniciens/libriste mais pas un gros joueur.
      Ca me sert surtout de plateforme de développement de technologie avec une application (pour pas faire des tech qui ne servent pas). Et je laisse les clefs aux autre pour créé leur propre serveur, mécaniques et style de jeu.

      En fait c'est visuellement proche de pokemon, mais pour les mécaniques ça tiens plus de X3 et lineage.

      Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

      • [^] # Re: Idem que mes VDD

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

        Si tu n'as pas de background et que tu cherche quelque chose à exploiter, je peux peut-être te proposer quelque chose. Je ne sais pas si ça correspondra à ton projet, mais il se trouve que je fais partie d'un projet qui développe un univers libre (enfin, en cc-by-sa), dont le but est d'être entre autre exploité dans un MMORPG et… ben si on a inventé tout ça, c'est pour que ça puisse servir aussi : http://khaganat.net

        Oui, je sais, je devrais en causer dans une dépêche/un journal mais j'ai toujours des raisons de procrastiner (le site est pas nickel, j'ai la flemme d'écrire un truc bien, j'ai la trouille des réactions par rapport à ce projet, c'est le bazar quand on débarque, y'a Noël, etc). Mais quand je vois les mot-clés "MMORPG" et "pas de background" ben… je ne peux pas garder la possible solution pour moi, hein ? Ça ne serait pas très fairplay.

        Donc voilà, regarde si ça t'inspire, si ça peut coller à ce que tu as, si la licence te convient ; si tu veux prendre des morceaux ou un peu plus, tout est faisable.

        • [^] # Re: Idem que mes VDD

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

          La licence me conviens et ça colle. Hélas que j'ai pas le temps de faire le datapack, mais c'est trés simple à faire.

          Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/

        • [^] # Re: Idem que mes VDD

          Posté par  . Évalué à 0.

          C'est marrant ton background me fait penser à ryzom : http://ryzom.com/?lang=fr
          Si je peux me permettre (et je sais que c'est tout à fait subjectif) je trouve que le background ne colle pas du tout avec les graphismes proposés, avec un tel background on a envie de découvrir un monde ou les graphismes sont bien léchés, tu nous parles de villes, de paysages arides, de grottes immergées, de peuples reptiliens, de peuples de la jungle, de montures pleines de couleurs, etc
          Perso je suis plus un adepte des quelques graphismes que tu proposes sur ton projet khaganat

      • [^] # Re: Idem que mes VDD

        Posté par  . Évalué à 0.

        Ca je veux bien te croire que le code est propre et je ne remets pas en doute tes compétences. Je me suis peut-être un peu mal exprimé mais je trouvais dommage qu'on n'ai pas un point de vue de joueur sur cette dépêche.

        Effectivement, ça se sent que tu n'es pas un joueur et je dis ça sans aucune volonté de dénigrer ton travail, je ne me le permettrai pas. Simplement, la dépêche est très technique et même si c'est intéressant dans une certaine mesure, ce qu'on attend d'un jeu… c'est de jouer . Et donc savoir ce qui va nous attendre, dans quelle fabuleuse aventure on va se plonger…

        Bon après, le jeu est encore en développement, ceci peut expliquer cela aussi. Le mieux est encore que j'aille me faire une opinion directement (oui j'ai dit ça y a quelques temps déjà… mais promis, je le ferai dès que j'aurai un peu de temps).

        Quoi qu'il en soit, je te souhaite bon courage pour la suite.

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

Suivre le flux des commentaires

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