Developpement d'un MWS-like ... Some teasers !!

Forum > Communauté > Trucs qui servent à rien
Total : 437 Messages. Page n°19/30 - < 1 ... 17 18 19 20 21 ... 30 >
Utilisateur(s) présent(s) sur ce sujet :
  • et 0 invités

chaudakh

Avatar de chaudakh

Hors Ligne

Modérateur Passif depuis le 16/07/2024

Modération : Arts, Decks

Grade : [Modo Forum]

Inscrit le 11/10/2003
7037 Messages/ 0 Contributions/ 605 Pts

Envoyé par chaudakh le Jeudi 02 Avril 2009 à 15:37


Avec 20 lands, dans un deck de 60cartes.

Tu as plus 30% d'avoir un land qui suit un land.

Faux, ça dépend du nombre de cartes piochées, du nombre de lands piochés, et du nombre de cartes restant en biblio....


Le mélangeur de MWS introduit un biais non négligeable sur la répartition statistique des cartes...Son implémentation se réduit au code suivant (dans la dernière version) :
Code :
begin 
n:=T.Count;
for k:=0 to Min(60,n) do
for i:=0 to n-1 do
T.Move(i,i+RandomInt(n-i));
end;


Ne permet pas un mélange aléatoire, puisqu'on swap des cartes uniquement vers l'arrière du deck. n x min(60,n) swapping ne suffisent pas à avoir un mélange parfaitement aléatoire avec ce type de procédé, surtout si on joue plus de 60 cartes ! .... Il aurait au moins fallu faire une boucle de k=0 à n et faire un swap intégral:
Code :
T.Move(i,(RandomInt(n)));


Une preuve mathématique du biais, par exemple sur la répartition des terrains en main de départ, que j'avais posté à l'époque :
http://www.magiccorporation.com/gathering-forum-viewtopic-14-49577.html
Un mélangeur parfait respecte l'équiprobabilité de chaque carte lors d'un mélange.

Si vous voulez je poste le code de MW du mélangeur : il est programmé à partir de la loi mathématique et il a une complexité en n, et non en n^2 comme celui de MWS : il est donc plus performant, mais aussi plus rapide.

[ Dernière modification par chaudakh le 02 avr 2009 à 15h45 ]

___________________


Freak

Avatar de Freak

Hors Ligne

Membre Inactif depuis le 10/05/2018

Grade : [Druide]

Inscrit le 08/05/2004
1855 Messages/ 0 Contributions/ 42 Pts

Envoyé par Freak le Jeudi 02 Avril 2009 à 16:20


Jsavais pas qu'on pouvait récupérer le code de MWS

Sans poster le code, l'algo suffira.

J'ai rapidement lu ton lien.

Donc ton mélangeur sera plus réaliste mais, car il y a un mais. L'aléatoire en tournoi, je connais pas vraiment, par contre, d'après des rumeurs, rien n'empêche le joueur de prévoir son deck avant d'aller au tournoi et le mélanger bien sûr une fois à sa table.

Seulement, la main humaine ne mélange jamais comme un mélangeur. Chacun sa technique mais la mienne arrive facilement à laisser 3,4 cartes collées. Comptant cela que le reste du paquet est "prévu", le risque d'avoir trop ou pas assez de lands est très réduites. Du coup, à défaut de faire vraiment mana death, j'ai toujours (90% des cas) 2 à 4 lands en main.

Alors du coup, est ce qu'un mélangeur parfait représentera mieux la réalité que MWS en pensant cela ?

Autre point, qui est assez important si tu veux que ton jeu ait le plus grand public possible, vois combien de personnes se plaignent de MWS non pas parce qu'ils ont trop de lands mais parce qu'ils en ont pas assez.

Ensuite le déplacement subtile des probas va peut être augmenter tes mana deaths en main de départ, mais du coup augmenter aussi tes mana full en fin de partie.


Pour finir sur une note d'informatique, testé en Java et approuvé.

Debut

