Chat:Fr/2020-05-16

From CG community
Jump to navigation Jump to search

BigUP: argh toujours 15eme a presque 2 points du boss ! ;(

BigUP: tant pis, je submit mon nouveau code

BigUP: ca à l'air de mieux passer le marais

BigUP: c'est déjà ca

BigUP: J'ai presque pas perdu de temps sur les #200-#300 ;)

Vry: Yo les gens !

BigUP: lo Vry

Vry: Personne pour me pousser ? :D

BigUP: T'es en gold ?

Vry: Non #200 Silver :p

BigUP: je ne bloque plus sur #200 ... la maintenant c'est #80 qui pose probleme, mais c'est un peu plus normal

Vry: Il faudrait que je me motive pour bosser sur le contest mais j'ai pas envie ...

BigUP: Vry, en C, tu m'etonnes ;)

BigUP: Vry, je t'es vu en #215 ! ;)

Vry: Oui voilà ... :D

BigUP: bon bah maintenant je bloque sur #90... mon nouveau marrais...

BigUP: mais j'ai probablement une bonne base pour ajouter des petits tricks

YannDev: idem

YannDev: j'arrive plus à repasser top4...

Default avatar.png Monsieur_Y: vous utilisez la distance de Manhattan ?

YannDev: nop

Default avatar.png Monsieur_Y: je viens d'arriver en bronze et je suis un peu perdu, vous avez un conseil pour me repérer dans l'espace ?

YannDev: fais un bfs

YannDev: après en bronze manhattan suffit

Default avatar.png Monsieur_Y: d'accord

Default avatar.png Monsieur_Y: merci

YannDev: de rien :)

BigUP: Dans l'espace, personne ne t'entend crier !

YannDev: x)

BigUP: oui Manhattan suffit en bronze

[CG]Maxime: Monsieur_Y : bfs pour trouver le chemin du pellet le plus proche puis ensuite tu peux essayer de retenir la liste des endroits où il reste potentiellement des pellets pour gérer les cas où tu ne vois plus rien

[CG]Maxime: speed dès que tu peux au début

BigUP: speed tout le temps, mais il faut gérer le double tour

[CG]Maxime: oui c'est vrai, faut pas filer la case à côté, c'est le risque quand on vise une pellet à une distance de 1

Default avatar.png Monsieur_Y: d'accord merci

Default avatar.png ernestvw: 2eme alleeeeer c'est tellement stressant

Kh4z: @YannDev ben encore Silver :disappointed:

YannDev: :/

YannDev: je ragequit :')

Kh4z: hahaha

Default avatar.png ernestvw: faites baisser le boss svppp

Kh4z: comment on fait baisser un boss?

Default avatar.png ernestvw: en le battant

YannDev: faut que des pousseurs tapent sur le boss

Kh4z: mais du coup a l'ouverture d'une ligne, le boss chute enormement le temps que tout le monde passe? :no_mouth:

Kh4z: d'une ligue

YannDev: le boss commence à 200

YannDev: (par exemple)

Kh4z: ah ok

sgalasso: Salut comment faites vous pour prioriser vos pacs ? Vu que j'ai un ordre arbritraire je ne sais qu'après si j'aurais du commencer par le pac 0 ou 1...

egaetan: fais les bouger ensemble

sgalasso: pour le pathfinding

egaetan: ou essaies de changer l'ordre et garde le meilleur resultat

egaetan: ou l'algo hongrois

Kh4z: je rejoue les possibilites jusqua eviter les collisions

sgalasso: trop long à calculer je dépasse les 50ms si je fais ça

Kh4z: ah :no_mouth:

Grillaume: de mon coté j'ai fait un algo hongrois, ça passe niveau timing

sgalasso: Ok merci je vais faire un tour de ce coté ci !

Default avatar.png ernestvw: le probleme de l'algo hongrois c'est que ajouter la dependance entre les couts des differentes aretes est vraiment pas facile

Default avatar.png ernestvw: et l'ignorer est assez contre-productif

Magus: bon je suis 40ème gold, on va essayer de faire un effort pour passer légende quand même

Default avatar.png ernestvw: (id est deux pellets tres proches ne doivent pas etre choisis par deux pacs differents)

Magus: on va coder un truc pour le fog

Vry: toujours sans tenir compte e l'ennemi Magus ?

Default avatar.png kalamari: Hello, à quel moment faut il commencer le timer pour la loop en cours ? Juste avant la première lecture du stdin ? Juste après avoir écrit sur le stdout lors de la boucle précédente ?

YannDev: juste après la première lecture

Default avatar.png kalamari: Ok merci !

YannDev: de rien :)

BigUP: 3 points du boss, 71eme, et en theorie, j'ai un code meilleur mais qui ne passe plus le top 100 ... voila, voila... c ava etre long de se faire pousser en gold

YannDev: tu te feras jamais pousser xD

YannDev: moi je m'en remets à mes coefficients

ncflipp: bj ; vous pensez qu'on peut atteindre la gold league sans BFS ou autre, ni simu ?

YannDev: sans bfs j'en doute

YannDev: ah là je tiens un truc

Default avatar.png ernestvw: YannDev pousse moi

YannDev: j'essaie xD

YannDev: là je change des valeurs pour remonter top10

YannDev: ok je suis #5

YannDev: go taper clyde

lamisedaxeh: x)

YannDev: pushez tous :')

YannDev: ensemble on fera tomber cette muraille

YannDev: j'ai tapé Clyde :youpi:

YannDev: https://www.codingame.com/share-replay/465231021

YannDev: #1

YannDev: Oo

Mazelcop: gj

YannDev: je vais baisser clyde

YannDev: je l'ai retapé

WhatTrickeryIsThis: tape encore

YannDev: Ernest je t'ai poussé

YannDev: je pousse toute la ligue

YannDev: lol

YannDev: Non je suis retombé #5 :'(

YannDev: c'est honteux

YannDev: Yes

YannDev: je suis passé

YannDev: j'ai mis une raclé à Clyde

domak: gg

Sissiimperatice: gg !!

YannDev: En vrai c'est clyde qui m'a fiat monter mdr

egaetan: gg YannDev

Default avatar.png ernestvw: gg !

BigUP: pareille, j'ai un excellent winrate contre clyde, mais le Top100 m'empeche d'aller le taper

YannDev: je l'ai bien baissé

YannDev: ce qui m'a fait passer c'est changer mes coefficients...

BigUP: je vois, je suis plus qu'a 2,5 points

WhatTrickeryIsThis: pareil, si on pouvait dégager les 50 premiers gold que je passe legende

YannDev: par contre je suis 377 gold lol

YannDev: le niveau est grave haut

WhatTrickeryIsThis: objectif 1 -> gold

WhatTrickeryIsThis: objectif 2 -> battre bob

WhatTrickeryIsThis: objectif 3 -> legende

BigUP: YannDev, remodifie tes coeffs...

BigUP: YannDev, tes coefs etait probablement bon pour passer les marais de la silver, mais pas ceux de la gold

R4N4R4M4: Salut tout le monde

R4N4R4M4: Vous avez des idées pour monter ?

BigUP: tin 26 submit en cours en silver, mais pas 1 au dessus de #100, ca va etre long de se fair epousser .?.

egaetan: corriger les nombreux bugs de mon code

BigUP: battre bob

Default avatar.png ernestvw: tu te feras pas pousser en etant 100eme je pense

Default avatar.png ernestvw: vaut mieux ameliorer des trucs

Default avatar.png ernestvw: en argent c'est surtout la gestion des ennemis qui compte j'ai l'impression

R4N4R4M4: Je vois pas d'autres solution que de tout réécrire, donc c'est mort pour moi

Default avatar.png ernestvw: j'ai tout reecrit 4 fois au cours du truc

Default avatar.png ernestvw: c'est assez rapide si tu as ton ancien code a cote

R4N4R4M4: je suis pas sûr de vouloir prendre le risque de repush, trop galère de monter

BigUP: si je reecrit un truc, je fais un truc full chasseur...

BigUP: en meute

R4N4R4M4: faut trouver un algo, et j'ai pas ça dans mes cartons

BigUP: 49eme... ca monte... lentement, mais pour le moment ca monte

YannDev: ernest

YannDev: argent c'est le bordel

YannDev: :')

YannDev: Trickery, battre Bob c'est pa un objectif

YannDev: il est à la fin de gold

YannDev: pas*

egaetan: vu les submits tres aleatoires que j'ai je pense qu'il me reste pleins de bugs

Spifflejedi: o/

Spifflejedi: dites les joueurs en legende ont majoritairement une fonction d'évaluation ou pas?

Default avatar.png ernestvw: non je crois que tous leurs coups sont aleatoires

Spifflejedi: hmmm je sens l'ironie me piquer le dos ^^

Spifflejedi: je dis ca pq YanT disait qu'il avait déjà ranké top20 avec des heuristique

Mazelcop: rentrer en légende avec des bonnes heuristiques ne me semble pas impossible

R4N4R4M4: ça peut faire avec des heuristiques Spifflejedi, mais faut push 50 fois pour passer le top100

WhatTrickeryIsThis: qu'est -ce que je fou dans les derniers avec 80% de win?

Mazelcop: par contre sans tracking des pacmans ennemis je pense pas que légende soit atteignable

WhatTrickeryIsThis: ça marche plus la montée ?

Spifflejedi: @R4: là suis 130 gold d'ailleurs grace a certaines de tes suggestions btw. Merci ;)

WhatTrickeryIsThis: 18-3 je suis toujours au fond

BigUP: ha bah ca !?? ce sont les misteres du classement CG... c'etait mieux avec le précedent algo de classement de ce coté la

Spifflejedi: ah non 70 gold / 130 general

R4N4R4M4: gg Spifflejedi

YannDev: moi je suis gold grâce à R4

YannDev: 0,9^d*value > *

R4N4R4M4: Ah ça y est t'es passé ?

YannDev: oui mdr

YannDev: j'ai juste changé des coefficients

R4N4R4M4: cool

YannDev: et j'ai tapé le boss comme jamais

Default avatar.png ernestvw: mais priviliegier les longues distances en fin de partie c'est bien pourtant

YannDev: je suis sorti de silver avec 29

YannDev: Ernest je sais pas

Spifflejedi: j'ai tenté le voronoi mais ca j'arrive pas à le faire marcher j'ai l'impression que c'est moins bon..

Default avatar.png ernestvw: si j'ai gagne des places en le faisant

R4N4R4M4: C'est quoi pour toi ernestvw privilégier les longues distances ?

Default avatar.png ernestvw: sqrt au lieu de lineaire

Default avatar.png ernestvw: quand tu divises par la distance

R4N4R4M4: d'ac

Default avatar.png ernestvw: en fin de partie quand y'a plus beaucoup de pellets

Default avatar.png ernestvw: (perso quand y'en a moins de 4/5eme)

Default avatar.png ernestvw: je prefere aller chercher des longues chaines meme si elles sont loin

Default avatar.png ernestvw: que des pellets isoles et proches

BigUP: ernestvw, oui c'est peut-etre un truc qu'il faudrait que je test

R4N4R4M4: tu regardes au moins si tu peux gagner la partie en 3 pellets ?

R4N4R4M4: parce que j'ai pas fait ça encore, mais j'y pense...

Spifflejedi: de mon coté je calcul un coefficient d'efficacité du chemin en additionnant les score des case (avec une fonction d'age) et en divisant pr le nb de "pas"

Default avatar.png ernestvw: oui pareil

Default avatar.png ernestvw: mais en fin de partie je divise par la racine

BigUP: ernestvw, ene meme temps aller chrecher les longues chaines ca peut etre aussi la strate de base

Default avatar.png ernestvw: au lieu du nombre exact

Default avatar.png ernestvw: oui mais quand je fais ca en debut de partie c'est moins bon

Spifflejedi: pas mal de privilegier les cluster de pellet je vais peut etre essayer de push ca avnt la fin

BigUP: ernestvw, normalement c'est mieux, mais peut-etre qu'en debut de partie prendre des chaines courtes c'est moins penalisant que de le faire en fin d epartie

R4N4R4M4: faut ressortir l'algo du Tead's Sponsor Challenge :D

Default avatar.png ernestvw: surtout faut faire gaffe parce qu'en debut de partie les SuperPellets sont prioritaires

BigUP: je n eme rappel meme plus le Tead's Sponsor

R4N4R4M4: trouver la plus longue chaîne dans un graphe

WhatTrickeryIsThis: mais bordel quand est-ce que je pourrais monté ? j'ai un royal submit je sus toujours 200

BigUP: oui ok, je vois a peu pres

WhatTrickeryIsThis: je perds 1 match sur 10 et je reste au milieu de gold wtf

BigUP: moi, j'ai un floodfill modifié pour aller dans la direction ou je peux faire le plus de pellets en continue

BigUP: je dois meme avoir 3 floodfill modifié l a;)

YannDev: moi j'explore même pas

YannDev: je vais au pellet avec 0,9^d*value maximal

YannDev: :')

YannDev: Comme j'ai une bonne gestion des assignations des tâches ça fonctionne bien

YannDev: quand j'avais exploré tous les chemins possibles j'avais des pacs yoyo

Default avatar.png Ulrahid: Yo, pour le moment tous mes pacs vont vers le plus proche pellet de lui-même, mais ducoup les pacs se suivent souvent et jvoulais savoir comment améliorer/changer ça

R4N4R4M4: Voronoi Ulrahid

R4N4R4M4: Tu donnes au pellet son propriétaire le plus proche et chaque Pac ne peut aller que sur une case qui lui appartient

R4N4R4M4: faut chercher le pac le plus proche d'un pellet avant d'aller chercher le pellet le plus proche d'un pac :D

R4N4R4M4: Après faut gérer la multi affectation, mais ça c'est un autre problème

YannDev: tu fais un voronoi aussi ?

R4N4R4M4: C'est le même résultat avec précalcul des distances, donc on peut dire ça

R4N4R4M4: mais je gère mal les zones adverses à cause du speed

YannDev: ah x)

Default avatar.png Ulrahid: J'vais aller voir ça R4N4R4M4

R4N4R4M4: par contre, j'ai un gros problème pour affecter les chemins ensuite

R4N4R4M4: le voronoi est trop restrictif

R4N4R4M4: Ca va pour les ennemis car tu sais pas où il sont, mais pour tes amis, tu sais quel chemin tu vas prendre donc ça sert à rien de réserver toute ta zone, et là je bloque..

YannDev: ah ouais je vois

R4N4R4M4: mais bon, ça va m'occuper au moins aujourd'hui, avec d'autres trucs encore plus chelous

YannDev: moi j'ai pire

WhatTrickeryIsThis: ça décolle pas c'est insupportable

YannDev: mon algo avec un calcul des distance qui tient pas compte du speed marche bien que celui qui en tient compte

YannDev: du moins en silver c'était comme ç

R4N4R4M4: J'ai tenté Floyd Warshall sur le papier, mais je m'en sortirai pas, j'ai aucune idée de comment évaluer les chemins ensuite

YannDev: trickery t'as 8,50 :/

YannDev: R4 moi je fais un bfs par pac

YannDev: pour les distances

Default avatar.png thoip: felicitation YannDev tu es passé gold

WhatTrickeryIsThis: après 50 wins je je passe de 380 à 350

R4N4R4M4: j'ai un bfs par case aussi

WhatTrickeryIsThis: c'est possible ça?

WhatTrickeryIsThis: ma foi

Default avatar.png thoip: oui si tu perds et ganes contre le meme

WhatTrickeryIsThis: mes submits de tout a l'heure je perdais 1 fois sur 10

WhatTrickeryIsThis: voire moins

WhatTrickeryIsThis: il fallait au moins 50% de matchs pour monter 200

WhatTrickeryIsThis: là je perds bien plus et je suis dejà top 200

WhatTrickeryIsThis: 12%

WhatTrickeryIsThis: r4 un bfs par PAC et par PAC enemy suffit nan?

YannDev: ouais Thoip :p

WhatTrickeryIsThis: pourquoi par pastille ?

YannDev: merci :)

WhatTrickeryIsThis: t'es sensé avoir déjà toutes les distances necessaires sur tes pacs

YannDev: ça passe un bfs par case ^^"

YannDev: un bfs c'est O(E + V)

YannDev: t'as E*V cases

WhatTrickeryIsThis: si t'aime pas les perfs xD

YannDev: donc tu as du E*V * (E + V)

YannDev: heu non j'ai dis e la merde c'est pas E*V

YannDev: c'est nbRow * nbCols * (4 * nbRows * nbCols)

YannDev: ça fait 10^6 opérations

YannDev: en pire cas

YannDev: donc ça passe largement en c++

Mazelcop: sauf si tu fais des simu et que tu dois appeler tes fonctions d'eval ~10k fois en 50 ms

Vry: Mais arrêtez de me pousser ... je vais rentrer dans le top #100 ... :)

Magus: Vry: ma seule prise en compte de l'ennemi c'est si je peux le traverser ou pas

Magus: donc mes pacs vont pas aller se suicider volontairement sur l'ennemi, et si j'ai le bon type ils vont essayer de le traverser

Magus: mais c'est tout

Magus: d'ailleurs si tu regardes mes replays, mes pacs meurent en restant à côté d'un pac ennemi qui peut les bouffer ... et ils se font bouffer :D

Vry: Ok, merci

Magus: mais donc oui, avoir une gestion de l'ennemi en mode poteau qui bouge pas et aucune gestion du brouillard de guerre, ça fait 40 gold

Mazelcop: T'es toujours sur un algo génétique Magus ?

WhatTrickeryIsThis: un petit malus si t'aventure prêt du poteau ça marche

WhatTrickeryIsThis: proche à une distance de la speed du poteau c'est mieux

WhatTrickeryIsThis: même si tu peux traverser le poteau, c'est probable qu'il prendra les pellets qui sont derrieres avant toi

WhatTrickeryIsThis: on peut retirer les cas dans un couloir

Magus: Mazelcop: non j'ai changé

Neumann: T'as quoi mtnt ?

Magus: un AG je pouvais faire que depth 6 ou 7 sinon j'avais pas assez de simus pour que ce soit potable

Magus: j'ai un beamsearch par pac

Magus: je fais depth 1 pour un pac, puis depth 1 pour un autre, ainsi de suite, puis depth 2 pour un pac, bla bla bla ...

Neumann: 6 ou 7 c'est déja beaucoup

Default avatar.png Ulrahid: R4N4R4M4 bon jsp si j'vais réussir à utiliser voronoi mais merci pour l'idée :) Autre chose, j'ai une seule liste pour tout les normal pellets, faut-il faire autrement ?

Magus: en général je fais depth 10

Magus: avec 2 pacs je fais depth 15

Neumann: Je suis à depth 2 ..

Magus: bah après tu peux compenser avec une meilleur éval de toutes façpns

Magus: la mienne est pas terrible :D

Magus: ça se résume à bouffer et éviter les culs de sac

WhatTrickeryIsThis: autant faire des bfs depth 20 et swapper

Magus: ?

WhatTrickeryIsThis: j'ai essayé avec 120 swaps sur les 5 pacs depth 20 ça passe

WhatTrickeryIsThis: comme ton search mais en bruteforce

Magus: ouai enfin un bfs depth 20 on est d'accord que tu simules pas les collisions ?

WhatTrickeryIsThis: avec collissions

Magus: parce que depth 20 en bfs le je fais pas moi, même pour un seul pac

WhatTrickeryIsThis: mais y à une astuce

WhatTrickeryIsThis: une astuce super siimple

Magus: une astuce super simple qui fait que Neumann est devant toi avec depth 2 alors que t'es depth 20 ?

Vry: What trickery is it?

WhatTrickeryIsThis: à un instant t : plusieurs pac sur la même case -> tu passe au tour suivant

WhatTrickeryIsThis: + tous les pacs sont de vitesse 1

Neumann: wat

Magus: rien compris

Magus: enfin si j'ai compris que t'empêches le speed dans ta simu

Magus: mais le coup de passer au tour suivant avec les pacs sur la même case :/

WhatTrickeryIsThis: je m'en sert de temps à autre ;d

WhatTrickeryIsThis: mais la speed est inutiles quand tu regarde bien

Neumann: L'astuce c'est de coder un moteur faux

Magus: oui mais bon, je pense pas que de voir depth 20 soit si utiles que ça

BigUP: Neumann, ca peut marcher tellement tout le monde fait la meme chose

Magus: depth 20 t'as farmé toute la map, sauf que t'arriveras jamais la vu que l'ennemi il bouge

