Chat:Fr/2021-05-08

From CG community
Jump to navigation Jump to search

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

Default avatar.png DJUndisclosedSpoon_ead6: salut

Zorg1: en plus son site rame, j'ai l'impression que le paquet de pages de spam n'aide pas

Default avatar.png 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:)

Default avatar.png 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... :(

Default avatar.png 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

Default avatar.png 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 ^^

Default avatar.png 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);

Default avatar.png Ansowald: Oups, je voulais le pastebin

BlaiseEbuth: La sortie d'erreur est pas du tout synchro avec la sortie standard.

Default avatar.png 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.

Default avatar.png Ansowald: Ah, ca peut expliquer pas mal de choses !

Default avatar.png Ansowald: Merci, je regarde dans ce sens !

Default avatar.png 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 ;)

Default avatar.png 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.

Default avatar.png El_PaJojo: Ok

Default avatar.png El_PaJojo: merci

Zorg1: fenrir : oui ça manque de lancer des grenade ou l'équivallent ^^

BlaiseEbuth: C'est fou ce que ce contest a comme typos...

Default avatar.png El_PaJojo: Je met quoi une virgule

fenrir: un bonne vielle sainte grenade :)

Default avatar.png El_PaJojo: je suis en javascript je dois affiché dans la console

Default avatar.png El_PaJojo: ?

Oioi: oh, je suis de plus en plus optimiste...

Default avatar.png El_PaJojo: Bien vu

Alex-1: javascript est bon

Default avatar.png El_PaJojo: MerciOioi

Oioi: de rien

Default avatar.png El_PaJojo: Merci Oioi

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

  1. ragequit

Magus: et chaque jour, le feu se propage aux arbres adjacents

dbdr: tiens, #ragequit marche pas?

dbdr: #a

  1. 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

Default avatar.png khealer: oui

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

Default avatar.png JBM: note que ça pourrait être le contraire que tu pourrais pas l'observer pour autant

Default avatar.png JBM: t'as pas de code entre les deux de toute manière

Bob: comment est ta observation JBM

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png MatthieuF: Personne ne peux passer silver avant le 10

Default avatar.png 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

Default avatar.png JBM: quelle drole d'idee

Default avatar.png JBM: streame direct sur yt

Thyl: a ok

R4N4R4M4: Sur Youtube faut que je bidouille avec OBS et je sais pas faire

Thyl: FB c'est quoi ??

Default avatar.png 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é

Default avatar.png JBM: OBS? administratif?

Default avatar.png JBM: wtf?

R4N4R4M4: Faut récupérer un identifiant sur Youtube je crois

Default avatar.png JBM: oui tu peux pas publier sut youtube sans compte youtube

BlaiseEbuth: hardcore

Default avatar.png JBM: c'est une des limitations du systeme

BlaiseEbuth: Il en a un, il publie ses rediffs sur ut

BlaiseEbuth: *yt

Default avatar.png JBM: chut

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

Default avatar.png JBM: quelle erreur inscrutable

Default avatar.png JBM: aucune idée du probleme

R4N4R4M4: Et après, il m'insulte :D https://prnt.sc/12ol2rm

Neumann: T'as quoi comme algo atm Magus ?

Default avatar.png JBM: ça alors, une case clé de stream

Default avatar.png JBM: Vide

Default avatar.png 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

Default avatar.png JBM: c'est ma façon d'aider

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

Default avatar.png JBM: le bfs c'est la vie

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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 ...

Default avatar.png 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

Default avatar.png 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/

Default avatar.png Troph: o7

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.

Default avatar.png 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*

Default avatar.png 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

Default avatar.png JBM: ha ha

Default avatar.png JBM: j'alterne un peu maintenant

BlaiseEbuth: Il a quelle voix en Français ?

Default avatar.png 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

Default avatar.png JBM: Non.

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à :(

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png CooooodinGaaammmeee: 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

Default avatar.png CooooodinGaaammmeee: Vous mettez combien de temps a simu un move ?

egaetan: pas beaucoup

R4N4R4M4: Déjà, on met du temps à coder la simu...

Default avatar.png 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

Default avatar.png WYzzeer: Salut les codeuses

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

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png 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é

Default avatar.png 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)

Default avatar.png Codeur_du_Sexe: oi

Default avatar.png Codeur_du_Sexe: coucou a tous

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

Default avatar.png 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: ^

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png 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.

Default avatar.png CooooodinGaaammmeee: Ah ok

leojean890: tu peux l'adapter ouais

Default avatar.png 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

Default avatar.png Codeur_du_Sexe: o

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

Default avatar.png 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

Default avatar.png 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 ^^

Default avatar.png khealer: C'est dommage.

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

Default avatar.png 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/

Default avatar.png 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