Pour i de 0 à (ListeCartes.taile - 1) faire
alea <- aleatoire(0, (ListeCartes.taille - 1))
Deck[i] <- ListeCartes[alea]
ListeCartes.retirer[alea]
FPour

FIN


ListeCartes et Deck étant des listes (ListeCartes chaînée, Deck File), alea un nombre. Je suppose la fonction aleatoire et retirer correctes.
Au final j'avais mon paquet de cartes bien mélangé. Maintenant, j'admets, problème de temps, ca fait un peu fumer le processeur.

D'ailleurs, en parlant de temps, est ce que ton programme sera plus rapide que MWS ? (Module de Construction et Module de Jeu).

___________________


Demystificator, c'est moi: Le Seul, l'Unique, l'Innimitable, l'Irremplaçable, le Vrai.

Il vous apprendra à faire le mort

benef

Avatar de benef

Hors Ligne

Membre Inactif depuis le 24/07/2024

Grade : [Divinité]

Inscrit le 26/07/2005
2337 Messages/ 0 Contributions/ 0 Pts

Envoyé par benef le Jeudi 02 Avril 2009 à 16:38


Le 02/04/2009, Freak avait écrit ...


Seulement, la main humaine ne mélange jamais comme un mélangeur. Chacun sa technique mais la mienne arrive facilement à laisser 3,4 cartes collées. Comptant cela que le reste du paquet est "prévu", le risque d'avoir trop ou pas assez de lands est très réduites. Du coup, à défaut de faire vraiment mana death, j'ai toujours (90% des cas) 2 à 4 lands en main.


Et le mec en face il ne coupe pas ton paquet ?
Si je vois qu'il y a des cartes collées en face, je remélange automatiquement le deck de mon adversaire.

___________________

Envoyé par Manouel le Lundi 22 Novembre 2010 à 00:14
 Comme tous les 3 mois. En fait benef, c'est une unité de mesure assez précise...
Mini-Wagic : http://tappedout.net/mtg-decks/mini-wagic-5-colors/

chaudakh

Avatar de chaudakh

Hors Ligne

Modérateur Passif depuis le 16/07/2024

Modération : Arts, Decks

Grade : [Modo Forum]

Inscrit le 11/10/2003
7037 Messages/ 0 Contributions/ 605 Pts

Envoyé par chaudakh le Jeudi 02 Avril 2009 à 16:43


Jsavais pas qu'on pouvait récupérer le code de MWS

MWS n'est pas open source ... La team a choisi de rendre public son code pour le mélangeur afin de démontrer qu'il était mathématiquement parfait, et mettre fin aux rumeurs sur leur mélangeur pourri. Ils se sont fait vite démonté par la communauté de joueurs ferrus de mathématique qui a montré que le mélangeur était avec un tel code nécessairement biaisé.
Comptant cela que le reste du paquet est "prévu", le risque d'avoir trop ou pas assez de lands est très réduites. Du coup, à défaut de faire vraiment mana death, j'ai toujours (90% des cas) 2 à 4 lands en main.

Impossible, un jeu de 60 équilibré de 33~35% de lands fournit une main sans lands à 5% en gros, et une main à 1 lands à environ 18% ... donc 23% de chance de mana death. Soit à tout casser 75% de chance d'une main de 2 à 4 lands (la proba de main à 5, 6 ou 7 lands est de l'ordre du %) .... On est loin des 90% annoncé...
Les jeux qui alignent seulement 17~18 lands jouent à coté 4 Brainstorm + 4 Ponder pour aller chercher rapidement un second lands et plus. Ainsi, les mains à 1 land sont rarement synonymes de mana death ou demulligan. Presque toutes les mains sont jouables dans ces decks, contrairement à des jeux dont la construction est plus classiques avec une curve progressive de moyenne environ 2.5, où là, tu as 23% de chance de mulliganer à chaque tirage de main.... Dans un format comme le Legacy, ça change vraiment tout !
Autre point, qui est assez important si tu veux que ton jeu ait le plus grand public possible, vois combien de personnes se plaignent de MWS non pas parce qu'ils ont trop de lands mais parce qu'ils en ont pas assez.