Magus: mon AG était depth 6 parce que comme ça tu peux au moins simuler le speed + ce que tu en fais

WhatTrickeryIsThis: depth 20 dans le brouillard c'est tout pourri c'est clair

Mazelcop: je confirme, j'ai de meilleurs résultats à depth 10 que 20

Magus: dans la mon beam search j'ai mis un beam pour au moins bruteforce jusqu'à depth 4, le reste sera prune

Mazelcop: bruteforce jusqu'à depth 4 même avec 5 pacs ? joli

Magus: nan mais c'est découplé

Mazelcop: ah ok

Magus: c'est bruteforce depth 4 d'un seul pac :D

Mazelcop: ça me rassure :)

Magus: c'est pas bruteforce de toutes les combinaisons de toutes les actions de tous mes pacs

WhatTrickeryIsThis: ah si la speed à 1 me fait perdre des tours si j'ai besoin de faire demi tour dans un cul de sac ou de changer à un carrefour

Magus: si je fais ça je pense que je suis comme Neumann, je serais depth 2

Magus: mais si tu veux une vraie astuce WhatTrickeryIsThis, tu empêches les aller retour dans des couloirs qui sont pas des culs de sac

Neumann: Je suis en découplé aussi

Magus: ça sert quasiment jamais de faire ça

Magus: donc autant pas le tester

Neumann: Et je commence à TO à partir de depth 4 :/

Magus: c'est peut être grace à l'astuce que je viens de donner que je peux faire depth 4 en "bruteforce", non ?

Neumann: J'interdit aussi aux pacs de revenir sur leurs pas

Magus: parce que résultat un pac tout seul dans un couloir, il se retrouve vite à avoir qu'un seul coup possible

Neumann: Sauf quand ils sont dans un cul de sac

jft63: j'ai essayé un beam search avec tous les pacs mais il y a trop de solutions possibles.

WhatTrickeryIsThis: mine de rien y à une chiée de couloir et culs de sacs

jft63: mais sans faire ça la notion de coopération est perdue non

BigUP: un peu

Magus: non

Magus: enfin un peu, mais pas bien grave

Magus: c'est juste que tu vas fixer l'action d'un pac avant celle de l'autre

Magus: donc ton autre pac sera obligé de faire une action en fonction

jft63: ok je vois

Magus: mais c'est ça ou tu peux même pas bruteforce depth 2 en fait

jft63: exact

Magus: et surtout, dans les faits, tes pacs sont rarement l'un à côté de l'autre

Magus: parce que sinon c'est que tu farmes mal

Magus: donc ils vont rarement devoir coopérés

WhatTrickeryIsThis: le brute force c'est la vie

jft63: dans le beam search on ne peut pas faire jouer l'adversaire

Mazelcop: c'est pas si évident

Magus: on peut, mais si tu découples ça sert à rien

Mazelcop: tu peux essayer de le faire jouer plus ou moins aléatoirement, ou le faire jouer les coups que tes fonctions d'eval prioritiseraient

YannDev: j'aurai pas le temps de faire une simu

YannDev: domaj

jft63: ah oui en effet

Magus: jft63: en fait j'ai essayé beamsearch l'adversaire au début, mais c'était stupide si tu découples

Magus: ou alors faut le faire jouer sans connaitre tes actions, et faut te simuler toi même avec un dummy

Magus: trop le bordel

Magus: pour ça que pour l'instant mon IA prend l'adversaire pour un poteau, faut que je trouve mieux :D

Mazelcop: je fais pareil Magus, pas trouvé mieux non plus pour l'instant

Magus: ouai j'ai vu, quand je test mon IA contre la tienne ça fait n'importe quoi

jft63: Magus je vois ce que tu veux dire pour le découplage. Je vais essayer de faire le beam search pac par pac.

Magus: enfin je vais essayer de passer légende histoire de pas trop avoir honte de ce contest au final

jft63: et après j'imagine que le tracking va jouer un rôle important aussi ...

YannDev: du coup ton moteur te sert à quoi ?

jft63: il y a du boulot

Magus: YannDev: a simuler le tour prochain en fonction des actions que je fais ... ce qui est déjà pas mal

Magus: ça évite au moins à mes pacs de se bloquer entres eux

Magus: en pensant qu'ils peuvent se traverser

YannDev: ah

YannDev: sinon tu mets des murs

Magus: des murs qui se déplacent à chaque tour

Magus: c'est donc ces pacs

Magus: *des

YannDev: oui x)

YannDev: mais du coup ya pas de moteur à faire

YannDev: Après ça doit être un peu dégueu

YannT: ouais enfin c'est pas si simple non plus

YannT: parce que selon la direction de déplacement d'un pac, un autre pac peut ou pas prendre la case qu'il libère aussi

Vry: encore un bug de mois ! :p

Vry: *Encore *moins

Vry: Pas foutu de coder sans bug, c'est pas gagné

Magus: ouai moi aussi je viens de découvrir que je prenais pas en compte quand les bigs pellets disparaissent dans les inputs

Vry: Tout un système pour que les pacs ne se marchent pas dessus sauf que j'avais un décalage de depth entre les pacs ...

Magus: joli bug, je considérais qu'elle était encore la tant que j'avais pas vu la case

Vry: Ah attends ... ça m'en fait peut-être un deuxième à corriger ...

WhatTrickeryIsThis: ah moin non plus merci

Magus: lol

WhatTrickeryIsThis: c'était dans une version antérieur j'ai pas penser à merger

Vry: Nan c'est bon !

Vry: Si j'ai un big pellet et qu'il n'est plus dans la map en input je le vire

WhatTrickeryIsThis: chiant à coder d'ailleurs la disparition mystere des supers pellets

Vry: #103 avec bug ...

YannDev: le big pellet aussi je l'avais oublié

YannDev: du coup j'avais des pacs qui mangeaient du vid

YannDev: bon va falloir que je trouve une nouvelle heuristique :/

jft63: mais les bigs pellets on les a à chaque tour

YannDev: oui mais si jamais le big pellet tu l'as plus

YannDev: parce qu'il a été mangé

domak: Lord Betrayus il est pénible, il pose des leurres... il laisse trainer des bots en speed 1 et quand tu vas les bouffer, il switch

YannDev: il porte bien son nom...

WhatTrickeryIsThis: ça veut dire que la case de l'ex super pellet et vide et qu'il existe un path d'un PAc qui lui y emmène

WhatTrickeryIsThis: ça met à jour la map

Magus: domak: dans un sens, attaquer un pac qui a son cooldown de up c'est pas une bonne idée

Vry: Wow, top #50

Vry: ... salut BigUP

domak: Magus pas fait expres, msieur

domak: mais effectivement je vais ajouter le test

Default avatar.png Ulrahid: Lorsqu'un pac meure il n'est plus en input au tour prochain si ?

Default avatar.png thoip: a partir de silver si.

WhatTrickeryIsThis: si, à moins que ce soit qu'à partir de silver

Default avatar.png Ulrahid: okay merci

WhatTrickeryIsThis: il a un type DEAD

Default avatar.png Ulrahid: okay j'en suis pas à là ^^

Default avatar.png Ulrahid: merci

YannDev: 400 en gold :o

Default avatar.png thoip: oui l'ia de silver n'est pas adapté à la gold.

WhatTrickeryIsThis: les dead c'est qu'en gold +?

Default avatar.png thoip: silver

Default avatar.png thoip: Le niveau est seulement plus relevé en gold si tu as une ia qui n'est pas au top au form c'est mort.

Default avatar.png thoip: farm

Default avatar.png thoip: moins j'ai cassé mon code mintenant mes pacs vont sur les cases sans pastilles volontairement.

BigUP: Vry, re, oui Top 50, mais pas de matchs... je ne passe pas le Top 100 par mes propres moyens et j'ai un winrate > 50% contre le boss ...

BigUP: Vry, peut-etre contre toi des matchs ceci dit... ils ne sont pas nombreux a passer le top 100

BigUP: en cours de submit

BigUP: ha mon IA ne gange pas grand chose conte toi... j'espère qu'on n'aura pas de match ! ;)

Vry: Another bug ... je n'enlève pas le pellet que je bouffe sans le voir ... :upside_down:

Vry: ... au détour d'un virage en speed ... c'est un grand classique au final, tout le monde a dû le faire.

domak: Allez Vry, BigUP, think BIG!

egaetan: Allez WhatTrickeryIsThis fonce !

Vry: Ouais domak, mais dans trente minutes je prends la voiture pour bbq déconfiné à un peu moins de 100km :D

domak: là effectivement ça va être think little little big

Vry: Demain sinon !

Vry: Il faudrait que je remplace mon FF pour un DFS histoire de pouvoir tourner en rond ... mais le FF en soit marche bien aussi

Zakaoai: J'ai fait le con j'ai resubmit et je suis passé de 60 a 320 :'(

Vry: 11/12 en début de submit c'est pas mal ...

BlueGhost31: je compatis Zakaoai hier dans le top 20 et depuis en revenant au même code j'arrive plus à rentrer dans le top 100 :disappointed:

BlueGhost31: ce challenge est frustrant il y a une telle dispersion dans les configs de jeux

