Chat:Fr/2021-07-17
nicola: philRG, tu veux dire, pandas ?
philRG: nicola euh en fait ce serait pour trouver une fonction de répartition, comme il semble qu'il faille optimiser la répartition des cartes lors du choix du deck. Enfin là je suis en wood 2 et je viens de trouver un bug à la con
philRG: donc cap pour la wood 1
philRG: une fois en bronze je vais y réfléchir
Thyl: de base il faut pouvoir jouer contre tout type de draft avec ton draft
Thyl: donc il faut que tu puisses jouer à chaque tour
Thyl: a part si tu choisis de faire ton draft en aggro
Thyl: donc plein de petite créature qui tapent hyper vite
philRG: en fait lors de la phase DRAFT, je prends cette carte:
philRG: best_card = max(draft_board, key=lambda c: c.attack + c.defense)
philRG: draft_board est une liste de 3 cartes qui change à chaque tour de draft
Thyl: faut affiner
Thyl: moi ce que j'ai fzait
Thyl: tu crée une Classe Card
Thyl: avec une belle grosse fonction heuristique
Thyl: qui te permet d'évaluer suivant la carte
philRG: oui pas trop réfléchi pour l'instant mais oui il faut éviter d'avoir trop de grosses cartes pour ne pas perdre de tours de jeu
philRG: bon les objets sont dispos en wood 1
philRG: ça va m'occuper
philRG: ah ça monte bronze
philRG: seulement 62 bots en wood 1
Thyl: va voir du coté MTG ou Hearstone sur les conseils de deck building
philRG: ah ok merci pour le tip
philRG: MTG?
philRG: bon pas le temps de me concentrer sur les objets en wood 1 :(
philRG: ah oui quand même les nouvelles règles de Bronze :scream:
philRG: Trop de nouvelles règles d'un coup à implémenter :-(
Thyl: Magic the Gathering
Thyl: Peut-être essaye Hearstone sur ton téléphone
Thyl: ça peut te donner une très bonne idée
philRG: j'ai déjà joué à hearthstone il y a longtemps donc je connais un peu. J'ai une tablette sinon.
philRG: ah tiens on dirait qu'en bronze, il y a plus de cartes avec mana élévée
philRG: https://www.codingame.com/share-replay/570615174
Eunrynome: Salut tout le monde, je suis en train d'essayer de passer gold sur Fantastic bits, mon IA me convient sauf sur la recherche du snaffle le plus proche de mon sorcier, quelqu'un aurait un lien sous la main pour comprendre comment on cherche le point le plus proche d'un autre dans un tableau 2D ? Merci !
Thyl: tu connais pythagore ???
Eunrynome: Heu... j'suis peut être rouillé du coup je vois pas comment l'appliquer :')
dwarfie: :astonished:
Thyl: regarde
Thyl: tu a deux point
Thyl: ton sorcier et ton snaffle
Thyl: tu regardes quel est leur distance sur les x
Thyl: quel est leur distance sur les y
Thyl: bien sur fait attention mais tout à la valeur absolu
Eunrynome: Oh bordel je viens de comprendre !
dwarfie: on s'en fiche de la valeur absolu ...
Thyl: :)
Eunrynome: Merci pour le conseil, je me sent con haha
Thyl: oui
Thyl: c'est vrai
Thyl: valeur absolu vu qu'on met au carre après....
Thyl: non dis pas ça
Thyl: ça arrive
philRG: en gros sur FB il faut la combinaison qui minimise la somme des distances à parcourir
philRG: j'avais trouvé un article là-dessus: https://perso.ens-lyon.fr/ruben.staub/vrac/bash_tricks/trick_18.php
Eunrynome: Ah genre tu crées "Le parcours optimal" pour chopper tous les snaffles ?
Eunrynome: Je vais check, thanks
KiwiTae: il y a des adversaires qui les bougent c'est pas la bonne approche
philRG: possible j'ai pas eu le temps de poursuivre, mais au niveau mathématique c'est la meilleure solution
philRG: je pense
Eunrynome: La pour l'instant ma technique est plutôt con, je crée un triangle entre mon wizard et les potos adverses, si je peux mettre un flipendo je tire, je fais pareil pour défendre avec Accio, et entre temps je me balade de snaffles en snaffles pour les lancer vers le but adverse... :x
Eunrynome: (Je connais pas assez d'algo pour l'instant, du coup j'y vais au pif haha)
philRG: ah c que j'ai même utilisé encore les nouvelles règles en bronze :-)
KiwiTae: Eunrynome tu peux mettre un wizard en defense et un en attaque
philRG: s/même/même pas/
KiwiTae: je suis passéegold comme ca
Eunrynome: @KiwiTae, j'ai hésité à faire ça, je vais try, c'est vrai que je me retrouve souvent avec des wizards trop agressifs et du coup je prends pas mal de but
philRG: avec les nouvelles règles du coup mon algo les prend pas en compte c sûr
philRG: merci KiwiTae :-)
Eunrynome: Et tu gère les bludgers ou pour passer gold tu peux les laisser de côté et te dire "pas grave" ?
KiwiTae: ca fait un moment mais les bludgers sont utiles pour se déplacer non?
Eunrynome: Ils sont assez reloud, ils te repoussent beaucoup pour l'instant j'ai pas trouvé de manière satisfaisante de gérer le truc ça donnait n'importe quoi du coup je les ignores mais je perd pas mal de point a cause de ça :/
KiwiTae: au début je faisais tout pour les eviter, mais au final on peut sen servir pour rebondir
KiwiTae: ca permet de marquer plus vite~
KiwiTae: un peu comme "shield" dans csb
Eunrynome: Wow la c'est trop dur pour moi pour le moment, je vais me concentrer sur l'opti de mes déplacements et le positionnement de mes sorciers
KiwiTae: hehe bon courage
Eunrynome: Thanks, merci pour le coup de main, bonne journée les gens !
philRG: hehe :-) faut y aller par étapes. Chaque nouvelle règle et ligue change le problème ;-)
philRG: Eunrynome: oui à mon souvenir, ce sont les bludgers qui me neutralisent pour mon algo de déplacement
philRG: pas quoi l'effet de rebond à la csb hehe
philRG: s/pas quoi/pas con
philRG: pour ça qu'il y a du GA sur FB, j'avais pas fait le lien hehe
leojean890: les premiers font des algos génétiques ou autres algos d'optim ouais
philRG: oui sinon je vois pas comment simuler efficacement. Je suis noob en GA
philRG: après faire une fonction de simulation comme sur CSB mais pour FB
philRG: ca me paraît un peu surdimensionné en bronze ceci dit
KiwiTae: bon exercice :p
KiwiTae: https://github.com/SpiritusSancti5/codinGame/blob/master/Referees/Fantastic%20Bits/Referee.java juste copy le referee pour sim
philRG: ah Eunrynome est en Silver sur FB ok
philRG: KiwiTae: merci ça peut aider pour la détection des collisions :-) je me garde sur l'oreille ;-)
philRG: le
KiwiTae: moi je suis sur hypersonic la ~ je construis mon ide tranquillement
philRG: ah en python? pourquoi pas
philRG: j'ai un MC avec numpy mais ça coince en silver, faudrait que je le passe en Beam search car mon BFS fait timeout
philRG: après j'avais récupéré sur github un code utilisant numpy quand j'étais monté en bronze
philRG: pour m'initier à numpy et MC search
philRG: sans numpy, pas de passage en silver en python sur HS
philRG: en MC
philRG: j'ai jamais codé de Beam search jusque là...
philRG: les simulations en python, ça plafonne sur certains sujets
KiwiTae: je fais depth 4 sur code of kutulu en python
KiwiTae: c'est ur que c'est pas le bon langage pour heavy sim counts~
philRG: ah pour code of kutulu passé gold avec une fonction heuristique de 2 lignes trouvée sur un PM (depth 1 :-))
philRG: en général je dépasse pas depth 4 ou 5 en python sauf sur oware où le gameplay est simple
philRG: ça m'a initié à l'heuristique code of kutulu
philRG: sur onitama j'ai bien plafonné sur mon min-max question perfs, mais en grande partie due à des fonctions de déplacement trop coûteuses, ma première simulation en python en fait lol
philRG: on apprend en faisant
3141948: s/depth 1/depth 0/ sur kutulu
leojean890: hypersonic, je suis 330/500 legend avec un bfs depth 3 seulement hein
leojean890: en python
leojean890: en gros si tu es bloqué silver c pas à cause des perfs mais d'un bug ou un souci d'éval ?
leojean890: COK ouais gold même depth 1 ça se fait avec une éval correcte
leojean890: 59eme gold, 108eme total juste depth 1
3141948: Ok merci leojean mon bfs est en draft en fait je me souviens pas terminé
3141948: Il fait timeout mon bfs en fait
3141948: Faudra que je le recode
3141948: Bon pas mon truc car je suis parti sur un code existant pour tester le MC et pas motivé
3141948: Je préfère réfléchir à des stratégies qu'à des algorithmes de résolution
3141948: Ca va en faire tiquer certains lol
leojean890: tu timeout à quelle depth ?
leojean890: moi je pars même pas du referee, juste du statement
leojean890: non ce que t'as pas compris c'est que les premiers font stratégie+ algo de résolution ^^
leojean890: en gros si t'as juste un algo de search ça va pas marcher
leojean890: faut avoir une bonne heuristique avec
leojean890: MCTS => bons élagages
leojean890: BS ou minmax => bonne éval
leojean890: (tu peux aussi avoir des élagages dans un BFS/BS
leojean890: mais ouais si tu préfères tu peux coder des strats direct avec des if
leojean890: certains passent légende ainsi
3141948: Ah Hearthstone a été porté sur Android et iPhone en 2014
dwarfie: leojean890 ... le dieu des evals a 2 ronds qui marchent ;)
3141948: Oui c fort de passer légende avec que des ifs, mais il faut aussi des fonctions d'évaluation de chaque coup costauds pour monter légende.
3141948: Si tu es dieu, tu montes légende direct 😂
dwarfie: ou pas ... j'ai rien de mirobolant a HS ou FB ... et je suis legend
3141948: leojean890: si j'ai compris le principe mais je maîtrise pas encore bien les différents algorithmes
nicola: dans la peau.
nicola: :notes:
3141948: C pas une critique ceci dit, pas encore fluent en algorithmes de recherche
Bon[]Crayon: Salutations :ghost:
Bon[]Crayon: Automaton2000 o/
Automaton2000: ah oui tiens j'avais pas vu
Bon[]Crayon: Automaton2000 C'est toi que j'ai croisé hier ?
Automaton2000: comment ça se passe bien
Zorg1: Automaton2000, tu gères ?
Automaton2000: les regles c'est pour les faibles
Zorg1: :D
Bon[]Crayon: Automaton2000 Première règle, il est interdit de parler de tortue sur ce chat.
Automaton2000: oui t'as pas le même que celui de java
3141948: 🐢
3141948: Zorg1: 🐢
3141948: Automaton2000: 🐢
Automaton2000: je trouve le nom de la classe de b
3141948: Pardon Zorg1
philRG: bon un petit BrutalTester pour tester mes fonctions de sélection de deck Automaton2000 qu'en penses-tu?
Automaton2000: moi je suis plutôt content
philRG: je suis sur la bonne voie :-)
philRG: Merci Automaton2000 :-) tortue
Automaton2000: bah c'est un algo qui marche bien pour les contests c'est pas mal
philRG: :-)
Flooven: Y a t'il des puzzle de refactoring sur coding game ? :)
nicola: Quoi-t-est-ce ?
Flooven: Un bout de code déjà fait que l'on doit améliorer pour qu'il soit plus lisible
nicola: On a l’inverse.
nicola: Un bout de code que tu as déjà et que tu dois rendre le plus court possible.
Flooven: Oui c'est ça que je cherche
Flooven: et on trouve ça ou ? ^^' j'ai du mal a rechercher sur le site
nicola: https://www.codingame.com/multiplayer/codegolf
philRG: ah ouais BT marche pas à tous les coups
nicola: British Telecom ?
nicola: Bite Triste ?
dwarfie: Big Turista ....
philRG: Blue tester
philRG: BrutalTester 100% de win en local mais 10 places gagnées dans l'arène
philRG: c koi ces histoires de couleurs sur les objets sur LoCM
philRG: Il y a trois types d'objets: Un objet vert doit cibler une créature du joueur actif. Il lui confère un effet positif.
philRG: et patati et patata :-D
philRG: heureusement que je me mets pas tout ça dans des listes de dictionnaires de tuples
philRG: ou dans des bitboards
philRG: quoique ça doit se steak hacher
BlaiseEbuth: Yo tout l'monde ! Automaton2000 ! AutomatonNN ?
Automaton2000: je me souviens plus ce que je pensais
dwarfie: Automaton2000 : a une tortue peut etre ?
Automaton2000: moi il me dit que la réponse était dans le top 10 !
Robinsstudio: La réponse est toujours dans le top 10. Qu'as-tu fait à AutomatonNN ? Ça fait longtemps qu'on ne l'a pas vu. N'est-ce pas Automaton2000 ?
Automaton2000: j'ai du mal a faire la meme chose pour tout le monde a la meme place
b0n5a1: o/
Zorg1: \o
-Cile-: \o/
Remi_avec_un_i: Bonsoir