Bienvenue sur Crafty
Crafty est un jeu de crafteurs. Envoyez vos fidèles acolytes explorer des lieux mystérieux et ramener des objets improbables. Trouvez des recettes et élaborez de nouveaux objets. Attention, vous passerez dans l'autre monde à 100 ans, mais peut-être existe-t-il des moyens de rester jeune.
   
Principe du jeu
Crafter
Anglicisme signifiant « artisan » (normalement on doit dire « craftsman » en anglais correct). Dans un jeu, un crafter est un personnage fabriquant divers objets. Le terme est aussi utilisé en tant que verbe du premier groupe.

(d'après Wikipédia entrée 'Lexique du MMOG')

Vous pouvez recruter des acolytes afin d'aller chercher des composants qui vous serviront à crafter des objets. Envoyer des gens coûte de l'or, rechercher une recette coûte aussi de l'or. Soyez donc un bon gestionnaire de vos ressources. Et le temps passe... Plus, la zone explorée par vos acolytes est dangereuse plus cela vous coûtera cher. Mais s'ils sont courageux, ils vous rapporteront de fantastiques composants. Et le courage se forge à mesure des promenades aventureuses.

Les recettes sont générées automatiquement selon l'algorithme du Deux ex machina, et elles sont innombrables. Pour crafter, il faut connaître des recettes. C'est en cherchant qu'on devient un meilleur chercheur. Plus un chercheur de recettes sera compétent, meilleures seront ses recettes, mais elles seront aussi plus compliquées (beaucoup de composants variés). Les objets que vous créez peuvent être utilisés pour aider vos acolytes dans leur quêtes. Où encore vous aider vous-même à rester en ce monde.

Développé sans framework, ni bases de données. Tout est sauvegardé sous forme de fichiers. Les fichiers de monstres et lieux sont modifiables durant une partie. Quasiment pas de JavaScript. HTML 5 (mais sous-utilisé).

Réalisé par David Lafourcade (ArtFX)

Principe des combats

Un personnage (dit 'acolyte' dans le jeu) dispose de 6 caractéristiques : ATTaque, DEFense, ARMure, COUrage, Point De Vie, RAPidité. On définir un jet sous une caractéristique comme un tirage aléatoire entre 0 et la valeur de cette caractéristique. Par exemple si ATT=10, un jet sous ATT sera une valeur tirée aléatoirement entre 0 et 10. On note dans la suite une telle valeur JET(ATT).

Lors d'un combat, en premier lieu est déterminé l'ordre de frappe des individu (acolytes + monstres) selon la RAP décroissante. L'acolyte/monstre le plus rapide frappera donc en premier. L'attaque consiste à comparer JET(ATT) de l'attaquant à JET(DEF) de la cible. Si JET(ATT) <= JET(DEF), l'attaque a échoué. Dans le cas contraire, l'attaque touche, les dégats infligés sont la différence entre l'attaque et la défense à laquelle on soustrait un jet d'armure du défenseur : (JET(ATT) - JET(DEF)) - JET(ARM). Cette valeur est déduite des PDV du défenseur. Si ceux-ci tombent à 0 ou moins le défenseur est mort.

Le combat se déroule en un maximum de 20 rounds. Le combat se termine si une des trois conditions suivantes est vérifiée : 1) tous les monstres sont éliminés, 2) tous les acolytes sont éliminés ou 3) les acolytes encore vivants fuient. Au début du combat, la VOLonté du groupe est calculée comme la somme du COUrages de chaque membre. On appelle VOLMAX cette VOLonté de départ. La VOLonté évolue au cours du combat selon les modalités suivantes :

La VOL ne dépasse jamais la VOLMAX. A chaque fin de round un JET(VOLMAX) est réalisé et comparée à la VOL courante. Si le jet est supérieur, le groupe s'enfuit. L'objet de la VOLonté est d'obtenir des groupes pouvant fuir si la situation est tendue, sans pour autant ne jamais finir un combat (et donc ne jamais rapporter de récompense).

Principe du Craft

Le joueur est invité à crafter des objets dont les acolytes peuvent être équipés. Ces objets fournissent des bonus plus ou moins importants aux caractéristiques (ATTaque, DEFense, ARMure, COUrage, Point De Vie, RAPidité) des acolytes les portant. L'intêret est de rendre les acolytes plus puissants, ils pourront donc survivre à des lieux d'exploration plus dangereux et rapporter des composants plus rares pour pouvoir 'crafter' de meilleurs objets afin de rendre les acolytes plus forts.. (d'accord ! ça se mord la queue, mais c'est un jeu...).

Le joueur ou la joueuse qui incarne un apprenti crafteur a la possibilité moyennant un peu d'or de rechercher de nouvelles recettes de craft. Chercher une nouvelle recette prend un peu de temps (le personnage veillit) et aboutit à la découverte d'une recette ayant les caractéristiques suivantes :

Pour effectivement réaliser la recette et obtenir l'objet, il faut disposer des composants qui seront consommées. On rappelle ici, que les composants sont les récompences rapportées par les acolytes à l'issue de leurs missions.

Le nom d'un craft (de sa recette en fait) est généré automatiquement en fonction de son type et de ses bonus (qui eux, sont générés aléatoirement lors de la recherche de la recette). Le nom suit le schéma suivant : Ainsi, il est possible d'affubler automatiquement les objets de noms qui correspondent à leur nature. Par exemple, on dispose d'objets tels que : A chaque recherche de nouvelles recettes, il y a une petite chance que le niveau de 'craftitude' de l'apprenti crafteur augmente. Plus ce niveau est élevé, plus la recette recherchée a des chances d'être celle d'un objet puissant. Ainsi, il est aventageux de rechercher autant de recettes possibles afin, pour un objet donné, d'avoir celle dont les composants sont les plus faciles à obtenir (ceux-ci sont complètement tirés au hasard). Cependant, cette recherche fait vieillir le crafteur et coûte des pièces d'or. L'or peut s'obtenir en vendant une partie de son inventaire (qui est rempli par les acolytes lors des missions). On ne 'loot' jamais de l'or.

Perdre et gagner On gagne tant qu'on ne perd pas :)
On perd si une des conditions suivantes est réalisée :

Interface utilisateur
Ci-dessous, une capture d'écran commentée de la page principale de jeu (redirection automatique après la connexion par login/mdp).



Difficultés rencontrées

On notera que l'approche consistant à ne faire qu'un seul fichier source (crafty.php) est volontaire, et ce afin de garder le projet le plus simple possible. Les autres fichiers sont exclusivement des fichiers de données sans code php.

Développements restants

Correctifs (à partir du 21/03/2019)


Source du projet http://www.jeuxdemots.org/CRAFTY/SOURCES/ (l'extension du fichier a été changée en .nophp pour pouvoir l'ouvrir depuis un navigateur sans être interprété comme un fichier php)
Source des fichiers de données :
  • monstres
  • lieux
  • images

Dernière mise à jour : 30 avril 2019.