Zakaoai: Va falloir que j'implem plein de truc pour améliorer mon IA encore :'( Prédiction Enemie + simulation. Que des features pas simple ...

Magus: Vry: c'est possible ça de manger sans voir ?

Magus: je vois pas le cas où ça peut arriver

Magus: faudrait que t'es passé par une cellule ou tu n'as plus la vision

Default avatar.png thoip: oui ca arrive quand 2 pacs se croise.

Magus: mais c'est pas possible théoriquement

Magus: les pacs bloquent pas ta vision

Magus: (on parle de manger des pastilles la, pas des pacs)

Default avatar.png thoip: les pastilles tu le vois necessairement

Zorg1: classique ça me le fait tout le temps

Zorg1: ah scroll :D

Zorg1: Automaton2000 AutomatonNN la forme

Automaton2000: moi je vais au plus proche de 0

AutomatonNN: pendant le contest c'est pas trop compris toi

Magus: https://www.codingame.com/share-replay/465345034 ah cool j'arrive à prendre des parties au boss

Vry: Magus, tu avances de deux (left + down) par exemple. La pastille sur la deuxième case, tu ne l'as même pas vue.

Magus: oui mais tu sais que la case est vide

Magus: t'as la vision de la case et dans les inputs t'as pas de pellet dessus

Magus: (et puis t'es même carrément dessus :D )

Vry: Oui, encore fallait-il mettre à jour cette donnée ... (petit détail que j'avais oublié)

Vry: Je mettais à jour en fonction de la vision du pac en oubliant sa propre case ...

Magus: ah triste :D

Vry: Le code le plus complexe était là ... :D

Neumann: Ah merde, ça me fait penser quand ton exemple, je mets pas à jour l'info du premier pellet que j'ai mangé

Vry: J'ai battue Yobo \o/ (souvenir pour OoC)

Neumann: Qui est désormais hors-vision au début du tour suivant

Neumann: s/quand/que dans/

Vry: Neumann, le premier pellet est toujours dans ton champ de vision (sauf si tu parles de la case #0)

YannDev: ce qui est relou sur ce jeu

Magus: Neumann: c'est ce que je disais au dessus, t'as toujours la vision de la première

YannDev: c'est que les games se jouent à rien du tout

Magus: pour ça que je comprenais pas le bug de Vry

Neumann: Ha oui je suis con, j'ai rien dit

YannDev: j'ai mis 3h a repassé top 10 silver avec le même code

YannDev: au final j'ai niqué mes coefficients et j'ai roulé sur toute la ligue...

YannDev: et l'autre chose c'est qu'il y a un énorme facteur chance

Vry: J'ai pas encore de coef. mais ça pourrait venir

YannDev: c'est rare d'avoir un écart net entre deux ia

YannDev: Vry en fait c'était pas vraiment des coef

YannDev: c'était le score des VIEWED_PELLETS et des LAST_TURN_PELLETS

YannDev: j'ai juste augmenté de 1 les viewed pellets

Magus: https://www.codingame.com/share-replay/465351523 quand tu tests contre toi même c'est pas très utile des fois ....

domak: c'est plus -1 l'id du boss?

BlueGhost31: Magus avec la moitié moins de pacs tu finis à égalité donc tu progresses ;)

YannDev: mais c'est le même code ?

YannDev: ou c'est v2 vs v1

Neumann: domak: -2

Magus: non le rouge c'est mon code dans l'IDE j'ai quelques chanements

Neumann: -1 c'est ton code de l'IDE

Magus: *changements

domak: merci

YannDev: bah le rouge est super fort

Neumann: Sinon le boss Gold c'est 2941103

Magus: pas assez fort pour être légende pour l'instant

YannDev: ah

YannDev: ya des gens full heuristique en légende ou pas ?

Magus: vu le jeu, probablement oui

YannDev: Ah

YannDev: bah c'est des génies

Magus: bah de toutes façons le boss gold est en heuristique et il a été copié de quelqu'un

YannDev: parce que ya pas vraiment d'heuristique miracle

Magus: qui est lui même en légende maintenant

YannDev: Hm

YannDev: ya au moins de l'exploration de chemin je pense

YannDev: mais le soucis de l'exploration de chemins c'est que ça fait le yoyo

BlueGhost31: à moins d'avoir un alignement des planètes lors de ton run pour tirer les bonnes configs

YannDev: et je sais pas fix ça...

TidyMaze: hop, un petit voronoi => 200 places de gagnées ... ça sauve les meubles

YannDev: en silver ?

TidyMaze: ouais

YannDev: tu peux faire un code bidon pour passer gold

YannDev: j'ai pleins d'heuristiques éclatées

TidyMaze: c'est insultant

YannDev: non mais en fait

WhatTrickeryIsThis: je gagne 20 places avec l'astuce de Magus :yum:

YannDev: parfois on cherche trop dur

YannDev: et on bug son code

WhatTrickeryIsThis: encore 2 tips et ce sera bon

YannDev: moi j'avais un truc hyper tricky au début

TidyMaze: j'ai des trucs simples qui gérent pas mal de choses

YannDev: mais ça marchait pas

YannDev: t'es combien ?

YannDev: sinon si tu as des valeurs pour les différentes pellets (genre Pellet déjà vue, pellet du tour précédent etc) et que ton scoring dépend de ça

YannDev: essaie de jouer avec le valeurs

YannDev: les*

YannDev: c'est ce qui m'a fait passer gold

TidyMaze: ouais ouais, mais ça marche pas hyper mega bien

YannDev: ya un mur dans le top 200 de silver

TidyMaze: j'ai pourtant de l'experience sur CG ^^

YannDev: avec plein d'ia bizarres

YannDev: au pire

YannDev: 0,9^d*value

TidyMaze: de mon temps c'etait -3*v

YannDev: (no joke c'était le plus gros changement de mon code...)

Magus: WhatTrickeryIsThis: bah ouai moi au moins j'ai des vraies astuces

Zorg1: bof value/d^2 marche mieux de mon côté :p

YannDev: je vais essayer :')

Mazelcop: value / sqrt(d) chez moi

YannDev: value/d^2 faut le maximiser

YannDev: ?

Zorg1: la sqrt me donnait de mauvais résultat mais j'avais un autre bug à l'époque :p

YannDev: j'ai l'impression que ça marche moins bien chez moi

YannDev: on est d'accord qu'il faut maximiser (value)/d^2

YannDev: et pas le minimiser

Zorg1: bah moi je fais une somme

YannT: mais prend pas des eval random du chat sans comprendre ce que ça fait aussi :laughing:

YannDev: moi je reste sur mon 0,9^d*val

YannDev: :')

YannDev: Mais Zorg tu fais comment pour évaluer tes chemins sans avoir de yoyo stp ?

YannDev: Quand je faisais un bruteforce de tous les chemins j'avais un yoyo

YannDev: genre le pac commence un chemin

YannDev: puis le chemin devient un peu moins bien

YannDev: donc il change de chemin

YannDev: et au final il mange plus de vide qu'autre chose

Mazelcop: si le chemin devient moins bien alors qu'il s'approche de pellets, c'est qu'il doit y avoir un souci quelque part

WhatTrickeryIsThis: orfff, y à un gros pikatchu tout moche qui m'a tapé 3 fois :D

YannDev: il a commencé à manger le chemin

YannDev: du coup le score du chemin baisse un peu

YannDev: :/

Default avatar.png Eriok: et il y a d'autres pacs

WhatTrickeryIsThis: je suis puni parceque j'ai pas fait pika contest c'est ça?

Mazelcop: ah, ça ça a du sens. genre le pacman il mange 3 pellets dans un cul de sac avant de repartir

YannDev: bon après avant je calculais mon score de chemin bizarrement

Zorg1: oui moi typiquement je yoyote c'est par ce qu'un autre de mes pacs se rapproche ou un enemi apparait

YannDev: oui c'est ça mazel

YannDev: Mais t'as pas le soucis du gauche droite gauche droite..

YannDev: ça venait pê de l'éval du chemin alors

Mazelcop: si tu as une fonction d'eval cohérente, normalement il n'y a pas de souci de gauche droite

YannDev: bah ça devait venir de ça

Vry: Et merdeeeeeee ... je suis #2 ...

YannDev: je faisais sommeDesValeursCases/longueurChemin

YannDev: gg Vry

Vry: Ah non #1

YannDev: laisse toi pousser ;)

YannDev: ah bah gg

YannDev: Il manque plus que BigUp

Vry: c'est vraiment méga aléatoire les submits ...

YannDev: oui

YannDev: :')

Zorg1: gg vry welcome to gold

Vry: ... surtout si on se prend les peids dans le marécage ...

Vry: Attends Zorg1, c'est pas encore fait ...

YannDev: bon on attend BigUp maintenan

YannDev: maintenant

YannDev: *

Vry: 88% je prends des défaites ...

Vry: 90% ça repasse !

YannDev: gogogogogo

Fangel: ah vous vous attendez ? :)

YannDev: Bah on était un peu la team de galériens

Zorg1: ah désolé vry

YannDev: qui avait des codes bug/pas finis à l'ouverture de gold

YannDev: du coup on est pas passé direct

Vry: 94% + 0.35

YannDev: et après silver c'est devenu un marécage sans fin

Vry: :sunglasses:

YannDev: gg :p

YannDev: vive les pigeons

YannDev: wait ya un gold avec un score négatif

YannDev: le #405

Vry: Mouhaha au final un code avec moins de bug mais "simple" passe.

YannDev: moi c'est pire

YannDev: un code simple avec plus de bugs passe...

Zorg1: gg

YannDev: la version où le calcul des distances prenait en compte le speed faisait des rankings de merde

Fangel: c est terrible, tu vas dormir tu reviens le lendemain, tu perds 15 places... Vous voulez pas dormir la nuit aussi les gens ?

domak: gg Vry

Fangel: gg Vry

Vry: Merci

BlueGhost31: gg

YannDev: Fangel desfois tu peux avoir une bonne surprise

YannDev: tu reviens et tu as été poussé de 90 places

YannDev: :')

Vry: Cool dans l'IDE je bats Lord Betrayus ...

YannDev: et c'est là que tu passes légende

YannDev: :')

Vry: https://www.codingame.com/share-replay/465369130

Vry: ... mais le problème c'est tout les autres ! :p

BlueGhost31: tu as tout compris Vry ;)

YannDev: en silver je détruisais Clyde

Vry: Bon j'ai été productif au moins ... 2h de code pour Silver -> Gold

YannDev: mais j'ai eu du mal a arriver assez haut pour le taper

Fangel: ouais faut avouer que je suis passé légende en revenant de sortie, j y ai pas cru

domak: Vry méfie toi, plus je le bas dans l'ide plus j'ai un classment de merde

Vry: On verra demain pour la suite

domak: parce que du coup je joue très défensif

Fangel: j'étais parti 1h et je me tourmentais de tous les bugs que je venais de soumettre

YannDev: On en parle que betrayus me fait pas un seul kill

YannDev: https://www.codingame.com/share-replay/465370665

YannDev: c'est moi qui le kill lol

Magus: betrayus fait que les kills qu'on peut pas éviter

YannDev: ah c'est un malin

YannDev: faudrait que je fasse ça aussi !

Magus: par exemple si vous êtes encore sous cooldown et que lui il peut speed avec un pac du bon type, il va speed pour venir vous buter

YannDev: pff c'est honteux

YannDev: il a pas les co**** de venir se battre

Magus: ah 21, ce code a l'air mieux que le précédent

YannDev: il te prend qu'en traître

Magus: je me demande si je vais réussir à passer légende sans coder de quoi gérer le fog

Default avatar.png AdaoSwann: Bonjour ^^

Magus: ce serait drôle que ce soit possible

YannDev: gérer le fog pour les pellets ?

YannDev: ou pour les ennemis

Magus: les 2, la je gère rien dans le fog

YannDev: wtf

YannDev: comment tu fais pour être #21

Magus: je vais aucune supposition sur les pellets déjà mangés ou pas. Donc j'ai juste l'info des grosses pellets qui disparaissent

Default avatar.png AdaoSwann: Vous avez des combats de bots à me conseiller, qui sont plutôt abordable ?

Magus: *je fais

YannDev: moi j'ai une bonne map de pellets

Magus: et je sais pas ou est l'adversaire dés qu'il sort de ma vision :D

YannDev: et je sais à 90% où ya des pellets

YannDev: malheureusement je me déplace pas trop optimalement

YannDev: j'ai encore mon heuristique de bronze...

Magus: donc je suis juste bon en farm. Et comme je simule pas l'adversaire, je suis même pas bon pour éviter de mourir

YannDev: mais tu pourrais être meilleur en farm

YannDev: si tu gères les pellets déjà vus

Magus: enfin si, je m'interdit d'essayer de tuer un pac qui a son cooldown de up

YannDev: + déduis des cases sans pellets à partir de ce que tu vois

Magus: histoire de pas me suicider sur un pac va juste switch quand je lui fonce dessus

WhatTrickeryIsThis: le top 20 est enervé y à de l'action

YannDev: Essaie d'ajouter la déduction des cases sans pellets

YannDev: + sauvegarde des pellets déjà vus

Magus: non mais quand même mon IA est pas aussi débile, je pars du principe que toute la map est rempli de pellet au tour 0 hein ...

Magus: et j'update les cases que je vois

YannDev: oui mais

YannDev: à chaque tour

YannDev: t'es censé voir des pellets

YannDev: si tu les vois pas c'est qu'elles n'existent pas

Magus: bon ce code va pas faire top 10 gold je pense, triste

WhatTrickeryIsThis: s itu pousses tout le monde si

YannDev: par contre comment vous comptez passer légende àl

YannDev: là*

YannDev: le boss est à 27,26 et le deuxième à 25,49 -_-

egaetan: il faut de l'élan

Magus: bah je compte passer légende en étant meilleur que tout le top 10, c'est comme ça que ça fonctionne

R4N4R4M4: On bosse notre code en attendant YannDev :D

YannDev: :D

WhatTrickeryIsThis: y aura bien encore quelques IA pour descendre le boss dans la soirée

YannDev: Moi je vais essayer de reprendre mon code qui bruteforce les chemins

R4N4R4M4: Le top 10 suffira pas Magus, faut être meilleur que le top 200 aussi

WhatTrickeryIsThis: suffit de se caler dans la bonne vague

R4N4R4M4: En tout cas, c'est pas encore mon cas

YannDev: ouais

YannDev: ça c'était la grosse difficulté pour passer gold après ouverture

Magus: R4N4R4M4: bah le top 200 gold ça va vu que la je suis 15ème :D

YannDev: Magus à chaque submit tu te reprends le top200 dans la gueule

Magus: pas très grave ça se passe vite

egaetan: il suffit de passer une fois

YannDev: et plus tu vas vite sur le top200 plus tu fight le top10

WhatTrickeryIsThis: R4 tu passera

WhatTrickeryIsThis: sinon c'est pas juste

R4N4R4M4: Ton code a l'air stable, par contre le mien passe pas le top 150 la plupart du temps, j'ai pushé 50 fois hier pour entrer dans le top 20

Magus: ah mais Neumann t'es pas légende ?

YannDev: ça va t'es top 7 r4

Neumann: Sisi regarde, je suis en légende

YannDev: tu devrais passer

WhatTrickeryIsThis: Neumam il vielli très bien

BigUP: il me semble que l'ancien mode de calcul du classement causait un peu moins de probleme de passage compliqué

YannDev: c'est qui le premier de légende d'ailleurs ?

YannDev: kovi ou dbdr

BigUP: on faisait des saut plus important je crois

Magus: bon 11ème à 95% de submit, ça fera pas top 10 mais je suis content de pouvoir être la sans gestion du fog

Zorg1: kovi passe son temps à repush donc tu sais jamais

Mazelcop: YannDev c'est Romka actuellement

Magus: on va coder pour le fog

YannDev: ok ty

YannDev: Top9 Magus

Magus: oh cool

Magus: objectif atteint

YannDev: tu vas te faire pousser :')

Magus: donc on peut être top 10 gold sans gérer l'ennemi dans le fog

YannDev: top8

Magus: si vous vous posez la question :D

YannDev: looool

Mazelcop: donc en gros tu rajoutes la gestion de l'ennemi et tu passes top 20 légende

YannDev: non mais Magus il a une ia en béton

Magus: dépend de la gestion, les quelques essais que j'ai fait mon fait perdre des places parce que mon IA devient paranoiaque et refuser d'aller dans le fog

Zakaoai: Oai alors faut le dire très vite Mazelcop

YannDev: ah mais t'es légende Mazel !

YannDev: gg

Mazelcop: thx

Zakaoai: Allez je vais essayer de stocker le plus d'informations sur l’ennemie pour mettre à jour les infos sur les pastilles

Gafagarion: on peut même être légende sans gérer l'ennemi dans le fog

Gafagarion: (c'est mon cas)

BigUP: Gafagarion, tu fais juste du farming ?

Fangel: c est aussi mon cas

Magus: mais je suppose que contrairement à moi tu estimes pas que l'ennemi c'est un poteau qui bouge pas

egaetan: il peut bouger l'adversaire ?

Fangel: non mais tu peux juste faire attention de pas te faire tuer par les ennemis visibles.

Vry: Le quoi ?

domak: ah zut ça complexifie tout s'il peut bouger...

Gafagarion: BigUp, non je réagis à l'ennemi par contre je ne le suis pas du tout dans le fog

Magus: ce qui est déjà bien plus que moi

Magus: mon code oubli totalement l'existence de l'ennemi dés qu'il disparait :D

domak: contest ocean of pacs...

Gafagarion: Magus, même chose pour moi

Gafagarion: je ne gère l'ennemi qui si je le vois !

BigUP: tiens, je suis en train de jouer avec un code qui ne speed plus ...

Magus: ah ok comme moi, mais moi je fais pas bouger les adversaires que je vois, donc déjà faut que je fasse ça

Gafagarion: oui me je les fais bouger

Zakaoai: et tu es légende :'( j'ai la meme gestion et j'ai l'impression que c'est pas fou

YannDev: Petite question, comment vous faîtes pour trouver une bonne fonction d'éval d'un chemin svp ?

BigUP: mais qu'estce que j'ai foutu de mon SPEED moi !??

YannDev: Parce que j'essaie de reprendre mon code qui simule les mouvements mais je sèche sur comment évaluer un path...

Gafagarion: YannDev, je regarde le score généré par le chemin avec un decay en fonction de la distance

YannDev: en gros tu fais

YannDev: sommeDesScoresDesCases

Spifflejedi: nb de points rapportés par les pellets / nmbre de pas

Zakaoai: meme chose que Gafarion

YannDev: et ça suffit ça ?

Spifflejedi: et jek change al valeurs des pelletes en fonction de l'ancienneté

YannDev: (scoreChemin)/(distance)

Gafagarion: légénde first hour avec ça

YannDev: parce que moi j'ai du yoyo avec ça...

YannDev: mes pacs font du gauche droite

YannDev: ils finissent pas les chemins

YannDev: etc

Fangel: parce que t as pas de decay

YannDev: decay ?

Spifflejedi: la valeur du pellet diminue avec le tps

YannDev: ah

YannDev: j'ai à peu près ça

Spifflejedi: plus ca fait longtps que t'as pas vu le pellet moins il vaut de pts

YannDev: hm

Fangel: ou avec la distance c est plus simple

YannDev: tu divises par 0,5 à chaque fois ?

Default avatar.png thoip: parce que tu cacules des distances à vol d'oiseau et pas reelle.

BigUP: ha voila, avec le SPEED, j'explose le Boss... je préfere

Tryum: Arg, on a plus les erreurs de crash dans la console ? Je me prend la tête depuis des heures à cause d'un timeout, mais je soupsonne un crash :'(

Fangel: moi j essaye toutes les tajectoires de 14 cases (10 tours avec speed)

YannDev: thoip je calcule des distances réelles

Zakaoai: ha vous faite du decay sur les palette non visible

Gafagarion: non sur tous les pellets

YannDev: mais tu fais comment ?

Grillaume: YannDev de mon coté je multiplie par 0.95, après ça n'a pas d'importance si tu veux juste avoir un ordre

YannDev: tu divises par 0,5 à chaque tour ?

Gafagarion: 0.9 pour moi

BigUP: parcontre ce code à un winrate minable avec le reste

YannDev: donc à chaque tour tu multiplies la valeur de la pellet par 0,9

Fangel: et les pellets à 1 de distance valent 1 et à 14 de distance 0.9. Ensuite tu réduis linéairement entre les deux

YannDev: mais après gafagarion pour évaluer le chemin

YannDev: tu decay encore ?

Zakaoai: Qu'elle est l'impacte si tu l'applique à toute les palette

YannDev: genre le score d'une case c'est score/distance?

Spifflejedi: @Fangel et pr le pelletes inconnus?

YannDev: et tu fais la somme

Fangel: les pellets inconnues tu appliques le facteur de connaissance

Fangel: avec les scores tu calcules le nombres de pellets restantes

Fangel: tu retires celles qui sont sûres et tu connais le nombre de pellet parmi les "pas sûr"

Spifflejedi: j'ai déjà fait ca pr savoir si on est early/mid/late game mais bon c'est plus grossier ^^

Gafagarion: YannDev, non je regarde tous les chemins possibles sous une certaines distances je fais le score comme indiqué avec le decay et je retiens le meilleur chemin

YannDev: oui mais pour ça tu regardes tous les chemins possibles ?

Fangel: du coup si tu sais qu il y reste 30 pellets parmi les cases pas sûres

Fangel: et que t as 60 cases pas sûres

YannDev: tu regardes tous les chemins possibles depth 10 et tu prends le meilleur score

Fangel: ben la valeur des pas sûr c est 30/60=0.5

YannDev: sauf que je pige pas trop comment tu réappliques le decay sur ton score

Spifflejedi: du coup qd t'es en fin de partie si t'as aucun pellet dans tes chemins de 14 cases tu fais quoi?

YannDev: le score d'une case c'est score/(distance*0,9)?

egaetan: bordel de collisisons

Fangel: ben dans l eval il y a aussi la pellet la plus proche avec un coeff très petit (pour départager)

Gafagarion: et je gère pas les collisions non plus ;)

Gafagarion: Yanndev score = sum(pallet*pow(0.9,distancepellet)

YannDev: ah super merci beaucoup

YannDev: et à la fin de chaque tour pour chaque pellet tu multiplies le score par 0,9

YannDev: pour avoir un decay progressif

Fangel: ouais si tu fais ça précalcule les puissance de 0.9...

Gafagarion: pas le score total juste celui du pellet

Gafagarion: premier pellet = 1, deuxième = 0.9, troisième = 0.81, ...

YannDev: oui oui

YannDev: merci beaucoup :p

YannDev: pour les puissances de 0,9 j'ai déjà precalculé

YannDev: mais d'ailleurs pourquoi 0,9 ?

Fangel: mais moi je fais plutôt 1, 0.99, 0.98... Plus simple à calculer

YannDev: ça revient dans toutes les formules

Mazelcop: tu peux diviser la valeur du pellet par 0.9 à chaque incrément de distance, ça t'évite de faire un pow

YannDev: j'ai déjà un précalcul donc ça va

YannDev: j'espère que je pourrai toujours passer mon dfs depth12

Mazelcop: tu peux jouer sur la valeur pour donner une importance plus ou moins grande aux pellets proche par rapport aux pellets à distance

YannDev: je joue sur le 0,9 donc ?

Mazelcop: avec une valeur plus faible, ton algo sera plus greedy

Mazelcop: mais c'est pas forcément bien

YannDev: donc 0,99 sera moins greedy que 0,9?

Mazelcop: yep

Magus: ah mais je continue à monter en fait

YannDev: ok merci beaucoup pour tous ces conseils !!

Magus: mais bon ça passera pas légende

YannDev: je vais déjà voir si ça règle le pb du yoyo

Spifflejedi: hmm avec cette discussion j'hesite à changer ma gestion des chemins ^^

Stilgart: Magus: tu es toujours sur ton AG basique ?

YannDev: Magus est #6 -_-

YannDev: wtf

Magus: non j'ai changé

Zakaoai: Bon j'amasse vos bonne idées. Faut que je voit comment gerer tout ça

Stilgart: ha, ça me rassure un peu du coup :)

Magus: l'AG depth 6 c'était sympa mais je pouvais pas aller plus haut à cause du nombre trop bas de simus

Spifflejedi: j'utilisais que les plus courts chemin vers les 3 plus proches pellets

Spifflejedi: *30

Magus: (enfin je pouvais mais les résultats étaient pas terrible)

YannDev: le challenge finit lundi 12h c'est ça ?

domak: 10h en général

YannDev: bon bah je vais faire de mon mieux pour passer légende

domak: bon courage...

YannDev: x))

YannDev: déjà finir top 100 gold ce serait pas mal

BigUP: dejà finir gold, ce serait pas mal

BigUP: ;)

YannDev: tu vas y arriver BigUp

YannDev: :p

BigUP: YannDev, je bloque sur le Top100 silver...

BlitzProg: YannDev, simu sans collision?

YannDev: aucune simu

YannDev: :')

YannDev: mon algo de bronze pimpé

BlitzProg: oh

BlitzProg: j'ai du mal comprendre

YannDev: en gros c'est mon algo de bronze

YannDev: qui va au pellet le plus proche

YannDev: avec des petites améliorations

Zakaoai: Fangel, je relis ton message plus haut mais ce que tu appel "cases pas sur" ce sont toute les cases que tu ne voit pas c'est ça ?

YannDev: comme l'esquive des ennemis, l'attaque etc

Default avatar.png Axibord: salut les gens

YannDev: après pour passer légende je vais essayer de reprendre ma tentative de simu

YannDev: mais qui faisait le yoy à cause de l'eval pétée

YannDev: yoyo*

Zakaoai: et salut Axibord

Default avatar.png Ulrahid: Vos pellet vous les stocké dans la grille de jeu, dans une liste à part, autrement.. ?

Zakaoai: bon on va changer le scoring appliquer le decay et voir si ça améliore la chose. l'importance des pellets plus ou moins proche faut que voit

Default avatar.png Ulrahid: ez*

Zakaoai: dans la grille et dans une liste

Default avatar.png Ulrahid: pourquoi dans les deux?

Zakaoai: mais je pense pas forcément que mon code est le plus propre :p

BlitzProg: long pellet[17];

BlitzProg: bit map pour tout ce qui a été mangé

egaetan: 17 ?

egaetan: pourquoi 17 ?

Magus: parce que 17 de hauteur maximum je suppose

BlitzProg: ^

egaetan: quel gaspillage de bits

Magus: mais c'est long c'est pas 32 bits ?

Mazelcop: on peut réduire à 15 d'ailleurs les premières et dernières lignes sont des murs

Magus: parce que la longueur max c'est 35 ici

BlitzProg: long c'est 64

Magus: c'est pas long long 64 ?

Magus: attends je sais plus

BlitzProg: quoi c'est possible que ça soit 32? zut

Default avatar.png ernestvw: ca depend du langage non ?

Default avatar.png JBM: grave

Default avatar.png ernestvw: en C++ c'est 32

Magus: (je parlais en C++)

Default avatar.png JBM: c'est ">=" 32