Ca n'a pas grand chose à voir. Et pourtant, je fais régulièrement des mana death sur MWS avec un jeu à 43 lands sur 60 cartes, je fais mana full avec un jeu à 17 lands sur 60 ... et je sais construire mes jeux. J'avais regardé les probas et je réalise souvent sur MWS des événements qui hautement improbable (genre 0.00001% de chance de se produire ....j'aurai préféré gagner au loto, j'avais la même chance....), comme piocher 12 cartes non lands d'affilée dans un jeu de 43 lands /60, ou piocher 8 lands d'affilée dans un deck qui n'en aligne que 17 ... Tu remarqueras aussi qu'après un mélange de biblio sous MWS en début de partie, (un fetch par ex), tu as environ 70% de chance d'avoir un land sur le dessus de la biblio.... Je m'étais suis amusé à la calculer. Bref, le mélangeur de MWS est biaisé, mais ça se voyait déjà dans le code de toute façon.

Sinon pour mon mélange je fais pour i=0 to CartesDeck.Length-1 un calcul des probas cumulées des cartes restantes, en supposant une équiprobabilité du tirage des cartes restantes, valant 1/Nrestantes, puis je choisis un nombre aléatoire entre 0 et 1 (1 exclu), ce qui me donne la tranche des proba cumulées aléatoirement choisie, et je prends la carte ainsi selectionnée et je la mets à la position i dans un deck temporaire, qui écrase à la fin de l'algo le deck d'origine.

D'ailleurs, en parlant de temps, est ce que ton programme sera plus rapide que MWS ? (Module de Construction et Module de Jeu).

MWS n'est pas un logiciel lent. Ce qui est génant dans ce log, ce sont davantage ses bugs ...

[ Dernière modification par chaudakh le 02 avr 2009 à 16h49 ]

___________________


Freak

Avatar de Freak

Hors Ligne

Membre Inactif depuis le 10/05/2018

Grade : [Druide]

Inscrit le 08/05/2004
1855 Messages/ 0 Contributions/ 42 Pts

Envoyé par Freak le Jeudi 02 Avril 2009 à 18:21


J'ai balancé un pourcentage au pif.

