21-01-2012, 12:41 PM
Oups désolé, j'avais compris que c'était l'idée d'une nouveauté !
21-01-2012, 12:41 PM
Oups désolé, j'avais compris que c'était l'idée d'une nouveauté !
21-01-2012, 08:15 PM
Un petit truc stupide mais qui peu marcher au pire des cas : Alterner syllabes et consonnes. Tu peu pousser plus loin l'algorithme en rajoutant par exemple un "l" aléatoire après un autre "l" etc..
Sinon pour chaque lettre de l'alphabet tu fais un tableau avec les lettres qui peuvent la suivre (ex pour "q" : {u}) puis tu choisis au pif dans ce tableau a chaque fois et ainsi de suite
03-07-2012, 11:41 PM
(Modification du message : 03-07-2012, 11:43 PM par Thêta Tau Tau.)
Ptit déterrage.
J'avais promis des sources plus haut mais ayant abandonné mon script je n'ai finalement rien posté J'ai refait mon petit générateur de noms en beaucoup plus simple, mais les résultats sont meilleurs. Exemple de sortie, en utilisant des noms français comme base : Citation :MARRIN, NENTERSTANT, LENARD, VIPER, ARON, COUCOSTON, DENDRERT, BARDAL, CLANIN, CAGIER, PRINNIER, RIRBAND, FLONTIN, MALTY, LATAL, BAZET, ARDANC, LENNIER, RICCIX, PHINTARD, LEBRETE, MAGER, BIRCEIL, PIZIN, PELLIER, CHARLAN, LASLE, JAZUE, CHRERY, MANE, LERIT, FOURTOT, CHAMOURIN, DURDIN, VIALLIER Voilà le script :
05-07-2012, 02:40 PM
(21-01-2012, 12:33 PM)Thêta Tau Tau a écrit : Bien sur que ça existe déjà, le problème c'est que déjà c'est pas opensource donc pas intégrable dans nos jeux, et ensuite que c'est pas personnalisable (si on veut que nos noms ne soient pas pompés sur Tolkien ou autre). Bref c'est bien pour les rôlistes, ou si on a besoin de quelques dizaines de noms, mais c'est tout. Salut ! Je suis l'auteur de http://www.gunof.net, cité un peu plus haut Effectivement, il n'y a pas d'appli pour utiliser les noms dans un jeu (c'était prévu mais je n'ai pas le temps de bosser sur ce projet depuis plusieurs années). Par contre, je peux t'expliquer comment j'ai codé mon truc : comme l'algorithme n'est pas le même selon les nations, il y a un fichier de "règle" pour chaque type de nom et un ou plusieurs fichiers de syllabes associés. Pour ce fichier de règle, j'ai écrit un petit langage propre à la génération des noms qui est interprété par php. Niveau perf c'est pas top mais ça me permet beaucoup de liberté au niveau de la conception des noms... Et je compense par une mise en cache. Un exemple de règle pour Hobbit : SimpleMale: first + middle1 + middle2 + termM SimpleFemale: (fleurs_pierres | first + middle1 + middle2 + termF) ComplexMale: GUNOF.hobbit.male.simple + ' ' + names1 + names2 ComplexFemale: GUNOF.hobbit.female.simple + ' ' + names1 + names2 Par exemple, pour "SimpleMale", on récupère une syllabe aléatoire du fichier "first.txt" qu'on concatène avec une des fichiers "middle1", "middle2" et "termM". J'ai complexifié ce langage avec des conditions ( | qui signifie "ou") ou bien l'objet GUNOF qui retourne un nom complet. Les guillemets encadrent des chaînes de caractère que l'on peut utiliser telles quelles. C'est la raison pour laquelle mon "découpage" est pas mal : comme le langage de règle est simple, je peux avoir des algorithmes de conception très différents et l'ajout ou la modification d'une nation est très facile. Si j'avais le temps, je proposerais même un éditeur de noms pour que les utilisateurs puissent ajouter leurs propres nations... Mais ce n'est pas pour tout de suite : je dois auparavant boucler un gros projet sur lequel je bosse depuis plusieurs années (pas un jeu). @+
05-07-2012, 03:02 PM
Code : Traceback (most recent call last): est-ce que tu as testé le script que tu donnes ? Mon PC à du mal à reconnaitre « usr/env/python » Je me promène rarement à la racine de mon système de fichiers !
05-07-2012, 04:04 PM
(Modification du message : 05-07-2012, 04:13 PM par Sephi-Chan.)
Je suppose que c'est
usr/bin/env python et pas usr/env/python .
05-07-2012, 06:26 PM
(Modification du message : 05-07-2012, 09:15 PM par Thêta Tau Tau.)
@Niahoo : Sur mon PC (windows) cette ligne ne sert à rien, je l'ai juste bêtement copié/collé d'un script qui fonctionnait sous linux. Sous windows tu peux l'enlever, sous unix essayes "#!/usr/bin/python3.2".
@Harparine : Ton langage il te sert uniquement pour assembler de nouveaux noms ou aussi à découper des noms préexistants?
05-07-2012, 11:05 PM
(05-07-2012, 06:26 PM)Thêta Tau Tau a écrit : @Harparine : Ton langage il te sert uniquement pour assembler de nouveaux noms ou aussi à découper des noms préexistants? Juste pour assembler. En général, je me fais mes listes de syllabes sur Excel pour les premiers tests. Je me fais mon "découpage" à la main. C'est la phase la plus longue car il faut beaucoup d'ajustements pour que tout fonctionne bien. @+
05-07-2012, 11:21 PM
Mais non les gars c'est juste qu'il manque un slash, c'est un chemin absolu .. je pensais que vous comprendriez quand je parlais de la racine du système (oui je me suis gouré en tapant mon post c'est bien /usr/bin/env python)
je l'ai trouvé facilement, il ne trouve pas Mais sinon l'exception que j'ai, elle est bien réelle ! peut être que c'est du python 3 ou un lib pas à jour. ça tourne sur quelle version chez vous ?
06-07-2012, 12:51 AM
Même erreur chez moi avec Python 2.7.3 sous Windows
|
|