Magus: mais sinon je confirme, en C++ sur CG (donc rangez tous les autres cas ou s'en fou ici), long c'est 32, long long c'est 64

YannT: long de 45 bits

Default avatar.png JBM: juste utilisez des intN_t au lieu de vous emmerder a compter a chaque fois

BlitzProg: bon j'ai pas encore testé mon code

YannT: pour C++ sur grille pains

BlitzProg: vous recommandez quoi pour que ça soit 64 sûr?

Default avatar.png ernestvw: long long

Magus: BlitzProg: uint64_t

BlitzProg: thx

Magus: c'est 64 sur

Default avatar.png ernestvw: #define int unsigned long long au debut du code ca fait plaiz

Default avatar.png JBM: l'appeau a emmerdes

Magus: rofl

Magus: define int

Magus: lol

YannT: quel beau language

BlitzProg: long starlight[49]

YannT: tu pourrais redefinie bool pour être true, false ou chaipas aussi non?

Default avatar.png ernestvw: le truc bien avec ce define c'est qu'on garde le syntax highlighting de int, alors que avec ull par exemple non

Default avatar.png ernestvw: sinon y'a le classique :

Default avatar.png ernestvw: #define long long long

Default avatar.png ernestvw: vu que long en soi ne sert a rien vu qu'il est comme int, donc autant le define a long long

Default avatar.png ernestvw: apres par contre faut pas se tromper et ecrire long long sinon ca devient long long long long

Default avatar.png ernestvw: et ca devient vraiment trop long

BlitzProg: define long long long que c'est beau

Magus: long n'est pas comme int, beaucoup énormément de plateforme (dont CG)

Magus: dans beaucoup d'environnement, int c'est 16 bits, long c'est 32 bits

Magus: comme l'a dit JBM, si le nombre de bit c'est important, utilisez intN_t (ou uintN_t)

Default avatar.png ernestvw: donc tu preconises

  1. define int int32_t

Magus: si c'est pas important, prenez celui dont la limite indiqué par numeric_limits vous convient

Magus: mais personne préconise de define quoi que ce soit lool

domak: en tout cas c'est très gentil à vous de me rappeler pourquoi j'ai arrêté le c il y a 20ans...

Magus: si la limite des int te suffit, tu utilises int. Si le compilateur a décidé que c'était mieux de mettre un long à la place il mettra un long sans demander ton avis.

Magus: Mais toi tu juste t'assurer que ton code va pas crash dans le cas ou ce sera vraiment un int

dbdr: premier submit depuis plus de 2 jours. j'avais presque oublié comment on fait :D

Default avatar.png ernestvw: ca sent les bugs ca

Default avatar.png ernestvw: (magus pas dbdr)

BigUP: dbdr, il faut appuyer sur le boutton Soumettre, ca marche bien normalement

Magus: c'est clair que #define int c'est pas du tout un un moteur à bug

Default avatar.png ernestvw: non tu as raison

Default avatar.png ernestvw: c'est tres pratique

dbdr: BigUP merci! j'ai failli le faire hier vers 17h55, mais qqch m'en a empeché

dbdr: (encore faut-il avoir le bon truc dans l'IDE à ce moment là)

Zorg1: le "moteur à bugs" : on est proche du mouvement perpétuel là :p

domak: dbdr sinon pour le submit, tu demandes à kovi, il te montrera...

dbdr: lol

dbdr: je vais passer le voir qu'il me montre

Zorg1: "submit coach" les nouveaux métiers de CG

ncflipp: juste pour être sûr : les DEAD pacs sont bien visibles comme les super pellets, ie hors champ de vision de nos pacs ?

Magus: oui

ncflipp: même si on ne les a pas "vus" avant ?

Magus: oui

ncflipp: ok, erci

ncflipp: *merci

BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !

Automaton2000: argh, et je suis au fond de la ligue gold

AutomatonNN: Salut Automaton2000

Stilgart: tortue à tous, licorne à Automaton2000 et bonjour à AutomatonNN

Automaton2000: mon ia c'est de la merde

AutomatonNN: on va te dire que tu as pas peur que tu ne peux pas te prendre un truc de ta faute ?

Stilgart: Automaton2000: pas mieux

Automaton2000: et tu dois en avoir un

Stilgart: Automaton2000: exactement, je timeout avant de finir ma réponse, comme toi

Automaton2000: on n'est pas dans le bon sens

BlaiseEbuth: :upside_down:

BigUP: gros demarrage...

WhatTrickeryIsThis: c'est bientôt gaetan

Default avatar.png AdaoSwann: Code4Life le bot se fait démonter. 149 à 36. Je sais que c'est Bois 1 mais bon x)

R4N4R4M4: J'aime bien Bois 1 pour ça aussi :D

R4N4R4M4: Ca dure pas assez longtemps par contre

WhatTrickeryIsThis: on combien à ce contest ? 5 Millions ?

Stilgart: AdaoSwann: C4L tu peux écraser l'adversaire si par mégarde tu finis deux projets vers la fin de la fame

Stilgart: *game

egaetan: WhatTrickeryIsThis encore 3 pts du boss :(

R4N4R4M4: le verbe est au choix WhatTrickeryIsThis ?

WhatTrickeryIsThis: le verbe c'est surfait

WhatTrickeryIsThis: et pendant que vous battifolez le boss il monte

WhatTrickeryIsThis: va falloir le descendre

Default avatar.png AdaoSwann: "le verbe c'est surfait" XD

WhatTrickeryIsThis: exactement

R4N4R4M4: Je suis fâché avec le Boss, lui il monte et moi je descends

WhatTrickeryIsThis: il me reste une botte secrete

WhatTrickeryIsThis: si seulement je codais correctement...

Stilgart: le debug ?

leojean890: bon allez je tente l'idée de R4, minimiser la somme des dist pour les gros pellets :P

leojean890: ça tombe bien j'avais codé ça pour UTG

Stilgart: (bon, pourquoi mon MC joue l'action par défaut tout le temps.... je sais que WAIT c'est op mais quand même)

BigUP: ha, mon Arrive maintenant a taquiner le top 50 par ses propres moyens

Stilgart: de quelle ligue ?

WhatTrickeryIsThis: allez risen, démonte le

BigUP: Stilgart, Silver

leojean890: évol buguée pour les gros pellets dans mon dernier push :s

Stilgart: nan mais je joue WAIT 100%

Stilgart: du temps

Stilgart: ne me parlez pas de bug :D

egaetan: c'est OP le wait

egaetan: tu enlèves bien les pellets mangées ?

Stilgart: oui... mais je me suis vautré dans l'ordre de memcpy

Saelyos: Hello, à tout hasard est-ce que quelqu’un aurait une liste de seed équilibrée en nombre de pacs qu'il serait prêt à partager ? :)

Magus: bon, je push un truc censé être plus fort contre le boss gold mais j'ai peur de la surpécialization

Magus: vas y Neumann me met pas une défaite dans mes 10 premières parties

BigUP: Magus, c'est le risque...

BigUP: Magus, généralement quand l'IA est légèrement meilleure que le Boss c'est mieux

egaetan: Magus, on compte sur toi pour rééquilibrer ?

Magus: dans l'ide en spammant contre le boss je suis meilleur que lui, mais le problème c'est aussi d'être meilleur contre le reste du top 10

WhatTrickeryIsThis: sans oublier les 400 noob derrieres

Magus: j'ai toujours pas de gestion du fog mais je fais au moins un peu bouger l'ennemi dans ma simu ça évite que je me suicide dessus quand il est à côté de moi

egaetan: tu le fais bouger ?

Magus: nan mais les 400 noobs derrière c'est pas un souci hein :/

egaetan: je ne les fait pas bouger, il faudrait peut-être

YannT: c'est casse gueule

YannT: parce que si tu fais pas bouger comme lui il bouge, tu prends des décisions vraiment moisies après

egaetan: j'aime pas l'incertain

YannT: tu vas chercher à pas te faire manger par un ennemi qui est pas du tout là par exemple

egaetan: Risen il se moque du monde, feeder le boss et casser tout le top :(

egaetan: Magus tu spams ton first 10 ?

Magus: egaetan: la je l'ai fait que 2 fois. j'avais eu que 7 victoires dans les 10 premières alors que je sais que je peux faire 8 ou 9 facilement

Magus: la 2ème fois j'ai eu 8

WhatTrickeryIsThis: ça monte bien

egaetan: j'aime pas le faire en général, mais c'est vrai qu'ici, on a un tel random que ça joue

Magus: bah c'est pas ce qui est en dehors du top 10 le problème :D

WhatTrickeryIsThis: tin l'autre il gave le boss :D


Magus: vas y dégage egaetan

egaetan: volontiers

Magus: l'autre il me met un taquet quand je passe

Magus: 2 ><

Magus: fuck

WhatTrickeryIsThis: ça peut être une solution, on submit pour le laisser passer

Magus: j'ai peur de m'être spécialisé contre le boss et je perd contre d'autres

egaetan: ça me va

egaetan: pour le moment

WhatTrickeryIsThis: ayé t'es in range

egaetan: par contre, il faudrait que tu tapes le boss

WhatTrickeryIsThis: qui vient de tarté le boss ?

BlitzProg: Bon, j'y arriverai pas, je suis juste pas inspiré :'(

egaetan: c'est pas Magus

BlitzProg: allez, je reset et je tente un truc simple en PHP

egaetan: courage BlitzProg !

Stilgart: go go go BlaiseEbuth

WhatTrickeryIsThis: PHP ? simple ? c'est faux

Stilgart: et BlitzProg surtout

egaetan: qu'est ce que tu as changé Magus ?

Magus: juste ce que j'ai dit, je prend en compte le fait que l'adversaire peut bouger

WhatTrickeryIsThis: il fait bouger les poteaux

Stilgart: ce moment où ton tableau est const mais modifié quand même ...

Stilgart: (╯°□°)╯︵ ┻━┻

BlitzProg: Je vois ce qui m'attend en C++ si j'essaye de finir le simulateur, je vais tellement m'en prendre dans la figure

egaetan: Risen est revenu aussi

Magus: ça m'évite des morts débiles parce que mes pacs hésitaient pas à passer à côté d'un autre pac qui pouvait les tuer

Magus: mais résultat je prend moins de risque

Magus: donc contre ceux qui cherchent pas à tuer, ça farm moins bien

WhatTrickeryIsThis: il revient très fort

Magus: bon après globalement ça a l'air meilleur vu que je suis arrive plus vite dans le top 10 que le submit d'avant, mais clairement ça fera pas légende

egaetan: Magus tu feed le boss

Magus: pas mon problème ça lol

WhatTrickeryIsThis: le saguoin il fait top 5 à 10%

egaetan: Ramdeath aussi vient dans la danse

egaetan: 3 submits dans le top10

Magus: ah ok donc je fais 10 tests contre le boss je gagne mais dans l'arène je lui prend même pas une partie; sympa

WhatTrickeryIsThis: ça pourrait débloqué là :)

Magus: je pense que risen va passer

Magus: ah sauf si je lui prend des games :D

BigUP: Magus, peut-etre tu timeout dans l'arenes ? ;)

WhatTrickeryIsThis: tu fais tourner la même seed sur l'ide?

WhatTrickeryIsThis: je dis ça e dis rien

Magus: j'ai un timeout qui arrive une fois sur 100

Magus: pas encore réussi à trouver si c'est un plantage chez moi ou l'habituel timeout de CG parce que t'as mis une limite à 40ms mais tu timeouts quand même

WhatTrickeryIsThis: ricSmo arrive aussi j'ai l'impression

egaetan: Magus pas la peine de se venger autant

Magus: si

WhatTrickeryIsThis: quand on pense que le boss avait 25 ELO hier

Magus: bon clairement mon code est mieux, pas mais assez mieux :(

R4N4R4M4: Ah si on pouvait modifier son code sans le repusher ... :D

Magus: sans repusher ce serait cheaté

R4N4R4M4: Ca serait une autre sorte de contest

egaetan: Magus pas si loin et Risen tape le boss mieux que toi

Magus: parce que dans les jeux shifumi (un peu comme celui la), t'as souvent une "meta" différence suivent les rangs. Et la difficulté pour arriver tout en haut est de faire un code qui va pouvoir battre le top tout en restant solide contre les autres metas sur le chemin

Magus: parce que ce que j'aimerais que CG ajoute c'est un bouton "continue push", pour juste continuer ton push la ou tu t'es arrêté avec le même code, genre rajouter 50 parties

Magus: parce que des t'as un winrate de 51%, donc en théorie avec assez de parties tu finis devant le boss, mais comme tu joues que 100 parties bah ça suffit pas

R4N4R4M4: ah et ça c'est pas cheater :D

Magus: bah tu continues ton push sans changer code

Magus: vas y Risen tape le boss

Magus: je suis juste en dessous la

egaetan: au dessus !

Magus: bon effectivement avec risen qui m'aide y'a moyen que ça passe

egaetan: roo gg Magus

egaetan: t'es jaune chez moi

Magus: muahah

Magus: voila, légende sans le fog !

Neumann: Hold-up

R4N4R4M4: Je suis d'accord, il faudrait pouvoir gagner un nombre de parties supplémentaires, disons tous les 1/4 d'heure t'as un match en plus, et comme ça tu peux les lancer quand tu veux :D

Magus: nah

WhatTrickeryIsThis: GG :)

egaetan: Un peu volé t'es passé au dessu saps longtempts

domak: gg

Magus: l'histoire retiendra que c'était suffisant

Mazelcop: wp

WhatTrickeryIsThis: ça se pourrait que toi aussi gaetan

egaetan: je voudrais bien.. mais je suis beaucoup plus loin

R4N4R4M4: Ah j'avais pas vu que t'étais passé Magus GG

egaetan: Personne ne l'a vraiment vu

R4N4R4M4: Je te cherchas en bas en me disant, chouette, il va encore me faire monter :D

R4N4R4M4: *i

Magus: et ça c'est le truc qui me fait dire que le système de ligue a des limites

Magus: tu passes la ligues légende a 0.01 au dessus du boss sur un poil de cul

Magus: et en ligue légende t'es direct plus fort qu'une grosse partie de la ligue

egaetan: que faire contre ça ?

egaetan: réajuste le elo du boss pour qu'il ne s'envole pas ?

Magus: ce que j'ai dit plus haut

Magus: rajouter un bouton "continue push"

Magus: enfin "continue submit"

Magus: pour que quelqu'un avec 51% de winrate coincé dans le top 10 parce qu'on joue que 100 parties puisse continuer son submit

egaetan: c'est vrai que là je prendrais bien 100 matchs de plus pour voir

domak: ou alors tant que tu as plus de 50% de WR tu continues automatiquement le submit

R4N4R4M4: Et ça serait bien qu'on puisse choisir contre qui on les joue ces matches supplémentaire :D

R4N4R4M4: bon ok je sors...

egaetan: R4N4R4M4 je suis d'accord

egaetan: Bon voilà Psyho, je compte sur lui

egaetan: j'ai plus que 1,37 pts à remonter

Magus: je l'ai vu push 3 ou 4 fois depusi tout à l'heure il a l'air de galérer un peu psycho

egaetan: c'est bien, il a pas le droit d'être le plus fort partout

Magus: je met pas en doute ses compétences vu son palmarès

Magus: mais CG est tellement différent des autres compétitions

egaetan: oui, et on ne sait pas cmbien d'énergie il y met aussi

egaetan: _Royale, tu batches submit ou tu codes ?

_Royale: egaetan: je change des coeffs :-D

egaetan: salut

sgalasso: Salut, je compte le temps de calcul et parfois il est supérieur à 50ms mais je n'ai pas de timeout, vous avez une idée du pourquoi svp ?

Magus: 1) tu le calcul mal 2) le referee a toujours un peu d'aléatoire dans la façon de compter les timeouts, parfois tu peux dépasser sans rien prendre, parfois il va te faire timeout quand t'as répondu en 48ms

Magus: tiens cool je suis top 20 légende carrément ...

sgalasso: Ok merci je vais vérifier

BlitzProg: Toujours en bronze, à repartir de 0, pas encore de plan précis sur ce que je vais faire. comme d'hab

Haashi: BlitzProg, une heuristique assez simple ca fait largement gold

Magus: sans gérer le fog tu peux faire légende !

Magus: par contre je suis pas en heuristique

BlitzProg: heuristique sans simu vous pensez que ça passe gold?

Haashi: oui

Magus: oui heuristique tu passes godl

Magus: *gold

KuroiLight: @Magnus t'es en quoi du coup ?

Magus: le boss gold vu son temps de réponse il est en heuristique aussi

Haashi: j'ai une heuristique sans simu et je suis gold

Magus: donc y'a des heuristiques en légende

BlitzProg: heuristique que je me trompe pas ça consiste juste à attribuer un score à chaque move possible et prendre le meilleur, sans simuler. Je me trompe?

Haashi: tu te trompes pas totalement

Haashi: pour moi heuristique c'est un gros mot pour dire "faire une stratégie au pifometre avec une pseudo fonction de score"

FrenchKiss: Pour moi, heuristique = gros tas de IF

Magus: heuristique à la base ça veut dire une méthode de calcul qui fourni rapidement un score ou une solution, pas nécessairement optimale

Magus: sur CG en général on utilise le mot heuristique pour dire qu'on fait pas de simulation

Magus: mais bon, quand tu fais une simulation t'as besoin d'une heuristique de toutes façons

BlitzProg: yes je comprends

towzeur: l'heuristique ca veut juste dire que c'est pas opti non ?

BlitzProg: bon, je pars là dessus et croise les doigts

Magus: towzeur: de toutes façons rien n'est opti ici

Magus: le seul moyen d'être opti ce serait de pouvoir bruteforce jusqu'à la fin de la partie

leojean890: encore pushé des bugs decidement j'arrête jamais de faire nimp hehe

Magus: mais ici personne n'est capable de bruteforce ne serait-ce que le 2ème tour :D

egaetan: kami en php dans le top10 je pense pas qu'il est une grosse simu aussi

kami: :)

egaetan: salut kami, fonce !

kami: j'y arrive plus ;à

egaetan: détrône le Lord

WhatTrickeryIsThis: salut la grosse

towzeur: je me demande si des gens ont utilisé une approche ML ?

towzeur: enfin si c'est possible dans le cadre du jeu

egaetan: kami tu n'as pas rencontré le boss ?

Haashi: clairement pas sur ce jeu en tout cas

kami: non pas une seule fois! j'aurais aimé ... désolé pour toi

egaetan: tu reveiendras encore plus fort !

leojean890: eah egaetan plus que 2 places :P

leojean890: moi je suis 371 gold avec mon submit bugué xD

leojean890: sympa hein;)

egaetan: et 1,25 elo

leojean890: pas loin :p

leojean890: bon je corrige mon bug de minimisation de sum(dist) et on verra ce que ça donne :P

egaetan: trop

leojean890: pour se faire pousser maybe

leojean890: maybe hard

leojean890: peut être avec une amélio supplémentaire :P

BigUP: de toute beauté mon move ! :) --> https://www.codingame.com/share-replay/465514408

BigUP: frame 30

BigUP: au debut, j'ai cru que le moteur du jeu avait buggé ! ;)

Magus: egaetan: donc ouai comme je disais tout à l'heure, le même code qui passe légende au poil de cul arrive donc top 20 légende (on est 65 en légende)

Magus: je trouve ça un peu triste

egaetan: oui c'est pas sympa

kami: triste pour ceux qui restent bloqué en gold :D

egaetan: en général, c'est plus bas quand même

egaetan: kami +1

egaetan: on va s'en sortir

egaetan: il n'y a plus de submits en cours ?

kami: pas sûr ! j'ai du mal à comprendre le fonctionnement j'ai un bon winrate contre le boss et j'arrive j'amais à l'atteindre.

egaetan: il manquait pas grand chose

kami: et pour un même code je me retrouve top 20 comme je peux être 200. le elo est vraiement serré pour varier autant

egaetan: oui, ça c'est moche

egaetan: souvent ça veut dire que tu as un bug qq part

kami: j'ose plus submit !

Tryum: C'est possible de voir le chat ailleurs que dans la colone de droite du site ? C'est chaud de suivre dans si peu d'espace je trouve :P (testé pigdim sans succès)

egaetan: et qu'il rend le submit un peu aleatoire

Magus: kami: comme je le disais tout à l'heure, avoir un gros winrate contre le boss sert à rien si tu perds contre tout le reste

Magus: d'où le fait que quand j'ai submit j'avais peur de m'être surspécialisé contre le boss et qu'au final ça fasse pire

kami: oui, c'est môche

Magus: au contraire c'est très bien. Ce serait triste que pour passer une ligue suffit d'être bon contre le boss :D

Neumann: +100 places d'écart d'un push à l'autre

Neumann: IA en bois

Escdemon: J'ai gagné 1000 places en bronze en pushant la même IA x)

kami: oui Magus, je suis d'accord.

Magus: bon maintenant la question c'est est-ce que je fais l'effort de coder un truc pour gérer le fog of war alors que je suis déjà top 20 légende

WhatTrickeryIsThis: le truc de Neumam

WhatTrickeryIsThis: spread tes poteaux

Neumann: ?

Magus: c'est déjà fait ça, c'est comme ça que je suis passé legende

Magus: je fais bouger l'adversaire dans mes simus

Neumann: Y compris quand il est hors-vision ?

Magus: non justement

Magus: dés que je l'ai plus dans les inputs, pour moi il n'existe plus

Neumann: Le faire bouger = le dupliquer ? Considérer qu'il est partout ou il peut être ?

Magus: j'ai fait plusieurs essais, un dummy a très mal fonctionné

Magus: au final j'ai fait autre chose qui s'approche de le dupliquer ouai

Neumann: Et t'as un truc pour supposer que les pellets hors-vision on probablement déja été farmés ?

Magus: non

Neumann: Hum ok

Neumann: Depth 10-15 ?

Magus: dépend du nombre de pac vu que c'est un beamsearch

Magus: 2 pac je suis entre 10 et 15 facile, 5 pacs ça va plutôt être vers 7

Magus: (puis ça dépend des collisions, bla bla bla)

kami: je vous laisse, je repasserai faire un tour ce soir. Bonne change egaetan

egaetan: detend toi pour avoir pleins d'idée

Magus: fait un gateau

Magus: (ça donne des idées)

BlaiseEbuth: The cake is a lie.

Tryum: <3

Neumann: Magus : si tu interdis les aller-retours dans les couloirs, ça pose pas des soucis sur ce genre de game ? https://www.codingame.com/share-replay/465317582 Si le rouge 2 part vers le gros pellet en 8:1, à depth supérieure à 6, il va considérer qu'il va se faire bouffer par le bleu 1 au croisement en 7:5

Neumann: Donc à depth 5 ou 6 il va aller vers le pellet, à depth supérieure il va préférer l'ignorer

Magus: nan y'a un virage

Magus: j'interdis les aller/retour dans les couloirs c'est tout

Neumann: Ca reste un couloir, qui tourne

Magus: dés qu'il y a un virage ou un croisement j'autorise

Magus: ouai je sais mais pour mon code c'est pas pareil :D

Neumann: Je vois

Neumann: Bon va falloir que je beam

Neumann: Le BF ça passera plus si j'autorise les aller-retour dans les virages

Magus: j'ai un beamsize de 1000 pour chaque pac

Tryum: beam = grouper des états proches ?

Magus: non

Magus: beamsearch en gros, tu simules tous les prochains état possible, tu évalues tous ces états

Magus: et tu gardes que les X meilleurs

Magus: et tu recommences, tu simules tous les prochains états des noeuds que t'as gardé, tu évalues, tu tries, tu gardes les X meilleurs ...

Neumann: Quand tu la recherche à depth N+1 tu reset la série complète d'instructions je suppose

Neumann: tu lances *

Magus: ouai je suis obligé de simuler depuis le début à chaque fois

Magus: parce que les actions des autres pacs peuvent venir embêter les actions du pac courant

Neumann: Ca n'aurait aucun interet de toute facon, puisque tu joues la première instruction de la série

Magus: donc tu peux pas juste reprendre ton noeud la ou il était

Neumann: Non je parle pas de la simu, mais bien de la recherche

Magus: ah

Magus: non je garde la série d'instruction

Magus: mais je resimule depuis le début

Neumann: Bah, ça sert à rien

Magus: (et quand une action est impossible, je remplace par un WAIT)

Neumann: J'ai raté un truc

Magus: bah pourquoi ça servirait à rien ?

Magus: je comprend pas en fait

Magus: si tu supprimes tout à chaque fois le beam search je sais pas trop à quoi il va servir

Neumann: Je prends le pac 0, je cherche à depth N (je considère les autres en WAIT), je prends le pac 1, je cherche à depth N (je fais jouer la séquence trouvée sur le 0, et les autres toujours en WAIT), etc

Neumann: Une fois que j'ai une séquence pour tous les pacs, je recommence à depth N+1

Magus: oui ça c'est bon

