CatchChallenger est un MMORPG, un jeu de rôle massivement multijoueur. Particularité ? il est indépendant, en ligne et entièrement libre : licence GPLv3 pour le code, les données (artwork) et le site.
La base du jeu est un mélange de différent styles : combat, agriculture, exploration, fabrication, commerce, gestion, compétition. Le travail est concentré sur la jouabilité, les performances et la créativité.
Cette version totalise plus de 8Mo de code, plus de 2500 commits avec 400k de lignes sur cinq ans de vie (sur les différentes parties du projet). Le client et le serveur sont développés sous GNU/Linux, puis empaquetés automatiquement pour MacOSX et Windows.
Les systèmes de jeu
Les joueurs peuvent interagir comme pour n'importe quel MMORPG, c'est à dire parler, échanger ou vendre des objets, combattre et constituer des équipes.
Les PNJ, personnages non joueurs, viennent mettre de l'ambiance : ils peuvent mener des quêtes, vendre, acheter, stocker, combattre…
Le système de quêtes est basé sur du texte (très proche du jeu Lineage), on doit combattre, apporter des objets, parler à des PNJ, gagner en réputation ou terminer des quêtes. Cela permet d'obtenir des récompenses tel que de la réputation, des items, ou l'accès à d'autres zones.
Le système d'expérience est basé sur les combats gagnés. Il y a un système de compétences qui permet d'apprendre des compétences ou d'améliorer les niveaux de celles déjà acquises. Ce système de points de compétences peut être désactivé coté serveur.
Le système de pillage est assez simple : à la fin de chaque combat, on a x % de chance de recevoir x à y objet(s).
Enfin, il y a un système de culture de plantes et de fabrication ; une économie très évoluée, type X3 (industrie, cycle de fabrication).
Depuis la dernière version
Le serveur et le code commun ont été réécrits en C++11 pour assurer une meilleure longévité du projet. Ça ouvre aussi la porte à plus de contributeurs. Et en bonus, ça améliore les performances!
Le multi-serveur a été le plus compliqué à revoir, car la base de données et le datapack ont été restructurés en arbre. Le datapack supporte une carte et une histoire par serveur, et des variations.
Le mode cluster a été ajouté, il permet d'avoir un groupe de serveurs à travers le monde. La mise à l'échelle sur 200 serveurs ne cause pas le moindre problème. Un certain nombre de points pour la haute disponibilité semble avoir été résolu.
Divers outils sont apparus tels que les statistiques des serveurs en temps réel, ainsi que d'autres outils pour gérer un cluster dont la supervision pour connaitre en temps réel les problèmes sur le réseau.
Le site continue d'évoluer en utilisant une représentation intermédiaire des informations pour l'export en HTML ou vers Mediawiki.
La stabilité est meilleure grâce à une batterie de tests qui sont exécutés avant la mise en production.
Le sous-projet Gateway permet l'accès à un serveur sous Tor/I2P depuis l'internet classique afin de rendre le site plus accessible depuis des zones où le réseau est filtré/censuré.
La base de données n'exploite plus uniquement le SQL, mais supporte aussi le NoSQL. Les bases officiellement supportées sont MySQL/MariaDB, Percona, PostgreSQL, SQLite.
Le projet est toujours à la recherche d'aide pour le client :
- un développeur Html5/Websocket/WebGL
Diverses améliorations sur le gameplay telles que l'encyclopédie, pas mal de retouches de l'interface.
Les sous projets
Il existe un projet de diplôme et formation en ligne afin de former des personnes sur le projet et potentiellement les embaucher.
Système de machine virtuelles, inclus sur le GPU pour avoir 4096 VM par GPU (dérive des travaux de gestion de couche TCP et SSL via GPGPU). Et diverses choses autour de l'administration système.
Divers formats et protocoles pour montrer le savoir faire dans ce projet (format pour maximiser la compression avec des formats existant tel que zlib, xz, lz4). La manière de standardiser vos formats.
Les projets hautes performances (exploitation de très nombreux cœurs, SIMD, …) et divers benchmarks sur x86 (out of order) et ARMv6/v7/v8 (in order) pour varier les différents comportements et lenteurs potentielles. Et le changement nécessaire dans divers OS (surtout Linux) pour maximiser les performances.
Datacenter personnel (http://catchchallenger.first-world.info/wiki/Portable_datacenter) utiliser comme préproduction et les problèmes et solutions potentielles pour les pays en voie de développements tel que la Bolivie.
Le datapack, il permet de modifier le contenu du jeu, crée vos cartes, votre propre jeu.
Le futur
La version 2 vient de sortir. Je vais donc prendre un an pour essayer de stabiliser tout cela avant de commencer d'autres parties.
Pour l'utilisateur final
Client plus évolué.
Changement interne
Suppression du point unique de défaillance (Single Point of Failure ou SPoF en anglais) avec la mise en place d'un cœur P2P, et un certain nombre d’expérience sur les données semi-structurées à grande échelle.
Les serveurs
De meilleurs bots pour jouer à votre place sur les serveurs dédiés.
Fonds
Le projet étant réalisé de manière professionnelle et par des professionnels, soumis à l'impôt et encadré par une entreprise, il a besoin de fonds. La version 2 qui est en vente actuellement en bitcoin, Paypal, sur le nextcoin market. Le code, même vendu, est sous GPL3.
Aller plus loin
- Site de CatchChallenger (846 clics)
- Wiki (77 clics)
- Contenu des serveurs (99 clics)
# LC_LANG ?
Posté par ʭ ☯ . Évalué à -2.
C'est terrible de venir en parler ici, sans aucune traduction, ni du site, ni des captures écran. Bien sûr, l'audience anglaise est plus large, mais LinuxFr, c'est aussi le site des no-anglophones… le jeu n'est donc pas traduit?
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: LC_LANG ?
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
Il y a un User's wiki (en) et un User's wiki (fr). Dans les sources il y a aussi mention de traductions fr, dans le client par exemple.
[^] # Re: LC_LANG ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 2.
Tu as raison, mais avec ma charge de travail et le projet, je n'est pas eu le temps de faire les traductions.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: LC_LANG ?
Posté par karteum59 . Évalué à 7.
ça valait peut-être mieux, en fait… ;o)
# Linux ?
Posté par ʭ ☯ . Évalué à 2.
Petit détail non précisé : pas de client Linux?
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Linux ?
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
La page des exigences pour le client http://catchchallenger.first-world.info/wiki/Client_requirements laisse penser que le client peut fonctionner sous GNU/Linux (mais les binaires fournis sur le site sont pour Windows et MacOS uniquement, il faut donc compiler soi-même ou trouver une distribution pour le faire à sa place).
[^] # Re: Linux ?
Posté par papap . Évalué à 2.
Si, il me semble qu'il y a un client Linux,puisque j'avais essayé de le compilé pour Linux.
[^] # Re: Linux ?
Posté par zurvan . Évalué à 2.
si vous avez comme moi cette erreur au début :
Project ERROR: Unknown module(s) in QT: quick qml script
Vous pouvez au moins installer ces paquets (sous debian/ubuntu/mint):
sudo apt-get install qtquick1-qml-plugins qtquick1-qml-plugins qtscript5-dev qt5-default qtdeclarative5-dev qtbase5-dev
bon, ensuite j'ai une erreur à la compilation :
/usr/include/c++/4.8/bits/regex.h:2182:5: note: template argument deduction/substitution failed:
../../general/base/Map_loader.cpp:581:86: note: mismatched types ‘const std::basic_string<Ch_type>’ and ‘const char [1]’
const std::string &base64textClean=std::regex_replace(base64text,e,"");
^
make: *** [Maploader.o] Erreur 1
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: Linux ?
Posté par DerekSagan . Évalué à 1.
ça ressemble à du Qt 5 que tu compilerais avec du Qt 4
[^] # Re: Linux ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 2.
Debian stretch: apt-get install build-essential gcc automake qt5-qmake liblzma-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default qtdeclarative5-dev qtscript5-dev libvlc-dev
Et correction pour debian envoyé sur: https://github.com/alphaonex86/CatchChallenger/tree/version-2
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Linux ?
Posté par DerekSagan . Évalué à 1.
Yep, j'ai compilé facilement le client ultimate avec mon Qt 5 custom (que j'avais déjà sur mon PC pour d'autres raison), mais le master segfault demain j'essayerai avec un tag :) mais je témoigne que ça compile très bien avec Qt5 sur Debian 8 (Jessie) aussi.
[^] # Re: Linux ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 2.
Le master est la version 1 qui n'est plus maintenu depuis plus de 2 ans
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Linux ?
Posté par DerekSagan . Évalué à 4.
C'est pas super malin que ça soit la branche par défaut sur github alors, mais bon c'est pas très grave, j'ai fait un checkout v2.0.0.0 et devine quoi, ça compile nickel et ça plante pas au lancement :-)
Bon, après ça demande une clef, comme dirait l'autre çapucépalibreenfincépagratuit ;-)
Mais le client single lui, il compile, il se lance, il marche et il ne demande pas de clef.
Donc ça va c'est pas la mer à boire à compiler soi-même. Même pour quelqu'un comme moi qui ne connait rien du tout à ton jeu et à ton env de dev (mais qui a déjà compilé du Qt, je le reconnais).
Le jour où tu voudras faire un package linux (fut-ce un tar.gz pas intégré aux systèmes des distribs), t'as ça qui peut peut-être t'aider à embarquer tous les bouts de runtime Qt que tu veux sans te prendre la tête avec les noms des packages d'une distrib à l'autre pour tel ou tel module Qt voire QML:
https://github.com/probonopd/linuxdeployqt
(mais bon la dernière fois que je l'ai essayé ça marchait pas complètement, en tout cas pas aussi bien que leurs pendant windows et macos)
Bon j'ai pas essayé ton jeu longtemps parce que j'aime pas trop les rpg-à-la-japonaise, mais ça a l'air prometteur pour ceux qui aiment le genre, bravo :-)
[^] # Re: Linux ?
Posté par zurvan . Évalué à 2.
on dirait que non pourtant :
qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
user@login /tmp/CatchChallenger/client/single-player $ qmake
user@login /tmp/CatchChallenger/client/single-player $ make
g++ -c -m64 -pipe -std=c++0x -Wall -Wextra -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIE -DCATCHCHALLENGER_XLMPARSER_TINYXML1 -DTIXML_USE_STL -D__linux__ -DCATCHCHALLENGER_CLIENT -DCATCHCHALLENGER_SOLO -DCATCHCHALLENGER_CLASS_QT -DCATCHCHALLENGER_VERSION_SOLO -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtSql -I/usr/include/qt5/QtXml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtScript -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -I. -o Map_loader.o ../../general/base/Map_loader.cpp
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: Linux ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 3.
Essaye avec la version 5.4 minimum.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Linux ?
Posté par zurvan . Évalué à 2.
Une réponse tardive :
merci, j'ai mis à jour ma distribution et j'ai maintenant qt 5.4
Pour compiler tu peux rajouter qu'il faut également ce paquet :
sudo apt-get install libqt5opengl5-dev
Ça semble plutôt bien fait comme jeu. Effectivement ça ressemble pas mal à pok*mon mais comme tout est changé ça ne devrait pas poser de problème avec les ayant droit…
Au début, en version 1 seul joueur, je suis entré dans une maison. J'ai vu des escaliers mais n'ai pas pu monter car je longeais à chaque fois les murs et ne pouvais me centrer sur les escaliers. Ensuite, quand j'étais le long d'un mur près d'une fenêtre et de rideaux, je passais derrière ceux ci.
Puis j'ai eu ce crash :
Bon, j'y retourne, mon fils est impatient de continuer à jouer à CatchChallenger !
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: Linux ?
Posté par zurvan . Évalué à 2.
nouveau petit retour rapide :
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: Linux ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 3.
Le packaging par distro est trop complexe, je n'y suis cassé les dents sur Ultracopier.
Donc le client marche et est développé sous Linux, mais je ne fourni pas de binaire Linux.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Re: Linux ?
Posté par galex-713 . Évalué à 1.
en général faut laisser ça à des gens qui connaissent la distro, parce que par exemple sous Debian oui ça peut être clairement complexe… mais si le jeu gagne de l’ampleur on peut imaginer que ce sera packagé un jour ^ ce qui lui fera gagner encore plus en notoriété…
…après je me demande si ya des systèmes de dons intégrés dans apt ce serait intéressant…
[^] # Re: Linux ?
Posté par devnewton 🍺 (site web personnel) . Évalué à 5.
C'est le problème: le packaging est tellement complexe qu'il faut que le logiciel soit connu pour être packagé, mais pour être connu, c'est mieux d'être packagé…
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Linux ?
Posté par ʭ ☯ . Évalué à 3.
J'ai l'impression que krita a résolu ce problème, ils fournissent un gros binaire qui marche direct partout.
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Linux ?
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 2.
s/résolu/contourné
[^] # Re: Linux ?
Posté par ariasuni . Évalué à 2.
Krita a surtout fait ça pour permettre d’utiliser facilement la dernière version quelque soit la version empaquetée pour la distribution.
Écrit en Bépo selon l’orthographe de 1990
# LE ROI LION
Posté par n0wic . Évalué à -10.
Je reconnait le personnage du bas issu du film de Disney "le roi lion" : c'est Samba !
[^] # Re: LE ROI LION
Posté par Mimoza . Évalué à 2. Dernière modification le 23 septembre 2016 à 14:32.
avec la queue en feu ça s'inspire aussi d'un monstre de poche (monspoche/ montroche / monstropoche ???)
[^] # Re: LE ROI LION
Posté par n0wic . Évalué à -10.
Confondre le Roi Lyon et une sorte de verre luisant c'est comme comparer les loukoums et les bonbons au miel, je ne peu pas te laisser faire cela.
[^] # Re: LE ROI LION
Posté par zurvan . Évalué à 6.
samblamèche
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: LE ROI LION
Posté par ariasuni . Évalué à 2.
poŝmonstro en Esperanto :D
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: LE ROI LION
Posté par CrEv (site web personnel) . Évalué à 2.
Simba.
# Un MMORPG en ligne ?
Posté par Pazns . Évalué à 3.
Un jeu de rôle massivement multijoueur qui a pour particularité… d'être en ligne ?
Qué ?
Une nuance de l'un des termes doit m'échapper.
[^] # Re: Un MMORPG en ligne ?
Posté par xcomcmdr . Évalué à 0. Dernière modification le 23 septembre 2016 à 15:46.
L'aspect MMO n'y est pas, si je me souviens bien.
L'aspect RPG n'y est pas, sauf si on parle de "RPG" à la Japonaise (donc pas des RPG).
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Un MMORPG en ligne ?
Posté par Guillaume Denry (site web personnel) . Évalué à 2.
Mince, il reste quoi alors ? :-)
[^] # Re: Un MMORPG en ligne ?
Posté par ariasuni . Évalué à 3.
Bah on parle de RPG occidental et de JRPG, ce sont donc tous les deux des RPG non?
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Un MMORPG en ligne ?
Posté par xcomcmdr . Évalué à 3.
Non.
Dans un RPG, tu joues un rôle. Tu as des choix qui ont des conséquences (voire "en vrai" du roleplay), des dialogues à embranchements multiples, des histoires différentes selon tes choix…
Dans un JRPG, tout ce que tu as c'est un tueur de monstres muet (et 9 fois sur 10 amnésique, comme ça c'est plus facile pour le background) qui gagne des XP.
C'est autant un RPG que moi je suis colombien. C'est à dire, pas du tout.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Un MMORPG en ligne ?
Posté par Shuba . Évalué à 2.
Je ne vois pas en quoi le fait de jouer un rôle implique le libre arbitre.
On peut très bien imaginer jouer le rôle d'un personnage historique, et dans ce cas-là tes actions n'ont pas à avoir de conséquences qui altèrent la réalité historique.
Jouer un rôle, c'est incarner un personnage, ça ne donne pas nécessairement de liberté quand aux actions de ce personnage.
[^] # Re: Un MMORPG en ligne ?
Posté par xcomcmdr . Évalué à 1.
En tout cas, ça implique plus que de tuer des monstres pour avoir des XP et une plus grosse épée.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Un MMORPG en ligne ?
Posté par Shuba . Évalué à 2.
C'est extrèmement réducteur comme vision des JRPG. Que tu n'aimes pas, c'est ton droit, mais tu n'es pas dépositaire du terme RPG.
[^] # Re: Un MMORPG en ligne ?
Posté par xcomcmdr . Évalué à 1.
Pas plus que les JRPG ont mérité le terme de RPG.
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Un MMORPG en ligne ?
Posté par ZeroHeure . Évalué à 3.
C'est moi qui ai restructuré la phrase en modération, j'aurai du enlever « en ligne » du coup. En tout cas l'auteur n'y est pour rien.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# Cross compile pour Mac ?
Posté par David Demelier (site web personnel) . Évalué à 1.
Est-ce que tu cross compile pour macOS ? Si oui je souhaite vraiment savoir comment tu fais :)
git is great because linus did it, mercurial is better because he didn't
[^] # Re: Cross compile pour Mac ?
Posté par n0wic . Évalué à -10.
Il fait comme ca :
http://kaioh.betatechnologies.it/wp-content/uploads/2010/12/rack2009.jpg
"OpenBSD Server Rack (2009)"
[^] # Re: Cross compile pour Mac ?
Posté par jcelerier . Évalué à 1.
Le plus simple je pense est d'utiliser Travis et Appveyor, c'est comme ça que je fait avec mes soft. On a accès à des machines virtuelles qui vont compiler chaque commit et on peut dire "ok, quand le ocmmit est taggé, déploie machintruc.app / linux-fr.exe / pouet.appimage sur github.
[^] # Re: Cross compile pour Mac ?
Posté par David Demelier (site web personnel) . Évalué à 1.
Il me semble que c'est justement nécessaire d'avoir des comptes github pour travis non ? Du coup ça n'est plus une option pour moi. Par contre je vais regarder pour appveyor :)
git is great because linus did it, mercurial is better because he didn't
# Go
Posté par Elfir3 . Évalué à 3.
Est-ce qu'une version Go est prévue afin de pouvoir faire pousser ses cultures un peu partout dans nos campagnes ?
# Diplôme ?
Posté par rewind (Mastodon) . Évalué à 5.
En France, je crois qu'il faut être habilité pour délivrer un diplôme. Vu la tête de l'image mise en lien, on pourrait très bien t'accuser de vouloir escroquer les gens en leur délivrant de faux diplômes. Je crois que tu devrais changer le nom et appeler ça autrement.
D'autre part, les Boliviens seront ravis d'apprendre qu'ils sont en voie de développement…
[^] # Re: Diplôme ?
Posté par EauFroide . Évalué à 2.
Faut vérifier car en Belgique c'est autorisé. Tout diplôme n'est pas reconnu par l'état ni par le secteur privé (et certains sont reconnu par l'un et pas par l'autre).
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
[^] # Re: Diplôme ?
Posté par galex-713 . Évalué à -1.
Ouais et le mec vivant en Bolivie justement…
[^] # Re: Diplôme ?
Posté par galex-713 . Évalué à -2.
Ouais et le mec vivant en Bolivie justement…
[^] # Re: Diplôme ?
Posté par alpha_one_x86 (site web personnel) . Évalué à 2.
Le nom est peu être à corriger, certification? Mais ce n'est qu'une idée.
De faire des certifications (comme CISCO) décentralisé et non falsifiable.
Mon projet libre: http://ultracopier-fr.first-world.info/, mon jeu libre: http://catchchallenger.first-world.info/
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10.
Ce commentaire a été supprimé par l’équipe de modération.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.