Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Le problème vient de l'idée qu'on se fait d'un % en fait. Les probabilités, c'est tout un métier, et ce n'est pas mon domaine ^^. Dire qu'une chose à 50% de chance de se produire ne signifie pas qu'elle se produira 1 fois sur 2. La fonction Random s'efforce juste de sortir un tirage "le plus aléatoire possible" entre 2 bornes. Donc, aucun nombre n'étant "favorisé", ils ont en effet, théoriquement, chacun autant de chance de sortir... Mais dans la pratique, cela ne nous amène pas bien loin. Bref, pour faire simple. Exemple sur 4 listes : - listes numérotées (1,2,3,4) - un rand(1,4) déterminerait la liste tirée - chacune aurait autant de chance qu'une autre de sortir Mais "égalité des chances" ne signifie pas "équité des résultats" (on en sait quelque chose en france, hein ), donc tu pourrais très bien te retrouver avec le même tirage plusieurs fois de suite... l'équité n'apparait que sur le long (très long) terme, en tant que moyenne. Cela dit, ça se manipule ces choses-là. On peut imaginer mettre une limite à la récurrence du résultat (voir une différente pour chaque item) => relancer le tirage en cas de résultat identique plus de n fois. Ce genre de bidouille quoi. --------- edit ----------Et merci de t'intéresser à mon problème o/ ! J'aimerai bien voir l'aspect "survivor" ressortir plus souvent dans les projets. Cela dit, j'ai quelques doutes sur ce que donnera le tien, à voir une fois en place ^^ Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Au niveau de ce que tu expliques sur les listes numérotées, ça me semble assez facile à biaiser. Mettons que j'ai 4 objets à vouloir faire spawner : Une pelle, un pistolet, un fusil, une armure. Disons que je voudrais que la pelle ait 40% de chances de spawner, le pistolet 30%, le fusil 20% et l'armure 10%. Il suffit de faire 10 listes :1. Pelle. 2. Pelle. 3. Pelle. 4. Pelle. 5. Pistolet. 6. Pistolet. 7. Pistolet. 8. Fusil. 9. Fusil. 10. Armure. De cette façons, certes l'armure peut toujours popper 50 fois de suite, mais par contre on a favorisé certains items. Est-ce que ça marcherait ? Citer
Crazy Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Sinon, pensez à la courbe de gauss ;p Citer "Quand on tire on raconte pas sa vie!"
Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Dans l'idée, c'est bien ça. => un gros dés de 10 faces, certains items sont sur plus d'une face. Seulement, cela ne correspondrait pas "en réalité" à 1 face = 10%... 1. Pelle. 2. Pelle. 3. Pistolet. 4. Fusil. 5. Armure. 6. Fusil. 7. Pistolet. 8. Pistolet. 9. Pelle. 10. Pelle. Cette table pourrait donner des résultats bien différents... Je ne sais pas ce que donne la rand en C. J'ai utilisé celle de php pour un autre projet, et il semble que les résultats tendent à rester groupé autour de la médiane (tirage sur 100). Donc, se méfier des fonctions Random en général. Par contre, on peut trouver des moyens de les utiliser... Tout est question de méthode, la Rand n'est qu'un outil il ne faut pas trop lui en mettre sur les épaules. Citer "Le Loup maintient le Caribou en bonne santé..."
Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Dans l'idée, c'est bien ça. => un gros dés de 10 faces, certains items sont sur plus d'une face. Seulement, cela ne correspondrait pas "en réalité" à 1 face = 10%... Cette table pourrait donner des résultats bien différents... Je ne sais pas ce que donne la rand en C. J'ai utilisé celle de php pour un autre projet, et il semble que les résultats tendent à rester groupé autour de la médiane (tirage sur 100). Donc, se méfier des fonctions Random en général. Par contre, on peut trouver des moyens de les utiliser... Tout est question de méthode, la Rand n'est qu'un outil il ne faut pas trop lui en mettre sur les épaules. ---------- edit ---------- Ahahah Crazy Je connais de nom et de loin, mais pas assez intime avec le Monsieur. Une piste à creuser en effet, encore faut-il avoir le niveau en math pour la comprendre suffisament. Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 OK, c'est plus clair maintenant. Et c'est possible de coder ça en AngelScript ? Citer
Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Je n'ai pas mis les doigts dans AS, j'édite directement les FOS pour l'instant. Mais je ne vois pas pourquoi AS serait restrictif là-dessus ^^ Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Oui les .fos je tâtonne aussi ("Tiens ça fait quoi si j'enlève le } ?" ). Eh bien si tu arrives à avancer un peu à ce propos préviens moi \o/ Citer
Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Avec quels paramètres veux-tu appeler cette fonction, et avec quoi en return ? Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Houla C'est là que mon ignorance se révèle au grand jour, les masques tombent et tout ! Tu m'humilies Bref tout ça pour dire, je ne vois pas ce qu'est un paramètre ou un return en ce qui concerne les fonctions... Fichtre. Citer
Berko Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 Depuis la revision 24 du sdk la fonction pseudo-aléatoire a été changé par un nouvel algorithme (Mersenne twister à la place du standard C) C'est coooool non ? *sort* *revient* Les fichiers .fos sont en AngelScript, donc si tu touche a ces fichiers tu touche à de l'AngelScript Une fonction c'est comme un chapeau de magicien, tu peut y mettre des choses dedans et y ressortir autre chose ou ne rien y mettre ou ne rien ressortir .. Une fonction est sensé être un minimum généraliste, si elle doit mettre des objets à un endroit il faudra lui dire quels objets et à quel endroit (les paramètres). La fonction peut retourner aussi des informations ou pas, genre ici si la fonction n'ajoute plus rien après 10kg elle pourrait retourner si elle a ajouter des objets ou pas qui pourrait être intéressant de le savoir .. ou pas ou si le contenaire existe ou pas .. Un exemple d'une fonction à utiliser en jeu pour poper un ou des objets dans un inventaire, il faudrait en paramètre l'id du perso, l'id de l'objet et le nombre. En retour on aurait l'information si ca réussit ou pas : "Done." ou "Error object id xxx not found" ou "Access denied" .. etc .. Peut être regarder du coté des fonctions qui existe déjà (respawn_item.fos) qui procède différemment mais qui donne une bonne base. *ressort* Citer ~~~~
Amarok Posté(e) le 9 janvier 2011 Posté(e) le 9 janvier 2011 @Izual : Ok, tu peux remettre ton masque pour l'instant ;o) Tu as le temps de te pencher sur le sujet. On en rediscutera, une fois que j'aurai une ébauche à te présenter. @Berko : Content de voir que tu es toujours sur la brèche ;o)Depuis la revision 24 du sdk la fonction pseudo-aléatoire a été changé par un nouvel algorithme (Mersenne twister à la place du standard C) C'est coooool non ? Ah oui, en effet, ça a l'air de valoir le détour ! Tu l'as déjà pratiqué ? Les fichiers .fos sont en AngelScript, donc si tu touche a ces fichiers tu touche à de l'AngelScript Il me semblait qu'AS n'était "qu'une interface", pas un language à proprement parlé. ^^"Merde, je fais de la prose !" Peut être regarder du coté des fonctions qui existe déjà (respawn_item.fos) qui procède différemment mais qui donne une bonne base. Toujours la meilleure méthode, c'est sûr. Observer l'existant. ------------- edit : après exploration quasi exhaustive ----------- Je n'ai trouvé que des cas où la Rand est utilisée de façon "brute". Donc autant partir là-dessus, ça sera au même degrée d'aléatoire que le reste du jeu. => cad exactement le genre de liste que tu proposais Izual. ;o) 1. 1er item ... 10. 10e item Random(1,10) Rock N Roll Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Euh, bien bien ! Le shmilblick avance ! Sinon, comme je m'ennuyais non comme j'étais bourré non APRÈS UNE ÉNIÈME NUIT BLANCHE PASSÉE A BOSSER SUR LE MOD, j'ai sorti un nouveau trailer officiel. Hop hop hop c'est ici -> '> Citer
Amarok Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Monage marrant, mais... euh... un peu light en contenu, isnt it ? Je ne vois pas le lien avec Alamo ^^ Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Comment ça pas de contenu ? C'était pas informatif peut-être ? Enfin y a du texte quand même au début... :-( Citer
Amarok Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Ben, ça ne montre/dit rien sur ALamo en particulier. Le concept, le déroulement ou autre... ces particularités quoi Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Oui Comme dit dans le post (peut-être pas explicitement), c'est juste pour déconner. Un résultat plutôt amusant* (pour moi) pour une heure de "travail" * Le mec qui faisait les trailers a été viré. Citer
Amarok Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Video sympa, pas de souci la-dessus ;o) Je suis juste assez impatient d'en savoir plus sur ton projet ^^ Ton script de téléportation ne devrait pas poser problème non plus. Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 12 janvier 2011 Posté(e) le 12 janvier 2011 Je pense qu'entre la première vidéo (la sérieuse ) et ce que j'ai dit dans ce sujet on peut avoir une vue assez claire de ce que donnera - dans l'idéal - FO:Alamo. C'est pas que je ne veux pas donner plus d'infos dessus, mais je ne vois pas trop quoi dire de plus. Maintenant il manque du contenu à montrer, c'est à dire qu'il n'y aura pas d'update avant que j'ai bien avancé. Mais chaque jour j'avance un peu plus. Encore merci pour ton aide sur les scripts, comme je l'ai dit en page précédente sans aide extérieure au moins au niveau codage ce projet ne verra pas le jour :-( Citer
Amarok Posté(e) le 13 janvier 2011 Posté(e) le 13 janvier 2011 Au fait, le script de téléportation, c'est uniquement pour les aller-retour ville/QG ? Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 13 janvier 2011 Posté(e) le 13 janvier 2011 Oui. En parlant à un NPC au QG pour aller à la ville, et automatiquement retour au QG lorsque la ville est pacifiée. Citer
Amarok Posté(e) le 13 janvier 2011 Posté(e) le 13 janvier 2011 Ok. Aurais-tu des versions (même pré-alpha) de tes maps (zone à pacifier + QG) à me filer pour tester les scripts ? Citer "Le Loup maintient le Caribou en bonne santé..."
Invité Posté(e) le 13 janvier 2011 Posté(e) le 13 janvier 2011 Oui, j'ai des versions préliminaires. Je te les envoies par MP. Citer
adri34130 Posté(e) le 24 janvier 2011 Posté(e) le 24 janvier 2011 Vraiment un beau projet, de la coopération, on en a Marre du PVP a tout bout de champ, je te suis avec attention, courage ! Citer
Amarok Posté(e) le 28 janvier 2011 Posté(e) le 28 janvier 2011 Content de voir qu'il y ait autant de "fan" ^^ Pour ceux qui souhaiteraient participer au codage, histoire de ne pas se marcher sur les pieds : Les 3 requêtes initiales d'Izu sont pour ainsi dire pliées... L'Alpha n'est plus très loin ! Prochaines étapes : 1- les IA 2- Beta = balance mobs/player item 3- l'optimisation du code (soyons Visionnaires !) Donc si vous avez déjà tripotté certaines classes (Map/NpcPlane en particulier) N'hésitez pas à me contacter en MP. Citer "Le Loup maintient le Caribou en bonne santé..."
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.