Neumann: Je prends le pac 0, je cherche à depth N <---- A ce moment là, la séquence du pac 0 est reset avant la recherche

Neumann: N+1 *

Magus: mais ce cas tu fais quoi, tu rebruteforces tous les noeuds depuis depth 0 pour arriver à depth N + 1 ?

YannT: c'est quoi l'intéret de recommencer à N+1 alors que t'as déjà des séquences pour chaque pac à depth N et que rien d'autre n'a changé?

Neumann: Oui, mais en gardant les séquences des autres pacs jusqu'à depth N (+ 1 wait)

YannT: ça a du sens si tu bouges l'ennemi à la limite...

Magus: dans mon code je garde les noeuds de depth N, et je recommences depuis la. Les noeuds contiennent toute la suite d'action mais je peux pas vraiment stocker l'état du jeu vu que les actions des autres pacs vont changer cet état évidemment.

Neumann: Bah quand t'as trouvé ta séquence à depth N pour le pac 0, tu considérais tes autres pacs en WAIT. A depth N+1 quand tu reprends la recherche pour le pac 0, tu considères que les autres pacs jouent les séquences trouvées, donc ça peut amener ta recherche pour le pac 0 à trouver autre chose, à la lumière de ce que les autres font

Magus: oui, ça peut

Magus: mais mon code s'en tape :D

Neumann: Je suis pas sur qu'on parle de la même chose

Tryum: Simulet pac par pac, et combiner... je devrais peut-être faire ça.... je simulais toutes les combinaisons de PAC en même temps... la combinatoire explosait 🤣

Magus: enfin dans les faits, mon beamsize est assez grand pour bruteforce jusqu'à depth 4 environ (dépend des cas, si j'ai 9 possibilité au tour 1, ça va pas bruteforce)

Neumann: Ton beam il est bien reset à chaque fois que tu switches de pac ?

Magus: donc jusqu'à depth 4 mes pacs prennent en compte toutes les possibilités en repartant de 0 comme tu le dis

Magus: c'est quoi que t'appelle le "beam" ?

Neumann: Ton arbre / ton pool de state

Magus: j'ai un arbre/pool par pac

Magus: donc non, je reset pas le "beam" d'un pac quand je passe au pac suivant

YannT: https://miro.medium.com/max/2560/1*05fp6bHyfZ57_A4-Q7-S_A.jpeg

YannT: ah ben bravo le lien chelou ça ruine la blague :(

Neumann: Pas compris ton truc alors

Magus: a depth 0, je tests tous les coups du pac 0, j'évalue. Je garde ces noeuds dans l'arbre du pac 0. Je copie juste dans un coin la meilleur suite d'action que j'ai trouvée. Pour ces simulations, les autres font WAIT

Neumann: Yes

Magus: je passe à pac 1, je fais pareil sauf que le pac 0 lui il va jouer sa suite d'action, ainsi de suite jusqu'au dernier pac.

Neumann: Oui

Neumann: La question c'est quand tu repars à depth N+1 :D

Neumann: Tu reset ta recherche pour le pac 0, et tu fais jouer aux autres pacs leurs séquences trouvées (+ 1 wait)

Magus: depth 1, je reviens sur pac 0. J'ai gardé les noeuds dans l'arbre, donc j'étends ces noeuds la. Les autres pacs vont jouer leur action de depth 0 et faire un WAIT a depth 1. ça va faire X noeuds enfants, si c'est plus grand que le beamsize je fais un sort et je supprime les plus nuls.

Magus: dans les noeuds je garde la suite d'action pour arriver au noeud

Neumann: Ok on est d'accord

BigUP: ha bah voila, je suis perdu ! ;)

Neumann: Je vais ptet tenter ça, parce que la recherche depth 2, même avec une éval correcte, ça suffit pas

BigUP: depth 3...

Neumann: Enfin je vais à depth 4 max, mais ça reste pas assez

Magus: Neumann: mais après tu as raison sur un point, en faisant comme ça quand je suis à depth 6, je peux rater le fait qu'il y a maintenant une bien meilleur branche à depth 0 parce qu'un autre pac a changé son action à depth 0 depuis le temps.

Neumann: Bah, c'est pris en compte ça ?

Magus: mais malheureusement vu le branching du jeu, t'es bien obligé d'élaguer d'une façon ou d'une autgre

Magus: Neumann: c'est pris en compte pour les noeuds que j'ai

Magus: donc faut espérer qu'il reste un noeud dans le pool qui a encore à depth 0 l'action qui va devenir bien meilleure

Neumann: Ah oui tu parles d'une potentielle meilleure branche qui a été prunée

Magus: oui

Neumann: Bah ça, y'a pas grand chose à faire

Magus: non. Sinon faudrait tout refaire le beamsearch depuis depth 0 à chaque fois

Magus: mais la ouai tu vas probablement pas dépasser depth 4

Neumann: Démoralisant les benchs qui te mettent à >50% contre tout le top 10, mais le code galère à rentrer dans le top 250 ..

Magus: c'est parce que dans le top 250 y'a plein d'IA qui attaquent pas, elles font que farmer

Alshock: et t'arrives à descendre comment avec ça ?

Alshock: 6-7 ?

gregballot: on est d'accord y'a aucun pattern entre les ids des pacs ?

Magus: je sais j'ai eu le problème quand j'ai fait mon premier dummy pour l'adversaire

gregballot: par rapport a la map

Neumann: Tout refaire = ?. Tu refais déja le beam depuis 0 à chaque nouvelle depth, juste avec des séquences pré-déterminées pour les autres pacs

Magus: j'ai fait un dummy et mon IA évitait les pacs adverses de peur de se faire bouffer, mais en top 250 personnes essaie de te bouffer :/

Magus: Neumann: ouai "tout refaire" c'est ça

Magus: mais ce serait trop violent tu vas faire depth 4

Neumann: Mais c'est ce que tu as dit que tu faisais

Neumann: /flip

Magus: non justement

Magus: je garde mes noeuds, c'est pas pour refaire depuis depth 0

Neumann: Ah

Magus: mais par contre je resimule les noeuds depuis depth 0

Neumann: Ok je suis idiot

Magus: (mais juste les noeuds que j'ai gardé)

gregballot: je reformule : impossible de predire les ids des pacs ennemis on est d'accord ?

Magus: les pacs ennemis ont les mêmes id que les tiens

gregballot: ok chuut ne lisez pas, je suis con comme un pneu

gregballot: Lol

Magus: (ce qui est ultra chiant d'ailleurs)

gregballot: Je viens de voir, j'essayais de compter par rapport aux coordonnées de la map comme un clanpin

YannT: c'est aussi ce qui te permet ld'init l'adversaire par symetrie, si les ids étaient pas symétriques aussi ce serait encore plus galère

Stilgart: "con comme un pneu"... j'aime bien l'expression :)

BlaiseEbuth: C'est pas gentil pour les pneus...

Stilgart: on n'a plus droit à la sortie d'erreur en C++ ?

Stilgart: ou c'est parce que je spam trop ?

gregballot: BlaiseEbuth j'avoue

YannT: oui t'es penui

dwarfie: Stilgart ... moi je l'ai ...

BlaiseEbuth: Idem

Stilgart: je suis sûr que mon code fait un assert failure ou un segfault

Stilgart: mais rien dans l'IDE à part timeout

Magus: on a plus de stacktrace sur CG quand on crash :/

Magus: (en C++ en tout casà

Magus: mais ça fait longtemps

Magus: depusi au moins 5 contests je dirais :D

Stilgart: ok

BlaiseEbuth: Ah oui, si c'est au runtime t'as rien

Stilgart: note que je code en Haskell normalement

Stilgart: d'ailleurs, j'aurais du faire une heuristique à deux francs en Haskell

BlaiseEbuth: On savait pas... :grin:

Stilgart: effectivement, la simu coûte bien plus cher que ce que j'avais imaginé

Stilgart: (et en plus ça plante)

Zorg1: tiens il est où Dabino ? il a du rester en haskell lui

Stilgart: fausse question

dwarfie: en parlant d'heuristique a 2 frances 6 sous ... va falloir que je trouve une idée valable parce que je descend mechament depuis midi ...

Stilgart: il passera legend dimanche soir, comme d'hab

Zorg1: bah il n'est pas encore sorti de silver

Stilgart: et ?

Zorg1: il doit hidder ^^

Stilgart: j'en ai perdu des places de 1er en Haskell comme ça :D

dwarfie: humm , a vu de nez , pas assez aggro

Magus: au fait y'a pas de t shirt pour ce contest ?

Magus: je me souviens pas les avoir vu

Magus: ah bah non y'a pas

Magus: zut, ça sert à rien de faire top 20 en fait

Zorg1: non trois prix et puis c'est tout

Zorg1: devait se ruiner en frais de transport ^^

YannT: j'ai mon tshirt OOC qu'est en cours d'arrivage :D

YannT: là par contre je ferai même pas légende je pense

YannT: mon micmac roulé sous les aisselles est complétement insuffisant

Zorg1: d'un autre côté pas trop l'envie de faire autre chose qu'un BFS bidouillé

YannT: pareil en vrai

Zorg1: (vu qu'on peut résumer mon bot à ça)

YannT: j'ai pas eu la motiv' de faire un truc sérieux, trop donné sur OOC

YannT: DFS bidouillé moi :D

YannT: (ce qui doit revenir globalement au même)

domak: oui ooc ça a laissé des traces... trop long et trop rapproché

Zorg1: OoC était plus intéressant aussi j'ai l'impression

Zorg1: plus dur d'accès aussi

Stilgart: je suis pas sûr pour l'accès

domak: ah si quand même

Stilgart: c'est dur à dire car les bosses wood étaient pas taillés pour à OoC

Tryum: yeaah gold :D

domak: fallait engager du bouot pour les wood

domak: boulot

Zorg1: gg

Stilgart: (l'accès pour moi, c'est l'accès à la bronze)

domak: gg

Stilgart: gg Tryum

Stilgart: moi j'y arriverais pas

WhatTrickeryIsThis: Allez gaetan

egaetan: Kangou je crois en toi

WhatTrickeryIsThis: ALLEZ

WhatTrickeryIsThis: arrête de faire la chochotte

WhatTrickeryIsThis: :skull: loses

WhatTrickeryIsThis: punaise il a totalement démonté le boss ^^

egaetan: il est fort contre le boss

egaetan: et contre moi aussi :'(

Tryum: test ?

Tryum: Ah cool, un client console XMPP :)

BlaiseEbuth: link plz

dwarfie: mcabber ?

Tryum: arf... les messages sont envoyés... mais je ne les vois pas >_<

Tryum: https://profanity-im.github.io/

R4N4R4M4: Je sais pas si j'aurai fini la simu demain :(

R4N4R4M4: c'est long

BlaiseEbuth: Merci. J’essaierais

dwarfie: mcabber marche aussi ... mais faut le prendre en main ...

WhatTrickeryIsThis: courage r4, une bonne journée pour 10 places, ça se fait

R4N4R4M4: Je suis en train de tout refaire en fait, mais en ajoutant les nouveaux trucs aux anciens, ça va être le bazar

BigUP: R4N4R4M4, c'est le truc ou a la fin une fois que t'as viré tous les nouveaux bug, tu te rend compte que ca marche moins bien ? ;)

R4N4R4M4: Oui voilà

BigUP: mais t'es quand meme content de l'avoir faiyt

R4N4R4M4: Mon plus gros problème, c'est que si j'ai pas confiance en mon nouveau code, je repusherai pas, trop galère de remonter

Tryum: @dwarfie profanity est interessant car il reprend le fonctionnement d'irssi ;)

Tryum: (et j'ai jamais réussit à faire marcher le plugin xmpp d'irsii)

Magus: attends la

Magus: je regarde cgstats

Magus: "Agend id"

Magus: mais lol depuis quand elle est la cette typo

Magus: et personne l'a vu

BlaiseEbuth: ou tout le monde s'en fout...

Magus: cette colonne est très important pour ceux qui utilisent CGBenchMark

BlaiseEbuth: Ouai mais pas son titre...

Magus: c'est vrai

BlaiseEbuth: Mais j'avoue que je l'avais pas vu non plus... ^^

Alshock: dites les gens, vous pensez que faire jouer les pacs en fonction de qui a le plus gros score courant plutôt que dans un ordre quelconque peut avoir un intérêt ou zéro ?

Magus: j'essayé des trucs de ce genre mais ça n'a rien donné de bon

Neumann: De rien egaetan <3

Magus: j'ai essayé de faire jouer ceux qui sont sous speed en premier par exemple, dans l'idée d'exploiter au maximum le speed

egaetan: C'est fait !

egaetan: Merci Neumann !

Magus: mais c'était pas mieux

Magus: lol

Neumann: Avec plaisir

Magus: et après c'est moi le voleur !

leojean890: gg egaetan :)

egaetan: j'en suis un autre, il est vrai :D

Magus: gg

Neumann: Après 4h de camping aux portes de la légende

egaetan: A toi maintenant Neumann !

Magus: ça va faire comme moi t'es aux portes de légende tu vas finir devant 30 personnes

BlaiseEbuth: Alshock, en tout cas en fonction du score ça semble foireux... Dans la mesure où les pacs sont strictement identiques et que leur score dépend de comment tu les faits jouer...

Neumann: J'ai rien changé de particulier, j'ai raté un truc

Magus: pourquoi t'es passé aussi Neumann ?

Neumann: Push en cours

Neumann: Random modification into push

Magus: je vois le genre

Neumann: into 10/10 au push

Neumann: into top 10 en 2%

R4N4R4M4: waouw gg Neumann

Neumann: Ca sent bon

Neumann: Je vais pas parler trop rapidement ..

Neumann: Jinxed

R4N4R4M4: Si tu peux nous faire baisser le Boss au passage :D

Neumann: 2/0 contre le boss pour l'instant

Neumann: Mais je le croise pas souvent

Magus: bah t'as 1 chance sur 10 à chaque partie de le croiser

Magus: donc ouai sur 100 parties pour un submit, tu vas le croiser 10 fois en fait

leojean890: en fait avec le nouveau leaderboard c'est plus simple de se faire pousser que de passer au submit, vu que les refresh sont rapides on peut se faire sortir du haut en submit, mais après on peut se faire pousser facilement avec qq matchs

Neumann: Sur 10.5 car j'oscille entre 1 et 2

Magus: "nouveau leaderboard" ?

Magus: c'est comme ça depuis l'apparition du système de ligue

leojean890: nouveua refresh rapide

Magus: non le refresh change rien

leojean890: ah ok

Magus: le refresh c'est juste que les données sont mis à jour plus souvent pour l'affichage

leojean890: jcroyais qu'on était pas replacé à chaque match avant

Magus: ça change pas les calculs qui sont fait

leojean890: d'accord

leojean890: donc avant on était également replacé à chaque match

leojean890: c'était pas N matchs autour de notrez ranking quoi

Magus: y'a rien qui change entre le classement d'avant et le classement de maintenant. Le refresh était purement un problème UI

leojean890: bon jss tjr 225 gold moi :s

leojean890: d'accord

Neumann: Le ELO est mis à jour instantanément dans les replays en dessous ton nick

leojean890: je croyais qu'on avait plusieurs matchs autour de notre classement avant qu'il soit updaté

Neumann: Donc si tu spam F5 un replay tu vois ton ELO en temps reel

leojean890: ah oauis c'est pas con :p

leojean890: faut que je lise la descriptiond e l'algo trueskill

leojean890: un de ces 4

Neumann: Ca passera pas

Magus: tout ça juste pour faire passer egaetan

Neumann: J'ai eu un début de run full-luck, juste pour pousser egaetan puis retomber

Neumann: Bon ..

Neumann: Est-ce que je fais une egaetan et j'attends ici pendant 8h qu'on me pousse

Alshock: Hum... PyCharm ne voit rien ,vous voyez une erreur de syntaxe évidente sur la ligne de 3 km suivante ?

       pac, path = max(((pac, path) for pac, path in (pack['pac'], grid.path(pack['pac'], pack['cell']) for pack in options)
                        if is_valid_path(path, validated_paths)), key=lambda path: path_score(pac, path, visited))

BlaiseEbuth: Ouai, c'est en python

Magus: "le python c'est plus lisible que le C++"

egaetan: Neumann j'ai pas attendu 8h mauvaise langue

Alshock: ah ah ah, et dis toi qu'en plus c'est vrai

Magus: ouai il a attendu 2 jours

egaetan: juste 2h30

Alshock: mon C++ est encore plus sale que ça

leojean890: Neumann bientôt poussé aussi

Alshock: personne veut me pousser de 84 places tant qu'à faire ? :P

Alshock: ça m'évitera de faire du python

Neumann: Ca manque de candidat au top 10 pour remuer un peu tout ça

leojean890: vaut meiux être en position de se faire pousser un peu aprèss l'ouverture

leojean890: quand la vague de candidats arrive

leojean890: 1j après c'est plus dur ;P

BlaiseEbuth: t'as pas encore plus long comme ligne... Sérieux

Neumann: Ouais bah pardon d'avoir eu une IA de chiasse hier soir :D

leojean890: :P elle avait ptet déjà le level pour légende ?!:P

Alshock: @BlaiseEbuth ah si si j'ai

BlaiseEbuth: Bah garde la

BrainSolver: J'arrive Neumann..

Alshock: BlaiseEbuth Hors de question, je suis pour le partage

Alshock: path = max((path for path in (grid.path(pac, cell) for cell, dist in grid.scan(pac).items()

                                                     if dist < FLEE_DIST)
                                   if is_valid_path(path, validated_paths)), key=lambda path: (group_dist(path[-1], (op for op in grid.entities[OP_PACS] if op.can_eat(pac))), path_score(pac, path, (cell for path in validated_paths for cell in path))))
                       

leojean890: Nazo arrive en #2 aussi ;)

Neumann: Tu m'as mis une lose BrainSolver

BrainSolver: ah

Alshock: @BlaiseEbuth c'est l'oeuvre de toute une vie, j'en suis pas peu fier :P

leojean890: Alshock pas mal ta ligne hehe

BlaiseEbuth: C'est imbouffable..."Faites du python, l'indentation fait partie de la syntaxe du coup le code est propre." mdr

leojean890: ;P

Neumann: 6 lose d'affilée

Neumann: Parfait

Neumann: 7*

Default avatar.png thoip: lol

Default avatar.png thoip: le run est de combien de combats en gold?

Neumann: ~100

BlaiseEbuth: Assez-t'il tout étant, je ne vois pas de problème avec ton truc (fonctionnellement parlant, pour le reste...). Mais après la merde peut venir de partout ailleur...

Neumann: Assez-t'il tout étant ?

BlaiseEbuth: fix ton what the cut ^^

Neumann: Pas vu

BlaiseEbuth: La quote vient de ce truc, si t'as le courage... ^^ https://www.youtube.com/watch?v=w8cGB8adW3g

BlaiseEbuth: Woah ! Une erreur que j'avais jamais vu ! Je l'ajoute à ma collection !

Neumann: Super ce son

BlaiseEbuth: Du grand art...

Default avatar.png thoip: passé de #400 à #145 gold

Neumann: Je repousse le même code qui m'a mis devant le boss pendant un bon moment, je prédit un stuck top 100

Neumann: J'ai bouffé mon capital luck

Alshock: @BlaiseEbuthaprès, ce qui m'emmerde en python c'est pas la dégueulassitude, j'veux dire ça ils ont fait des efforts ça se voit, mais ils m'empêcheront pas de faire du crade... Non c'est plus le "Erreur de syntaxe dans ta ligne là, quelque part !"

WhatTrickeryIsThis: gg egaetan !

WhatTrickeryIsThis: sorti de ce cauchemard

Alshock: l'erreur c'était un tuple pas enparenthésé je crois

BlaiseEbuth: Alshock : moi là j'ai un "bug indéfini quelque part dans ton programme."...

Alshock: C'est quoi cette horreur ? Du JS ?

Magus: c'est clair qu'en C++ c'est vachement mieux les erreurs

BlaiseEbuth: Nan, une erreur au runtime en C++... Comme cg donne pas la trace...

Magus: quand g++ il essaie de chier la bible en entier pour t'expliquer t'as une erreur dans une classe templat

Magus: ça transpire la clareté

Alshock: xD c'est vrai que ça c'est pas mal

BlaiseEbuth: Ah, bah là c'est plutôt concis : "free(): invalid next size (normal)"

Alshock: ça, ça veut dire "bah alors, on segfault gros n00b ? Go debug et GLHF"

Alshock: Cela dit je pense qu'en terme d'erreurs qui sont systématiquement imbitables, Java arrive à battre C++ non ,

Alshock: -,+?

BlaiseEbuth: Ca veux dire que le tas est cassé... Mais d'où, par quoi, quand ? ...

Alshock: ben par free à cause de next size qui est normal enfin :P

R4N4R4M4: Bon, ça se précise, je refais du 50% contre le Boss en IDE, juste avec ma nouvelle éval PAC par PAC, donc quand ça sera tous les PAC ensemble à T + 1, ça devrait faire...

Alshock: des chocapics ?

R4N4R4M4: Bruteforce prévu sur tous les PAC à T + 1, on verra ce que ça donne, mais j'aurai pas fini avant demain

R4N4R4M4: Et si j'ai pas fini tant pis je laisserai comme ça

BlaiseEbuth: Nan... Le problème est détecté lors d'un free, mais ne vient pas de là...

Alshock: tkt je sais bien j'ai connu ce cas bien trop de fois, mais j'aime bien t'embêter un peeu :D

WhatTrickeryIsThis: trop long tes submit neumam

R4N4R4M4: ah faut que je mette les ennemis dans la simu aussi :(

BlaiseEbuth: Première fois que j'ai cette erreur perso...

WhatTrickeryIsThis: chaud Neumam

Neumann: J'étais devant le boss et j'ai poussé egaetan, t'as raté mon run de l'année

WhatTrickeryIsThis: bha zut

Neumann: Mais mon IA est trop faible pour accéder au top 10 de manière récurrente

WhatTrickeryIsThis: et ta codé un beam search à la magus c'est ça?

Neumann: rdn(2, 150) atm

Neumann: Non pas encore

Neumann: Je vais spam push jusqu'à avoir un nouveau 10/10, et attendre

Magus: mais j'ai pas un "beamsearch à la magus" lol, j'ai suivi le guide

RomanceDawn: wiki ?

Magus: la seule chose en plus ici c'est que c'est un beamsearch par pac, parce que si tu découples pas y'a beaucoup trop de noeuds

Neumann: Tu prononces 1 mot tu deviens auteur

Neumann: J'ai inventé "le terme de patience" apparement

R4N4R4M4: J'avais le même soucis hier soir pour repush, j'ai tenté au moins 50 fois pour remonter

WhatTrickeryIsThis: les 100-200 sont assez résiliants

Neumann: Nos IAs puent la merde surtout

WhatTrickeryIsThis: du coups ça laisse pas assez de match pour monter top 100

WhatTrickeryIsThis: j'imagine pas top 10

R4N4R4M4: Le fow n'arrange rien, tout le monde ne joue pas au même jeu, y en a c'est les Pac tamponnants :D

Neumann: Faut avoir un bon first 10

R4N4R4M4: Quand t'arrives dans le top, tout le monde est à peu près cadré dans son Voronoï, du coup c'est moins aléatoire

Neumann: Voila, 9/10, direct top 120, encore 2 ou 3 wins d'affilée et c'est bon

WhatTrickeryIsThis: aucune idee de ce qui faut foutre en dummy

WhatTrickeryIsThis: c'est clair ça pue

Magus: R4N4R4M4: après sans le fow le jeu aurait été bien pourri, mais bon en ce moment sur CG ça fait un peu l'excuse à chaque fois. "On a un jeu qui est pas assez complexe ? Allez mettons du fow"

Magus: (ça s'applique pas à OOC qui était basé uniquement la dessus vu le jeu dont c'est tiré)

KuroiLight: le plus gênant c'est le fait qu'on ne puisse pas toggle le fow graphiquement :/

R4N4R4M4: Le Fow c'est bien quand il y a pas trop d'actions de type power, sinon tu passes ton temps à coder des trucs chiants pour trouver juste une info

WhatTrickeryIsThis: je l'em....mouette ton fog of war

Magus: ça c'est la cerise sur le gateau qui fait pensé que le fow a été rajouté à l'arrache à la fin, sans laisser le temps de coder le fow dans le viewer

R4N4R4M4: Le Fow dans PR2 par exemple, il est pas mal parce qu'il impacte la stratégie globale et pas les états des unités

WhatTrickeryIsThis: y a eu un contest comme ça avec le fow en debug

R4N4R4M4: pareil pour CB, mais si ton Fow commence à masquer les états élémentaires, c'est un peu galère oui

WhatTrickeryIsThis: il était cool celui là

WhatTrickeryIsThis: kutulu?

R4N4R4M4: Pour OoC, c'était l'objectif par contre oui

Magus: y'a pas de wow dans kutulu (de mémoire)

WhatTrickeryIsThis: tin même neumam se fait emmerder par des 100+ :)

Magus: *fow

R4N4R4M4: sur SC2020 ça aurait été bien qu'on reçoive la notification de l'utilisation d'un power par exemple

Magus: sc ?

Magus: sp plutôt ?

BlaiseEbuth: spring pallenge ?

Magus: ah

WhatTrickeryIsThis: regardez le push de Neumam et dîtes moi ce qu'il fout encore 20 iem

Neumann: Magus : la taille de ton beam à 1000, c'est 1000 quoi ?

Magus: je garde 1000 noeuds maximum pour un pac

WhatTrickeryIsThis: depth 1000 :muscle:

Neumann: C'est un arbre le truc, donc t'arrives à depth N, tu coupes uniquement les nodes de la depth N ?

Magus: ah oui je garde que les noeuds de depth N, le reste je jète quoi qu'il arrive

Neumann: Ok tu stockes la séquence complète dans le noeud

Magus: oui

Neumann: J'avais cru comprendre que tu faisais un arbre type MCTS, avec 1 move par noeud

Magus: ?

Magus: pas compris

Magus: tu peux faire autrement qu'un move par noeud ?

Magus: ah non ok j'ai compris la remarque

Magus: non je fais pas ça

Magus: class Node {public:    double score;    unsigned char actions[DEPTH_MAX];};

Tryum: bah tu peux faire n move pour tes n pacs ;)