Pour la vitesse, heu, sous vista le module du jeu est assez lent je trouve (au lancement du logiciel, pas d'une partie).

Bref, tant mieux si ton jeu se rapproche de la réalité, au moins les tests faits déçus seront dignes de confiance.

___________________


Demystificator, c'est moi: Le Seul, l'Unique, l'Innimitable, l'Irremplaçable, le Vrai.

Il vous apprendra à faire le mort

Boon

Avatar de Boon

Hors Ligne

Membre Inactif depuis le 02/08/2021

Grade : [Nomade]

Inscrit le 11/09/2007
137 Messages/ 0 Contributions/ 0 Pts

Envoyé par Boon le Samedi 04 Avril 2009 à 16:47


Si les traductions sont toujours d'actu je te reprospose mon aide pour l'espagnol, le néerlandais, le japonais et le portugais.

Si t'es toujours intéressé je t'enverrai mon mail par MP.

Tchuss

[bave] j'ai hate de desinstaller MWS [/bave]



___________________

Il est possible d'exprimer son désaccord sans mépris.
Même face a quelqu'un de maladroit.

chaudakh

Avatar de chaudakh

Hors Ligne

Modérateur Passif depuis le 16/07/2024

Modération : Arts, Decks

Grade : [Modo Forum]

Inscrit le 11/10/2003
7037 Messages/ 0 Contributions/ 605 Pts

Envoyé par chaudakh le Mercredi 08 Avril 2009 à 13:45


Oui les trad sont toujours d'actualité :il manque :
Néerlandais
Allemand
Espagnol
Portugais
Japonais
Chinois
Coréen
Russe
Suédois ou Norvégien

D'autres langues sont tout à fait envisageables : plus y'a de langues proposées, mieux c'est.
Il suffit simplement de traduire un "gros fichier" qui regroupe tous les textes affichés.

C'est pas une urgence, car la version Anglaise et Française sont OK.
La version Italienne est à mettre à jour.
Je peux aussi me démerder pour les versions Allemande, Jap et Russe.

J'ai en revanche aucune notions d'Espagnol ni de Portugais.

[ Dernière modification par chaudakh le 08 avr 2009 à 13h46 ]

___________________


Sacha

Avatar de Sacha

Hors Ligne

Admin Inactif depuis le 13/05/2024

Grade : [Super Modo]

Inscrit le 03/06/2003
6407 Messages/ 1 Contributions/ 0 Pts

Envoyé par Sacha le Mercredi 08 Avril 2009 à 14:32


un travail de titan. je radote un peu, mais vraiment, bravo bravo bravo Chaudakh pour cet énorme boulot !!!

___________________


Alzaroth

Avatar de Alzaroth

Hors Ligne

Membre Inactif depuis le 01/10/2010

Grade : [Sortisan]

Inscrit le 16/10/2005
74 Messages/ 0 Contributions/ 28 Pts

Envoyé par Alzaroth le Samedi 11 Avril 2009 à 19:37


J'ai fait de l'Espagnol pendant 7 ans en scolaire, je suis très loin d'être bilingue mais si tu n'as pas de traducteur, je peux regarder si je peux t'aider si tu veux.


chaudakh

Avatar de chaudakh

Hors Ligne

Modérateur Passif depuis le 16/07/2024

Modération : Arts, Decks

Grade : [Modo Forum]

Inscrit le 11/10/2003
7037 Messages/ 0 Contributions/ 605 Pts

Envoyé par chaudakh le Dimanche 12 Avril 2009 à 02:34


bien volontiers !
Je te filerai le fichier à traduire quand celui ci sera finalisé

Sinon le logiciel gère :
— Ouverture automatique du port 4748 (pour jouer en ligne)
— Gestion des marqueurs +1/+1
— Gestion des loyautés
— Gestion des marqueurs
— Gestion des modifications de force
— Gestion des notes
— Gestion du hors phase
— Gestion des mues et des cartes retournées face cachée
— Possibilité de jouer des cartes en mue ou face cachée directement depuis la main
— Possibilité de regarder des cartes face cachée
— Gestion de la duplication de cartes non retournées
— Animation en créature
— Arrivée en jeu engagée
— Gestion de l'assignation des blessures
— ....

Quelques screens pour illustrer tout ça :




___________________


dplag

Avatar de dplag

Hors Ligne

Membre Inactif depuis le 15/02/2010

Grade : [Nomade]

Inscrit le 01/01/2009
88 Messages/ 0 Contributions/ 0 Pts

Envoyé par dplag le Jeudi 16 Avril 2009 à 17:39


ou telecharger se magnifique logiciel?


Yoshun

Avatar de Yoshun

Hors Ligne

Membre Inactif depuis le 23/07/2017

Grade : [Druide]

Inscrit le 12/01/2008
537 Messages/ 0 Contributions/ 49 Pts

Envoyé par Yoshun le Jeudi 16 Avril 2009 à 18:10


Il ne l'a pas encore fini ...
Faut être patient ^^

___________________


Freak

Avatar de Freak

Hors Ligne

Membre Inactif depuis le 10/05/2018

Grade : [Druide]

Inscrit le 08/05/2004
1855 Messages/ 0 Contributions/ 42 Pts

Envoyé par Freak le Vendredi 17 Avril 2009 à 17:51


Enfin ca parle de marqueurs, il y a t'il moyen de placer plusieurs types de marqueurs ? Si non, est ce au programme ?

Autres questions :
On voit le perdre type créature, mais comment se passe si l'on veut la faire devenir créature ? Clic droit et puis ?

Les cartes hors phase sont elles séparées du RFG normal ?

Le retournement en mue fixe automatiquement en 2/2 ? Si oui c'est vraiment pratique.

___________________


Demystificator, c'est moi: Le Seul, l'Unique, l'Innimitable, l'Irremplaçable, le Vrai.

Il vous apprendra à faire le mort

chaudakh

Avatar de chaudakh

Hors Ligne

Modérateur Passif depuis le 16/07/2024

Modération : Arts, Decks

Grade : [Modo Forum]

Inscrit le 11/10/2003
7037 Messages/ 0 Contributions/ 605 Pts

Envoyé par chaudakh le Vendredi 17 Avril 2009 à 18:07


Le 17/04/2009, Freak avait écrit ...

Enfin ca parle de marqueurs, il y a t'il moyen de placer plusieurs types de marqueurs ? Si non, est ce au programme ?

Autres questions :
On voit le perdre type créature, mais comment se passe si l'on veut la faire devenir créature ? Clic droit et puis ?

Les cartes hors phase sont elles séparées du RFG normal ?

Le retournement en mue fixe automatiquement en 2/2 ? Si oui c'est vraiment pratique.

1/ Il y a 3 types de marqueurs gérés : les marqueurs loyauté, les marqueurs +1/+1 et -1/-1 qui modifient tout seul la F/E en lui ajoutant le nombre respectif de +1/+1, et les marqueurs "normaux", genre charge, temps etc. A priori on peut séparer ce dernier "types" de marqueurs en plusieurs sous catégorie 'marqueur 1, marqueur 2, marqueur 3" s'il le faut, mais ça risque de vraiment surcharger et embrouiller. Surtout qu'il a la possibilité de mettre des notes en cas de multimarqueurs.
A noter que le prog différencie les marqueurs +1/+1 et les modification de F/E via un gain de +1/+1 comme avec Lord of Atlantis par ex. (comme en vrai, quoi ... )

2/ Dans le menu clic droit, si la carte cliquée n'est pas une créature, alors l'option est "gagner le type creature" (pour gérer les animations de cartes, genre Opalescence, Usine de Mishra). Si la carte cliquée est une créature alors l'option est "perdre le type créature" ... J'ai préféré un menu alternatif pour ne pas surcharger comme un malade les options de clic droit. Cela marche pareil pour " Dégager normalement", "Hors phase", "Retourner face visible" etc...

3/ Une carte hors phase n'est pas RFG. Donc oui elles sont séparées du RFG normal.

4/ Oui, un retournement en mue fixe automatiquement la carte en 2/2 (+ ses marqueurs +1/+1 éventuels). Quand une carte est retournée face visible, le prog gère tout seul le changement de F/E avec la F/E de la créature retournée, si c'est une créature.

[ Dernière modification par chaudakh le 03 jun 2009 à 14h04 ]

___________________


Freak

Avatar de Freak

Hors Ligne

Membre Inactif depuis le 10/05/2018

Grade : [Druide]

Inscrit le 08/05/2004
1855 Messages/ 0 Contributions/ 42 Pts

Envoyé par Freak le Vendredi 17 Avril 2009 à 18:43


Pour la 2, je voulais dire, la carte devient une 0/0 ou une petite fenêtre s'ouvre demandant la F/E ?

Bravo pour la mue et le calcul de F/E. Pour les marqueurs j'avoue qu'à la longue ça embrouille mais un jeu artefact qui joue beaucoup de marqueurs ou un simic, certaines parties peuvent poser ce problème.
Et un plus pour les marqueurs loyauté.

___________________


Demystificator, c'est moi: Le Seul, l'Unique, l'Innimitable, l'Irremplaçable, le Vrai.

Il vous apprendra à faire le mort

Total : 437 Messages. Page n°19/30 - < 1 ... 17 18 19 20 21 ... 30 >
Espace Membre

Identifiant

Mot de passe

Se souvenir de moi