Chat:Fr/2021-05-08
dbdr: \o
khalkhoul: bonjour
dbdr: bon, le screenshot c'est fait :)
Alex-1: salut
Oioi: salut
dbdr: beau bot, Oioi! Tu dois avoir de bonnes heuristiques
Oioi: Moins bonnes que les tiennes...
Oioi: pour l'instant ;-)
dbdr: pas sur du tout qu'elles soient moins bonnes
Oioi: Tu veux dire que je pars avec un handicap-start en refusant de choisir autre chose que Python ? :-)
dbdr: voila :D
dbdr: mais bon 3 pythons dans le top 4... pour l'instant ;)
Oioi: Pour l'instant, c'est pas trop un handicap : ça permet un développement rapide, pour rechercher des stratégies gagnantes ou s'en rapprocher
Oioi: Mais quand il va falloir optimiser tout ça...
Fonjihill: Qui participe à l'évènement ici?
dbdr: tout le monde :)
Pink: savez vous environ combien de personne passe silver a l'ouverture?
dbdr: le premier tiers en gros
Pink: ok merci, je suis proche
Pink: si c'est un compétition avec AI je clanche mais je suis consciente de pas etre niveau gold
Pink: j'ai hate que ca ouvre....
Oioi: "si c'est un compétition avec AI je clanche" : je dois me faire vieux... Une traduction ?
dbdr: clancher c'est quebecois je crois :)
Oioi: oh :-)
Pink: désolé oui, je suis une couche tard
dbdr: https://fr.wiktionary.org/wiki/clancher
Pink: ca veux dire passer le niveau
dbdr: faut rajouter ça au wiki alors :)
Pink: je dirais definition 5 ou presque
Oioi: Etonnant que tu ne cherches pas à compléter tes derniers arbres au dernier tour dbdr : https://www.codingame.com/replay/548740310
dbdr: effectivement...
dbdr: ah si, ils vaudraient que 1, non?
dbdr: enfin 1 puis 0
Oioi: Oui, c'est vrai
Oioi: Oh oui... en fait :-)
dbdr: tu le prends pas en compte?
Oioi: Non, au dernier tour je les complète tous. Mais c'est une erreur :-)
Thyl: GG dbdr
dbdr: merci :)
Thyl: ça te dérange si je te demande si c'est que de l'heuristique ???
Thyl: j'ai vu que tu en parler avec oioi
Thyl: c'est cool
Mazelcop: salut les matinaux
Oioi: salut
Thyl: salut !
Oioi: Ok, merci pour le tuyau dbdr
Oioi: ça torche
Gronahak: Hello :)
Thyl: oioi il marche bien ton sub
dbdr: Thyl non, je fais une recherche
dbdr: mal, mais bon...
Thyl: woua avec autant de commandes ?
dbdr: arf Oioi, ça aide autant que ça? :D
Alex-1: Thyl comment vas-tu
Thyl: mais bon à debuguer la simu ça à l'air dur
Thyl: Alex-1 très bien
Oioi: ça va me faire gagner quelques places... j'espère te piquer la tienne du coup ;-)
dbdr: :P
Thyl: oioi à 1 point...
Alex-1: :p
Alex-1: comment votre concours se passe-t-il
Oioi: La morale est respectée : je m'arrête sur la troisième marche :-)
Alex-1: agréable
Oioi: Bonne journée à tous, amusez-vous bien :wave:
Alex-1: pareillement
Alex-1: Oioi
Pink: j'ai fat un seed etrange... AI a fait 0point
3141948: Python langage permettant un développement rapide et couvrir des features plus rapidement qu'en C++ par exemple. Après pour couvrir un maximum de cas, une simulation va souvent avoir le dessus dans un langage compilé
Sawa974: ouh la modification qui fait plaisir, passé du rang 11XX à 115
-Cile-: bien joué !
3141948: Chercher des stratégies par contre est plutôt rigolo
Sawa974: merci, effectivement
3141948: D'abord tester un maximum de stratégies à la "mano" puis sortir l'artillerie lourde
Sawa974: je vasi pas avoir bcp de temps sur ce contest dc jvb évité les modif trop violente
Sawa974: je vais pas avoir beaucoup de temps sur ce contest donc je vais éviter les modif trop violente
3141948: Cool
3141948: J'ai trouvé un gros bug hier soir pas fini de le corriger
3141948: Genre de contest où on peut finir gold ou légende sans simulation avec de bonnes fonctions heuristiques et compréhension du jeu
3141948: Mon avis personnel d'un gars qui code peu de simulation
3141948: Ceci va dépendre des niveaux des boss que codingame va choisir ceci dit dans les ligues prochaines
Sawa974: c'est pas faux, déjà était bloqué contre un boss dans un précédent contest, c'est rageant
BigUP: philRG, faut voir
-Cile-: je viens de trouver un calendrier du jardinier. Je vais me fier aux jours "racines-feuilles-etc." pour savoir quelle action faire. On sait jamais, sur un malentendu...
Pink: objectif atteint : top 1000 yesss!!!!!
egaetan: gg Pink
philRG: BigUP yes
leojean890: ah tiens aucune place de perdue pendant la nuit, surprenant ^^'
leojean890: dbdr en tête^^
BigUP: mine de rien, je galèr ea passer top 1000 ! :) ca promet du gros contest ! :)
Sawa974: gg Pink
philRG: ah yes gg dbdr
philRG: moi en train de debugger mes interférences d'ombres lol
Pink: @BigUP je vous ai ajouter pour tester mais je ne vous voit pas.... Vous faites bien le contest?
philRG: heureusement qu'il y a des visuels dans l'énoncé pour expliquer
BigUP: Pink, vous pouvez me tutoyer... :)
BigUP: Pink, sinon oui, en plein contest la
BigUP: Pink, 1169eme ... va falloir attendre un peu avant de me voir
Pink: c'est étrange, je fait l'option coder suivi et rien
BigUP: Pink, il faut probablement que je passe top 1000
Pink: vous etes en bronze?
BigUP: oui
Pink: désolé, j'aime vouvoyer par écrit
BigUP: vouvoyez, vouvoyez, il n'y a pas de probleme
Pink: vous avez raison, ca semble bloquer a 1000
jfaixo: yesss dbdr ! le Rust est dans la place !
BigUP: voila, ca va passer Top 1000, Pink, vous allez pouvoir me voir
leojean890: top 100 ça se fait bien en copiant le top (jouer contre le top dans IDE)
BigUP: leojean890, j'ai du rater quelqueschose dans les actions de base. c'est étonnant la difficulté que kj'ai a passer top 1000
leojean890: attention à ne pas trop te retrouver dans l'ombre^^
leojean890: quand tu poses une graine par ex
leojean890: j'ai un peu du mal à améliorer now, je devrais sûrement passer en simu, soit bfs soit une sorte de minmax où je mets à jour le gamestate toutes les 2 depths et j'évalue qu'à depth paire (car jeu simultané)
**dwarfie est impressionné par ces gens qui ont commencé à faire une simu ... il est trop en mode procrastination :D
BigUP: arf ! bah a nouveau sorti du top 1000 ! :)
leojean890: j'ai pas commencé de simu perso xD
leojean890: mais je vais sûrement en faire :)
leojean890: pour le moment j'essaye encore de bricoler
BigUP: leojean890, j'ai pas réussi a voir de probleme avec les ombres, il faut que je creuse ce point
dwarfie: moi pour l'instant , j'essaye de rien coder ... vider la tete pour y reflechir avant ...
dwarfie: de toutes facons , pas le temps , je pars dans
leojean890: BigUP ouais quand tu plantes une graine autant que ce soit hors portée des arbres déjà là^^
dwarfie: 30 minutes pour preparer le balmer's peak :yum:
leojean890: même avec anticipation qu'ils vont grandir
bolmos-o: leojean, comment fait-on pour jouer contre quelqu'un contre qui on n'a jamais joué (top 10) ?
leojean890: tu le choisis dans l'IDE
leojean890: tu mets supprimer sur l'IA default
leojean890: et tu choisis qui tu veux à la place
bolmos-o: aahh oui ! je ne savais pas lol. merci !!
Titouu: Hello ! Dites moi vous avez fait une IA style MinMax/ stats etc.. ou un truc débile, comme moi, avec de simples boucles "if"
Titouu: ?*
leojean890: pour le moment des if et ensuite je verrai^^
Littleyounes: MCTS
Titouu: Oof je suis pas tout seul haha
Titouu: MCTS ? Je connais pas
Littleyounes: ;o
b0n5a1: o/
Zorg1: \o
Littleyounes: OwO
leojean890: bricoler des nbs ça commence à me gonfler et ne plus marcher donc..xD
Zorg1: bah après les magics number tu peux faire que ça pendant quelques jours et après t'as plus le temps de coder autre chose
leojean890: j'vais sûrement commencer une simu today si j'ai pas la flemme^^
egaetan: tu as la flemme leojean890
egaetan: je le vois d'ici
leojean890: parfois ;p
leojean890: j'ai dépassé les 100 lignes enfin^^
leojean890: je crois que je vais faire ça en go ;) ça a pas trop mal marché pour FC et 2048
leojean890: je ne suis pas assez bon en C++ pour que ça vaille le coup niveau perfs
JocelynL: j'arrive pas à repérer le boss bronze dans le classement... c'est normal ?
Zorg1: bah il est pas là
dwarfie: normal , il existe pas encore
Zorg1: il sera là à l'ouverture de la ligue argent
JocelynL: ah.... ok merci :)
leojean890: chaque fois que j'ai migré un sujet en c++ ça n'a eu que très peu d'améliorations de résultats
Bon[]Crayon: Salut tout le monde.
Bon[]Crayon: Automaton2000 slt
Automaton2000: tu viens de te faire chier
Bon[]Crayon: Automaton2000 Pas encore.
Automaton2000: il faut avoir un truc qui ne marche pas dans ce sens la
kuraima: est ce que le c# c'est un bon langage ?
jdeveil: ça dépend pour quoi :p
leojean890: le C# peut permettre de faire des perfs correctes^^
joelthelion: est-ce que quelqu'un a précalculé toutes les distances entre cases?
joelthelion: j'ai trop la flemme :)
leojean890: c'est juste un BFS^^rapide à coder:)
leojean890: pas fait :p
b0n5a1: leojean890 encore rien codé, j'ai juste le code pourri pour passer le bois ^^...et me suis juste amusé à mettre en dur toutes les distances 1,2 et 3 de chaque cellules + d'autres trucs de ce genre (généré une fois pour toutes à la compilation, templates) ^^
leojean890: pareil j'ai joué plein de parties contre le top
leojean890: et j'ai bricolé des magic numbers en faisant du mimétisme
leojean890: + quelques idées perso
leojean890: je me bench en direct en "rejouant" le même match contre le même
b0n5a1: du coup je suis toujours à la cave de bronze là
leojean890: et si la game est meilleure alors je considère que ça améliore ^^
Pink: je ne crois pas que les test ide joue sur le classement, c'est seulement pour le plaisir de se comparer
leojean890: c'est un peu surfait mais bon^^
leojean890: bah les tests IDE ça te permet de regarder comment joue ton bot et comme c'est symétrique hors soleil de comparer ta strat avec l'autre
leojean890: comprendre pk tu perds
R4N4R4M4: Salut les gens
leojean890: et comprendre pk changer un truc te "rapproche" de son niveau
leojean890: hello
YannT: jl'ai fait hier le precalcul des distances et des shadow, avec un DFS recursif, c'est 4 lignes
b0n5a1: ça dépend Pink, si tu te fais souvent battre par quelques uns à 200 places au dessus de toi et que ta modif inverse complètement la tendance généralement c'est que t'as de quoi pusher un bot qui va gratter pas mal de places
b0n5a1: (en IDE)
Pink: exact, mais faut faire un push pour affecter le classement... en ide c'est perso
b0n5a1: oui
Tiouz: o/
b0n5a1: o/
Zorg1: \o
Tiouz: 4k bots en bronze !
Pink: ca veux dire quoi o/ ?
b0n5a1: bon j'ai mes boules de pâtes à pizza à aller aplatir ^^
b0n5a1: o/ c'est un bonhomme qui tend la main pour dire salut
Pink: merci
Tiouz: \o/ c'est un bonhomme qui lève les bras en l'air
b0n5a1: pour s'aérer les aisselles...
b0n5a1: et faire fuir les voisins
Pink: loll, avec la nuit blanche que je viens de passer, c'est surement mon cas
Tiouz: D'ailleurs, vous avez un moyen pour répondre à un commentaire sans avoir à recopier le pseudo ? Dès fois il y a des pseudos un peu longs, flemme de l'écrire à la main
Pink: bonne question Tiouz
b0n5a1: Tiouz : premières lettres + tab
Tiouz: b + tab -> Bob, rip pour toi b0n5a1
b0n5a1: ça te fait des fails quand tu vas vite ^^
Tiouz: b0n5a1, mais avec 2 ça passe
Pink: nice!!!
Tiouz: Tu as vraiment le pire pseudo à écrire
b0n5a1: meuh non...
b0n5a1: bon j'y go, elles vont pas s'aplatir toutes seules
b0n5a1: (y'a R4N4R4M4 qui me fait de la concurrence Tiouz ^^)
Tiouz: au moins tu peux le caps lock
b0n5a1: tsss
Tiouz: bon va taper sur tes boules là
b0n5a1: yep
leojean890: j'ai submit hier soir, #120, et c'est remonté #82 lol (tendance inverse de ce que j'attendrais de l'évolution d'un rank en contest;))
Sakisan: oui, moi c'etait 100->180 cette nuit
leojean890: ouais, comme quoi..^^
leojean890: alors que jeudi soir j'ai pushé un truc 50eme et à 22h30 c'était tombé #350
leojean890: le venderdi 22h30 (23h après environ) ça avait perdu 300 places
leojean890: ah delineate a doublé dbdr
leojean890: à FC2020 il était bien classé aussi
leojean890: struct avait son super bot le premier jour 21h56 puis plus rien^^
leojean890: aurait il joué au jeu ou participé à la création du contest^^
Zorg1: ah tiens j'ai une variable shadow et une variable ombre dans mon code ^^
leyo: leojean890 tu penses que c'est toujours à coup de magie ou c'est passé sur du jeu réfléchi ?
Sakisan: et la ma petite amélioration m'a fait un joli 120 -> 40 comme quoi il y a encore pas mal de choses a decouvrir ^^
leojean890: leyo les magic numbers c'est un minmum réfléchi, après:) on met jamais ça totalement au pif quand même:p
leojean890: Zorg1 #redondance
leojean890: Sakisan gg
Sakisan: :D
leojean890: leyo je pense que certains sont déjà passé en simu, sinon
Tiouz: Je suis en simu (mais je suis 1300ème...)
leyo: leojean890 ça devais arriver ^^ va falloir que je m'y lance...
Tiouz: Il faudrait que je fasse une petite IA à base de if, et de préférence avant de passer argent
Zorg1: c'est ce qui me fait peur avec une simu, une fois que tu l'as codé tu fais quoi avec ? ^^
leojean890: Tiouz si t'as une simu qui ne va pas jusqu'au bout comme mcts il faut une bonne éval c'est primordial^^
leojean890: limite tu tunes ton éval depth 1 et ensuite tu augmentes la depth avec simu BFS ou pseudo minmax
Tiouz: Je vais faire un MCTS, je n'ai aucune idée de fonction d'éval
leyo: c'est là tout le problème, ton eval ça reste de la magie
leojean890: Zorg1 tu gardes tes heuristiques reflexe actuelles
Tiouz: En revanche j'ai des idées pour ordonner les coups
leojean890: mais tu regardes ça plus loin
leojean890: pour avoir plus de coups d'avance
Zorg1: yaka coder une simu :p
leojean890: leyo pas totalement de la magie, y'a forcément une logique derrière ces nbs, le tout est de comprendre approximativement pk ça marche :)
leojean890: car le détail des nombres, c'est dur de comprendre pk 2 marche mieux que 5 par ex
leojean890: mais bon y'a une idée générale que tu comprends
leojean890: genre pk tu mets 10000 pour un critère et 1000 un autre
Zorg1: après t'as des valeurs qui marchent mieux en arène que contre deux ou trois gus dans l'IDE
leojean890: bah je joue que contre le top 10 xD
leojean890: comme ça si j'arrive à avoir que 20 points de moins en game c'est pas trop dégueu
leyo: leojean890 ma magie n'est pas faite au hasard hein :) mais evaluer les coups possibles sur le moment ou une position possible du plateau de jeu dans le futur ça reste très arbitraire
leojean890: c'est un peu arbitraire, on peut se tromper
leojean890: faut faire des essais
leyo: ouaip
b0n5a1: ça me rappelle quand j'ai fait MM avec de la logique floue pour le récolteur, t'as quelques valeurs à tweaker leojean890 ^^
leojean890: MM j'ai une IA pourrie qui est mid bronze mdr
b0n5a1: ça marchait plutôt bien
leojean890: il me motive pas:)
leojean890: manque d'idées^^ pas envie de simu
b0n5a1: j'avais fini pile poil 100e sur MM (bing trophée)
leojean890: ah t'avais de bonnes idées^^
darkhorse64: dbdr: j'ai restauré la page de ton site mais ce serait bien de la protéger contre l'armée de crétins qui sévit sur le net
leojean890: le trophée du top 100 je l'ai eu avec OOC perso
leojean890: sinon SC2020 et FC2020 j'étais hors top 100^^
Zorg1: darkhorse64 : ah ah ah
leojean890: Zorg1 t'avais fait pareil^^
Zorg1: oui plusieurs fois
leojean890: c'est le souci d'un wiki
darkhorse64: j'en suis à deux
leojean890: wikipédia, heureusement qu'il y a des modérateurs
Zorg1: surtout qu'il est ouvert à tout vent, et n'importe qui peut créer un user
b0n5a1: ce "ha ha ha" c'est pour dire que c'est toi le crétin Zorg1 ? :joy:
Zorg1: pffff
darkhorse64: il se fout de moi mais j'ai pas capté ?
b0n5a1: oui oui !!!
Zorg1: il se fout de moi je dirais
DJUndisclosedSpoon_ead6: salut
Zorg1: en plus son site rame, j'ai l'impression que le paquet de pages de spam n'aide pas
DJUndisclosedSpoon_ead6: bonjour
darkhorse64: bon, je suis encore dans le top 25% avec un tri basique sur les actions. Il est temps de sortir la sim
darkhorse64: C'est vrai que ça rame
Zorg1: darkhorse64 :non c'est que j'ai pas mal undo les pages de spam aussi sur le site
darkhorse64: En ce moment, ca leake les bonnes idées à mort sur le chat alors j'aime bien relire l'historique
darkhorse64: Je ne suis pas super convaincu par l'idée du beam search mais la sim servira de toute façon
jfaixo: haha darkhorse64 ^^ca fait parti de l'outillage de challenge, l'historique du chat ? :P t'as un client chat a part ?
Magus: darkhorse64: pour les simulations (enfin pour l'algo de recherche)
Magus: il y a des choses super bizarre à gérer, je suis en plein de dans
darkhorse64: Non, j'ai https://cg.spdns.eu/wiki/Main_Page quand c'est pas pété
Magus: le fait que ton IA puisse faire WAIT pour faire avancer les jours elle même
Magus: ça fout de ces bordels ...
Magus: pour te donner un exemple, au début mon IA elle enchaine 24 WAIT parce que je simulais pas l'adversaire
Magus: "c'est bon j'ai gagné"
Zorg1: darkhorse64 : en fait j'ai bookmarqué une ancienne version de la page main
darkhorse64: Oui, ça plus les ombres plus les places prises, ça me fait douter
Magus: les ombres vu que ça se simule c'est bon
Magus: mais le problème des gens jeu ou "tu n'es pas forcé d'avancé", c'est de gérer le wait
Magus: enfin c'est pire, c'est "t'es pas obligé de tout dépenser dans un jour"
R4N4R4M4: Magus, si tu évalues ton Wait, c'est un coup comme un autre non ?
darkhorse64: je veux dire quand tu changes de jour, les nouveaux arbres de l'adversaire doivent être pris en compte pour le seed et le farm de sun points. Le bs de depth 20 ne va pas servir. Cela dit struct y est arrivé donc il y a qq chose à faire
R4N4R4M4: Les joueurs ont un état isWaiting, ça doit servir à ça. Quand tu wait, tu passe en état isWaiting, et tu ne peux plus faire que des Wait jusqu'au jour suivant
Magus: R4N4R4M4: c'est un coup comme un autre mais qui fait "avancer le jeu". Si tu le prends pas en compte dans ton eval, ton IA fait des WAIT pour rien.
Magus: Je suis en train de me battre avec mon IA pour qu'elle arrête de WAIT pour rien :D
R4N4R4M4: Ah oui, il faut le 2ème joueur du coup
Magus: (pour l'instant c'est elle qui gagne)
R4N4R4M4: Tu vaincras Magus, tu es plus fort que ton IA :D
darkhorse64: Rise of the Machines
Magus: et oui si tu simules pas l'adversaires, ton IA peut avoir envie d'enchainer les WAIT à la fin, parce qu'elle a plus de points que lui
R4N4R4M4: Par "un coup comme un autre", je voulais dire que si tu as un autre coup meilleur à jouer, il n'y a pas de raison de faire de wait. Et le wait tu le fais seulement quand il n'y a pas de meilleur coup
R4N4R4M4: Par exemple, au premier tour, mon WAIT est évalué à 0, alors que SEED à distance 1 est évaluer à -10, donc je préfère WAIT
R4N4R4M4: mais au jour 2, je peux faire un SEED à distance 2 évalué à 20 et mon SEED sera préféré à WAIT
Vry: o/ *
R4N4R4M4: o/ Vry
Magus: En fait, si ton IA peut pas voir assez loin, et que par exemple elle a qu'un seul arbre à s'occuper
Magus: elle va vouloir faire GROW WAIT GROW WAIT. Si elle peut voir que 4 coups, c'est effectivement sans doute les 4 meilleurs coups à faire
Magus: mais tu viens de gaspiller 2 jours pour juste ça
Vry: Bon, go convertir java to c !
Magus: alors qu'elle aurait pu faire GROW SEED SEED SEED (par exemple)
Magus: mais les SEED, tu vois le bénéfices que bien plus tard
leojean890: ouais c'est dur d'évaluer
leojean890: tu peux compter le nombre d'arbres de chaque taille par ex
Vry: Tu peux filer des points pour les seeds :D
leojean890: dans ton eval
R4N4R4M4: Pour l'instant, le SEED, je le force uniquement si j'ai aucune graine sur la map. Comme ça, c'est coût zéro, et je réfléchis pas à quand le faire :D
Vry: Sauf si t'es en MCTS, là osef
R4N4R4M4: Et jamais à distance 1 aussi
R4N4R4M4: Donc j'ai toujours au moins une graine sur le tapis
Vry: bon après je dis ça, mais j'ai rein codé encore ...
leojean890: je fais en fonction de la loc des arbres déjà présents
R4N4R4M4: Mais peut-être que ça vaudra le coup de semer à tout vent pour l'expansion, j'ai pas encore réfléchi à ça
Magus: de toutes façons faut toujours planter en virage
Magus: en tout cas d'après les premiers pas de mon IA .... :D
Magus: mais ça parait logique si tu veux pas que l'enfant soit à l'ombre du papa plus tard
R4N4R4M4: Oui, ils font ça dans le top
R4N4R4M4: en cavalier :D
leojean890: R4N4R4M4 on est voisins tiens hehe
R4N4R4M4: Encore ! :D
Vry: Bon je vais imprimer une grille et des arbres ... :p
leojean890: après dans RAIC2020 tu m'as distancé au bout d'un moment xD
R4N4R4M4: Ah RAIC il était bien celui-là ;)
leojean890: j'suis mauvais dans les jeux militaires ^^code royale et BOTG sont de bons exemples^^
leojean890: RAIC c'était mieux déjà:)
leojean890: ça me plaisait pas mal anyway
Zorg1: BOTG c'est pas un jeu militaire c'est un beau bazar :p
leojean890: c'est un peu ça quand même ^^
R4N4R4M4: RAIC sur un mois, faut tenir la distance, à la fin c'est psychologique
leojean890: mais ouais c'est le bordel
leojean890: RAIC à un moment on en a marre mdr
leojean890: 2-3 semaines
leojean890: et à court d'idées ou trop chiant à implem
R4N4R4M4: Oui, voilà, faut rebooter psychologiquement pour se dire que chaque jour est un nouveau challenge :D
leojean890: ouais mais tu refais pas from scratch chaque jour^^
R4N4R4M4: C'est clair, faut trouver de nouvelles idées, et à la fin, c'est chaud
leojean890: ouais j'ai lâché en 2 semaines et demi je crois^^
R4N4R4M4: Y a l'effet quick win qui compte aussi pour arriver à maintenir son rank assez haut pour garder la motiv, comme là en fait.
R4N4R4M4: Travailler en parallèle les quick win et le long terme
leojean890: ah oui, comme dans PR2
leojean890: foncer tuer la base de l'autre
Magus: je suis pas, je suis 3605 ça me va pour l'instant :D
Magus: je ferais comme d'hab, je traverserais 2 ligues entières quand mon IA sera prête
R4N4R4M4: Ha ha Magus, on va penser que tu Hide
leojean890: Magus une fois que t'auras fini ta simu tu seras top 10 donc xd
leojean890: RAIC il me manquait pas mal d'opti
leojean890: je construisais large moins vite que le top
leojean890: placements de maisons, répartitions des unités..
R4N4R4M4: leojean890 par quickwin je voulais plutôt dire par rapport au rank, trouver des trucs rapides à coder pour pas prendre de retard
leojean890: y'en a on dirait qu'ils avaient un hongrois tellement c'était clean (alors que 300 unités c'est time consuming)
leojean890: ah oui bah j'ai fait ça
leojean890: je me suis maintenu longtemps
leojean890: et ensuite j'ai fini 130eme environ
R4N4R4M4: Oui, t'as bien résisté, c'est quand même un gros challenge RAIC
leojean890: toi t'as fini 40 je crois environ ?
leojean890: après ça dépend si on parle du rank rounds ou sandbox
GuillaumeBardy: Comment peut on savoir la direction du soleil ?
R4N4R4M4: oui par là, rattrapé de justesse pour la finale, comme l'année précédente
leojean890: t'as bien géré
leojean890: GuillaumeBardy day%6 ?
R4N4R4M4: chanceux aussi ;)
Zorg1: GuillaumeBardy : day%6
leojean890: je gère pas le soleil j'essaie de faire un truc qui marche même les 6 jours suivants quoi
Magus: oh mon dieu j'ai un énorme bug dans ma simu
leojean890: R4N4R4M4 mais quand on en parlait je voyais que t'approfondissais plsu que moi et t'avais genre 6000 lignes et moi que 1800 mdrr
Magus: je retire pas le dormant des arbres
leojean890: ah oui ça peut pas marcher ça xD
Magus: bla bla bla mon IA elle fait de la merde bla bla bla
Magus: faut voir son dev aussi
WhatTrickeryIsThis: tu fait des mass WAIT sans le wakeUp
WhatTrickeryIsThis: comment ça doit être moche ton evale
Magus: je me demandais pourquoi mon IA voulait faire des séries d'action du genre GROW WAIT WAIT WIAT WAIT WAIT ...
Magus: c'est un peu normal, elle peut plus rien faire en fait
WhatTrickeryIsThis: ah oui
Magus: donc j'ai un double bug, joli ...
Magus: mon IA essaie de faire un SEED avec un arbre dormant
Magus: et j'enlève pas le dormant au nouveau jour
R4N4R4M4: Magus ! Faut te réveiller :D
leojean890: Magus tu fais un BFS ?
Magus: bfs ? pour ?
R4N4R4M4: leojean890 5000 LOC dans mon dernier code RAIC
Magus: ah si j'ai un bfs quelque part
leojean890: BFS général^^
Magus: pour savoir les cellules qu'un arbre peut ssed
R4N4R4M4: y a toujours un BFS quelque part
Magus: *seed
leojean890: oui pour le seed normal^^
leojean890: je demandais pour la stratégie:)
R4N4R4M4: je précalcule les distances, mais après je sais pas faire autrement que bruteforcer les cellules pour savoir lesquelles seed
WhatTrickeryIsThis: 25 win 2 lose et j'arrive pas à monter
WhatTrickeryIsThis: trop de monde bordel
leojean890: SA ou GA je les sens pas ici
Magus: R4N4R4M4: dans mes cellules, j'ai un truc moche, j'ai un array<vector<Cell*>, 4>
Magus: j'ai pas trouvé mieux pour stocker les cibles possibles d'un seed en fonction de la taille de l'arbre
Magus: (d'ailleurs c'est 3, pas 4)
WhatTrickeryIsThis: j'ai ça aussi pour les ranges et les shadows
R4N4R4M4: Ah oui, je me disais justement que j'étais pénalisé en C parce que j'avais pas de Vector...
WhatTrickeryIsThis: ma Cell y à 7 array dedans
WhatTrickeryIsThis: wtf
Magus: 7 arrays, petit joueurs
Magus: j'en ai 9
Magus: ah non j'ai 9 vectors
Magus: j'ai que 2 arrays :D
WhatTrickeryIsThis: 50k simus en 30ms avec tout le merdier
Zorg1: :thumbsup:
WhatTrickeryIsThis: yes, ça va peut être pouvoir passer en cherchant la profondeur, genre un tour de soleil
leojean890: R4N4R4M4 ah ouais pas mal 5k j'avais retenu plus xD
leojean890: par contre pour la simu c'est chaud de gérer les points de soleil car on ne sait pas trop quand on va en gagner, car on ne sait pas combien d'actions l'adv veut jouer ce tour ci ^^
WhatTrickeryIsThis: avec un petit dummy ça devrait le faire
leojean890: ou en simulant l'adv aussi:)
DJUndisclosedSpoon_ead6: quelqu'un a résolu l'énigme de Thor ?
R4N4R4M4: La suite : https://youtu.be/aJVhuL8ckh0
leojean890: thor 1 ou 2?;)
leojean890: thor 2 c'est du bricolage de magic nbs
egaetan: quelle profondeur WhatTrickeryIsThis ?
Tiouz: Bon, le code de ce matin a multiplié par 2 mon nombre de rollouts, plutôt content
R4N4R4M4: gg Tiouz t'es en MCTS ?
Tiouz: En MC pour l'instant, mais ça va venir
WhatTrickeryIsThis: je suis à 5
philRG: jusqu'à 80ms avec une dizaine de noeuds lol
egaetan: WhatTrickeryIsThis 5 coups ou 5 jours ?
philRG: mais je fais pas de simu
WhatTrickeryIsThis: 5 coups
philRG: aucun timeout relevé depuis le contest
philRG: bon faut que je pré-calcule mes distances au 1er tour pas encore fait, quelqu'un connait la formule pour la distance entre 2 cellules d'une grille hexa? J'en ai marre des bfs
philRG: et ça bouffe tout le cpu
Tiouz: Une formule close ça a l'air compliqué
Tiouz: Faut tout précalculer sinon
Zorg1: en fait il te donne la map sous forme d'un graphe, ça doit être casse bonbon pour deviner les coord hexa ou tu hard code vu que la numérotation de leur grille semble ne pas changer
R4N4R4M4: Fais un bfs philRG, si t'en as marre c'est que t'es pas loin d'en faire une formalité :D
philRG: en fait je fais un flood-fill ça ressemble un peu, mais plus intuitif
philRG: :-D
philRG: ouais là ça va devenir bientôt une formalité :-D
R4N4R4M4: Moi je fais mes floodfill en BFS :D
mrBen: philRG jette un coup à redblobgames : https://www.redblobgames.com/grids/hexagons/#distances
mrBen: o/
R4N4R4M4: Haaaarg, les coordonnées cubiques, y avait eu un challenge où fallait faire ça non ?
Zorg1: CotC
Zorg1: t'avais une grille hexa
R4N4R4M4: Y a plusieurs jeux avec des grilles hexa, mais je sais plus si on a besoin des coordonnées hexa pour tous
Zorg1: CotC si tu en as besoin pour déplacer ton bateau,...
Zorg1: les Platinium Rift ont des grilles hexas mais en fait tu t'en fous t'as un graphe
Zorg1: et tu fais que déplacer tes unités d'une case à l'autre
philRG: mrBen oui c le pointeur direct merci je connais déjà mais ça serait bien de le faire ici, ça peut resservir
R4N4R4M4: http://chat.codingame.com/pastebin/cb7a4b19-2823-41c9-9690-ea26bada6d5a
philRG: faut que je motive
philRG: me
mrBen: ^^
R4N4R4M4: Oui Zorg, je me souvenais avoir galéré avec ça sur un seul challenge, donc c'était bien CoTC
ClementMateo: Bonjour j'ai une question par rapport au spring challenge : combien de tours dure un jour ?
nicolasD: autant que tu peux faire d'action, ou que l adversaire peut faire d'action.
philRG: entre 5 et 6 selon qu'il reste des actions à jouer
philRG: en moyenne
philRG: mais ça peut varier
philRG: sur ce que j'ai pu voir, entre 5 et 6
MattLGX: Vous avez des idées de stratégie
MattLGX: ?
Zorg1: oui, gagner :p
Zorg1: ou ne pas perdre :thinking:
BigUP: MattLGX, la stratégie va etre simple, simuler le jeu et bruteforcer tout ce que tu peux
MattLGX: Gêner l'adversaire avec l'ombre ça semble compliqué
MattLGX: Vous simulez tous les scenarios possibles?
MattLGX: lol
Zorg1: bah surtout avoir une bonne fonction d'éval pour te dire combien la situation est bonne pour toi
BigUP: MattLGX, si tu sais calculer l'ombre à plusieurs tours, c'est pas trop compliqué
MattLGX: ok je pense que 1300 c'est bien
MattLGX: Je vais arrêter les frais! lol
MattLGX: Au dela ça semble trop de temps à investir en algo de simulation
Zorg1: après je suis 200 avec une heuristique
MattLGX: oui mais tu y as passé combien de temps dessus?
Zorg1: ça permet de voir "en gros" quels sont les points importants
Zorg1: MattLGX : ça va encore, on va dire deux soirées
MattLGX: Ah ok
Zorg1: plutôt cool, vu que je passe pas mal de temps à chatter
MattLGX: Moi j'ai choisi la stratégie random avec quelques stratégies de base.
MattLGX: pour optimiser certains choix
MattLGX: Mais je n'ai pas envie d'aller plus loin.
Zorg1: j'avais surtout analyser la stratégie des joueurs du top comme leojean890, et essayer de recopier en gros
MattLGX: Ah oui pas bête
BigUP: ha oui effectivement gérer l'ombre semble important ! )
MattLGX: Je n'ai pas du tout adapté ma stratégie à cet aspect du jeu.
BlaiseEbuth: Yo tout l'monde ! Automaton2000 ! AutomatonNN ?
Automaton2000: y a pas une fonction qui permet de faire ca
MattLGX: Mis à part : rush vers le centre
BlaiseEbuth: Fix ta rush l'abeille.
nicola: L’abeille coule.
MattLGX: Voilà, je patauge dans la gelée
philRG: R4N4R4M4 sinon pas besoin de système de coordonnées hexa ici, tous les voisins sont déjà fournis. Inutile de se disperser :-)
MattLGX: Je viens de voir qu'il y avait un kit de démarrage
MattLGX: oops
philRG: faudrait pouvoir masquer son langage tiens
BlaiseEbuth: Pourquoi ? t'as honte d'être en python ? Je comprends.
Zorg1: pour pouvoir troller qu'il simule 900Ktour sur 80 ms
philRG: oui :-
philRG: )
philRG: et oui :-)
mrBen: Je suis déçu, mon full random m'a pas amené en Wood 1
BlaiseEbuth: Tu fais trop compliqué...
Zorg1: y a le bon full random et le mauvais full random
mrBen: en limitant les WAIT ça passe, c'est même top Wood 1
BlaiseEbuth: Trop compliqué
BlaiseEbuth: Avec plus simple tu faisais w2 -> bronze
mrBen: je suppose que toujours prendre la 2e action fonctionne aussi
BlaiseEbuth: mieux
mrBen: la première c'est WAIT non ? du coup ça marche pas
mrBen: j'avaoue que je seche
BlaiseEbuth: Bah si. Toujours move1 sauf si que wait
Zorg1: en vous lisant je m'aperçois que j'ai trop codé pour passer en bronze :(
MattLGX: lol
mrBen: on code toujours trop pour passer en bronze ^
BlaiseEbuth: T'as codé pour passez bronze ?! :scream:
mrBen: ^^
MattLGX: Tu vois? kaspalatet
mrBen: du coup mon random sauf si wait m'a amener en bronze quand même... bon du coup j'attaque le code maintenant
MattLGX: J'essaie d'ajouter un bot spécifique pour mes tests. Commen on fait?
MattLGX: je ne trouve pas le bouton qui va bien
mrBen: faut supprmié l'existant je crois
BlaiseEbuth: Tu supprimes le boss de l'ide, et tu ajoutes celui que tu veux
MattLGX: Ah je viens de voir merci
MattLGX: J'ai pris delineate au pif
MattLGX: Histoire de bien me faire éclater
BlaiseEbuth: Un bot spécifique au pif ?
mrBen: ne sous-estime pas le pouvoir du pif
MattLGX: Mais oui
Kafeine: Question con on peut réinterprété un bitfield de un octet en char pour le foutre dans une string ?
BlaiseEbuth: T'as craqué ton string
mrBen: Automaton2000 ?
Automaton2000: sinon tu peux te contenter de faire un sort
mrBen: merci automaton2000
Automaton2000: c'est que du coup je comprends pas pourquoi mon code ne fait pas vraiment de sens
Robinsstudio: Ah ça je te le confirme Automaton2000.
Automaton2000: ha mais je suis la
BlaiseEbuth: Kafeine précise ta question.
BlaiseEbuth: Un char c'est un octet.
Kafeine: J'ai une struct en bitfield{uint8_t :1...}
fenrir: non, si tu le print en char, ça va faire n'imp selon les valeurs
BlaiseEbuth: uint8_t c'est un char
fenrir: c'est à la rigueur possible pour les valeurs >= 20 ou <= 127
fenrir: mais si < 20 c'est des char spéciaux
BlaiseEbuth: Il a pas parlé de print
Topinambour: après si ton bifields est nul c'est le drame
fenrir: ah ok
fenrir: mais il parle de le mettre dans une string
Kafeine: D'ou ma question ? est ce qu'il y a moyen de foutre la struct dans une string
Kafeine: static_cast marche pas
fenrir: je dirais de la "print" pour la mettre dans la string (ça dépend de ce que tu veux faire)
Zorg1: dans quel but ?
BlaiseEbuth: Le uint8_t EST un char donc tu peux le mettre à la place d'un char de ta string.
BlaiseEbuth: Mais pour quoi faire...
Kafeine: Pas vraiment de but à ce point c'est plus pour de l'info.
fenrir: il y a 2 questions peut être: 1. comment mettre un uint8_t dans une string (et là pourquoi faire comme dit BlaiseEbuth)
fenrir: 2. comment convertir ton bitfield en uint8_t
fenrir: pour le point 2:
fenrir: faut faire une union avec uint8_t
b0n5a1: si c'est pour loguer/debuf Kafeine ty
b0n5a1: ty peux surcharger ostream& operator<<(ostream&, const tontruc&)
fenrir: du genre: http://chat.codingame.com/pastebin/ab29e17f-bf52-41ff-b1a6-9b448a0556c9
Kafeine: Oh pas con l'union merci
BlaiseEbuth: Pas sûr de saisir l'intérêt...
BlaiseEbuth: Vu que b est déjà un uint8_t
fenrir: pas bitfield
fenrir: bitfield.b oui
fenrir: enfin je suppose, sans voir le code exact
BlaiseEbuth: Oui. Du coup c'est se compliquer la vie.
BlaiseEbuth: Utilises b direct
BlaiseEbuth: Ou fait pas de struct
BlaiseEbuth: Je sais pas
fenrir: je suppose que c'est pour eviter de print manuellement les 8 champs dans le bitfield, mais selon oui ça pourrait être plus rapide de print les 8 champs (et potenitellement plus clair)
BlaiseEbuth: Je te suis pas... :(
Ansowald: Hello à tous, je suis bloqué sur un truc un peu bête... La valeur d'une variable n'est pas la même si je la print en sortie ou en erreur... Quelqu'un a déjà eu ce soucis ?
Zorg1: quel langage ? et t'imprimes bien dans les deux cas dans le même sope ?
Zorg1: *scope
Ansowald: En c#. Et oui, je suis bien dans le même scope. J'ai mis les la sortie standard entre 2 sorties erreur. Et elle est différente
fenrir: et si tu print 2 fois successivement ?
fenrir: (des fois que ton accesseur est un effet de bord)
Topinambour: c'est quoi le code exactement ? seulement les print ^^
Ansowald: Console.Error.WriteLine ("SEED "+ tree.cellIndex + " "+ neighbor.index);
Console.WriteLine ("SEED "+ tree.cellIndex + " "+ neighbor.index); Console.Error.WriteLine ("SEED APRES SEED "+ tree.cellIndex + " "+ neighbor.index);
Ansowald: Oups, je voulais le pastebin
BlaiseEbuth: La sortie d'erreur est pas du tout synchro avec la sortie standard.
Ansowald: Je l'ai pas. La seule ligne de sortie standard existante est celle entre les sorties erreur
BlaiseEbuth: Si tu print sur la sortie standard, il considère que tu as joué et passe à la suite, donc c'est normal que tout soit pas raccord.
Ansowald: Ah, ca peut expliquer pas mal de choses !
Ansowald: Merci, je regarde dans ce sens !
Ansowald: Yes c'était bizen ça. Encore merci
BlaiseEbuth: :thumbsup:
Dahll: Un arbre qui dort peut grandir ?
Tiouz: nope
BlaiseEbuth: Si il mange sa soupe
BigUP: ha !? ils dorments les arbres ?
MattLGX: C'est qui "le Boss"? Ils me disent que je dois être mieux classé que lui pour passer à la league du dessus.
jdeveil: celui qui est par défaut dans l'IDE
jdeveil: sauf dans le challenge en bronze, le bot pour l'argent n'est pas encore là
BigUP: MattLGX, c'est un code selectionné parmis les participants (encore qu'en wood, ca doit etre un code de test des devs)
MattLGX: ok
MattLGX: Merci
MattLGX: Là je suis 826
MattLGX: Donc c'est argent le prochain boss je pense.
jdeveil: sérieux ils utilisent le code d'un participant pour le BOT ?
jdeveil: merde je pensais qu'ils avaient déjà quelques codes !
BigUP: jdeveil, oui. et c'est bien comme ca
Bob: jdeveil : c'est difficile de prevoir a l'avance quel sera le niveau de la competition
jdeveil: hmm ça change tout...
Bob: non
MattLGX: logique vu que des gens proposent des algo meilleurs que ce qu'ils peuvent coder potentiellement.
jdeveil: il va pas falloir dormir trop sur ses lauriers d'ici lundi...
egaetan: et ça peut être dur de coder ce bot de haut niveau
jdeveil: zut
BigUP: jdeveil, ils selectionnent le niveau de difficulté qu'ils souhaitent en fonction de l'etat du concours
Zorg1: ça leur permet de maîtriser la taille des ligue "en gros" (y a des accidents industrilels parfois ...)
jdeveil: oui c'est logique en y pensant, et plus simple pour eux, ils nous laissent faire tout le travail (ou presque)
BlaiseEbuth: "parfois"
jdeveil: oui comme jeudi soir ;)
MattLGX: Ca serait prétentieux de leur part de penser qu'ils peuvent coder mieux que le top 10
MattLGX: Par exemple
Bob: (bonjour au fait)
BlaiseEbuth: Va bosser
**Bob remonte ses lunettes avec le majeur
BlaiseEbuth: :p
Bob: :D
MattLGX: Le truc indispensable : comment on peut faire parler son Pokémon?
BigUP: jdeveil, des fois ca amene a des situations cocasses, lorsqu'ils se plantent dans la sélection du Boss et qu'il prennent une IA qui crash sur un cas non géré
Bob: en rajoutant ton message apres ta commande
MattLGX: ok thx
BlaiseEbuth: ça vaut presque un ban ça
Bob: par exemple WAIT zzzz
MattLGX: ou "Oh le nul, comme c'est mal joué!"
b0n5a1: ho bordel la triple fait son effet, je me demande pourquoi j'ai pas de log alors que les 2 bots dans l'IDE...aucun n'est à moi :grinning:
BlaiseEbuth: :rofl:
nicolasD: :stuck_out_tongue_closed_eyes:
kamod: o/
Bob: pas mal
kamod: b0n5a1 quand on dépasse les 2/3° on a tendance à se prendre pour un génie... mon conseil: ne commit rien
b0n5a1: bah j'ai toujours le même code que pour passer bois, j'ai juste mis des logs pour capter des trucs
b0n5a1: code de jeudi
MattLGX: Le génie dans sa bouteille (de trippel).
b0n5a1: pas bougé
Neumann: Ca manque d'un compteur de jour dans le player
kamod: et d'un éthylotest pour b0n5a1
BlaiseEbuth: Le Tororo qui grave des p'tits traits sur un arbre avec un gros couteau de chasse...
jdeveil: oui pour un esprit protecteur de la forêt ça le fait ;)
MattLGX: Console.WriteLine(my_action + " PIKA! Jour " + day);
BlaiseEbuth: Tu te rapproche de plus en plus du ban
MattLGX: lol
Zorg1: c'est pas PIKA, y a pas de ruban de Möebius
MattLGX: Pas de code ici?
BlaiseEbuth: Pour l'instant in rigole, mais à un moment je serais de mauvaise humeur, tu fera pika, et ça partira tout seul...
MattLGX: T'es admin?
WhatTrickeryIsThis: submit 30-0 toujours pas dans le top 150
Bob: tu peux mettre un peu de code pour des besoins de debug
Bob: si tu mets un morceau de code significatif pour que le reste du monde le reutilise, ca sera moins bien recu :)
BlaiseEbuth: CF l'autre hier soir...
Bob: #triggerHappy
MattLGX: oui, je comprends, il y a une tolérance
Bob: aleatoire et indeterminee
BigUP: bon chiotte je ne trouve pas d'approche me permettant d'améliorer mon classement... je crois qu'il va falloire changer totalement mon approche
Bob: suivant qui est la pour surveiller
Bob: BigUP : tu veux un hint facile ?
BlaiseEbuth: Bob il est gentil
MattLGX: T'es classé combien où BigUp
BlaiseEbuth: Pas moi
BigUP: MattLGX: entre 1100 et 1400
WhatTrickeryIsThis: y à un classement catégorie troll svp?
BigUP: Bob, je prends tous les hints
BlaiseEbuth: Pour l'instant je domine WTIT mais viens tenter ta chance.
BigUP: surtout les faciles
Zorg1: bah y en a bcp plus que tu penses des trolls, pas sur que tu sois dans le top 100 WhatTrickeryIsThis ...
Bob: BigUP : recolte plus tard
BigUP: Bob, c'est ce que je suis en train de tenter, mais ca n'a rien changé à mon classement, c'est meme un peu moins bon
Zorg1: et plante qu'une graine à la fois
MattLGX: Ah ça c'est valable
MattLGX: J'ai remarqué ce truc.
Bob: c'est surprenant, moi ca me maintient au-dessus de 700 depuis hier soir
BlaiseEbuth: Plante des arabes, c'est l'avenir. Et tente des turcs.
Alex-1: sakut
MattLGX: lol
Alex-1: salut
Bob: une seule seed a la fois ?
Bob: essayons
BigUP: vous arrivés a planter plusieurs seed en meme temps ?
BigUP: ez
Bob: bah oui
Bob: enfin pas au meme tour
BigUP: bon en meme temps, j'ai l'impression que c'est toujours le meme arbre qui seed... c'est pas top
Zorg1: ah t'as fait le BFS que sur une case ?
BlaiseEbuth: C'est l'abre alpha, c'est le seul qui peut se reproduire.
WhatTrickeryIsThis: l'arbre qui seed se ertrouve au dodo, c'est pas cool
BigUP: Zorg1, non je gère correctement les cases en fonction de la hauteur
Bob: ben ca fatigue de se reproduire
Bob: hm ca part bien ca
BigUP: Zorg1, apres, je regarde l'ombre sur les 3 tours à venir pour déterminer les cases les plus favorables...
Bob: BigUP : en fait peut-etre que tu te compliques beaucoup trop l'existence
Bob: #beLazy
BigUP: Bob, oui en fait, je pense qu'au final je vais gérer une carte de score
Bob: (dit le type qui vient de commencer une fonction applyMove)
Zorg1: et encore je t'ai pas parlé de mon polynome de degre 37 pour mon éval
Bob: merci pour le tip Zorg1, c'est manifestement efficace
BigUP: bon déjà je vais faire en sorte que ce ne soit plus le 1er arbres qui soit prioritaire pour seed...
dbdr: 37, 37, j'ai deja vu cette constant magique quelque part, mais où?
WhatTrickeryIsThis: 37 ml de lait, 37g de sucre
WhatTrickeryIsThis: ça doit une recette de salade au poulet
Bob: -3.7v
Tiouz: -pi*v
dbdr: 37 le matin
Bob: 37 degres d'alcool
Vry: Ali baba et les 37 voleurs ?
BigUP: ha oui ok, je comprends, je prend les dernier arbre de la liste pour seed... il faut que je corrige ca
fenrir: 1/e (le 'classique' 37%)
Alex-1: Comment s'est déroulé votre concours
Vry: Bien !
Bob: pas pire
Vry: De quel concours on parle ? :D
BlaiseEbuth: Tu t'es fais ban de world Alex-1 ?
Alex-1: ouais BlasieEbuth
BlaiseEbuth: C'est ballot
Alex-1: :(
dbdr: mon eval c'est de la merde!
Bob: ce qui serait ballot++ ca serait de reiterer sur fr
BlaiseEbuth: :smirk:
Alex-1: Je suis dans la ligue de bronze au printemps 2021
Bob: +300 places avec un diff de 10 caracteres, merci Zorg1
Bob: <3
Oioi: dbdr : pourquoi en es-tu si persuadé ?
Bob: Oioi : parce qu'il est pas 1er
Oioi: ça a l'air de bien tourner quand même :-)
Zorg1: bob : oui je m'étais aperçu de ça hier
Bob: ah si en plus
Zorg1: je sais pas pourquoi mais ça marche
Bob: parce qu'il est pas assez premier
Oioi: ben si, je veux lui piquer sa place, mais j'y arrive pas
Vry: C'est la meta du moment ,
Alex-1: content de te revoir Oioi
Bob: Zorg1 : l'heuristique parfaite quoi
Zorg1: :D
Oioi: Mais là, je suis optimiste :-) je vais devenir dbdr à la place de dbdr !
Alex-1: agréable Zorg1
**BlaiseEbuth aiguise son kick
Alex-1: :joy:
dbdr: c'est quoi ton tip magique Zorg1?
Bob: dbdr : une seule seed sur le terrain
Bob: mais je pense pas que tu gagneras 300 places avec ca :D
dbdr: aha
Zorg1: :p
Alex-1: tip*
Bob: mais pour passer de 700 a 400, c'est pas mal :)
fenrir: c'est dommage, il n'y a pas d'attaque du genre WORM ou FIGUIER_ETRANGLEUR ;)
El_PaJojo: Salut, certain joueurs dans le coder strike back affichent des infos dynamique, commet font ils ?
dbdr: deja ça économise des points soleil, c'est bien
Oioi: tu rajoutes ton message à la suite de ta commende
Oioi: (El_Pajojo)
Oioi: *commande*
Alex-1: c'est bon
BlaiseEbuth: Un massage comme ils disent sur world.
Zorg1: fenrir : oui ça manque de lancer des grenade ou l'équivallent ^^
BlaiseEbuth: C'est fou ce que ce contest a comme typos...
El_PaJojo: Je met quoi une virgule
fenrir: un bonne vielle sainte grenade :)
El_PaJojo: je suis en javascript je dois affiché dans la console
Oioi: oh, je suis de plus en plus optimiste...
Alex-1: javascript est bon
Oioi: de rien
Alex-1: vu
BlaiseEbuth: Un truc plus adapté. Genre "ROUNDUP".
Magus: faudrait pouvoir mettre le feu à un arbre
MattLGX: Pas mal cette idée. Ou Pika qui fait pipi sur ses arbres en bonus.
dbdr: bon, j'arrive pas a faire marcher ma super idee
- ragequit
Magus: et chaque jour, le feu se propage aux arbres adjacents
dbdr: tiens, #ragequit marche pas?
dbdr: #a
- b
BlaiseEbuth: Bonne idée Magus. La commande ce serait "AUSTRALIA"
Bob: AGENT_ORANGE
BlaiseEbuth: J'y avait pensé aussi
Zorg1: dbdr et son ragequit d'une minute ... :smirk:
Bob: ca ou NAPALAM
Bob: -A
MattLGX: Attaque éclair sur un arbre et tu fous le feu
BlaiseEbuth: Ou NUTELLA
BlaiseEbuth: Ca déforeste et ça élimine WhatTrickeryIsThis direct
Zorg1: ça a pas l'air d'être des palmiers ...
BlaiseEbuth: Bah justement, on rase et on replante du palmier après. C'est comme ça qu'on fait de la pâte à tartiner
MattLGX: C'est bon le Nutella
BlaiseEbuth: Tu mange au prix un écosystème détruit et de millions d'êtres vivants assassinés, mais ça te file le cancer... Y'a une sort de justice...
MattLGX: Voilà
Bob: win-win
MattLGX: lol
fenrir: fun fact: nutella achète 1/3 de la production mondiale de noisette (je ne sais pas si c'est à jour mais c'était ça y'a quelques années)
BlaiseEbuth: Nuts
WhatTrickeryIsThis: :yum:
BlaiseEbuth: Ouai, ils font aussi des pubs disant que leur production est éco-responsable et l'hule de palme bonne pour la santé.
MattLGX: Si c'est à la TV, c'est sérieux je pense.
Zorg1: évidemment
R4N4R4M4: Ca se corse dans le top
dbdr: mon diff grossi, mon inquietude aussi
egaetan: n'y va pas
dbdr: c'est un piège!
Alex-1: est-ce que javascript est bon pour le concours
BlaiseEbuth: Comme le nutella est bon pour la santé.
egaetan: non
egaetan: n'y pour le reste Alex-1
BlaiseEbuth: *ni
Zorg1: Ni !
BlaiseEbuth: Ni!
Bob: Ni !
dbdr: N!i
Alex-1: :grinning:
Alex-1: tous ont la même réponse
Zorg1: commentateur sportif de Chat ...
R4N4R4M4: Ouais, faut remonter loin dans le Chat pour comprendre :D
R4N4R4M4: Bon, j'ai rien fait aujourd'hui, faudrait que je fasse la simu
Zorg1: oui le "va falloir que je fasse la simu" risque d'être récurrent ...
BlaiseEbuth: D'aileurs.
BlaiseEbuth: Va falloir que je fasse la simu
Alex-1: agréable
Bob: j'ai commence a faire la simu
BlaiseEbuth: Maintenant que j'ai des bitsets fonctionnels
BlaiseEbuth: *Supposés fonctionnels
BlaiseEbuth: Peut-être que je vérifie qu'ils le sont d'abbord en fait...
kamod: purée si Bob se met à faire des simus, c'est que le monde part vraiment en couilles
MattLGX: Punaise vous êtes chatouilleux niveau Bescherelle!
kamod: et un indice, c'est la deuxième fois qu'il le fait...
Bob: non non ca m'arrive
kamod: préparez vos survival packs
BlaiseEbuth: Bob fait des simus et Blaise des tests... Le monde est foutu
Bob: j'ai fait des simus plus ou moins avancees pour un certtain nombre de contests
kamod: Te défends pas Bob
Sakisan: Ne les ecoutez pas, la simu n'est qu'un leurre
MattLGX: Les trucs qui m'énervent : "ça" et "sa" + les "ses"/"ces" + mention spéciale : "Un peu près"
Bob: the simu is a lie
Kafeine: "comme même"
MattLGX: Ah oui!
MattLGX: Et les "é" ou "er". "J'ai trouver la solution!"
Bob: mais tu peux aussi avoir "vous avez trouvez la solution"
MattLGX: Ah oui variante intéressante!
MattLGX: lol
Gronahak: J'avais mal écrit le mot "orthographe" sur le barème que j'ai fourni à mes élèves de TD pour leur expliquer comment j'allais les noter :rolling_eyes:
Bob: ou "vous avez trouvés"
mapapin: Hello, connaissez vous le ratio test/temps pour les erreurs ""You reached the limit of plays for a period of time."
Bob: over 9000 ?
mapapin: Par minute ?
Oioi: \o/ petite copie d'écran !
b0n5a1: après sur un chat, quand c'est écrit à l'arrache sans contrôler, c'est fréquent les "é" / "er"
Bob: meme fail :disappointed:
Mazelcop: gg Oioi
mapapin: :/
BlaiseEbuth: Si tu l'as dépassé c'est jusqu'à la fin du concours mapapin.
Oioi: MErci :-)
dbdr: screenshot time!
Oioi: C'est fait !
Sakisan: gg
Oioi: à 0.01 près
mapapin: Non, des fois ça revient :thiking: BlaiseEbuth
BlaiseEbuth: Je dec'
dbdr: bien dosé
mapapin: Du coup pas d'infos là dessus ?
BlaiseEbuth: Faut demander aux coutumiers du fait.
dbdr: 2 rust dans le top 4 :)
Oioi: ou chanceux... d'autant que j'ai mis un chouïa d'aléatoire
mapapin: Sérieusement, je fais comment avec ce genre d'erreur ? BlaiseEbuth
Tiouz: mapapin tu es sur le challenge ?
mapapin: Oui
BlaiseEbuth: Moi aussi sérieux, je spamme submit pas, donc j'en sais rien.
BlaiseEbuth: Réfléchis et code plus, spamme moins ?
Tiouz: Normalement tu ne devrai pas avoir de problème pour pour lancer le code en local (contre l'ia default), mais les soumissions dans l'arène je dirai en moyenne 1 toutes les 5min
MattLGX: bravo Oioi
mapapin: Je ne spam pas submit je fais des tests pour debug
Oioi: merci
kamod: mapapin prend-toi une bière et ça va finir par revenir
Tiouz: Peut-être 1 toutes les min 5 fois ça va planter, et si tu reviens dans 10min ça ira mieux
Oioi: (comment on fais pour mettre un message en rouge ?)
Bob: comme ca Oioi
BlaiseEbuth: Oioi
Oioi: :-)
Bob: Oioi il sait pas mettre des messages en rouge, le noob :D
mapapin: D'acc merci
Alex-1: au revoir
**Oioi slaps Oioi tente sa chance around a bit with a large fishbot
Alex-1: :joy:
Oioi: bon... ya pas une âme charitable qui veut m'expliquer ?
Bob: wut
Bob: c'est facile Oioi: ce message est rouge
Bob: et celui-ci ne l'est pas
Sakisan: Le rouge c'est quand on mentionne ton nom dans le message
BlaiseEbuth: Roh le lourd
Bob: ooooh ce spoil
Oioi: Oh, vous m'en direz tant...
Bob: on commencait juste a s'amuser
Sakisan: je pouvais pas le voir souffrir
BlaiseEbuth: Fallait l'achever alors...
Oioi: Je pense que j'aurais mis du temps à capter de fait
BlaiseEbuth: C'est pas grave Oioi, on t'aime bien quand même.
BigUP: ca y est, je battle Top 1000... ca commence a venir
Bob: que tu crois
BigUP: Bob, si ca commence à aller mieux, j'ai corrigé 2/3 merdouille
Magus: Mon IA elle plante des arbres, c'est émouvant https://www.codingame.com/share-replay/549094087
BlaiseEbuth: Elle dit des gros mots aussi
Magus: mais non mais non
Kafeine: Mon ia elle plante tout court
Bob: ca plante pour moi-a-a-a-a
Kafeine: si je fait ++array[i++] on est daccord que j'augment l'array de un avant i ?
Kafeine: Ou c'est complètement stupide
BlaiseEbuth: valide
Kafeine: ok merci
Bob: note que ca peut *aussi* etre completement stupide
BlaiseEbuth: C'est pas exclu
Bob: parce que si tu as besoin de poser la question, ca veut dire que le code est illisible
BlaiseEbuth: Mais ça fait ce que tu dis
JBM: note que ça pourrait être le contraire que tu pourrais pas l'observer pour autant
JBM: t'as pas de code entre les deux de toute manière
Bob: comment est ta observation JBM
JBM: aiguise mon weekend Bob \o
R4N4R4M4: On reçoit les inputs quand on est en attente ou non ?
Tiouz: non
BlaiseEbuth: rtfs§
R4N4R4M4: thx Tiouz
Tiouz: "Les joueurs qui dorment ne reçoivent pas d'information."
R4N4R4M4: Va falloir que je transforme ça en WAIT
R4N4R4M4: Si des gens veulent une belle map : http://chat.codingame.com/pastebin/af94fd2a-5160-4b01-ae47-8b20c85815c8
SeebOmega: du coup les ombres sont cumulatives ? mon arbre de 2 deja dans l ombre recree lui aussi une ombre portee de 2
b0n5a1: oui
R4N4R4M4: Les pouvoirs de l'ombre ne s'additionnent pas ? Ca fait pas 4 ? :D
TinyD3vil: est ce que l'ombre menace que les arbres de l'équipe adverse ou un petit arbre nous appartenant a peur d'un gros arbre devant lui ? :D
dbdr: les ombres s'annulent pas?
b0n5a1: qqun a déjà eu le cas où les deux joueurs essayent de balancer un gland dans la même case ?
SeebOmega: ca depends du cote obscure faut demander a palpatine
TinyD3vil: lui aussi nous appartenant
Tiouz: b0n5a1 rtfs
Kafeine: si deux glands vont dans la même case le coup est annulé
R4N4R4M4: Mais les arbres s'endorment
Oioi: b0n5a1 : oui
SeebOmega: je crois il cherchais un replay
Zorg1: dbdr : ah tu veux faire des interférences ?
b0n5a1: oui SeebOmega ^^
dbdr: et si deux glands se trouvent en meme temps sur #fr ça fait quoi?
-TheWalder-: Ils s'annulent
Oioi: une manif
b0n5a1: non mais je sais, je voulais voir un replay
SeebOmega: tu te fait rembourser tes soleikls
nicola: Un mocassin.
R4N4R4M4: Bon, faudrait que j'attaque la simu... :D
b0n5a1: j'aime bien vérifier que ce qui est marqué est réel...
b0n5a1: pas encore eu le cas en IDE
SeebOmega: j essayes d integrer toutes les regles pour le moteur mais ca aurait plus simple de jouer sur une terre ronde pour que l ombre soit la meme tous les jours
BlaiseEbuth: Platists won
b0n5a1: fallait par leur montrer un carte du monde sur un mur à l'école à ceux là ^^
b0n5a1: https://information.tv5monde.com/video/il-meurt-en-voulant-prouver-que-la-terre-est-plate
Oioi: https://www.codingame.com/replay/549088394
Oioi: Frame 27
b0n5a1: suffisait de marcher jusqu'à aller taper à la vitre du dôme...andouille !
Tiouz: L'animation est bien en plus !
BigUP: arf ! :) je ne suis déjà plus top 1000 ! :) ca va etre un calvaire ce contest
BlaiseEbuth: Le lancement on dirait moi qui joue à Kerbal...
BlaiseEbuth: Avec le parachute qui s'ouvre et tout.
BlaiseEbuth: Pareil
b0n5a1: la lune est sphérique dans l'animation pourtant...à moins que ce soit un gros sticker collé au dôme
BlaiseEbuth: C'est le centre de contrôle b0n5a1
b0n5a1: t'entres au moins dans le top 100 du Darwin award avec ça ^^
BlaiseEbuth: Pas loin du mec qui avait installé un réacreur d'avion sur sa bagnole...
b0n5a1: le plus con que j'ai trouvé c'est le mec qui tente la pêche à la dynamite sur lac gelé...son chien a courru chercher le bâton pour lui ramener
BlaiseEbuth: :rofl:
BlaiseEbuth: Pôv bête
b0n5a1: le mec a tellement dû faire chier le chien à lui apprendre à faire ça que le pauvre devait être tout content d'aller le chercher pour le ramener
BlaiseEbuth: Le mec qui a remplacé le fusible de son camion par une cartouche de fusil est pas mal aussi.
b0n5a1: LOL
Delarobia: Ca fit tellement longtemps que j'ai pas touché a une ligne de code que je n'arrive pas a résoudre Ascii art partie 1 ... Je ne susi plus un dev ...
Kafeine: Les manips de string caylemale
b0n5a1: y'en a un autre avec la dynamite...le type veut s'amuser à allumer un bâton et le jeter par la fenêtre de sa bagnole...il le jette, vitre fermée...le truc rebondis dans la caisse...au lieu de sortir et se barrer il essaye de le retrouver
b0n5a1: ou le gars qui fait une lettre piégée en mettant les infos expéditeur...par malchance ça lui est revenu (destinataire pas livrable)...le mec ouvre sa propre lettre et se la fait péter à la tête...champion du monde celui là aussi
Kafeine: Quand j'étais à l'armée j'ai vu quelqu'un perdre son bras avec sa propre grenade. Le mec à fait nimp en enlevant la goupille la cuillère s'est barré et le mec est resté la sans rien faire
Kafeine: Je me demande si il est toujours en vie
dbdr: "fusée à vapeur" :zipper_mouth:
Oioi: b0n5a1 : merci pour le fou rire
b0n5a1: ^^
b0n5a1: Kafeine il croyait qu'il tenait la cuillère ou c'était aussi un champion ?
b0n5a1: pas voir que c'est enclenché faut être bien débile quand même
Kafeine: Le mec étais loin d'être une flèche, de ce que je me rappelle il arrivait pas à enlevé la goupille, et une fois qu'il a réussit à l'arraché la cuillère est tomber. Je l'ai vue geler sur place alors je me suis planqué.
b0n5a1: arf, tétanisé de trouille...
b0n5a1: ou pas ^^
Magus: forcément, si je met pas de critère sur le sun, mon IA pense que ça pousse sur les arbres
Magus: (humour de compétition)
Gronahak: :thumbsup:
Bob: :clap:
Magus: bon, maintenant que je sais faire pousser des arbres
Magus: me manque à apprendre comment les couper
Bob: avec une scie
Bluepioupiou: ou une hache
Palmipedus: ou une grenade mais certains ont perdu des bras :D
Magus: https://www.codingame.com/share-replay/549193372 super partie où je fais que pousser des arbres
b0n5a1: cordon détonant
dbdr: C’est en forgeant qu’on devient forgeron C’est en mangeant de la soupe qu’on grandit Et c’est en jouant au bucheron Qu’un jour Léonard devint scie
dwarfie: bon , le free xp du jour , c'est fait ... jeton un vrai coup d'oeil au sujet du contest :D
YahyaBahjaoui: comment faire seed une graine plus q'une fois
b0n5a1: hé merde...
Bluepioupiou: chaque arbre ne peut seed qu'une graine par jour
ZVRKK: @dbdr Quelle chute, on scie attend pas
YahyaBahjaoui: ah mais pourquoi l'adversaire seed beaucoup
Magus: parce qu'il a plein d'arbres ?
Bob: ^
b0n5a1: woputain...
Bob: et/ou plein de soleil
b0n5a1: et de l'eau
Bob: parce que seed c'est pas gratos non plus (sauf la premiere)
BlaiseEbuth: Et du crottin de cheval.
YahyaBahjaoui: donc c'est quoi la meilleur solution pour faire beacoup de ssed
Bob: ben avoir plein d'arbres
b0n5a1: des mâles et des femelles
Bob: mais c'est pas forcement tres utile d'avoir plein de seeds
Bob: parce que tu n'auras pas assez de soleil pour les faire toutes pousser en meme temps
dwarfie: et etre capabe de chier un code pour fertiliser le terrain aussi :D
dbdr: :D
philRG: non si je lis le chat depuis plusieurs heures déjà :)
b0n5a1: si à jouer à awale faute de billes d'argile
YahyaBahjaoui: merci bob
Magus: après les seeds peuvent servir aussi à empêcher l'adversaire de poser un arbre à un endroit qui te ferait bien chier
Magus: genre un spot où un arbre de taille 3 te pourrirait 3 arbres par tour
Oioi: j'ai totalement abandonné cette idée Magus
philRG: le but: avoir plein d'arbres bien exposés
Oioi: J'arrive pas à le mettre en pratique
Bob: trop sophistique pour moi ce type de raisonnement
dwarfie: bon , aller ... etape une : trouver une feuille et un crayon . etape 2 lire le statement . etape 3 rage-quit ... etape 4 legend ...
dwarfie: ah ben non , je suis pas boulet :D
Jimal: un arbre à l'ombre fait quand meme de l'ombre ?
Magus: oui
b0n5a1: oui
Jimal: ok thx
philRG: c ki boulet, le gars qui passe legend à coup de try/catch pour pas avoir à débugger?
domak: d'ailleurs faudrait peut être prévenir boulet qu'il y a un contest... sinon il pourra pas rage-quit
Pink: Je cherche encore comment tenir compte des ombres... la page blanche pour l'instant... Déja jai cru comprendre qu'un bsf pour le calcul de distance serais utile, mais je maitrise pas...
Bob: alors fais pas de BFS
philRG: je l'ai fait tout à l'heure, un flood-fill qui s'est transformé en bfs
Bob: en debut de partie, tu peux calculer la portee de chaque taille d'arbre pour chaque cellule
philRG: enfin ça ressemblait à un bfs ce que j'ai pondu
Bob: avec une paire de betes vieux for
Bob: pas la peine de sortir l'artillerie lourde pour ca
Bob: ca prend 10 lignes de code
BlaiseEbuth: Fais un Floydd Pink
Bob: et pour les lieux de seed possibles, meme combat, c'est 20 lignes de code
b0n5a1: j'ai brutassé : tout en dur ^^
Magus: j'y a pensé à tout foutre en dur
Bob: brutasse
Magus: mais ça prenait trop de place dans le code
b0n5a1: généré à la compil
philRG: j'ai du me compliquer la vie, sinon le referee fournit la classe Java pour le calcul de distances mais il faut convertir les tuiles en coordonnées cubiques: https://github.com/CodinGame/SpringChallenge2021/blob/2785b58e5eb136fdc5349825c33454fa7838270b/src/main/java/com/codingame/game/CubeCoord.java
BlaiseEbuth: same Magus
b0n5a1: ouais ça prend de la place ^^
Gronahak: Tu calcules les lieux de seed possibles qu'une seule fois en début de partie bob ?
b0n5a1: après une fois que t'as checké que toutes les valeurs son ok rien t'empêche de faire le gogol en mettant tout sur une ligne
Bob: bah oui
Bob: ca change pas ca
Pink: BlaiseEbuth je pensais que c'était un blague truc(musical avec mon pseudo) mais utile comme info, je creuse.... merci
Bob: un arbre de taille 2 sur une cellule donnee pourra toujours seeder sur exactement les memes cases
Gronahak: aaah ok j'avais pas compris que c'était ça que tu caculais
BlaiseEbuth: C'était une blague. Je pense que c'est un peu overkill pour ce problème Pink. ^^
Magus: que ce soit les ombres portées et les cibles pour les seeds, elles changent jamais
BlaiseEbuth: Mais ça peut servir. ^^
Bob: ^
Magus: elles dépendent juste de la taille de l'arbre (et la direction du soleil pour les ombres)
Magus: perso j'ai un array<array<vector<Cell*>, 3, 6> et je vois pas du tout le problème
Gronahak: j'utilise juste les moves possibles fournis, je me casse même pas la tête à simuler pour l'instant
Bob: j'ai la flemme de chercher des idees en fait
BlaiseEbuth: Cherche pas, attends qu'elles viennent.
Bob: c'est a peu pres ce que j'ai fait jusqu'ici :D
Thyl: la maintenant qui a une simu operationelle
Thyl: ???
b0n5a1: ayé chef j'ai fait monté la boîte avec un truc débile
Bob: j'ai un moteur presque fini mais j'en fais encore rien
Thyl: optimisé du coup ou pas trop ???
Bob: pas du tout
Thyl: est-c'est rapide ou long
b0n5a1: c'est un moteur à vapeur, pour fusée, pour montrer la platitude de la Terre
Bob: c'est-a-dire ?
Thyl: avgec le calcul des ombres et tout
Bob: a coder ?
Thyl: non à exe
Bob: ah
b0n5a1: 1 ms ?
Bob: je suis en train de regarder
Magus: \o/ première victoaaara https://www.codingame.com/share-replay/549220229
Magus: *victoaaare
Bob: la sur 98 ms je fais entre 150 et 200k tours
BlaiseEbuth: :clap:
Thyl: cool
Bob: 1 tour = copie du state + calcul des coups possibles pour les deux joueurs + application d'un coup au pif pour chacun
Bob: mais j'ai un crash quelque part T_T
Thyl: Bob du coup t'as pas essayé d'optimisé ça comme une bête
Thyl: t'as des perfs qui me pareisse folle
Bob: du tout
Bob: j'ai juste mis les pragma magiques et c'est marre
Thyl: tu passes les pragmas magique defois ??? :)
Thyl: et comment t'as fait pour tester la simu ?
Thyl: ça a l'air hyper dur à debuguer
Bob: tester, c'est un grand mot
Bob: je prends l'etat en cours, j'applique une action et je verifie que le resultat obtenu est celui prevu
Bob: d'ailleurs j'ai pas vraiment teste grand-chose et de fait j'ai un crash :)
k4ng0u: Bob 150k tours en mid game quand t'as un max d'actions possibles?
Bob: k4ng0u : sans doute moins en vrai, parce que pour le moment je fais que des WAIT :D
k4ng0u: mais tu generes quand meme les coups possibles?
Bob: oui
Oioi: gg dbdr
k4ng0u: ah oui mais t'as pas de tree vu que tu fais que des wait? xD
dbdr: euh je suis #2
Magus: allez je suis un fou, je submit !
Oioi: tu vas passer devant, ça se sent :-)
Bob: k4ng0u oui pour le moment j'en fais rien
Magus: ah ouai ... les ligues de 4000 joueurs, j'avais oublié :D
dbdr: vivement gold
Magus: vas y, 17 victoires de suite je suis que 550ème
Magus: je suis désolé pour ceux que je rencontre la
dbdr: ça c'est une premiere version à la magus
Magus: bah comme d'hab, je dois avoir plein de bug, l'éval est bidon, les perfs sont horribles
Magus: mais sinon c'est toujours la même technique habituelle
dbdr: et ça fait top 100
Magus: simulation, algo de recherche, eval, enjoy
Thyl: mcts du coup
Thyl: bfs je le sens pas
Oioi: dbdr : tu habites vraiment en Hongrie ?
k4ng0u: Thyl ca marche comment un mcts ou on joue pas la game jusqu'a la fin? faut normaliser le score ou considerer que la personne qui a le plus gros score gagne?
Thyl: k4ng0u
Thyl: je suis vraiment pas expert
Thyl: Magus est plus fort sur ça
Thyl: par contre il faut choisir le vainqueur d'une partie d'une manière ou d'une autre
Magus: mcts faut avoir une éval qui répond un score entre -1 et 1, de manière uniformisée. Après l'éval peut en effet être un rollout aléatoire jusqu'à la fin de la partie, et tu prends -1 ou +1 en fonction de qui a gagné.
Magus: Mais parfois, le rollout c'est trop consommateur, tu peux pas aller jusqu'à bout. Et si tu évals sur place, faut faire attention à faire entre -1 et 1
Magus: (après il existe sans doute des choses pour avoir un mcts qui fonctionne avec une eval qui fait autre chose que entre -1 et 1, faut aller bidouiller la formule d'exploration :D )
Asfalots: Des sources genre MCTS for dummies ? C'est genre mon 10eme contest et j'arrive pas à gerer les simu correctement :(
Thyl: Magus tu t'embêtes à faire des getteurs ???
b0n5a1: ouais, ils sont cachés derrière les arbres pour te surveiller...
jmpeg: https://int8.io/monte-carlo-tree-search-beginners-guide/
YahyaBahjaoui: j'a fait 100% de mes combat dans la ligue bronze
YahyaBahjaoui: rien n'est passé
WhatTrickeryIsThis: dans ton cas y à qu'une chose à faire
WhatTrickeryIsThis: attendre
Asfalots: merci @jmpeg :-)
WhatTrickeryIsThis: attend lundi soir tu sera argent
Magus: Thyl: de l'encapsulation dans un code de contest ? quelle idée saugrenue
k4ng0u: Magus deja que j'ai du mal a visualiser l'impact du coefficient d'exploration dans un mcts classique... je pense que le plus "simple" c'est d'uniformiser l'eval entre -1 et 1 (et meme ca c'est pas trivial vu comment j'ai tendance a mettre des coefficients d'ordres de grandeur totalement differents dans l'eval :p)
dwarfie: ...oupas...
b0n5a1: WhatTrickeryIsThis :rofl:
YahyaBahjaoui: merci bcp
BlaiseEbuth: Put a :banana: in your :ear: .
b0n5a1: :rofl:
b0n5a1: woputain la barre de rire
nicola: Dire qu’on ne peut pas bannir un modérateur. :p
b0n5a1: :grinning:
BlaiseEbuth: Quoi ? C'est un message d'amour et de paix !
b0n5a1: erf dans tout ça j'ai pas encore sorti la chienne
philRG: lol je suis toujours dans le Top 5%: 4,96% tenir jusqu'à lundi lol
nicola: :dog:
philRG: j'ai vu passer magus
Magus: ouai j'ai une première tentative qui s'est honteusement écrasée à la 30ème place
philRG: du rang 1000 au rang 30 en un coup?
BlaiseEbuth: Ouai, quel fail
Magus: ah non j'étais quelque chose comme 4000ème
Magus: mais elle comptait pas celle d'avant :D
philRG: faudra que je m'y mette aussi
philRG: ah ok :)
philRG: b0n5a1 pauvre toutou
b0n5a1: je vais y aller là, elle ne réclame même pas en plus donc ça va ^^
YahyaBahjaoui: j'ai pas compris le principe est ce que pour monter au silver il faut gagner tous les matche ou juste une partie
YahyaBahjaoui: gagner juste des matche
YahyaBahjaoui: s
Thyl: ça existe les pointeurs de foncions en cpp
kuraima: oui
Andry_: la ligue silver est pas encore ouverte
MatthieuF: Le silver n'est pas encore ouvert
SeebOmega: fautque ton MMR (score)soi superieur au boss
YahyaBahjaoui: mais j'ai pascomprisle principe
YahyaBahjaoui: est ce qu'il suffit juste de jouer 100% du match
MatthieuF: Personne ne peux passer silver avant le 10
MatthieuF: Ils vont dévoiler les bosse d'ici quelques jour donc d'ici là ce que entre nous ;)
YahyaBahjaoui: ahhhh merciii
YahyaBahjaoui: AI c'est pas un Boss
b0n5a1: boarf, y'a pas que lui...
b0n5a1: bon, dog time
leyo: yo Magus
leyo: t'as un bug https://www.codingame.com/replay/549257423
leyo: (timeout)
dbdr: Magus #26 :)
Tiouz: Quand est-ce que vous lancez le timer ? Avant les inputs ou à la fin des inputs ? Ou après le premier input ?
dbdr: apres le premier
Tiouz: Ok
R4N4R4M4: Je voulais attaquer ma simu, mais j'ai un petit refactoring à faire avant...
Thyl: tu stream R4N4R4M4
Thyl: ???
Thyl: d'ailleurs j'adore tes streams au passsage
R4N4R4M4: Oui Thyl, mais c'est long à publier parce que j'enregistre sur FB d'abord, et je repush sur Youtube ensuite
Thyl: a ok
R4N4R4M4: Sur Youtube faut que je bidouille avec OBS et je sais pas faire
Thyl: FB c'est quoi ??
JBM: m'étonnerait qu'OBS ait pas un préréglage YouTube
BlaiseEbuth: Et sinon apprend
R4N4R4M4: FB Messenger
BlaiseEbuth: Skoi ce comportement fataliste ?
BlaiseEbuth: "Je sais pas faire, tant pis"
R4N4R4M4: J'avais essayé la dernière fois sur OBS, et j'avais été bloqué par je sais plus quelle étape administrative qui m'avait gonflé
R4N4R4M4: Faut récupérer un identifiant sur Youtube je crois
JBM: oui tu peux pas publier sut youtube sans compte youtube
BlaiseEbuth: hardcore
JBM: c'est une des limitations du systeme
BlaiseEbuth: Il en a un, il publie ses rediffs sur ut
BlaiseEbuth: *yt
BlaiseEbuth: Nan mais t'est juste une paillasse en fait! :rage:
R4N4R4M4: LOL
R4N4R4M4: C'est surtout que quand je m'étais penché sur la question, on était en plein challenge, et ma priorité c'était quand même de coder :D
R4N4R4M4: Faudrait que je regarde ça à tête reposée
BlaiseEbuth: tsss
R4N4R4M4: OBS il veut rien savoir :D https://prnt.sc/12ol1ih
JBM: quelle erreur inscrutable
R4N4R4M4: Et après, il m'insulte :D https://prnt.sc/12ol2rm
Neumann: T'as quoi comme algo atm Magus ?
JBM: ça alors, une case clé de stream
JBM: je me demande si y'a un rapport
kuraima: ralala OBS et ses souvis
kuraima: soucis*
Zorg1: je crois que JBM se moque mais j'en suis pas sûr à 100 % ^^
BlaiseEbuth: Ménon
kuraima: il oserais pas
leojean890: bon rien codé quasi today, et j'ai baissé 148^^ Zorg1 t'es en simu ou heuristique ?^^
Magus: Neumann: de la merde. Un MC avec une éval.
Neumann: Propre, grosse depth ?
kuraima: ptdrrrrr je suis une quiche en codage x)
Magus: ma depth c'est 3 jours :D
Neumann: Ok
leojean890: c'est dur de bien tuner l'éval je pense
leojean890: nombre d'arbres de chaque taille ? nombre de points ? de sunpoints ? en fct du nb de nutriments et du jour ?
k4ng0u: Magus combien de tours simulees en 100ms?
leojean890: du score ?
Magus: k4ng0u: déjà énormément de la map. La phase pour passer d'un jour à l'autre quand la map est remplie d'arbre, elle pique.
kuraima: j'arrive même pas a faire un niveau facile T-T
leojean890: ah ouais le branching est hyper variable
Magus: ah ah ah ah Oioi
Magus: tu veux voir un bug qu'on a en commun ?
Oioi: oui ?
Magus: https://www.codingame.com/share-replay/549291404
Oioi: oui :-)
Magus: on ignore totalement la case au centre
Magus: probablement parce qu'on bfs pour trouver les voisins
Sakisan: j'ai pas perdu de place depuis mon submit ce matin... remuez-vous un peu D:
VincentBab: ah il est drole ce seed avec la case centrale isolé xD
Neumann: La richness d'une cellule c'est pas sensé être un critère dans votre BFS
Oioi: Magus : pas de BFS pour moi, uniquement heuristique pour l'instant
leojean890: pas maltes heuristiques;)
leojean890: mal tes*
Oioi: Et me concernant, c'est pas un bug :-) Même si, franchement, là, elle est tentante cette case centrale
raillou: slt
leojean890: c'est vrai que ce jeu ça se sent qu'avec les bons if ça peut aller loin
Oioi: J'avais pas pensé à ça ;-)
Bon[]Crayon: o/
MattLGX: Vous ciblez volontairement les hexas extérieurs?
Oioi: :-)
Sakisan: (:
Mazelcop: les hexas extérieurs sont protégés contre l'ombre pour certaines direction du soleil
MattLGX: vu ton classement je pense que c'est pas mal comme idée...
MattLGX: C'est toujours les petites idées comme ça qui changent tout.
MattLGX: ok donc cibler sur richness = bien pourrie.
Mazelcop: richness ça fait des points, c'est important aussi. Il est subtil ce jeu...
MattLGX: oui mais aufinal, il te faut des soleils pour avancer
Mazelcop: toutafé
leojean890: compromis assez compliqué
Thyl: comment on fait pour désallouer un tableau de type int *a[37]???
BlaiseEbuth: Tu l'as déclaré comme ça?
Thyl: oui
BlaiseEbuth: Donc c'est pas le tableau que tu veux libérer, c'est chaque élément qu'il contient
Thyl: oui
Thyl: et le tableau
BlaiseEbuth: Non
BlaiseEbuth: Le tableau tu l'as pas alloué manuellement donc t'as pas à le libérer
Thyl: a ok
Thyl: oui je sui bete
BlaiseEbuth: Donc delete sur chaque élément que tu as alloué
Thyl: par contre j'ai allouer des valuers de ce tableau avec des new
BlaiseEbuth: Oui
Thyl: c'est ce que je fais
Thyl: j'ai une erreur de double free
Thyl: et c'est ma seul source de pointeur
Thyl: et c'est ma seul source de pointeur
R4N4R4M4: Bon j'ai trouvé comment streamer sur Youtube, c'est pas évident quand même
BlaiseEbuth: Tu fais bien delete et pas delete[] ?
BlaiseEbuth: Tu ne passes pas deux fois sur le même élement ?
BlaiseEbuth: Et tu ne fais pas delete sur une case que tu n'as pas alloué ?
Thyl: oui
Thyl: mais je regarde
Thyl: je crois que j'ai une erreur à cause d'un mauvais constructeur qui copy simplement un pointeur
khealer: Tu alloues et désalloues beaucoup ? pour les performances, tu devrais éviter et rester au maximum sur le stack
Thyl: pas beaucoup non plus
BlaiseEbuth: Et utilises une map, comme ça t'auras du stack hashé.
Thyl: a
Thyl: si je map ça hash pas bete
Thyl: pour stocker mes arbres je fais un tableau comme ça en faite
VirtualAtom: (cette blague, il y a du niveau :-})
BlaiseEbuth: :p
Thyl: et à chaque fois que je veux en ajouter j'alloue
BlaiseEbuth: Tu te complique la vie.
BlaiseEbuth: Tu sais qu'il y'a 37 cases, tu déclares un tableau fixe et basta
Thyl: je sais pas faire autrement
Thyl: oui mais je connais pas mais arbre actif est non actif
BlaiseEbuth: *mes *et
Zakaoai: On va faire du live Youtube R4N4R4M4 ?
Thyl: oui pardon
BlaiseEbuth: Et alors ?
BlaiseEbuth: Tu as un bool actif pour chaque
Thyl: ben avec mon systeme je stock que les arbres
Thyl: actif
khealer: http://chat.codingame.com/pastebin/bce0c8d2-3713-4d33-944c-894d3522b868
Thyl: qui existant
Thyl: Avec un Tree tab [37]
Thyl: j'ai 37 arbres
Thyl: et je c'est pas comment les gérer
Thyl: à pars si je les stock deans un vector
Thyl: mais un vector ça tues las perfs
VirtualAtom: ce qui tue les perfs, c'est les allocations / réallocations
Thyl: a ok
Zakaoai: Plus que 700 personne et tout le monde sera en bronze :D
khealer: Tu peux utiliser 2 tableaux, actifs et non actifs, au moins pas de comparaison
BlaiseEbuth: Tu fais un tableau de 37 cases, et à chaque tour tu stockes les arbres que tu reçois à la suite au début de ton tableau, et tu n'utilises ton tableau que sur les indexs de 0 à treeCount
Thyl: a pas bete
Thyl: et plus fort que les vectors
BlaiseEbuth: SEGA c'est plus fort que toi.
VincentBab: c'est chiant 37 cases quand meme, ca rentre pas dans un int32 et sur un int64 ca perd plein de place -_-
BlaiseEbuth: Ouai j'ai galéré à tout faire rentrer dans state. Mais c'est bon 240 bits.
POLOB: j'aurais dit un peu plus moi...
Zorg1: leojean890 : toujours en heuristique j'ai juste rajouté un truc
BlaiseEbuth: Bah t'as p'têt un peu plus... Mais moi non :p
VincentBab: ah oué propre 240bits pour le state
leojean890: Zorg1 ouais d'après Oioi tu peux monter au top juste en heuristique :)
BlaiseEbuth: Le revers de la médaille c'est que je suis encore en train de vérifier que le biteset est ok, alors que j'ai pas commencé le reste. '^^
leojean890: faut être chaud quand même^^
Oioi: Si j'ai envie de rejouer avec un nouvel algo la partie que Magus a partagé, ya moyen ?
leojean890: "rejouer dans les mêmes conditions" dans IDE ?
POLOB: j'imagine que ça bitset à mort...
leojean890: si ça fait partie de tes matchs
leojean890: last battles
POLOB: moi, ça bitset moyen
Oioi: ben je le vois pas
leojean890: ah zut c'est un match ide
leojean890: dans ce cas je ne sais pas
VincentBab: tu met le meme seed et tu selectionne l'ia de magus
mrBen: avec la seed ?
philRG: ah ouais ça a l'air du boulot
philRG: et merde le scroll
leojean890: ah j'avoue
leojean890: sympa un sujet où les heuristiques marchent aussi bien, c'est le contraire de FC2020
Thyl: en tout cas ça march emerci beaucoup BlmaiseEbuthg
philRG: c un sujet assez fertile
leojean890: -m-g dr
BlaiseEbuth: :clap:
Oioi: hum... me reste plus qu'à trouver où mettre le seed ^^
leojean890: mdr
JBM: a moins de treeSize de dist
leojean890: Oioi dans "option"
leojean890: manuel
leojean890: en bas de l'ide
Oioi: Ouf ! ça y est, merci leojean890
Oioi: Il a fallu que je me mette en mode expert aussi, si d'autres que moi veulent en faire autant
BlaiseEbuth: Ca existe encore ce truc ? Je pensais qu'ils l'avaent viré...
leojean890: ah oui j'avais oublié ces modes^^
dwarfie: bon , plus qu'a precalc les ombres et les points de seed et je vais pouvoir commencer a reflechir ... apres quelques verres evidemment :D
VincentBab: ^^
dwarfie: (le pic de balmer , ca s'entretient ;) )
Zorg1: sinon je fais mumuse avec mon heuristique mais ma simu n'avance pas
Oioi: ya bien un moment où je vais regretter de pas avoir programmer la simu...
Oioi: et d'être sous Python ^^
b0n5a1: tu appelles ton engin comme ça te chante, cela ne nous regarde pas
dwarfie: :rofl:
Zorg1: b0n5a1 le poète réapparru en mode "génération spontanée"
Zorg1: :p
dwarfie: a peine 100 lignes pour mon moteur ... soit j'ai depassé le pic , soit c'est le plus simple a faire de l'histoire des contests de cg ...
fenrir: je le trouve effectivement plus simple par rapport à pas mal d'autres contests
fenrir: (la simu hein ;))
fenrir: mais alors qu'est ce qu'il est verbeux le code java de ref...
leojean890: la simu est pas méga dure ouais
dwarfie: ah une ligne de plus , j'avais oublié la mise en dormance des graines semees ...
fenrir: c'est pas comme botg
fenrir: celui là ...
Palmipedus: bon qunad il y a des arbres de size 3 ca generes bcp de possibilitees, une idee pour reduire le search les gens?
BlaiseEbuth: Coupe les.
Palmipedus: certes mais comment?
MattLGX: A la hache
Magus: si tu fais jamais d'arbre de taille 3, t'as pas le souci
Palmipedus: voila c'est ca qui manque :D
fenrir: de plus je trouve que passer bronze a été particulièrement simple (j'ai juste pris la dernière action dans le liste, sans rien chercher à comprendre)
Vaurtitoux: t'attends quoi pour passer 1er alors
fenrir: ah ça c'est autre chose hein ;)
Magus: fenrir: j'ai fait pareil mais avec la 2ème
Magus: possiblesMoves[1] ça passe bronze
MattLGX: Bizarrement possibleMoves[0] ça passe moins bien.
Magus: oui vu que c'est WAIT
fenrir: j'ai tenté avant de regarder :)
fenrir: par contre, je ne sais pas trop encore comment je vais l'aborder
leojean890: je trouve ça plutôt dur de faire une bonne éval ici (enfin je pense!)
BlaiseEbuth: Tu trouves toujours ça dur les evals.
leojean890: non ça dépend, dans COK mon éval est ps dégueu par ex^^
leojean890: enfin dégueu si dans le sens code sale mais marche pas mal
fenrir: non ce n'est pas sale, c'est juste du code "agile" voyons
leojean890: mais dans ce jeu, trop de critères
leojean890: nombre de pts, sun pts, arbres de chaque taille, leur risque de se retrouver à l'ombre..
leojean890: pondérer tout ça ça devient un véritable sac de noeuds, d'autant plus que ça dépend de la diff des scores, du nb de nutriments, du tour..
leojean890: je sens que mon code va être trèèès zoli à regarder après :)
leojean890: "code agile" ^^
BlaiseEbuth: Le regarde pas
VincentBab: go MCTS: pas besoin d'eval ^^
leojean890: t'es en MCTS VincentBab ?^^
leojean890: j'ai déjà une éval pour mon code en arène actuel, ça marche pas trop mal mais bon évaluer après simu ça sera autre chose
VincentBab: nan juste MC
leojean890: je vois^^ c'est un début:)
leojean890: du coup t'as une éval;)
VincentBab: pas vraiment, je simule plein de game et je regarde le move qui a la proba d'avoir le meilleur score
leojean890: ah je vois^^
VincentBab: c'est pas ca MonteCarlo ? xD
leojean890: pour moi c'était une éval depth N avec des simus de plein de games^^
Zakaoai: Si VincentBab c'est ça du moins ce qu'on m'a expliqué
Zorg1: l'algo de Monte Cristo, tu t'échappes de la prison, tu te fais les c* en or et tu reviens te venger
leojean890: mais ok, tu vas "jusqu'au bout"
leojean890: jusqu'à la fin de la partie
Zakaoai: Oaip
VincentBab: oué
leojean890: Zorg1 ah ouais, ça fait penser au film un peu horrible "les hauts murs" avec François Damiens ^^
leojean890: mais quand tu fais un MC tu peux stopper depth N et scorer:)
leojean890: en gros tu simules l'adv avec du random également j'imagine là
VincentBab: oué
VincentBab: oué mais scorer a depth N ca implique d'avoir une eval xD
leojean890: ouais^^
VincentBab: ce que j'ai pas pour le moment ^^
Oioi: Et comment améliorer l'algo MC pur ? Qu'est-ce que tu peux changer si ce n'est tenter d'être plus rapide et simuler davantage de parties ?
Tiouz: Tu peux faire un MCTS pour améliorer...
Oioi: Donc une eval ?
Tiouz: Non, c’est pas une eval MCTS
leojean890: VincentBab anyway t'es mieux classé que moi ^^
leojean890: MCTS sans éval ouais
BlaiseEbuth: Les TU me disent que ça marche pas, du coup je chercher des erreurs dans les TU. #nousSachons
Oioi: Ya bien une eval dans MCTS pour élaguer l'arbre, non ?
dwarfie: non , justement
leojean890: ouais ce sont des algos sans heuristique sauf si tu interdits certains coups naturellement mauvais
leojean890: je crois que MSmits faisait ça pour clobber et connect 4
Tiouz: BlaiseEbuth, si il y en a plusieurs c’est des NOUS alors
Tiouz: la grammaire quoi
b0n5a1: Oioi c'est plutôt une sorte de compromis entre explorer des nouveaux chemins et explorer des chemins très prometteurs
BlaiseEbuth: J'ai presque ri
BlaiseEbuth: :3
leojean890: ton éval c'est -1/1
Tiouz: Un jour j’y arriverai !
dwarfie: les seuls TU qu'on veut c'est ceux dans tortue ... pas vrai automaton2000 ?
Automaton2000: c'est juste que je fasse un peu de temps :)
leojean890: si tu win ton chemin sera plus souvent parcouru
leojean890: et donc tu vas retourner le premier coup
Tiouz: VincentBab Tu as combien de rollouts ? Et tu es classé combien ?
VincentBab: mais MCTS pour les jeu en move simultané c'est pas si simple :(
Gloopy: VincentBa
VincentBab: c'est assez variable les rollout, ~4k en debut de partie
dwarfie: en meme temps ... c'est pas simultané ... ou alors , j'ai raté les regles de comment ca se passe si les 2 sement au meme endroit ...
JBM: nop mais passage en dormant
VincentBab: "Si les deux joueurs plantent une graine au même endroit au même moment, aucune des deux graines n'est plantée, les points de soleils sont rendus aux joueurs et les arbres ayant lancé les graines deviennent endormis"
dwarfie: ok ... j'ai vraiment besoin de prendre rdv chez un ophtalmo :D
VincentBab: ^^
b0n5a1: dwarfie prend tout de suite un labrador c'est plus imple ^^
b0n5a1: ça te fera une monture
dwarfie: euh , plutot un boerbull ou un malamute alors ... sinon , le labrador , ca va etre cruel pour lui ;)
b0n5a1: il va te chercher les bières au frigo et tout...
b0n5a1: berger d'Anatolie (Kangal)
b0n5a1: https://www.youtube.com/watch?v=LjpG0nChGK4
BlaiseEbuth: Berger de Callédonie !
BlaiseEbuth: Mena bêtes par rude orage.
BlaiseEbuth: Et dut attendre bien à l'abri,
BlaiseEbuth: Que s'enfuient les gros nuages!
BlaiseEbuth: Et gna et gna ry gna!
b0n5a1: dwarfie tu sais ce que c'est la différence entre un caniche et un pitbull ?
b0n5a1: le pitbull quand il te pisse sur la jambe...tu le laisses finir !
dwarfie: je la connaissais ;)
BlaiseEbuth: Le pitbull on peut pas le tondre en pompon
Troph: Guerroyant en forêt froide Faisant feu pour se chauffer Perceval n’eut que brimades Quand les flèches il fit brûler.
BlaiseEbuth: \o/
BlaiseEbuth: Je savais bien que c'est les TU qui merdaient
VincentBab: On peut selectionner que les IA des 1000 premier j'ai l'impression dans l'IDE c'est normal ?
BlaiseEbuth: Ouai
VincentBab: comment je fait pour selectionner l'IA d'un pote ? :(
BlaiseEbuth: Ca sert à rien de s'entrainer contre des faibles
BlaiseEbuth: Tiouz en plus je viens de capter, mais des TU c'est des VOUS, pas des NOUS. La grammaire sérieux.
M_C: le boss argent il est pris parmi les bots de quel rang environ ?
Tiouz: ah merde... J’ai même pas réfléchi
Tiouz: Sérieusement c’est l’acronyme de quoi ? Je ne connais même pas
BlaiseEbuth: Test Unitaires
Tiouz: Ah, j’ai su à un moment, et j’ai oublié
Zorg1: de toute façon les TU ça sert à rien
Zorg1: tester c'est douter
BlaiseEbuth: La preuve, je doute même des tests
Zorg1: les physiciens te diront que l'observation perturbe le phénomène observé
philRG: ça c vrai, moi je teste pas
BlaiseEbuth: Le TU modifie des constantes! Sorcellerie! Au bûcher! :scream:
BlaiseEbuth: Mékilékon
BlaiseEbuth: En fait ça va, je sais juste pas faire 1 + 2
melperri: Bonsoir, quelqu'un aurait une idee de comment afficher le time de chaque tour en C ?
melperri: j'ai pas encore eu de depassement a part avec des fprintf de test mais je voulais voir combien de temps mon code prenait pour les futurs implementations
b0n5a1: melperri : https://www.codingame.com/forum/t/timer-in-c/140371/2
b0n5a1: mets le start juste après lecture du premier input
melperri: super merci
BlaiseEbuth: Ah non, en fait l'addition c'est bon. C'est la division entière qui coince.
Zorg1: toi aussi révise les 4 opérations avec les TU de Blaise
Zorg1: bon je fais le malin mais ma simu est au point mort :(
melperri: la division = a zero ca fou souvent le bordel
b0n5a1: attrapes ton heuristique et passes la seconde
b0n5a1: ^^
Tiouz: Zorg1 c’est peut-être mieux que moi avec ma simu pourrie, sûrement buggée, et un MCTS qui m’amène rang 2400
Tiouz: Je ne passerai même pas argent à ce rythme
BlaiseEbuth: Nan mais, j'ai un tableau de 5 lignes, et j'y accède en faisant tab[c / 2], avec c compris dans [0 .. 36]... C'est sûr qu'il y'a des couilles en mémoire après... -_-
melperri: les calculs entre les crochet c'est le mal!
BlaiseEbuth: Je suis le mal
melperri: essaye de faire ton calcul avant, check la valeur et met le resultat si il est bon dans les crochet peut etre
BlaiseEbuth: Nan mais c'est juste moi qui suis con, c'est pas un 2 c'est un 8 qu'il faut
melperri: 2 * 4 = 8
BlaiseEbuth: :o
Zorg1: on est dans les maths de haut niveau là ^^
melperri: :sunglasses:
BlaiseEbuth: Bon ça progresse.
melperri: j'essai de m'introduire a l'aide communataire.
Zorg1: ah c'est en regardant le stream de JBM que je découvre le gars avec son Tshirt <front-end/>
BlaiseEbuth: :scream:
b0n5a1: traduction : préposé au tableau blanc
b0n5a1: garbage collector c'est la femme de ménage qui l'a ce t-shirt
BlaiseEbuth: :no_mouth:
BlaiseEbuth: C'est pas très charlie tout ça, tu devrais retourner tenter des turcs pour faire pousser plus d'arabes.
b0n5a1: :thinking:
Zorg1: sur de la terre arable ?
b0n5a1: non mais arrêter c'est comme Bettlejuice, encore une invocation comme ça et il débarque...bande de malades
b0n5a1: arrêtez*
JBM: ce stream aura donc été utile!
Zorg1: en plus j'ai l'impression que c'est la première fois que je t'écoute causer en français
JBM: j'alterne un peu maintenant
BlaiseEbuth: Il a quelle voix en Français ?
JBM: je me demande souvent l'incidence que ça a sur mon audience
b0n5a1: les coc depuis quelques temps c'est FR sauf quand un non fr débarque Zorg1 chez JBM
Neumann: T'as quoi comme algo atm Mazelcop ?
BlaiseEbuth: Neumann interventions on chat during contests: "T'as quoi comme algo atm <insert top player here> ?"
Neumann: Exactement
Zorg1: c'est la pêche aux infos ^^
Neumann: Je peux donner le mien en échange mais ça va pas intéresser grand monde l'algo du #363
darkhorse64: Franchement, pourquoi il irait me poser cette question ?
BlaiseEbuth: Parce que t'es pas top player ?
b0n5a1: pour savoir quoi faire pour hider ?
Mazelcop: petit beamsearch Neumann
Neumann: Nice, thks
darkhorse64: parce que #800
Neumann: (J'ai ça aussi, en moins successful)
BlaiseEbuth: Les fameux Boys Scout
Mazelcop: j'ai du rajouter pas mal de tricks dans la fonction d'eval, sur le long terme ça va probablement pas être terrible
Neumann: C'est la génération des moves qui me pose soucis
philRG: ah on peut pas couper un arbre qui dort
Magus: Pour la génération des moves au début je voulais autoriser SEED qu'à depth 0
BlaiseEbuth: Vicieux le mec
Magus: mais en fait ça fous pas mal de merde
philRG: :joy:
Magus: après je pense que ça vaut pas le coup de l'autoriser au dela d'une certaine depthj
Magus: -j
Neumann: Ca fout quel genre de merde
b0n5a1: t'as plus rien à faire pousser...
BlaiseEbuth: On part dans la scatologie...
darkhorse64: si on finit un arbre, est-ce qu'on peut seeder dans la même case dans le même jour ?
Neumann: Oui
egaetan: oui ?
Magus: Neumann: ça fait par exemple que ton IA va absolument vouloir seed au tour 1, et mettre une graine juste à coté d'un de tes arbres de départ. Puisqu'elle peut pas seed plus tard dans ta simulation et que ton eval lui dit que de planter des arbres c'est bien.
darkhorse64: ok merci pour la confirmation
Neumann: Enfin je crois ? J'ai pas check ..
BlaiseEbuth: Peut-être.
Magus: Alors que si tu autorises SEED à n'importe quelle depth, la elle voit bien que SEED au tour 1 c'est stupide
Zorg1: va encore falloir lire ce referee ...
leojean890: rien ne dit qu'on ne peut pas, dans l'énoncé
Oioi: on peut
leojean890: ok
Zorg1: bah pour moi j'étais parti "super la liste des coups est fixe sur un jour" et j'ai pensé à ce cas là :(
Emperatrice: Any tree impacted by one of your actions becomes dormant for the rest of the day. A dormant tree cannot be the subject of an action.
darkhorse64: C'est pas super clair, l'arbre est dormant mais pas la case
leojean890: ouais car la notion de jour, osef, ça reste des tours diff
Zorg1: bah en fait tu peux voir ça comme dans LoCaM en fait
leojean890: un des rares multis non faits non à faire ^^^^
Zorg1: enfin c'était mas vision des choses mais je crois que ça complique ^^
Zorg1: en plus les actions n'ont pas forcément un coût constant sur le jour
darkhorse64: C'est l'enfer, ce jeu. Je suis toujours dans la sim et je ne sais pas vraiment quel algo utiliser. OK BS mais l'eval est pas évidente
JBM: (pour moi c'est clair, le texte dit que c'est par arbre pas par case--apres ce que fait le referee c'est autre chose)
Oioi: https://www.codingame.com/replay/549453382
Oioi: Frame 83/84
leojean890: darkhorse64 on est d'accord pour l'éval^^
egaetan: pas mieux
leojean890: fais un MCTS vu que t'es spécialiste^^
R4N4R4M4: 2 heures de streaming sur la simu, et je l'ai pas encore finie
R4N4R4M4: Il me reste la fin de jeu et le sun farming
darkhorse64: un MCTS c'est du tour par tour, Il y a DUCT mais il faut que les coups soient découplés, ici c'est pas le cas
Zorg1: si même les spécialistes de l'heuristique se mette à faire de la simu ...
R4N4R4M4: C'est de la simulation d'heuristique
CooooodinGaaammmeee: un MCTS en considérant qu'on joue tout seul ?
Zorg1: darkhorse64 : bah le seul couplage c'est les graînes
leojean890: darkhorse64 j'ai l'impression que pas mal font MC ou MCTS en allant jusqu'au bout de chaque game
leojean890: Vincentbab par ex
Zorg1: c'est comme des collisions
R4N4R4M4: Pour moi ça sera BS + AB
R4N4R4M4: Alpha Beta
leojean890: beam search ou alpha beta du coup ?
Zorg1: en gros tu vas élaguer c'est ça ?
R4N4R4M4: Les deux, je sais pas comment ça s'appelle
leojean890: ah en simulant l'adversaire donc ?
R4N4R4M4: Oui
darkhorse64: ton stream, il est où ?
Zorg1: alpha béta c'est pas uniquement avec le minimax ?
b0n5a1: t'as pas le froit d'élaguer, seulement d'abattre les arbres, sacripan !
R4N4R4M4: https://youtu.be/LZHx8WJ33EM
R4N4R4M4: Zorg1, oui un minmax avec la liste des coups limitée aux meilleurs coups
R4N4R4M4: BeanMinMax :D
R4N4R4M4: *Beam
CooooodinGaaammmeee: Vous mettez combien de temps a simu un move ?
egaetan: pas beaucoup
R4N4R4M4: Déjà, on met du temps à coder la simu...
CooooodinGaaammmeee: Jsuis en java, j'ai repris le referee, mais jsuis curieux
darkhorse64: le couplage, c'est les graines et les ombres. Comparé à XR, c'est beaucoup plus fort
Magus: ouai la le couplage entre les actions est fort
Magus: un GROW de l'adversaire peut te piquer du sun au jour suivant
Magus: et complètement changer ta liste d'action
philRG: ah ouais on dirait que le referee zappe des actions complete
egaetan: CooooodinGaaammmeee l'ordre de grandeurs sera de 100k coups pour 100ms, à un facteur près selon les devs et la complexité de l'eval
darkhorse64: Donc DUCT, Smitsimax out
Neumann: egaetan: bien plus
CooooodinGaaammmeee: egaetan j'en suis a 100 runs / 100ms Jsuis bien parti ? :D
egaetan: Neumann t'es à combien ?
darkhorse64: Je viens de faire la vérif sur un play, on peut faire un seed sur un complete dans le même tour
egaetan: CooooodinGaaammmeee tu as un souci
Neumann: Pas beaucoup pour le moment, mais plus
darkhorse64: back to sim
egaetan: certains tapent le million ?
CooooodinGaaammmeee: egaetan bah a priori le getPossibleMoves du referee est très lent
VincentBab: darkhorse64 c'est quoi le pb avec DUCT ?
Neumann: Ca coute cher
Magus: si vous utilisez le referee en local et que votre IA n'utilise pas les possibleMoves, faut désactiver ce truc
Magus: ça boost le temps des parties en local :D
CooooodinGaaammmeee: Désactiver quoi ?
Magus: le getPossibleMoves
Magus: mon IA l'utilise pas, et j'ai bien vu que le referee passait une grande partie de son temps la dedans pour rien
Magus: donc en local je l'ai viré
CooooodinGaaammmeee: Ok :) Moi c'est pire je l'utilise dans mon code. Du coup c'est pas le referee qui est lent mais mon code :D
Magus: en effet
TonoX: Hello à tous, est-ce que les règles Bronze sont les règles finales ?
darkhorse64: Le D de DUCT, c'est decoupled. Ton choix de coups ne dépend pas de ce que fait ton adversaire
Zorg1: oui
TonoX: Merci Zorg
VincentBab: oui mais c'est logique vu que les 2 joueurs joue en meme temps non ?
Zorg1: bah c'est découplé alors puisque l'action de l'adversaire c'est seulement sur la résolution, pas sur ton choix de coup ?
Zorg1: quoique
VincentBab: bah je maitrise pas assez bien DUCT, mais intuitivement ca me parait pas mal pour ce contest
Magus: DUCT tu vas avoir un énorme problème de génération des coups possibles
Magus: c'est ce qu'on disait plus haut
VincentBab: si tu fait un minmax, tu est soit trop optimiste soit trop pécimiste (selon que tu pars du principe que l'adversaire connait ton coup ou l'inverse)
darkhorse64: Je n'ai pas été clair: tes coups au tour N dépendent de ce qu'a joué ton adversaire au tour précédent. Dans CSB ou XR, ton choix de coups ne change pas
Zorg1: ah ok
VincentBab: ah ok je vois
VincentBab: Magus, branching trop élever du coup tu penses ?
darkhorse64: Bon, je vous dis ce que j'ai compris. Faut quand même vérifier :upside_down:
Magus: c'est pas un problème de branching
Magus: cf ce que darkhorse64 a dit
Codeur_du_Sexe: salut les codeuses
Magus: le problème de DUCT (et d'autres algo, comme par exemple un AG), c'est que tu dois avoir une liste de coups possibles qui ne changent pas (ou presque pas)
Magus: CSB par exemple c'est facile, parce que ton output cest un angle et un thrust, ça change jamais
Magus: Ici ton output c'est GROW, COMPLETE, SEED, WAIT avec des identifiants et ça dépend de l'état du jeu
Magus: quand tu vas coder ton DUCT, et que tu vas devoir coder la fonction "possibleMoves" qui ne peut pas contenir l'état du jeu
Magus: tu vas être bien embêté
darkhorse64: ^
CooooodinGaaammmeee: Pourquoi ya pas l'état du jeu en DUCT ?
Magus: parce que c'est comme ça que DUCT est fait
Tiouz: Pourquoi il n’y a pas ce problème dans les MCTS style appliqué à UTTT ?
CooooodinGaaammmeee: Dans un MCTS UCT on a bien l'état du jeu prou calculer les moves
Magus: si tu veux l'état du jeu, ça s'appelle un MCTS :D
VincentBab: hum en fait je maitrise pas assez DUCT je pense ^^
Magus: DUCT c'est 2 MCTS séparés
CooooodinGaaammmeee: Ah on parle pas d'un MCTS DUCT ?
darkhorse64: MCTS, c'est tour par tour
Magus: un MCTS pour un joueur, un MCTS pour l'autre joueur. Qui se jouent en parallèles.
leojean890: tu peux l'adapter ouais
CooooodinGaaammmeee: J'ai bien fait de pas partir dessus xD
Magus: après dans certains jeux t'as des tricks qui font que tu peux faire du DUCT, c'est peut être possible ici
Magus: mais souvent ça revient à représenter les moves possibles de façon alternative
VincentBab: j'avais l'impression que dans DUCT tu avait qu'un seul arbre et qu'a chaque node tu as une matrice de coup
Neumann: Le DUCT c'est pas l'inverse ? Un MCTS unique ou chaque node est une matrice 2D des différentes combinaisons de coups
VincentBab: c'est ce que j'avais cru comprendre ici: https://dke.maastrichtuniversity.nl/m.winands/documents/sm-tron-bnaic2013.pdf xD
VincentBab: oui c'est ce qu'il me semblait Neumann
Magus: je confonds DUCT avec autre chose ?
darkhorse64: Smitsimax, c'est des MCTS séparés mais ça reste le même problème: ta génération de coups dépend de ce qu'a fait l'adversaire au tour précédent
Magus: c'est quoi le vrai nom de Smitsimax ?
Magus: (parce que ici ça s'appelle Smitsimax, mais ça a un autre nom sinon dans le vrai monde :D )
Magus: Si DUCT c'est ce que t'as dit Neumann, dans ce cas je me suis planté et la je vous parlais de "Smitsimax" :D
Neumann: Oui t'as décrit Smitsimax
Magus: et oui on peut appliquer DUCT à ce contest
darkhorse64: Il y a un article obscur qui présente un algo un peu semblable mais l'explication de MSmits est plus claire
Magus: (bon par contre le branching avec les seeds ....... ouch)
Tiouz: Oui, avoir plus de 300 fils dans l’arbre c’est un peu violent
VincentBab: oué :/ 20 seed ca fait 400 coup -_-
Magus: et encore 20 c'est pas beaucoup
Magus: quand t'as plusieurs arbres de taille 3, tu montes vite à 50 seed possibles
VincentBab: oué apres ya peut être moyen d'élagué avec une heuristique xD
Magus: dans les idées que j'ai eu. y'a ne pas représenter les seed comme étant un couple arbre + case vide. Mais juste avec la case vide. Et si tu décides de faire cette action dans ta simu, choisir par heuristique ton arbre.
Magus: ça permet de réduire le branching. Au maximum t'auras 37 seeds partout (enfin 36, dans le cas très improbable ou t'as qu'un seul arbre de taille 3 au milieu de la map)
VincentBab: ah oui ca peut être pas mal ca
Palmipedus: tiens je pensais a ca mais si tu as une cases qui peut etre seed par deux arbres ca a un impact sur le reste
Magus: de toutes façons quand le branching est trop grand et que tu élagues, tu perds forcément des possibilités
Palmipedus: genre tu choisis le premier arbre pour seed mais le second ne peux plus rien faire
Palmipedus: certes j;ai toujours du mal avec ce cote non "complet" du search
Tiouz: Mon totoro abandonne totalement dès qu’il sent qu’il a perdu^^ Juste il s’endort jusqu’à la fin du jeu
Tiouz: *Tororo
pardouin: pas encore eu le temps d'implémenter la simu donc je fais rien de très sérieux pour le moment
Palmipedus: avec mon "elagage" je suis a 20k states avec 2 size 3, 1 size 2, 2 size 1 et 1 size 0..... ca va etre dure de faire un deep 5-6
pardouin: je regarde des parties de bons joueurs et j'essaye de faire une proportion de moves similaire aux l'heure avec des heuristiques simples
pardouin: lol
pardouin: similaire aux leurs*
Tiouz: T’es classé combien avec ça ?
Tiouz: (juste pour me dégouter)
pardouin: je viens de relancer un truc
pardouin: je sais pas je vais finir dans les 1000 un truc comme ça
Tiouz: haha
pardouin: je fais en gros 100 points par match
Tiouz: Je suis vraiment trop nul
JBM: c'est quoi le score max d'ailleurs
Palmipedus: il est pas d'arene, mon bot actuel est 1500 mais c'est un bric a brac de if-else
VincentBab: La forêt de Ifs n'a jamais aussi bien porté son nom :nerd:
Palmipedus: haha en effet
khealer: Je me trompe ou il n'est pas possible de savoir l'action exacte de l'adversaire sans comparer l'ancien et le nouvel état ?
Tiouz: Non ce n’est pas possible
Magus: ça aurait compliqué avec les WAIT
Magus: parce que tu peux WAIT et ton adversaire va enchainer X tours tout seul
VincentBab: je dirais même Les dernieres actions de l'adversaires ^^
Bah non, il renvoie juste -1 ou truc comme ça pour dire aucune action.
philRG: pas de bug dans les actions fournies dans le referee, j'avais oublié de coder les 4 points de soleil pour complete
Gagat: <3 DUCT
Spifflejedi: o/
mrBen: \o
b0n5a1: o/
kamod: o\
Sarkraf: (╯°□°)╯︵ ┻━┻
Zakaoai: J'adore relire tout le tchat toujours de bonne infos à en tirer :D
Zakaoai: J'ai pas avancer bcp le recodage de la récupération des possible moves mais déjà l'application des shadows et la récupération des suns à l'air ok chez moi :D
Zakaoai: La question ça va être. Est-ce que mes calculs sont optimaux ou est-ce que ça va être trop consommateur de temps pour la simu
Vry: Moi je lis le chat mais je code rien ... et je regarde mon bot s'enfoncer doucement dans les tréfonds de la ligue Bronze ... :D
Zakaoai: Tu es où ?
Vry: 2092 ... bientôt à la moitié
Vry: C'est mon bot Wood2 de jeudi 17h ...
Zakaoai: Ah ... je viens de faire monter quelqu'un dans les 2000 avec 2 ligne
Zakaoai: Pas mal 2000 sur un bot wood 2
Alann36: coucou, j'ai un ami qui commence le spring challenge, il a un soucis que je n'ai pas eu, il ne peut pas afficher la partie (il a l'encart grisé) vous savez comment régler ça :) ?
b0n5a1: activer l'accélération matérielle
b0n5a1: dans le navigateur
Zakaoai: C'est activé de base dans les maj des navigateurs ça me semble ?
Alann36: c'est ça ! merci de la réponse :)
Spifflejedi: Question: vous diriez qu'il vaut mieux privilégier les seed au centre pour avoir plus de points ou sur les bords pr avoir plus de sun (moins d'ombre) ?
Spifflejedi: au départ je pensais plutot les bords mais en late game avoir les arbres au centre ca a un apport non négligeable
Trisard: Moi je privilégie les sun et ça se passe pas trop mal pour l'instant
Spifflejedi: hmm ok ca me fait penser qu'en milieu de partie je complete tous mes arbre lvl 3 et qu'apres je suis en deficit de sun
Spifflejedi: je vais regarder ca mais pour le moment je n'utilise qu'une heuristique simple
Trisard: Après j'avoue que la j'en suis au stade ou je comprend pas moi même comment mon algo marche
Spifflejedi: c'est balo pq il est bien classé ton algo ^^
b0n5a1: surtout essaye pas de le comprendre alors ^^
Trisard: ba avec la nouvelle version je 50/50 le premier mais j'arrive pas a savoir ce qui fait que je perde ou que je gagne
b0n5a1: t'essayerais de rajouter/corriger des trucs et de couler ^^
Spifflejedi: bon je continuerai demain, bn o/
b0n5a1: bn
Trisard: bn \0
Emperatrice: moi je suis a ~800 avec 3 "if" pour mon algo mais je ne connais pas les truc CSB, XR, MCTS ou DUCT. du coup je plafonne je ne vois pas quoi ameliorer
b0n5a1: CSB c'est un multi : coders strike back
b0n5a1: XR Chrismas Rush
domak: Xmas Rush: un de mes contests préféré... dailleurs j'ai découvert cet hiver que c'était le jeu de plateau Labyrinthe
b0n5a1: Emperatrice MCTS : https://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/
Emperatrice: merci, je vais le lire
kamod: excellente référence
Zakaoai: Pour résumer : MC c'est faire plein de fois des parties random, et jouer le coup qui t'as fait gagner le plus souvent. MCTS c'est pareil sauf que tu te souviens de tous les coups joués, et tu essayes de jouer plus souvent les coups qui t'ont fait gagner (pour être sûr qu'ils te font bien gagner) Enfin de ce qu'on m'en a dit
Pedrito_B: tu vas plus profond là ou c'est prometeur
Pedrito_B: plus de coup
Pedrito_B: bn
b0n5a1: bonne nuit ici
Trisard: bn
Trisard: Bon apparemment j'ai plus le droit de lancer d'exécution ^^ du coup bonne nuit