Magus: voila, c'est ma classe Node en entier

Magus: y'a rien de plus dedans

Neumann: Sans ça, ça deviendrait galère de pruner

Neumann: Enfin impossible même

Tryum: Et tu ne stores pas l'état des pastilles dans ton noeud ?

Neumann: Simulation from scratch à chaque fois

Magus: pas le choix, de toutes façons vu que les autres pacs vont changer leurs actions l'état va changer

WhatTrickeryIsThis: peut être ça résoudrait son probleme de depth

Magus: donc inutile de le stocker

R4N4R4M4: Neumann, y a un truc à debugger là : https://www.codingame.com/replay/465641087

R4N4R4M4: à la fin

WhatTrickeryIsThis: enfin j'ai pas capté pourquoi faut remonté depuis depth 0

WhatTrickeryIsThis: il a dit tout à l'heure

Magus: wtf cette fin de partie oO

Neumann: Haha

WhatTrickeryIsThis: le demi tour de neumam est assez mechant

Neumann: Je compte pas le nombre de pellets restants sur la map en fonction du score

R4N4R4M4: Remarque moi je reste sans rien faire non plus :D

Neumann: Cet idiot de bot

WhatTrickeryIsThis: r4 tu savais qu'il lui restait un bot dans un cul de sac. N'est-ce pas ?

R4N4R4M4: J'ai pas vu tout de suite, mais le mien est pas mieux, mais c'est ma nouvelle version pas finie

WhatTrickeryIsThis: tu l'aurais kill si tu savais que tu avais le temps je suis sur

R4N4R4M4: WhatTrickeryIsThis, non je sais rien du toup mon bot fait juste une bête éval de flood pour l'instant

Tryum: Ah oui moi je le stockais car je simulais tous les move en même temps ... mais bon c'était pas performant pour un clou 😅

Magus: de toutes façons copier des états c'est pas gratuit

WhatTrickeryIsThis: mon ia sait mais n'en fait rien , je m'inspire ton pvp pour l'instant

Magus: ça t'obliges a faire ton état de jeu très petit pour que la copie ne soit pas trop lente, donc tu perds en vitesse de lecture/manipulation de ton état

Magus: donc copier ton jeu dans chaque noeud est pas forcément plus rapide que de simuler du début

Tryum: 👍

Tryum: Bon le client profanity... j'abandonne... dommage qu'il n'y ai pas un https://chat.codingame.com, avec le chat en fullscreen ;)

BlaiseEbuth: T'es sur quoi comme os ?

Tryum: windows, mais j'ai des sessions ssh ouvertes

BlaiseEbuth: Hmm... T'as pas essayé avec wsl ?

Tryum: essayé quel client ? :P

Magus: pourquoi avoir besoin d'un client xmpp en ligne de commande sous windows ?

Magus: sur un linux sans interface je comprendrais l'utilité mais la ... :/

Tryum: j'ai testé profanity 0.8.1 j'ai eut l'espoir que ça fonctionne... mais le chat du channel n'apparait pas (alors qu'un chan custom est ok)

Neumann: C'est quoi le soucis avec pidgin ?

BlaiseEbuth: Perso j'ai besoin d'un client xmpp fonctionnant correctement avec cg sous windows. Le fait que ce soit en console ou pas je m'en moque...

Tryum: Magus, je fais tourner dans un screen, et je récupère la session où que je sois ;)

BlaiseEbuth: Neumann, perso je peux pas me connecter sur cg avec pidgin, et c'est pas faute d'avoir essayé...

Neumann: Noob

Tryum: Neumann l'UI de pidgin me plait pas... peut-être qu'il y a des thèmes cependant ;)

Magus: pourquoi tout le monde y arrive sauf toi ?

Tryum: Nan j'ai galéré aussi au début, l'info dans la FAQ est pas suffisante.

Neumann: "J'arrive pas à me connecter avec pidgin" is the new "Y'a un bug sur le puzzle The Descent"

WhatTrickeryIsThis: d'abord Blaise on veut te voire sur pacContest

WhatTrickeryIsThis: viendez

BlaiseEbuth: Va savoir, néanmoins ça marchait à l'époque du general_fr, et quand on est passé sur fr ça a cessé de fonctionner pour moi...

R4N4R4M4: Allez, j'attaque la partie de code intéressante :D : NODE* e2 = &simu; clone(e2, e);


Tryum: J'ai pu me connecter via pidgin avec les infos trouvée sur le forum, et encore, l'affichage des rooms le faisait planter ;)

BlaiseEbuth: Gajim fonctionne, mais j'aime pas le client.

BlaiseEbuth: En fait, j'arrive à me co avec pidgin, mais uniquement en passant par la recherche de salle. Ce qui prend trois plombes puisque les rooms des clashs sont jamais supprimées... Mais en entrant le nom du chan direct, je me prends un refus cinglant du serveur d'auth...

Tryum: tu mets bien Fr@conference.codingame.com .

Tryum: ?

BlaiseEbuth: Sans doute. Ca fait belle lurette que j'ai pas essayé

Magus: la recherche de salle ouai faut pas l'utiliser

Magus: y'a des dizaines de millier de salon de clash qui apparaissent dedans

Magus: CG aurait pu faire en sorte qu'ils soient pas dedans ça aurait été sympa :(

Zorg1: ou de les purger régulièrement

Zorg1: quoique le crash de serveur s'en occupe ^^

WhatTrickeryIsThis: nan mais Neumam laisse tomber le ladder il marche pas, tu sera même pas top 100 avec 100% win

WhatTrickeryIsThis: ton separt submit est moche aussi recommence

WhatTrickeryIsThis: depart*

Zorg1: il est pas encore légende Neumann ?

Zorg1: ah non

Neumann: J'étais à 1 win de l'être tout à l'heure

Zorg1: :(

Neumann: Mais ça aurait pas été mérité

Neumann: Clairement de la chance

Tryum: Ah ! un dark theme par shippé par défaut avec Gajim, j'arrête de chercher autre chose ;)

egaetan: WhatTrickeryIsThis vient ! le leaderboard en legende à l'air tout aussi pété

WhatTrickeryIsThis: 2 min

egaetan: gg Kami

Zorg1: "SC2020 le contest aux leaderboards pétés"

Magus: ah ouai le leaderboard légende a l'air drôle, mon submit a fini 15ème maintenant je suis 47ème

Magus: je crois qu'un mec qui me bat souvent fait juste spam submit depuis tout à l'heure

Zorg1: bon je vais prendre une :beer: j'aurais pê une idée pour ce *supercontest*

Default avatar.png thoip: kovi?

Zorg1: le push permanent

WhatTrickeryIsThis: kovi n'a jamais dépassé les 20%, il repush avant

R4N4R4M4: Bon, je vais faire une pause parce que je trouve pas comment faire mes boucles imbriquées de PAC alors que je sais pas leur nombre...

egaetan: fais comme si ils étaient 5

R4N4R4M4: et du coup si ils sont que 4 l'intérieur de la boucle s'exécute jamais...

Neumann: Y'a des gens en légende qui simulent à petite depth ? (< 4)

Saelyos: Non.

Neumann: :ok_hand:

Neumann: T'es à combien toi ?

jft63: bon bah alors c'est foutu pour moi ^^

Saelyos: 5 là mais j'ai pas testé bien

Neumann: Bah 4 ou 5, même combat

Saelyos: T'as dis < 4 :p

Saelyos: Mais ouais je pense que y'a moyen de l'augmenter

Haashi: 3, 4 ,5 meme combat

Saelyos: En tout cas je vois mal un truc viable < 4

jft63: l'eval est trop compliquée

Neumann: Hum

jft63: un beam search depth 4 avec une eval pourrie ça ne m'aide pas trop :)

egaetan: jft63 ça c'est curieux

jft63: egaetan ça m'étonne aussi, mais c'est soit l'eval, soit des bugs dans la simu ou l'algo

egaetan: j'aurais dit une mauvaise seed

jft63: ?

egaetan: vraiment pas de chances, tu tmbes que sur des cartes trop spéciales

jft63: ^^

jft63: ou alors c'est le manque de tracking. en Gold vous faites du tracking?

egaetan: du retro tracking

jft63: c'est à dire?

egaetan: je mets à jour mes connaissances à chaque fois que je le vois

egaetan: mais je predis pas ce qu'il va faire

jft63: si tu vois un pac au tour N, tu "prédis" le chemin qu'il a parcouru depuis la dernière fois que tu l'as vu?

egaetan: c'est ça

jft63: intéressant

jft63: c'est peut être qq chose qu'il me manque

egaetan: ça dépend de ton eval aussi je pense

jft63: elle doit pas être top non plus :)

YannDev: coucou :wave:

BlaiseEbuth: Le voilà, taisez-vous !

egaetan: jft63 la mienne est simple et rapide

YannDev: vous êtes dans le futur avec vos simus :')

**Zorg1 se la joue discret

YannDev: t'es top100

YannDev: donc t'es dans le futur

jft63: egaetan j'ai du mal à la faire simple, il y a des éléments basique comme toujours: score, kill, ... mais la partie "aller vers les pellets" ... là ça ne va plus

egaetan: j'ai fait plus simple, le score seulement :)

egaetan: c'est tout ce qui compte à la fin

jft63: mais dans ce cas tu es obligé d'aller super loin en profondeur !

YannDev: Moi ya 2 questions que je me pose vraiment

YannDev: c'est comment éviter les yoyo

jft63: car si tu es à l'autre bout de la map dur dur

YannDev: et comment attribuer les bons chemins aux pacs

egaetan: oui, il faaut aller un peu profond

YannDev: vous simulez l'ensemble des mouvements ?

YannT: that's what she said

Zorg1: j'ai bien peur qu'on saura ça lors des PM ...

jft63: ;)

YannDev: bah au moins on apprendra :p

YannDev: moi j'ai surtout hâte de découvrir l'algo de YannT

YannT: lol il est nul hein

YannDev: je sais

YannDev: c'est pour ça que je veux le voir

YannDev: comment il peut être nul et être top100 gold

YannDev: ya une magie noire derrière

jft63: egaetan tu fais depth combien?

YannT: et là j'en suiis arrivé à bout, j'ai plus de solution lowcost pour améliorer

YannDev: Moi je suis arrivé au bout de mes rustines aussi :/

YannT: il faudrait passer du temps

YannDev: en vrai t'as moyen de faire passer ton algo légende

YannT: je ferai PM rapide de "comment faire gold (et top20 iol y a quelques jours) avec 3 bouts de ficelle en quelques heures

YannDev: ouais ce serait cool :D

YannDev: moi je vais faire "comment arriver gold à son premier contest"

Magus: on notera quand même que dans mon code j'ai prévu les pacs zombies

Magus: on sait jamais

YannDev: Les pacs zombies ?!

Magus: si un pac mort réapparait dans les inputs aucun problème mon code sait gérer

YannT: je ne pense pas, soit il faut changer d'algo (flemme), soit il reste un bug sous-jacent qui dégrade la réussite, mais s'il existe je le trouve pas

YannDev: ah

YannDev: dommage

YannDev: tu peux vraiment plus rafistoler ton algo?

YannDev: avec de la détection de cul de sacs ou autre

egaetan: jft63 9 tours

Default avatar.png thoip: et toi YannDev?

Tryum: Cette rage quand tu tapes F5 en pensans être dans VS, alors que chrome à le focus >_<

YannT: c'est ce que j'ai fait aujourd'hui: chercher si j'ai un bug ou un soucis (algo ne fait pas bien des trucs qu'il devrait faire correctement), facilement réglable pour gagner du ranking

YannT: mais je trouve pas

YannDev: Thoip j'ai une "simu" en stock

YannT: je pense que mon algo est juste à bout de ses capacités

YannDev: mais ça faisait le yoyo

YannT: c'est 300 lignes donc bon, faut pas non plus attendre des miracles

jft63: egaetan ah oui quand même depth 9 joli

YannDev: C'est peu..

YannDev: moi je suis à 900lignes

Magus: on est d'accord que quand un pac est mort on le reçoit à tous les tours dans les inputs qu'il est mort ?

YannDev: après j'espace beaucoup mon code est j'ai des trucs que j'utilise plus dedans

YannDev: Oui je crois Magus

Stilgart: tiens, mon MC se met à battre mon dummy

Tryum: trop facile de battre le boss gold... suffit de le bait

Stilgart: spas trop tôt

YannDev: Wtf tryum

YannDev: tu le bait comment :')

egaetan: Stilgart toujours avec no move ?

Stilgart: nan, c'est bon

Tryum: https://www.codingame.com/replay/465716862

Stilgart: depuis que je copie la solution courrante dans best et pas l'inverse, je bouge :)

Default avatar.png thoip: Oui il me semble magus.

Tryum: YannDev j'ai pas fait exprès hein, mais le replay est drole ;)

YannDev: en vrai je suis pas loin de battre le boss lol

YannDev: Ah dommage Tryum

Tryum: On peut pas coller de lien depuis gajim :'(

Tryum: test : https://www.codingame.com/replay/465716862

YannDev: :'(

YannDev: tiens je suis #404

YannDev: il y a erreur

Default avatar.png thoip: d'ailleurs j'ai vu cet apres midi que j'envoyais les morts sur les super pelettes

YannDev: c'est dommage

Tryum: ah si je peux coller un lien mais après le chat marche plus pendant quelques temps... >_<

BlueGhost31: joli Tryum

egaetan: Tryum ça à l'air sympa ça

BlueGhost31: nécessite de la coordination par contre

egaetan: risqué mais sympa

jft63: alors le backtracking pas cher ça n'a pas l'air de marcher il va falloir que je fasse un vrai backtracking

YannDev: bon bah mon bruteforce est totalement pété lol

R4N4R4M4: Le mien non, il tourne pas encore :D

YannDev: https://www.codingame.com/share-replay/465730862 waw

YannDev: j'ai des pacs afk

YannDev: et mon pac passe à côté de super pellets

YannDev: mais il se dit que c'est sous optimal de les manger

YannDev: ...

R4N4R4M4: Pas mieux que ma partie avec Neumann

YannDev: bah là j'ai vraiment un truc cassé lol

YannDev: ça finit #430 gold si je submit ça

Neumann: Je debug une partie depuis 20min en regardant la mauvaise équipe

Neumann: Yes

YannDev: mdr

YannDev: gg

R4N4R4M4: LOL

ThomasNicoullaud: et donc tout ca pour voir qu'il y a pas de bug finalement ?

YannDev: j'ai l'impression que c'est parce que j'ai une depth 10 que mon algo estpété

YannDev: je vais tenter à 15

Neumann: J'étais content de voir un comportement clairement sous-optimal

R4N4R4M4: Je crois que mes boucles imbriquées variables pour sortir les combinaisons de move fonctionne : http://chat.codingame.com/pastebin/bb1537e6-9d35-41b3-b56b-75f707f70685

YannDev: dpeth 15 c'est moins bon que depth10...

R4N4R4M4: 3/4 d'heure juste pour ça

R4N4R4M4: Bon à 3 PACs ça donnerait ça ? faut que je vérifie : http://chat.codingame.com/pastebin/f76c21c6-82d7-4c0c-85b3-684e164df958

R4N4R4M4: mouais on va dire que c'est bon

Magus: nan mais laisse tomber les combinaisons

Default avatar.png JBM: comment es ton re

YannDev: attends tu voulais juste générer des permutations?

Magus: avec 5 pacs tu peux avoir 59k combinaisons de coups

YannDev: tu peux faire une énumération récursive ;)

R4N4R4M4: C'est la base de mon futur algo Magus

YannDev: R4 t'aurais pu faire une fonction récursive

YannDev: ça aurait été plus simple

YannDev: là t'as du suer avec tes boucles :')

R4N4R4M4: J'ai fait une meta boucle :D

Zorg1: boucle ou récursif ça revient au même

Zorg1: mais pour les combinaisons t'as nettement plus simple

YannDev: dans son cas c'est plus simple à coder en récursif

YannDev: sinon tu as un truc en C++

YannDev: pour avoir toutes les permutations

Zorg1: tu écris le nombre dans la base (3 par exemple)

YannDev: hm

Zorg1: (enfin 4 )

R4N4R4M4: mouais, mais tout ça ça marche quand t'es en début de contest et que t'as le temps, là, ça devient urgent mon truc

Zorg1: :D

Zorg1: pas faux

R4N4R4M4: et avec les bouts de cerveau qui me restent, je prends le premier truc qui marche :D

Karocyt_aka_Kevazoul: Ou tu peux faire les combinaisons de mouvements que d'une case, puis refaire un tour pour ceux qui ont le SPEED, qui joueraient 2 fois comme l'applique l'engine

MartinGal: Angine il me semble

R4N4R4M4: C'est les indices d'actions de type move que je cherche, donc il y a une étape à faire à l'incrémentation

R4N4R4M4: Faut que je vérifie que je trouve bien que des moves d'ailleurs

R4N4R4M4: http://chat.codingame.com/pastebin/5f80da71-cf2c-4dea-9e5d-e7d75e628e54

R4N4R4M4: Ah ouais, je teste à l'incrémentation et pas à l'init... :(

R4N4R4M4: Je suis pas loin du but, bientôt l'évaluation du Voronoïe optimum ! :D

R4N4R4M4: bon allez, pause avant de fixer tout ça

Tryum: R4N4R4M4 quel langage ?

Tryum: j'ai découvert std::next_permutation en C++ :D

Zorg1: il fait du C R4 (enfin du C en Objective C)

R4N4R4M4: oui voilà

Tryum: pas d'accès à la std::C++ ? :P

Tryum: je m'en suis servit pour tester les combinaisons pacs/super pellet gagnant en "phase 0"

Tryum: la combinatoire à la main des différentes actions / pacs, j'ai fait à la mano aussi, et effectivement, ça explose (j'ai mis de coté :/)

R4N4R4M4: Je regarderai Tryum, ça peut servir en effet

YannDev: bon ma simu s'améliore

YannDev: je passe de 76 à 118 sur le même match contre le boss

YannDev: j'ai rien dit c'est de la grosse merde

YannDev: regardez le pac 1 au début lol https://www.codingame.com/share-replay/465751584

YannDev: il aurait pu bouffer deux super pellets ce con

Default avatar.png Julien_Fardel: Il n'a pas d'oeil gauche

YannDev: c'est probable :p

YannDev: le pire c'est que quand j'augmente la valeur d'une big pellet ça devient pire

Tryum: Je me demandais si beaucoup de monde utilisait le multithreading sur CG ?

b0n5a1: o/

YannDev: quelqu'un aurait une idée pour que mes pacs target un peu plus les super pellets svp ?

Mazelcop: bigPelletValue = 100

YannDev: au pire je fais en sorte que ça aille sur la super pellet la pus proche

YannDev: Mazelcop ça ça nique mon code

YannDev: parce que du coup j'ai des pacs qui commencent à prendre le même chemin

Mazelcop: ouais après tous les pacs vont vers la big pellet, normal :)

Default avatar.png thoip: module qui s'occupe des super pelettes independant du reste

YannDev: x)

YannDev: ma simu se fait détruire par mon code

Tryum: YannDev, j'ai une phase 0 où je rush les super pastille :P

YannDev: ouais je pensais faire ça

YannDev: bah ty

YannDev: :)

Tryum: Moi faut que je règle mes propres collisions.. avec mes propre pacs qui font des shifumi :P

R4N4R4M4: Ma super permutation :D

R4N4R4M4: http://chat.codingame.com/pastebin/3fe3a97c-cb6c-4a10-b374-c19a2882c85c

YannDev: ah bah gl tryum

YannDev: R4 je saisis pas trop

YannDev: tu bruteforce toutes les combinaisons de mouvements ?

R4N4R4M4: pas encore, mais yesss

R4N4R4M4: d'ailleurs faudra que je chronomètre ça au cas où

Tryum: ça marche dans les clients externes le paste de code ?

YannDev: bon c'est dommage que j'arrive pas à trouver de moyen propre de manger les super pellets

Tryum: http://chat.codingame.com/pastebin/c68e7061-008e-4482-9136-3a3d107f44c1

YannDev: neumann smurf

YannDev: oO

Neumann: ..

Neumann: Laissez-moi galérer en gold

YannDev: :')

YannDev: oulala

YannDev: tu es #413

Neumann: Yes, je sais lire

YannDev: en vrai c'est useless de smurf

R4N4R4M4: Merci Tryum, je vais regarder ça

YannDev: t'as plus de chances de passer légende en submitant

BlitzProg: Bah alors neumann D:

Default avatar.png 0xCAFE: Ce moment ou ton IA bat le boss 75% du temps mais il gagne pas de manière fiable contre les IA plus faibles ^^

YannDev: oof ma simu qui se fait détruire par toute la ligue

Neumann: Smurfer ça évite de se faire ping 5 fois par jour parce que "BaH aLoRs T'Es PaS LeGeNdE ?!"

YannDev: Je vois pas le soucis à pas être légende direct

YannDev: tu vas passer :

YannDev: :)

YannDev: au pire fuck les rgeux

YannDev: rageux*

BlitzProg: Neumann

  • cries in bronze league AI*

BlitzProg: bon, cette nuit j'espère terminer quelque chose pour battre le boss bronze

Default avatar.png 0xCAFE: Est-ce que d'autres personnes que moi gagnent plus souvent le boss que les IA normales? Je suis en gold, c'st mon premier challenge

YannDev: oui

egaetan: Neumann, BaH aLoRs T'Es PaS LeGeNdE ?!

YannDev: en tout cas quand j'étais silver j'avais ce soucis

Neumann: Va chier

YannDev: N'égoute pas les rageux

Default avatar.png JBM: que de cordialite, ca fait chaud au coeur

YannDev: gaetan c'est un rageux :p

Neumann: Non je les égoute pas, je les laisses dans leur jus

**egaetan avoue avoir copy paste

BlitzProg: quoi!

YannDev: gaetan BaH aLoRs T'Es PaS LeGeNdE :

Neumann: Il est légende, ça marche pas

YannDev: pff

Neumann: Grâce à moi d'ailleurs

Neumann: Ingratitude/20

YannDev: double pff

**egaetan remercie encore Neumann

YannDev: https://www.codingame.com/share-replay/465774508

YannDev: je vais arrêter de faire une simu je crois lol

BlitzProg: mon objectif est juste de battre le boss silver pour le moment. une idée du minimum à faire pour ça?

YannDev: 0,9^d*value m'a trahi

YannDev: le boss silver ?

YannDev: tu vas en chier

BlitzProg: :(

YannDev: silver c'est devenu la muraille de Chine

Default avatar.png 0xCAFE: Il est pas si dur en vrai tu peux rester sur des algos simples.

YannDev: ya un marécage dans le top200 avec 350 000 ia random

YannDev: donc tes algos risquent de se faire hardcounter

BigUP: BlitzProg, bah bien gérer le farm apparement et ne pas te faire bouffer, utiliser le Speed autant que possible

YannDev: Oh salut BigUp

YannDev: t'as réussi à passer ou pas ?

BigUP: Salut YannDev

BlitzProg: D'acc, je vais voir

BigUP: YannDev, toujours pas, je suis 9eme Silver... mais a 1,7 points du boss

BigUP: YannDev, mon code arrive maintenant a monter top 30 de lui meme

BlitzProg: Je vous cache pas que je suis très inquiêt, démarrer sur ce jeu était simple, mais améliorer son AI c'est de l'enfer distillé

Default avatar.png 0xCAFE: Rude ça, essaye d'optimiser légérement les paramètres ou de rajouter une feature et tu dois passer

BigUP: mais il peut également faire #200

BlitzProg: j'en suis à ma troisième remise à zéro et je suis toujours mid bronze

BlitzProg: je deviens de moins en moins bon chaque tournoi qui passe

Tryum: Wé moi passer le silver c'était implémenter l'attaque (basique) + défense, et surtout corriger les bugs, vu que j'avais un crash une game sur deux :D

BigUP: BlitzProg, l'enfert c'est qu'un #700 peut taper ton IA #20 ...,

Default avatar.png 0xCAFE: Pour bronze, je cois qu'aller à la nourriture la plus proche en permanance suffit

BlitzProg: Justement, j'ai remis à zéro à cause de ça, je gère pas le cas où je vois plus rien.

Default avatar.png 0xCAFE: Ah c'est pas en siver ça?

Default avatar.png 0xCAFE: Au temps pour moi

BigUP: BlaiseEbuth, tu mémorises l'unité ennemie la derniere fois que tu l'as vu, c'est suffisant, apres tu vois combien de temps tu te sert de cette position

Default avatar.png 0xCAFE: Ben tu vas devoir faire des parcours de chemin alors

BlitzProg: je trouverai moyen de finir gold, c'est juste tellement épuisant, j'ai trop peu de motivation

bananaMixer: BlitzProg: Tu peux faire une liste des positions non visitées au début, que tu réduis à chaque tour. Comme ça, quand tu ne vois plus de pastilles, tu peut prendre une position à explorer dans cette liste.

BlitzProg: dire que je m'imaginais que ce truc ressemblait à CSC au début, je vous raconte pas la désillusion hard

BlitzProg: Oui, ce que je suis en train de construire c'est un truc du genre, je considère que tout contient une pastille, puis j'enlève à mesure que ce que je suis censé voir n'en contient pas

Default avatar.png 0xCAFE: Par contre c'est nul, on peut pas faire d'assembleur, j'aurais aimé tenter de sortir du bois en assembleur. Du coup je fais du C mais c'est moins fun :(

Stilgart: asm(.....);

Stilgart: sinon

Stilgart: bash + cat > main.asm << EOF + as + exec

Default avatar.png 0xCAFE: Ouais mais c'est pazs du vrai assembleur, c'est l'inline assembly du c

Default avatar.png 0xCAFE: Ah on peut faire ça?

Default avatar.png 0xCAFE: Je tenterai en bash

Stilgart: on peut écrire dans un fichier oui

Default avatar.png 0xCAFE: Trop bien, je fais officiellement le prochain concours en assembleur

Default avatar.png 0xCAFE: Et si j'arrive à sortir du bois 2 ça sera déja pas mal, merci du tip!

Tryum: BlitzProg, hint toutes les cases ont des pastilles, sauf là où on spawn... et l'adversaire spawn en symétrique ;)

Stilgart: bon, mon MC est meilleur que mon dummy... sauf contre le low silver :)

Default avatar.png Norlan20: Salut à tous. Quelque peux t-il m'aider pour le Bot AI. Je comprends pas vraiment !

BlitzProg: yup, ça encore ça va ça peut être deviné

Default avatar.png 0xCAFE: Qu'est ce que tu ne comprends pas vraiment?

Stilgart: on ne comprend pas vraiment ta question là ? :(

b0n5a1: la magie de google translate ^^

BigUP: tiens, j'ai pas pensé au Spawn en symétrique...

Default avatar.png Norlan20: Je ne sais pas trop comment ça marche aufait

Tryum: BlitzProg, le seul truc un peu relou, c'est de calculer la ligne de vision, et effacer les pastilles disparues.

Stilgart: mais tu es sur quel puzzle ?

Default avatar.png 0xCAFE: Est-ce que tu pourrais avoir moins compris?

Stilgart: Tryum: heu... ha bon...

Tryum: les pastilles qui n'apparaissent pas en input, mais qui sont censer être dans ton champs de vision

BlitzProg: je l'ai fait en C++ + simulateur puis j'ai tout effacé parce que j'arrivais pas à m'en servir et me sentait pas de tout debug

BlitzProg: du coup je réécrit de nouveau tout en PHP

BigUP: Tryum, ca se fait bien, je recupere la liste des postions avec un floodfill et je compare dans le flood avec ma liste des pastilles

Default avatar.png Norlan20: :disappointed:

Default avatar.png 0xCAFE: La ou ca devient dur c'est de faire déductions sur les pastilles mangées quand tu ne vois pas l'enemi, je vais tenter ça demain

Tryum: oui j'ai pas dis que c'était compliqué, mais que c'était relou ;)

Stilgart: exact

Stilgart: point taken

BlitzProg: mais tout est relou :'( je m'amuse vraiment pas là où j'en suis, pour ça que je patauge

Default avatar.png Norlan20: J'aimerais juste savoir comment ça marche je me perd un peu !

b0n5a1: Norlan20 si tu précisais un peu plus de quoi tu parles t'aurais de l'aide

Default avatar.png Palami: si tu parle anglais suis la chaine de hextree

Default avatar.png Norlan20: OK Je parles de la compétition qui est en cours actuelement. Celui des pastilles là !

BlitzProg: Norlan20, que souhaites tu faire? Lancer ton code? avoir un rang dans l'arène? autre?

Default avatar.png Norlan20: Je ne comprends pas comment ça marche. On code normalement ou quoi ?

BlitzProg: de base dans Codingame tu crée une IA avec l'éditeur, et une fois lancée, cette IA se bat seule jusqu'au bout - tu as ensuite le résultat de ce qui s'est passé.

Default avatar.png Palami: ouai juste sert toi des input

Default avatar.png Norlan20: Ok voilà je ne sais pas comment créer l'IA !

BlitzProg: Prend le code de base donné en exemple quand tu commences puis lance le. Normalement ce code de base te donne des pacmans qui se dirigent au centre de l'arène

Default avatar.png Palami: tous les inputs sont les infos par tour a toi de voir se que tu en fais

Default avatar.png Norlan20: Ok vraiment merci !

Default avatar.png Palami: np :)

BlitzProg: le code de base lit l'input en suivant l'énoncé, et écrit un output en suivant aussi l'énoncé.

b0n5a1: t'as le code par défaut qui lit les entrées et fait un truc basique codé en dur en sortie...à toi d'écrire tout le reste pour faire des sorties "correctes" avec ton propre code Norlan20

Default avatar.png Sfreez: Bonsoir, je suis nouveau sur ce site, est ce qu'il est possible d'avoir des solutions pour les clash of code que l'on a fait ?

b0n5a1: oui, si les autre publient leur code à la fin du clash, sinon non

BlitzProg: Sfreez > clash of code non, sauf si l'utilisateur accepte de partager son code, je crois

BlitzProg: ailleur sur le site faut avoir 100% sur un puzzle pour voir comment les autres l'ont codé

Default avatar.png Palami: il y a des personnes qui twitch leur façon de codé comme hextree et d'autres comme ennoncé dans le mail

Default avatar.png Palami: mais bon pour comprendre se qu'il code faut beaucoup se documenté avant

Default avatar.png Palami: surtout pour une debutant

Default avatar.png Palami: un*

Default avatar.png Sfreez: Dac merci pour les réponses

Default avatar.png Palami: ps: c'est mon premier voila pk je rep comme ça

257832: Bon. J'ai réinstallé pidgin. Le fichier de conf était encore là donc je l'ai lancé tel quel... Et ça marche. Je cherche même pas à comprendre.

Default avatar.png Palami: depuis le debut du contest j'ai beaucoup regardé les algo de pathfinding si ça peux t'aider

Default avatar.png Palami: https://fr.wikipedia.org/wiki/Algorithme_A*

Zorg1: pas l'impression qu'A* va t'aider des masses pour ce contest

Razielwar: lol bfs ou dfs ça t'aidera plus

Zorg1: ouaip ;-)

Default avatar.png Palami: nan mais quand t'y connais que dal tu vois ces collegues de decouverte de chemin etc

Tryum: Norlan20, si tu ne connais pas codingame, je te conseilles de faire l'onboarding, ça permet de comprendre l'ide

Default avatar.png Palami: mais merci pour les confirmation les mans :)

Razielwar: ;)

Zorg1: si tu veux approfondir t'as l'article de redblob que je trouve pas mal : https://www.redblobgames.com/pathfinding/a-star/introduction.html (il traite BFS/Dijkistre/A*)

Razielwar: j'ai déjà utilisé A* dans des puzzles mais il me semble pas l'avoir déjà utilisé lors d'un contest

Zorg1: * Dijkstra

Neumann: Magus : t'as défini un ordre particulier pour tes pacs dans la recherche ?

Default avatar.png Palami: si vous avez des discord ou on peux demander de l'aide sur la prog en python jsuis adepte en tant que nooby

Default avatar.png Palami: dijkstra c'est bon mais autant mettre l'heuristic pour avoir la meilleure reponse

Default avatar.png Palami: c'est une fonction pour un meilleur coder

257832: Oui oui oui...

Default avatar.png Palami: apres je repete je suis nooby

Default avatar.png Palami: j'ai surment tors

Zanbez: Dans le doute, on pose la question à Automaton2000

Automaton2000: mais moi je fais des tests de l'ide passaient.

Zorg1: nice Automaton2000 les validateurs sont OK aussi ?

Automaton2000: après c'est de la pure merde

257832: :D

R4N4R4M4: Bon, je suis bien content, ma simu marche et je bruteforce niveau 1 en 2ms...

R4N4R4M4: Par contre, ça fait n'importe quoi, l'éval va être dure à gérer

R4N4R4M4: je vais peut être garder une éval par Pac finalement

Zorg1: R4 le roi de l'heuristique qui fait de la simu ...

Zorg1: je suis dépité

R4N4R4M4: Non mais en fait Zorg1, j'ai quoi derrière ma simu ? :D

R4N4R4M4: Une heuristique !

R4N4R4M4: Et là ça morche pu !

egaetan: un brute force niveau 1 ?

R4N4R4M4: Bon, normalement si c'est comme d'habitude, j'ai des tas de bugs et c'est pas en 1 journée que je pourrai les trouver

R4N4R4M4: Oui egaetan, mais simplissime

R4N4R4M4: Je cherche une évaluation globale du jeu tous pac confondus, mais bon, ça marche pas top

R4N4R4M4: Je pense que ma simu a quelques bugs, je suis pas confiant dans quelques états

R4N4R4M4: Je pourrai pas fiabiliser de toute façon c'est mort, je vais continuer pour le fun, mais d'ici demain, je pourrai jamais régler le truc.

R4N4R4M4: Et puis surtout, il y a la règle à ne jamais, mais alors jamais transgresser...

R4N4R4M4: !!! Ne jamais push à la fin du contest !!!

Tryum: Et surtout bien tagger un commit avant de commencer une amélioration :P

egaetan: tu as toute la nuit de dimanche pour repush R4N4R4M4

Tryum: Bon ma gestion de collision a base de courtoisie est pas suffisante :P

Tryum: J'ai vu que tu as fait de même R4N4R4M4 ... :)

R4N4R4M4: egaetan, je me laisserais bien tenter par une nuit de repush, mais je sais trop que ça sera une grosse galère :D

R4N4R4M4: Tryum, c'est bien la courtoisie pourtant :D

Tryum: c'est facile ^^

R4N4R4M4: J'ai quelques bugs sous le coude et des petites features, mais.... ne surtout pas repusher... ! Jamais !!!

R4N4R4M4: Fermeture de l'IDE pour éviter les accidents :D

b0n5a1: Faut ajouter une option "désactiver le bouton submit" dans cgenhancer ^^

BlitzProg: update_pellet_map($missing_pellets); ayé, ça marche *transpire*

R4N4R4M4: Bonne idée, b0n5a1, ou un faux bouton pour ne pas se priver de la satisfaction de passer la souris dessus et de ne pas cliquer :D

bananaMixer: Bine joué Blitz. Ça devrait te faire monter dans le classement, non ?

R4N4R4M4: gg BlitzProg

BlitzProg: Ben maintenant faut que je recode une IA qui utilise ça.

b0n5a1: ou une msgbox "T'es sûr de vouloir faire cette connerie ?"

257832: Ou un script qui fait que le bouton se barre plus loin quand t'essayes de cliquer dessus

egaetan: le bouton soumettre qui se barre j'aime bien

BlitzProg: comme dans stanley parable "oh ha ha tu croyais que c'était si simple? vas y maintenant clique 10 fois sur le bouton lancer mon code"

b0n5a1: erf le "toquer 5 x à la porte" ^^

BlitzProg: "allez hmm je sens que ça vient, clique mois 20 fois sur rejouer dans les mêmes conditions"

257832: Y'as un succès "envoyer 10000 fois son code dans l'ide"...

Magus: bon, je sais pas quoi coder pour le fog ... j'ai essayé des trucs, mon IA devient parano et ça fait pire :/

leojean890: mon ia attérit dans les marécages de 220 gold une fois de plus;p même en corrigeant des trucs ;P

R4N4R4M4: BlaiseEbuth, dommage qu'il n'y ait pas un compteur visible du nombre de publications dans l'IDE.. :D

leojean890: pas encore tenté les pellet_value*dist^0.9 à minimiser ;P

257832: Ca ferait beaucoup de chiffres....

R4N4R4M4: parce que ça va vite le nombre de publications, on doit avoir passé le million

leojean890: le compteur de spam submits ;P

leojean890: 200 submits en 9 jours pour ma part :P:P la plupart étant des relances directes lorsque mes 10 premiers matchs sont insatisfaisants :P

R4N4R4M4: aussi, ça serait marrant une page de stats avec des gros chiffres

leojean890: les stats de kovi

R4N4R4M4: Ah c'est où ?

leojean890: 4 submits par heure pendant 24h * 9 jours :P

R4N4R4M4: ah ok

leojean890: nulle part ?:P sauf en effectuant ce calcul;P

leojean890: 4*24*9:p

b0n5a1: -4000000000 pour cause de dépassement du max ^^

R4N4R4M4: J'aime bien les stats de pokerwars pour ça : https://www.pokerwars.io/profile/R4N4R4M4

Tryum: les montagnes russes le gold quand même, 70% de mon submit, je fais des sauts de 100 places toutes les quelques games :P

leojean890: ah iuais chaud

R4N4R4M4: Ca va jusqu'au million de tournois

leojean890: moi il est vachement stable pendant le submit sur le même créneau

leojean890: R4N4R4M4 jconnaissais pas

R4N4R4M4: Faut faire une API, mais c'est sympa

egaetan: java ou javascript ?

R4N4R4M4: Le niveau est pas top, j'ai un bot de fin de bois 1 qui est dans le top 20 global

R4N4R4M4: Tu fais en ce que tu veux, moi j'ai une API en C CGI

yamo: Dans un cas comme ça : [...P...] Mon pac en mange une à droite puis 2 à gauche, puis 2 à droite, puis une à gauche … Vous résolvez comment ce pb ?

leojean890: what ? fin de bois 1 ?;P

R4N4R4M4: T'as un replay Yamo ?

R4N4R4M4: leojean890, mon bot, il joue au hasard et j'ai simplement interdit les coups les plus mauvais

Alshock: le bot qui se croit dans un self service et qui goûte à tout

Tryum: R4N4R4M4, pour jouer, faut exposer un service web ?

R4N4R4M4: oui voilà

Tryum: fun

R4N4R4M4: c tout expliqué sur leur site, et ils répondent bien quand t'as des questions, moi j'avais un redirect sur mon serveur et je l'avais pas vu, c'est eux qui m'on aidé à debug

yamo: R4N4R4M4 en bas au milieu, à partir de frame 9 : https://www.codingame.com/replay/465840695

Alshock: @R4N4R4M4 je m'incline devant la classe absolue

leojean890: R4N4R4M4 j'ai pas bien compris le concept de pokerwars en allant dessus :P

R4N4R4M4: Ha ha yamo, tu vas là où y en a le plus :D

leojean890: ton bot joue au hasard en interdissant les coups les plus mauvais ??

leojean890: celui de bois 1 ?

leojean890: pas compris :P

R4N4R4M4: y a tout sur cette page https://www.pokerwars.io/how-to-play.html

Alshock: ton bot de pacman bois 1 joue au poker et se rank top 1 ? :P

R4N4R4M4: Non leojean890, je voulais dire que le niveau de mon bot sur Pokerwars, c'est un peu celui de comme si je voulais sortir de bois 1

leojean890: ah oui je vois

leojean890: faire une IA qui joue au ppker

leojean890: poker

R4N4R4M4: j'ai fait un bot qui joue au hasard avec quelques règles pour éviter de perdre

Tryum: mon fucking bot qui laisse toujours 1 ou 2 pastilles au fond des culs de sac, rrrrrrrrrrr

Alshock: en vrai ça me tente pas du tout comme jeu en tant qu'humain, est-ce que ça m'intéressera pour faire une IA ? No lo se

leojean890: jpréfèrererais tenter les échecs à la limite:P

Alshock: la part du pauvre Tryum

leojean890: ou le gomoku !

Alshock: c'est pas forcément une mauvaise chose cela dit

Alshock: ou le go tout court

R4N4R4M4: Le poker c'est sympa en IA, y a plein d'algos intéressants, j'ai pas mal creusé

leojean890: s'il y a un site équivalent avec les echecs je tenterai :P

Alshock: ça doit être intéressant ça, et puis les simus sont pas compliquées

yamo: R4N4R4M4 oui, ça marche bien, sauf dans ces cas là …

leojean890: pokjer je sais, y'a des ias qui battent les champions il parait en DL

R4N4R4M4: notamment l'éval de Cactus Kev qui est géniale et qui n'a pas trouvé mieux depuis 2010 : http://suffe.cool/poker/evaluator.html

Zorg1: c'est pas au Texas Holdem limited m'a t on dit ? Unlimited les IA ont du mal je crois

Alshock: @yamo quick and dirty fix: divise le score par la longueur du chemin

R4N4R4M4: Oui voilà Zorg1, c'est exactement ça THU (unlimited)

leojean890: vous connaissez un site du genre pour des competes d'IA d'échecs ?:P

BigUP: Au TH, les cartes n'ont pas tant d'importance que ca... donc les IA doivent légèrement galérer

R4N4R4M4: tu peux faire tapis quoi :D

Alshock: ça existe 100% en tout cas leojean890

Alshock: après, j'avoue que j'y connais keud

leojean890: Alshock ouais joense que ça existe car c'est un des jeux les plus étudiés

Alshock: moi je sais jouer avec mon poireau sur leekwars

leojean890: avec go et shogi

R4N4R4M4: Les algos actuels, c'est du MCTS avec de l'équilibre de Nash

Alshock: mais en vrai j'attends la v2 avant de faire une IA

leojean890: leekwars c'est quoi ?

Zorg1: leekwars j'ai pas accroché

leojean890: l'équilibre de Nash je ne connais pas:P

Alshock: https://leekwars.com/

Alshock: j'ai jamais fait une ia, mais ça fait 5 ans que je me dis qu'il faudrait

Zorg1: Nash c'est la matheux qu'est fameux pour être schyzophrène

R4N4R4M4: Ha oui les poireaux, ça fait longtemps que j'ai pas été voir mon bot

Zorg1: ils en ont fait un film je crois

R4N4R4M4: Zorg1 oui c'est bien ce Nash

Alshock: a beautiful mind c'est lui ?

leojean890: ah ouais faut que jregarde ça :P

R4N4R4M4: Un homme d'exception oui

Alshock: j'ai jamais vu le film mais je crois de mémoire

Tryum: ahaha je viens de me faire avoir par un switch+2 vs un switch+1 ... c'est risqué comme strat non ? :P

leojean890: Développez votre propre intelligence artificielle grâce au LeekScript, un langage facile à apprendre, et devenez le meilleur éleveur !

Alshock: @leojean890 à partir de maintenant à chaque fois que tu arrives sur le chat tu ne pourras plus dire "salut à tous et tortue Automaton2000 et AutomatonNN"

leojean890: wtf xD

Automaton2000: oui, ça c'est le plus important

AutomatonNN: pas tout à fait comme ça Automaton2000

Alshock: tu seras obligé de dire "hey Automaton2000, tu as vu mon poireau aujourd'hui ?"

Automaton2000: c'est que j'ai pas fait de la peine

leojean890: mdr

Alshock: Le leekscript actuellement c'est basé sur du JS et il travaille depuis trois ans à le porter en C++ c'est bien ça ?

leojean890: faut que je teste le rust moi :P

leojean890: parait que c'est performant et syntaxe sympa

Alshock: c'est un coup à chopper le tétanos

leojean890: j'aurai pas forcément le courage pour leekscript:p

leojean890: à voir après

leojean890: si le jeu est sympa

Alshock: déjà faut que j'arrête de répondre ça à chaque fois, et ensuite faut que je rajoute un disclaimer "oui, le tétanos n'a rien à voir avec la rouille"

leojean890: jm'y attacherai ptet :P

yamo: merci Alshock

Alshock: je t'avoue que je m'en souviens pas, de mémoire c'était ok tier

Alshock: @yamo ça veut dire que ça marche comme tu veux ?

yamo: je vais tester

Alshock: @yamo c'est quoi un "chemin à tester" pour oti actuellement ?

Alshock: -oti+toi

yamo: bfs depth N

Alshock: ok, du coup ça va, j'ai eu peur un moment que tu prennes aussi les chemins non finis de taille n auquel cas un pellet adjacent serait toujours le meilleur choix

Escdemon: Bon, j'ai le meilleur BFS de toute la ligue bronze mais je protège pas mes pacs et je les empechent pas de se foncer dessus x)

yamo: je prends aussi les chemins non finis de taille n. Du coup, ça ne marche pas terrible …

yamo: je préfère un chemin de L8 avec 8 pastilles qu'un chemin de 4 avec 4 pastilles par ex.

yamo: même en divisant pas L^0.9, c'est pas mieux

yamo: tristesse

257832: Bon... :beer:

BigUP: biere a 2h du mat ... pourquoi pas ?

257832: C'pas une bière. Mais y'a pas d'emoji bloody mary...

b0n5a1: haha

BigUP: quand ce que tu bois est dirigé par les emojis ! :)

Default avatar.png thoip: bien parti 19 match #89

BigUP: putain je me fais peur ! je regarde une video en allemand et je comprend ce que le gars dit !

Default avatar.png thoip: tu parles allemand?

BigUP: j'en ai fait a l'ecole.... mais ca date

257832: J'en suis qu'à mon premier verre moi, j'ai pas atteind ce stade.

b0n5a1: ôte ta gaine Berthe que je tâte !

BigUP: j'ai l'impression de moins galérer qu'avec l'anglais ! et pourtant

AKIBA: Bonsoir ou bonjour, pourquoi ils ont rajouté DEAD en ligue argent?

BigUP: j'etais quand meme sacrément mauvais en allemand

Default avatar.png thoip: pour gere les morts

AKIBA: mais les morts ont les a a chaque input du coup?

b0n5a1: oui

Default avatar.png thoip: oui

BigUP: AKIBA, du coup, il faut les filtrer a chaque tour ;)

257832: Ca deviens glauque

AKIBA: ok, je vois pas trop ce que cela apporte de plus

Default avatar.png thoip: savoir que tu ad tué

AKIBA: Ha ok, merci

reCurse: Ca se paie au sang avoir des infos sur CG, faut pas râler quand on les a enfin

AKIBA: je ne fais pas ma fine bouche, c'est que mon code est un peu rudimentaire et ne fera pas grand chose de plus de l'info

Default avatar.png thoip: 60 combats et je fais le yoyo autour de #80.

BigUP: thoip, on en est tous au meme point !

AKIBA: pas tous :(

BigUP: a chaque fois que tu te dit que ton IA cartonne, il y a la petit losse de daube contre une IA classé 700 places derriere toi ...

BigUP: et la, tu replonge

AKIBA: Ciao, ciao les noctambules.

Default avatar.png thoip: ah tu es toujours en silver?

BigUP: thoip, oui, je ne te raconte pas l'enfer ! ;)

Default avatar.png thoip: j'imagine le boss a dut pas mal monté là.

257832: Moi je peux te raconter l'enfer... :smiling_imp:

BigUP: 26,80 ca va. Le probleme c'est pas le boss, je crois que j'ai encore jamais eu un seul combat contre lui

BigUP: tin, la bonne serie de loose, contre respectivement #288, #299, #330, #358, #403 ....

b0n5a1: BlaiseEbuth : https://pbs.twimg.com/media/EUlObmrUEAM4lch?format=jpg&name=medium

257832: Bawi ^^ Viens on est bien

BigUP: Start de 11 Wins !! :) ca faisait longtemps que je ne l'avais pas fait ! ;)

Default avatar.png thoip: on croise les doigts

BigUP: thoip, je suis monté #92 et maintenant je batailler sur #393

Default avatar.png thoip: ah oui

Valkilaen: C'est intéressant de faire de la parallélisation sur CodinGame ? Je veux dire, l'intêret dépend pas mal de la machine sur laquelle le code va tourner, mais on a pas trop d'informations sur ça

257832: On a toutes les infos

257832: #faq

Escdemon: BigUP j'ai fait mes premiers matchs conter toi tout à l'heure , tu m'as mis 2 - 0 x)

reCurse: Si par parallèle t'entend multiple threads, laisse tomber

BlitzProg: Je vois pas trop à quoi ça pourrait servir sur codingame

BigUP: Escdemon, oui j'avais un code qui avait un Winrate >50% contre le boss, mais je bloquais #200 en debut de semaine

BigUP: maintenant j'ai l'impression d'avoir un winrate <50% contre le boss, mais je bloque #200

BigUP: #100

BigUP: avec une montee ou 2 en top 20

BlitzProg: Soit t'as un gpu et dans ce cas c'est drole d'avoir des centaines de coeur de calcul au lieu de juste un, soit t'as des requêtes internet à faire et dans ce cas t'as pas à attendre le sync... mais Codingame ça s'applique pas

Escdemon: Pas mal BigUP !

Valkilaen: Bah y a 5 Pacs à gérer sur le challenge actuel Cela dit mon problème vient plus du fait que mon code est pas très (pas du tout) optimisé plutôt que d'autre chose Ahah

BigUP: Escdemon, sauf que ca ne suffit pas et je n'ai eu aucun match contre le boss

Valkilaen: J'ai testé le A* sur ce challenge, mais bon Chepa si c'était le meilleur choix

Escdemon: Il faut une nouvelle petite feature pour passer le boss

Valkilaen: Mais 50ms ça me parait tellement court 10ms/pac à peu près

BlitzProg: t'as le temps d'en faire des choses en 50ms

reCurse: 3 frames d'un jeu moderne

reCurse: Pas trop mal

Valkilaen: Ouais mais bon le jeu moderne va pas tourner sur la même machine

S1L3nCe: ?

S1L3nCe: je viens de passer gold

reCurse: Euh si

S1L3nCe: dernière fois que j'ai submit c'était hier et j'étais 150eme x)

Valkilaen: 'Fin bon, j'ai pas l'impression de faire tant de calculs que ça mais je dépasse de temps en temps

Valkilaen: Va me falloir du chemin avant de comprendre tout ça

b0n5a1: merci pour le fou rire reCurse ^^

Valkilaen: Silver ça sera déjà bien

BlitzProg: en règle général, si tu penses que la machine sur laquelle tu exécutes ton code est trop lent, c'est que c'est toi qui en demande trop :P

257832: Machines are perfect, fix humanity !

Valkilaen: Oui je suis d'accord, je cherche plus des excuses mais je suis conscient que le problème c'est le bot

BlitzProg: Quel langage Valkilaen?

b0n5a1: js

Valkilaen: TypeScript (j'en profite pour tester des langages)

BlitzProg: Ah

BlitzProg: Au pire si tu y tiens => C

reCurse: C'est comme amener une Peugeot pour courser en F1

Valkilaen: Oui j'me doutais bien que ça serait pas le meilleur choix en terme de performances mais bon Y a bien des gens au dessus de Silver qui sont en JS je pense

BlitzProg: Je controle pas toujours ma F1 moi :')

egaetan: il y a un legende en js

Valkilaen: Et moultes gold, c'est juste mes algos qui sont nuls indeed

Valkilaen: C'était quoi le meilleur choix en algo' pour ce challenge en vrai ? J'ai du A* de tous les côtés mais ça me rekt

reCurse: On va le savoir dans 2 jours

Valkilaen: Nan mais quelques uns des meilleurs, je cherche pas forcément la réponse ultime, mais plutôt chercher à faire mieux la prochaine fois

reCurse: A* c'est assez mauvais règle générale

reCurse: Avis perso

reCurse: Tu peux précalculer tous les chemins au début

BigUP: et du coup plutot que A*, il faut utiliser quoi ?

Valkilaen: Ca suppose que tu sais où tu veux aller non ? Ce qui est justement mon problème Je cherche plusieurs possibilités et je cherche les chemins à chaque fois, mais je timeout

reCurse: Un simple BFS

BigUP: tin j'ai tout au top !:)

reCurse: Tu lances un BFS de chaque case et tu gardes la direction pour chaque paire source destination

reCurse: C'est tout con

reCurse: Et ça te donne une recherche de chemin O(1) pour le reste du jeu

Valkilaen: OK, je regarderais BFS

BigUP: ha, tu memorise les chemins en ligne droite... pas betes, ca me permettrait de prioriser les lignes avec le plus de pellets...

Zakaoai: Bon ça y est je vais enfin pouvoir mettre en place le decay :D ça m'auras prit du temps mais j'ai réussi à avoir l'info du nombre de palet que l'enemie à prit et dont je n'ai jamais vu la position

BigUP: et sur le 1er tour, meme en python, ca doit passer

257832: Qu'est-ce qui est jaune et qui attend ?

reCurse: Jonathan?

Gonny: lol

257832: Non... Le bouton submit

reCurse: :tomato:

Zakaoai: Pauvre fou ne clique pas sur ce bouton trop mortel tu risque de descendre dans les méandres du classement

Alshock: le floyd de mon zbif est pas censé être mieux que de Floodfill depuis chaque case comme un sale ? J'avais essayé ça mais c'était encore plus lent

Alshock: enfin, je dis ça mais ya peut-être un meilleur BFS que le floodfill avec plusieurs sources que je ne connais pas

Zakaoai: qu'est-ce que tu cherche ?

Alshock: quand tu calcules tous les chemins au premiers tous, ya mieux que faire un floodfill par case ?

Alshock: premier tour*

BigUP: bonne nuit

Zakaoai: pour la plus courte distance entre 2 chemin moi mon floodfill par case rentre au premier tours

Zakaoai: bonne nuit bigUP

Alshock: fais de bô raives <3

Zakaoai: Mais pour ça Alshock il faut couper le bfs quand tu le peut

Zakaoai: Le bfs standard prend un noeud regarde les adjacent de ce noeud (les feuilles) et les rajoute à la liste à parcourir. Tu me comprend jusque là ?

257832: Bon. Plus de bugs. Maintenant mon bot est juste mauvais... :grin:

b0n5a1: remets les

Zakaoai: :D

257832: C'était pire avant

b0n5a1: ok

Zakaoai: Moi je sens que si j'améliore pas mon bot je passerais pas legende avant la fin du challenge ;'(

BlitzProg: allez, premier submit pour sortir de bronze, voyons ce que ça donne.

BlitzProg: 50ème bronze, c'est pas encore ça.

BlitzProg: 4ème bronze, are you kidding me

BlitzProg: oh damn, promotion quand même. ok cool :o

R4N4R4M4: GG BlitzProg

BlitzProg: Bon, silver maintenant. je vais faire une pause puis voir si je peux pas coder un bfs

Zakaoai: Ah GG tu as atteint la moitié du challenge :p