Chat:World/2020-04-10

From CG community
Revision as of 11:42, 15 June 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png uhv: wait File:Default_avatar.png uhv: can anyone explain how im supposed to do these without prior experience with coding ? <img src=/a/4237...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png uhv: wait

Default avatar.png uhv: can anyone explain how im supposed to do these without prior experience with coding ?

eulerscheZahl: codingame assumes that you know the basics already

Default avatar.png uhv: oh i see, no wondering im going nuts here.

Default avatar.png uhv: any recommendations to learn the "basics"

Default avatar.png slamo: getting "Unknown error (stacktrace too big)" in python, any idea how I can see the error?

eulerscheZahl: deep recursion

Default avatar.png slamo: i was missing a t -.-

eulerscheZahl: which resulted in deep recursion?

thibpat: Hello! I'm streaming Ocean of Code now https://twitch.tv/thibpat

YannT: kovi did you make an algo to timeout people on purpose? :p

kovi: do i?

YannT: well it seems to be working on me :p

Nagatwin: looks like you make me timeout too

Nagatwin: told you your code was maxing the possible paths ina way or another

YannT: lays a few mines and then chain silence :D

YannT: it's not a bad strat actually, seems to work well :p

kovi: i timeout myself as well

Nagatwin: yeah Same strat

Nagatwin: kovi thanks to my dupe checker I get as low as 10% your paths sometimes

Nagatwin: https://www.codingame.com/share-replay/447425902

kovi: i will need that as well, to be able to opt for highest non-duped paths ;)

pb4: I thought I was immune to timeout kovi

pb4: You manage to make me timeout, I don't understand how -_-

Nagatwin: kovi haha

Nagatwin: Could be an idea to make a simu that maxs out the possibilities

Nagatwin: how to crush legend

eulerscheZahl: that's something for a last minute submit

Zandy156: I thought most of the top bots would be immune to timeout from that by now, but several of them aren't.

ThomasNicoullaud: eulerscheZahl if you push all the day, you ll made me the first :D

eulerscheZahl: don't worry, not my intention

eulerscheZahl: when did you become a mod? :o

ThomasNicoullaud: 2 months i think

ThomasNicoullaud: :nerd:

eulerscheZahl: you should be more active in the english chat for me to notice

eulerscheZahl: damn, submit started will. i was close to getting optimistic :(

ThomasNicoullaud: i never write here

ThomasNicoullaud: my poor english, shame on me

ThomasNicoullaud: go #fr ;)

Nagatwin: This one is a bad version eulerscheZahl it achieves 50% wins against me

Nagatwin: :cold_sweat:

eulerscheZahl: my French is much worse than your English

eulerscheZahl: we can meet at #De if you want

ThomasNicoullaud: ahah

Default avatar.png BlueBull: asdlfj

Default avatar.png BlueBull: adsfj

Default avatar.png BlueBull: adfj

ThomasNicoullaud: Go #China together for more equity

Default avatar.png BlueBull: http://chat.codingame.com/pastebin/f6b10608-9eda-4f0b-9d60-66e226d8a91c

eulerscheZahl: if think #World is the fairest solution. Both of us aren't native speakers

eulerscheZahl: but we are able to communicate

darkhorse64: BlueBull: stop pasting garbage in the chat

Default avatar.png BlueBull: no

eulerscheZahl: ThomasNicoullaud https://www.codingame.com/replay/447376770

Default avatar.png BlueBull: http://chat.codingame.com/pastebin/f28fb100-6455-4139-9beb-8fb78b1a5fd9

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

eulerscheZahl: also: you are a mod now

ClashLuke: Just out of curiosity, what would stop me submitting my c solutions as cpp and obj-c?

eulerscheZahl: nothing, why should it?

eulerscheZahl: because of language achievements?

eulerscheZahl: i did worse for getting them: calling python from bash

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty

Default avatar.png BlueBull: http://chat.codingame.com/pastebin/c2bc3b22-9596-4feb-982b-b58d021ff6ec

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty sdfsdajfasfjsadlfjsdal;fjlsafaldsfjlsdfjl;asdfj

Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty sdfsdajfasfjsadlfjsdal;fjlsafaldsfjlsdfjl;asdfj


Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty sdfsdajfasfjsadlfjsdal;fjlsafaldsfjlsdfjl;asdfj


Default avatar.png BlueBull: dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty dkdjslfjdkaheoghewoth 34uth 4t43qty 94y3t y3r tyerwtyeriashtsaeoisafodghorhwepo 34t98ywt q438ty sdfsdajfasfjsadlfjsdal;fjlsafaldsfjlsdfjl;asdfj


SeebOmega: not fast enough

SeebOmega: Thanks MadKnight

eulerscheZahl: thanks to both of you

SeebOmega: eulerscheZahl thanks and sorry for not paying attention, I havent finished my coffee yet xD

ClashLuke: Calling python from bash sounds like a nice thing to do for codegof

ThomasNicoullaud: ty eulerscheZahl

eulerscheZahl: no need for excuses SeebOmega

eulerscheZahl: spammer was here, gone now that's all that matters

Default avatar.png navin89098909890: COrona

chucknorris: silence meta is back kovi ? :P

kovi: actually it was not on purpose

Nagatwin: These chain submits really screw up the ladder

Nagatwin: wlesavo / eulerscheZahl submit : I get +3 rank

Nagatwin: kovi / chucknorris submit : I loose 3 ranks

Nagatwin: only dbdr seems neutral

Nagatwin: I can tell who submitted the most based on my rank at a given time of the day

dbdr: :D

eulerscheZahl: nice strategy: "he won't find me when i'm on an island" https://www.codingame.com/replay/447428330

Nagatwin: There's fairly enough space to go between those two anyway

wlesavo: wow, this is some actual piece of tactics https://www.codingame.com/replay/447450104

wlesavo: keeping a mine for close fights seems to be a good idea

Nagatwin: clean

Nagatwin: is he doing that all the games ?

wlesavo: not exactly that

wlesavo: but he keeps a mine just in case

Nagatwin: https://www.codingame.com/share-replay/447451297

wlesavo: without actual spaming

Nagatwin: he places mines directly in front of others

wlesavo: well it is effective in these close fights, especialy if you have better finisher, my finisher can produce some draws, but i guess its better then loses

Nagatwin: Yeah

Nagatwin: Can you trigger a mine you just placed ?

chucknorris: nope

Nagatwin: nvm

Nagatwin: yes just saw that

Nagatwin: that's kind of sad

chucknorris: I'd increase the branching factor by a lot so I'm okay with that

wlesavo: still effective, just a little harder to manage

SilverBlade: yo

wlesavo: chucknorris agreed

Nerchio: My last 20 battles in the match history is against the same guy

Nerchio: why is it so?

wlesavo: he just submits a lot

chucknorris: spam submitters :rage:

eulerscheZahl: because that guy spam-submitted

YannT: stop timing me out kovi :p

wlesavo: fix it

pb4: He uses so much silences -_-

chucknorris: I timeout like every time

chucknorris: time to fix the part that I didn't want to touch anymore

AntiSquid: replays for the current submit disappear very fast

pb4: wlesavo : nice catch on Valgrowth's thing

ThomasNicoullaud: the winner ll be the one who pushes in the last second the silence chained strategy, and will timeout all the board :)

Nerchio: it's nice to see you guys timeout as well sometimes :D

Nerchio: it's not only a silver problem

chucknorris: I thought I no longer need the pruning code in gold so I gently removed it :p

Nerchio: so that makes spam silence one of the strongest strategies?

wlesavo: not really

wlesavo: unless you have much to support it

pb4: Nerchio : spam silence isn't the be-all-end-all no

pb4: at least not for me

Mattwei: test test

Piemert: I want to tweak my parameters by machine learning. Can I get the code somewhere to use it as an API for playing games against myself?

eulerscheZahl: you should play against yourself offline instead

eulerscheZahl: it's faster and less stress for the CG servers

eulerscheZahl: there's a link to the source in the statement (expert rules section)

eulerscheZahl: https://github.com/CodinGameCommunity/ocean-of-code

Piemert: tnx

wlesavo: may i ask you guys to warn me to stop clicking submit button an hour or two before promotion happens

Illedan: Did you try to use benchmark instead of spamming? :P

wlesavo: nop :slight_smile:

wlesavo: is there a good guide on benchmarking?

eulerscheZahl: how many submits are there in your history?

wlesavo: around 400

Illedan: wow

eulerscheZahl: and i felt bad for my 130

dbdr: 158

Illedan: 160 :O

kovi: chuck has 1000

Illedan: Too many the first weekend

wlesavo: this is only half of chucks

chucknorris: no kovi I only have 965

eulerscheZahl: wait, i have 131 submitted the java default AI once because i was curious

dbdr: I have 2 JS ones :)

eulerscheZahl: dummy opponent to test against?

wlesavo: but i cut most of submits early

dbdr: no, sub in the first minutes

dbdr: but still after the broken bot

eulerscheZahl: broken boss promotion

dbdr: nope

eulerscheZahl: oh

dbdr: actually I think it might have been good I missed it

dbdr: forced me to work on tracking since wood 2 :)

eulerscheZahl: did you know that CG has no versioning system for our submits? they save every code as a new one. no diffs

dbdr: not surprised

dbdr: if I was them I would at least handle identical code

dbdr: to handle spammers

Nagatwin: I guess checking for identical code would be the same as versionning

dbdr: easier

dbdr: just a checksum

eulerscheZahl: with your knowledge from today, yes CG started as a puzzle site, not even multiplayers

wlesavo: dbdr same, had most of the tracking ready in wood 2

dbdr: sure. but that could be added to the system

dbdr: I know it's still work

dbdr: kovi how many submits? ;)

kovi: 512

dbdr: nice round number

wlesavo: wow

dbdr: someone said 1k for chuck?

chucknorris: 965

dbdr: I see more subs from kovi. might depend on the schedule

eulerscheZahl: xkcd.com/1000 typed that link out of my head

eulerscheZahl: oh, not linking https://www.xkcd.com/1000

dbdr: https://xkcd.com/1024

dbdr: did not follow up

dbdr: but also nice

eulerscheZahl: i need that book too

eulerscheZahl: made a small biking trip yesterday, as working from home makes me sit all day

dbdr: yeah, needed. this morning I found out they closed one access to the lake nearby, not sure yet why

JackJohnson: Hi, i wasn't on codingame for a while, but i remember that i could configurate my Console output to be side by side to the Viewer. Anyone know how it could be done?

eulerscheZahl: CG Enhancer?

eulerscheZahl: in case you missed it: we have a contest running ;)

JackJohnson: Yeah, i'm in it :) Wood 1

eulerscheZahl: interesting biography text. what's your current profile completion state?

eulerscheZahl: i'm at 80% and it tells me to rate my company

Default avatar.png Q12: what contest?

eulerscheZahl: ocean of code

Default avatar.png Q12: ahh

Nagatwin: eulerscheZahl if you do not specify a company I beleive you are at 100% :p

Nagatwin: the 80% showed up when I selected a company

eulerscheZahl: my company isn't even correct anymore

eulerscheZahl: updated

JackJohnson: couldn't remember what i typed in bio, just looked it up again :)

Nagatwin: ahah

Nagatwin: Energy

eulerscheZahl: yeah, our CEO got crazy

eulerscheZahl: opted for a carve-out

AntiSquid: about the "rate your company", where do you see what you wrote previously ?

AntiSquid: who is the rating for anyway

eulerscheZahl: "These reviews will be published anonymously and will give you an idea of where developers love to code!"

AntiSquid: published where?

eulerscheZahl: i guess same as for their annual surveys

eulerscheZahl: but i don't know

AntiSquid: i guess it's like glassdoor but with CG it's easier to narrow down the possible reviewers

Nagatwin: I'll make a "kovi special" AI I guess

pb4: "yeah, our CEO got crazy opted for a carve-out"

pb4: Curious as to what that means ?

eulerscheZahl: Siemens is a huge company with >300k employees so he decided to split it into pieces

darkhorse64: eulerscheZahl still well placed for gold boss

eulerscheZahl: initially planned to sell our division to Mitsubishi

eulerscheZahl: but rest of those in response voted against, so we founded a new company instead

eulerscheZahl: with >80k employees

eulerscheZahl: still not finished

eulerscheZahl: planned to go on the stock market in september

eulerscheZahl: and i don't want to be the gold boss darkhorse64 :scream:

kovi: these are hard times, even in it

eulerscheZahl: yeah, players get stronger

kovi: IT (or at least some part of it)

kovi: i meant RL

eulerscheZahl: oh, not talking about the contest

Piemert: anyway to set the seed and timeout locally?

eulerscheZahl: seed: yes

eulerscheZahl: timeout: no

Illedan: Can't you hack that with reflection?

Nagatwin: having 5200 paths stored in an array of 5000 paths

Nagatwin: what could go wrong ?

darkhorse64: What's the problem ? The gold bot moves to legend no ?

pb4: 200 paths

Nagatwin: pb4 haha

Nagatwin: That's what happens every game against kovi

Nagatwin: but the bot manages to stay alive 20 turns after that

Nagatwin: im quite impressed

pb4: darkhorse64 : everyone will optimize against the boss

pb4: so everyone entering gold league will have a strong bot against the person chosen to be the boss

pb4: hence that person will be pulled down in legend :)

Nagatwin: They should not take a boss that times out against silence spammers

Illedan: true

Nagatwin: otherwise this will be the same as the gold league opening

Illedan: I'll try to tweak this a little and maybe become the boss

Nagatwin: doesn't 28 sound low for a legend boss ?

dbdr: hence the tweaking

Nagatwin: Oh

Illedan: :P

dbdr: I assumpe tweak up, not down :)

Nagatwin: I understood tweaking as "avoiding timeouts"

Illedan: My bot just resets above 1000 paths

Illedan: no problem

wlesavo: spam silence boss :slight_smile:

wlesavo: make the spam silence great again

darkhorse64: Reset is risky. I have tried to stop silencing when my #paths becomes too large (not to lose tracking accuracy) but it was bad

AntiSquid: today is legend opening

darkhorse64: today is the day of deception

AntiSquid: after 3 PM expect massive submit spams, everyone panic submitting hours before it opens like it's their last chance to improve their bot

AntiSquid: or maybe earlier

Illedan: That will start after legend opens

AntiSquid: it starts even before legend

AntiSquid: hours before

Illedan: kovi timeout often?

kovi: not really. i will look into that

kovi: you are not deterministic?

Illedan: I'm deterministic yeah

Illedan: as long as you are too

kovi: wierd first replay was different

kovi: now its ok

Illedan: Wonder if I can crash players by placing multiple mines from the same location and then start triggering :D

kovi: not crash. but screw detection

dbdr: that's long term planning :D

wlesavo: i think many would handle it well

dbdr: it takes sophistication to fail on that :D

Illedan: I have a throw if I can't see the enemy anymore. Just to crash on bugs

Illedan: others might too

wlesavo: well it is a good strategy for a boss for sure

dbdr: I have that too

wlesavo: same

kovi: i dont

Illedan: :evil:

dbdr: might be good for the boss not to crash in that case though

wlesavo: well i just divide by count

dbdr: opens a vulnerability

Illedan: my code wont

dbdr: didn't you just say you do?

dbdr: you'll change it?

Illedan: oh yeah that. But I'm would not crash on multiple mines

dbdr: I meant crash on anything

Illedan: But I can't see what should crash it

dbdr: famous last words :)

Illedan: pffx

Illedan: :D

eulerscheZahl: Illedan working in the hope of becoming the boss?

Illedan: Sure

Illedan: if(time > 20PM ) EnableMinMax = true;

Illedan: ^^

eulerscheZahl: PM?

Illedan: 8*

Illedan: :P

Illedan: you get it

wlesavo: lol

eulerscheZahl: ah, pm, post meridiem

eulerscheZahl: the uppercase confused me, not even trolling

Illedan: aiit, mybad

eulerscheZahl: thought we were counting frames per game or something like that

Illedan: https://www.codingame.com/replay/447500821 euler, what is the logic behind your end game? All those surfaces? Afraid of mines?

eulerscheZahl: i remember using such a kill switch for the BotG recalc

dbdr: carpe legenda diem

kovi: euler surface: i still do the same

eulerscheZahl: my surface still triggers way too often

eulerscheZahl: yes, scared of mines

eulerscheZahl: on average 1.32 surface per game

dbdr: and your trigger surfaces? ;)

eulerscheZahl: i should clean that stat to remove kill turns from it

eulerscheZahl: as it doesn't matter if i SURFACE|TORPEDO <kill location>

eulerscheZahl: and i want a pie chart for charges used :D

Illedan: You want me to add it to the viewer?: P

eulerscheZahl: also dbdr wrong casus for the adjective "carpe legenda diem"

wlesavo: i actually fixed some charge problems, dunno if it helped though

eulerscheZahl: no Illedan for my internal stats which i do across multiple matches

dbdr: what's the correct way?

Illedan: aha

dbdr: I lke latin words but can't conjugate

eulerscheZahl: "legendam" would be closer but a particip from legere, nothing legendary

eulerscheZahl: it's even declinate unless you talk about verbs

dbdr: right

dbdr: I'm wrong about the way in which I'm wrong :D

eulerscheZahl: sorry, got tortured for too long to be able to ignore it now :D

dbdr: "5 which is to be read (aloud), recited."

dbdr: I knew that's where legendary comes from. something worth reading about

codingWhale: Quite intense: https://www.codingame.com/replay/447511730

Default avatar.png Q12: well done

eulerscheZahl: TODO find better spawn point

codingWhale: You don't think random is good enough? ;) At least, there was a fight! :P

Default avatar.png DEIZ21: hey submarines what's up

Default avatar.png DEIZ21: i have a question plz regarding self tracking

Default avatar.png DEIZ21: what is the moment you compute it at the begining of the turn or at the end just before sending the command to the referee?

eulerscheZahl: you can answer that yourself: what state does your opponent get as input?

Default avatar.png DEIZ21: yeh sure this is exactly my problem

Default avatar.png DEIZ21: i implemented it and figured out that i done it incorrectly

Default avatar.png DEIZ21: but to make use of the same data than the opponent i luck of the data sent by the referee to the opponnent (new life new opp life...)

eulerscheZahl: so you know the answer: you have to eval the board state after applying your own actions

Default avatar.png DEIZ21: i already thought about this off course

Default avatar.png DEIZ21: the problem is that in my tracking function i make use of the data indicating if the opponent was damaged or not, this data could only be given by the referee

eulerscheZahl: then you have to wait till the next turn to complete self-tracking

Default avatar.png WINWINWIN: when does legend open in ocean of code?

Illedan: In about 4-5 hours

Default avatar.png DEIZ21: this is exactly what i'm doing now but as i already said the computation ll be done on other data than what the opponent is doing his computation

Default avatar.png WINWINWIN: thanks illedan

Default avatar.png DEIZ21: illedan i have a question plz

Illedan: sure?

Default avatar.png DEIZ21: do you take into account the damage u take when tracking the opponent?

Illedan: no need?

inoryy: huh, two polish universities in top10

Default avatar.png DEIZ21: ok cause i made some heuristics based on concidering the opponent smart enough to not damage him self if he doesnt touch me

inoryy: not to mention Wroclaw holding #1

aCat: ;-)

Default avatar.png DEIZ21: but than i cant use the same method to self tracking

aCat: I have no idea how this happened

inoryy: haha

aCat: this cat is innocent

Illedan: xD

wlesavo: DEIZ21 that is not necessarily true

eulerscheZahl: my university doesn't even exist on that leaderboard :(

inoryy: same :/

aCat: make fake accounts and win the university leaderboard all by yourself euller ^^

Illedan: hmm

eulerscheZahl: you gave an idea for Illedan

eulerscheZahl: Illedan how is your colleague doing so far?

Default avatar.png DEIZ21: thx wlesavo, i just tryed to take into account the force of the opponenet, if he isnt sure to damage me he wont damage him self, in the case where i fire and opp fire if ididnt take damge i supose my firing did all the damage to the opponent

Default avatar.png DEIZ21: in case he lost 2 life i cut all the paths right away

Illedan: Looks like this game was too big of an onboarding to the platform.. :( But we will see..

wlesavo: DEIZ21 there is a better way do do this without any assumptions, you can just count all the damage from all sources, and then cut based on that

Default avatar.png DEIZ21: yes but think of it if you guess what the exact source ang it happens you are right u cut much more paths

Default avatar.png DEIZ21: off course you taking the risk of false assumptin but this is the deal :p

wlesavo: well for sure i cant cut based on that, only weight

Default avatar.png DEIZ21: i m pretty shure it woul be right at 99%

Default avatar.png DEIZ21: in your eval do you allow to damage your self without being sure to atleast dealing damage to the oppenent

Default avatar.png DEIZ21: i guess the answer ll be no

Default avatar.png DEIZ21: me too

Default avatar.png DEIZ21: all top players too

Default avatar.png DEIZ21: so i wanted to exploit this in my favor

Default avatar.png DEIZ21: if i m not damaged i concider all the damage the opponent got comming from my fire

wlesavo: that shouldnt give much in terms of cutting anyway, basically you trade like 2-3% for 1% loosing track

Default avatar.png DEIZ21: any way i ll get rid of this

wlesavo: but you can weight them to be like 0.01 of normal candidates i guess

Default avatar.png DEIZ21: because cant use the same function for self tracking

Default avatar.png DEIZ21: cause i dont have the data sent by the referee

wlesavo: but weighting didnt work for me in general, only for countering silence 0 for a while

Default avatar.png DEIZ21: ah

Default avatar.png DEIZ21: i dont use weights

wlesavo: i also thought that i could be able to predict spawning points, failed misserably

Default avatar.png DEIZ21: what spawning mean

pb4: if(pb4) spawningpoint = 5,7

pb4: You're welcome

pb4: :)

Illedan: :D

Default avatar.png DEIZ21: :D

pb4: (for real, check the replays)

Nagatwin: why ? :o

pb4: random with fixed seed will do that for you

Nagatwin: Oh

Default avatar.png DEIZ21: i fail miserably in the confrontation as i dont simulate and my bot doesnt knwo how to deal

Nagatwin: I found a bug then

Nagatwin: https://www.codingame.com/share-replay/447521676

Nagatwin: you did not start at the right position :p

pb4: damn, I should start on land !

Nagatwin: Yeah

Nagatwin: let's play with tanks and not submarines

Nagatwin: sink them from the land

Illedan: I can swap the sub with a tank on land?

Nagatwin: kovi pushed you so damn high

Default avatar.png DEIZ21: sure illedan but this is an other contest :D

Zandy156: It'd be really impressive if you did start on 5,7 even when it's land and were still #1.

Nagatwin: 36

Nagatwin: now 35.7

Default avatar.png DEIZ21: a last question plz cause i need help;

Default avatar.png DEIZ21: do you guys make use of opp life lost in the tracking?

Default avatar.png DEIZ21: i guess the answer is off course yes

Nagatwin: yes to see if he got touched by a mine/torpedo

RockyMullet: goooooold baby

RockyMullet: just in time for gold to irrelevant :P

Uljahn: woah goldmullet gratz

RockyMullet: ty ty

RockyMullet: was stuck around 10th, added something in my torpedo code to allow dealing one damage to myself if it meant dealing 2 to the enemy and killing it

RockyMullet: seemed to be enough :D

Uljahn: shouldn't you do it based on a remaining hp? like when it's even for opp

Nerchio: gz rockyMulet :P i am around top10 silver

Uljahn: ahh, killing means finnishin move

RockyMullet: might be, the reason I didnt do it all the time is because the enemy can always shoot back and then deal 2 damage so I'd lose 3 in the head while he lose 2

RockyMullet: Nerchio I pushed the boss down a bit, it might help :P

RockyMullet: Uljahn yeah, the finishing move

AntiSquid: there's a storm on the gold ocean

RockyMullet: my mullet has a taste of the gold ocean's wind

RockyMullet: in a couple of hours all be back at peasant level

RockyMullet: when legend's out

Nerchio: legend is not out?

AntiSquid: 3 hours 15 minutes?

RockyMullet: did they annonce it ?

AntiSquid: oh everyone should start panic submit any moment now

RockyMullet: I just assume its somewhere around noon to 1pm my time, aka 2 or 3hs from now

AntiSquid: RockyMullet click on rank in the IDE

AntiSquid: it shows date

RockyMullet: yeah, today

AntiSquid: quite sure it's 3 hours from now RockyMullet, maybe i am overlooking some daylight saving change ...

RockyMullet: oooooh, maybe thats it

RockyMullet: yeah we are back at "summer time" now, even do it snowed yesterday...

RockyMullet: stabilized 191/243 in gold

RockyMullet: Nerchio your bot is probably better than a bunch in gold haha

BitMan: Hello Everyone! can someone please tell me of the upcoming challenge. How much of Python knowledge will be required to get participate in it

RockyMullet: BitMan there is an ongoing contest right now

RockyMullet: https://www.codingame.com/contests/ocean-of-code

AntiSquid: to participate not much

Default avatar.png SuperYoyo92: Hello

BitMan: No, i AM saying of the one name codingame summer challenge that's going to start on 7th may

RockyMullet: yeah if you can read the input and ouput something (which is usually already done in the default code) you can manage to do something

RockyMullet: BitMan we dont know what it is yet, but it likely similar in difficulty to the others

RockyMullet: I'd say either try your hand on the current contest or try the "bot programming" in the "compete" tab which are old contest challenges

RockyMullet: should give you an idea of how ready you are

dbdr: Illedan what rank are you aiming for?

Illedan: 1st +- 1

dbdr: gogogo 0th

dbdr: watch out for wrap arounds

dbdr: 65535th

Illedan: So, try to run away from enemy or try to run towards :thinking:

pb4: depends whether you're confident in your close-quarter combat :D

Illedan: My spagetti was born ready

blasterpoard: isn't running away almost always more solid?

Illedan: Not if you have less hp and less claimed territory..

blasterpoard: well, but claiming territory is something you can be more consistently good at than fighting

BitMan: RockyMullet Thanks, I will try the ones you suggest. :)

RockyMullet: gl :)

Illedan: hmm

blasterpoard: opponent just silences the turn before your torpedo is ready, and well, I guess it's 50/50 now

Illedan: Let's see how running away does

Default avatar.png mrdude: who we can detect land

eulerscheZahl: x in the input of the first turn

eulerscheZahl: . for water

Nagatwin: hahaaaaaa

Nagatwin: last push got rid of this git issue

Nagatwin: "survive kovi"

eulerscheZahl: still below the toad :P

Illedan: lucky 12th toad?

eulerscheZahl: wait, i don't have a toad anymore

eulerscheZahl: https://www.codingame.com/replay/447555936 still playing stupid with mines, frame 37

pb4: how is that stupid euler ?

eulerscheZahl: i trap myself

eulerscheZahl: at some point i should just risk the mines i think

eulerscheZahl: and my danger map tells me that the mines can be almost anywhere

pb4: oh right didn't see that

pb4: I was just looking at where you put your mine :D

RockyMullet: is a danger map that useful for mines ? I feel it would be most of the time "there are mines everywhere"

Illedan: Far easier to track that I expected

RockyMullet: oh ok

eulerscheZahl: just hard to find the balance between safe and paranoid

eulerscheZahl: and i'm slowly getting lost in spaghetti

RockyMullet: add some sauce

Illedan: :D

eulerscheZahl: suggest a taste so i can say no

RockyMullet: a fish sauce

RockyMullet: adding something stinky over your spagetthi

darkhorse64: toad slime

RockyMullet: genious

Astrobytes: Spaghetti alla puttanesca

Schinkey: how do I output stuff to console without it registering as a solution?

ZarthaxX: fish sauce is a thing carne?

Astrobytes: puttanesca has anchovies

RockyMullet: I guess you are not used to asian food carne

darkhorse64: push play not submit

eulerscheZahl: and that's where you lost me Astrobytes, not gonna eat that

Astrobytes: Neither would I eulerscheZahl, though I used to in the past

eulerscheZahl: i know, you are vegetarian now :)

RockyMullet: fish sauce smells disgusting yet, makes food delicious

Astrobytes: :)

RockyMullet: so yeah, eulerscheZahl, makes disgusting code to make your bot delicious

AntiSquid: i don't find fish sauce smell disgusting @_@

AntiSquid: i bet the alternative to fish soy sauce is some kind of soy sauce with flavoring and bunch of chemicals you need a PhD in Chemistry to know what you're really eating

AntiSquid: fish sauce *

Illedan: https://www.codingame.com/share-replay/447586402

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

blasterpoard: thanks I guess

Nerchio: advanced to gold what :D

AntiSquid: too close for comfort

eulerscheZahl: wlesavo you asked us to remind you: stop submitting soon

wlesavo: stoped a while ago but thx anyway euler, appreciate

Nagatwin: illedan lol

Nagatwin: Draw is better than loose I guess :/

eulerscheZahl: but easy to fix

Nagatwin: you could have missed

blasterpoard: ... I found it very funny that my bot that can't fight at all went from rank 10 to rank 20 just by changing the strategy for first 30 moves

blasterpoard: *from 20 to 10

kovi: but is a stable rank10?

blasterpoard: looks like it

blasterpoard: my winrate depends very little on who am I playing against

AntiSquid: submit 20 times to know for sure

blasterpoard: it's mostly random depending on how badly does it di in fights

kovi: no need to resubmit. we will see an 2 hours

blasterpoard: *it does

blasterpoard: anyway, the point of this submit was just to make sure I'll get to legend

AntiSquid: nice spot to become the gold boss euler

eulerscheZahl: i don't want to be the boss

eulerscheZahl: that just encourages players to exploit the weaknesses of my bot

Nagatwin: Everytime I deviate from my original strategy I loose 10 ranks or so :/

Default avatar.png AviLevi: why all programmers using macbook?

AntiSquid: ban

aCat: oh, still no legend bot?

eulerscheZahl: should be in 30min

eulerscheZahl: with an epic name

blasterpoard: are the bosses still catpains instead of captains, or was that fixed long ago?

eulerscheZahl: fixed

Nagatwin: :'(

eulerscheZahl: blame Saiksy

Nagatwin: Catpain was nice

eulerscheZahl: are you a dogs person?

Nagatwin: the fun misspell

Nagatwin: haha

Nagatwin: Im alergic to cats :p

aCat: :>

AntiSquid: they should be catnips instead

blasterpoard: I guess you're free to interpret Ctp. however you want to

aCat: Cpt. ??? :P

tobk: might be a bit late to ask, but is anyone using SONAR to any success? seems like a waste of moves to me

eulerscheZahl: i even have piecharts to answer that question

Nagatwin: :D

eulerscheZahl: some in the top10 use it, some ignore it completely

Nagatwin: Its my next-level kovi counter

Nagatwin: but shuush

eulerscheZahl: kovi uses by far the most silence in the top ranks

eulerscheZahl: friendly reminder: stop submitting if you hope to pass to legend

blasterpoard: tfw legend opens in less than an hour and we still don't have a meta xD

Nagatwin: eulerscheZahl I wanna drag you down so you're the boss :p

Nagatwin: #17 would be perfect

eulerscheZahl: i don't want to be the boss nor being drowned

dbdr: Illedan confirmed as the boss?

eulerscheZahl: #16 there we go

Nagatwin: yes

eulerscheZahl: i have no idea who it will be

eulerscheZahl: but i know the name

dbdr: how many letters?

Nagatwin: Ctp Whale

eulerscheZahl: 7

dbdr: _ _ _ _ _ _ _

eulerscheZahl: dbdr suggested the name

dbdr: yes? :)

dbdr: \o/

tobk: I hope it's not Sparrow... maybe Ramius?

blasterpoard: cpt obvious?

blasterpoard: if I'm right, I should be the boss, because I'm not even trying to hide

Neozero: Hello can someone help me ? I'm stuck at the TAN Network Puzzle.

IjustKilledutoo: :heart_eyes:

Neozero: "5 stops, 2 routes" Don't seems to work.

Neozero: For me

Neozero: Everything else is working fine.

Neozero: :(

EricSMSO: 7 letters ? k....19 ?

EricSMSO: *c....19

Astrobytes: Captain Pugwash

dbdr: :zipper_mouth:

YannT: it's gonna be Captain Sparrow I bet

eulerscheZahl: we have sparrow at CotC already

tobk: Also he does not have a submarine... at least not intentionally.

Astrobytes: Captain Perière

eulerscheZahl: Nagatwin stop submitting

eulerscheZahl: you are pushing me down :/

kovi: siman top

dbdr: Nagatwin you'll miss the promotion too

dbdr: top 4 is random?

kovi: no

dbdr: pb4 was top most of the time recently, no?

kovi: top3 is, i'm weaker - jolienden is better than me

dbdr: now #4

kovi: joliended and pb4

YannT: same kovi, I'm slowly falling at this point

YannT: and I'm kinda out of ideas to keep up now :(

YannT: jolindien siman and pb4 are clearly above the lot now

kovi: yeah, even though im currently near 2nd

kovi: i still have 2 pages of todos

YannT: lucky you, I have like one impactful idea, and maybe 3 minor ones that probably won't do anything

AntiSquid: 2 pages?

kovi: but probably will look into their strat as well

Nagatwin: eulerscheZahl that's true love <3

eulerscheZahl: what?

Nagatwin: dbdr I don't mind missing the promotion

Nagatwin: "Nagatwin stop submitting you are pushing me down :/"

eulerscheZahl: seems that they are opting for a hard boss. i probably have to improve :(

kovi: time?

Nagatwin: how hard ? :o

eulerscheZahl: soon

AntiSquid: how do you know they want a hard boss?

eulerscheZahl: discord

eulerscheZahl: (not the public one)

aCat: nooo :(

kovi: nagatwin done

aCat: I was wishing for a legend just one time I like the game and finally do some serious ccoding

YannT: they were looking at dbdr's code so that's #12 :)

Nagatwin: kovi yeah I pushed a bad version

AntiSquid: oh well contest is hard already, but overall don't mind either way since top 30 is hard anyway

YannT: also dbdr apparently has bad code

eulerscheZahl: how do you know? #fr?

inoryy: haha

AntiSquid: tell him to fix it Yaroslav3991

YannT: yeah euler

AntiSquid: YannT

eulerscheZahl: does dbdr timeout in the IDE?

RoboStac: oh god, imagine a rust boss that no one could test against

eulerscheZahl: i rarely play matches there

dbdr: eulerscheZahl yes :(

kovi: robo, yeah

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

eulerscheZahl: no boss for you then

Zac__likes_fortnite: Good Morning

dbdr: I learned recently that's a good thing

Zac__likes_fortnite: Hello

Zac__likes_fortnite: hello

Zac__likes_fortnite: hello

AntiSquid: Zac stop

Zac__likes_fortnite: hello

Zac__likes_fortnite: Good morning

eulerscheZahl: almost noone submitting, that's something rare

YannT: I passed legend suddenly am I alone? :o

eulerscheZahl: the boss!

eulerscheZahl: wlesavo

eulerscheZahl: i saw it coming :(

YannT: aouch

eulerscheZahl: since when does the boss have no rank in the IDE leaderboard?

wlesavo: lol

aCat: Idk, but it doesn't have now

eulerscheZahl: first time i see it

aCat: I was seatching for the boss on leaderboard for a few days ;p

wlesavo: eulerscheZahl this is how last time promoting crashed

AntiSquid: so who is the boss?

eulerscheZahl: no, by setting the boss score manually to that of a player

eulerscheZahl: while said player decided to submit at the same time

eulerscheZahl: so the boss had a score of 0

AntiSquid: nvm

wlesavo: so im the boss? it does print fatality but does not print other stuff, and my seed was random

AntiSquid: yes

wlesavo: i think seed was commented out in submit

eulerscheZahl: they tend to make bots deterministic

aCat: top 10 legend...

YannT: maybe they removed some of your messages to not help people ;)

aCat: thats harsh

wlesavo: they could just uncomment that

AntiSquid: there's a full week

eulerscheZahl: a week of pain and suffering

wlesavo: YannT silver boss was printing

aCat: you assume the function of better bot is always ascending

AntiSquid: so now does submit spam help in legend? :p

YannT: well at this end of this rerun we'll have a clear picture of the rankings at least

YannT: (I'm not gonna come out of this very well)

kovi: 0-9 vs. jolindien

YannT: well that's a horrible rerun

inoryy: 1.5pt between boss and #2, wow

kovi: there was a gap there

Illedan: Damn, gonna be hard

Illedan: :D

Illedan: hmm, 1 point above me. Anyone want to push? :P

inoryy: you mean push the boss up?

blasterpoard: Illedan I'll give it a go

Illedan: nonono

AntiSquid: wow looks like a lot of improvement is required

NormantasStankevicius: I enjoy, how half of the participants are in wood

NormantasStankevicius: well not really enjoy

NormantasStankevicius: more fascinated

NormantasStankevicius: Wood1 right now has 590

YannT: doesn't surprise me, the barrier to entry on this contest is higher than usual

NormantasStankevicius: might be

NormantasStankevicius: Not really experienced with these competitions

AntiSquid: alternative would be a huge bronze/silver league

NormantasStankevicius: Coders of the galaxy IMO were harder

inoryy: and that's after the W1 boss was nerfed twice

aCat: yep - reminds me of cobu - neede some pathfinding, go there, go back

AntiSquid: i passed wood boss before nerf i believe :thinking:

YannT: me too, and I had to write a BFS and basic detection already

YannT: so, not trivial

NormantasStankevicius: BFS?

YannT: breadth first search

AntiSquid: wood 1 was trivial though! just add silence

Valdemar: BruteForseSequentialkill

YannT: I went straight to bronze :D

NormantasStankevicius: Hmmm, I'm coding in C#, is there enought computing power, to think that my opponent is anywhere on the grid?

inoryy: I needed planning, basic torpedo avoidance and enemy detection to get through

AntiSquid: nice brickwall you wrote wlesavo

NormantasStankevicius: aka, take the 15x15grid, and think he might be anywhere, and remove where he could not be

NormantasStankevicius: every turn

Valdemar: NormantasStankevicius depends on algo, there is python3 bot in top10

inoryy: that's what everybody does from bronze and up

YannT: I'm top10 with a JVM language

NormantasStankevicius: Thanks Valdemar, that means it should be plausible

wlesavo: AntiSquid lol

dbdr: eulerscheZahl also waiting for a push?

eulerscheZahl: yes :D

RoboStac: I appear to be giving him one

eulerscheZahl: indeed

dbdr: not sure it will work, but worth waiting a bit

Default avatar.png FlamingRobot_e54f: Guys im new here and excited to be here

eulerscheZahl: right now i like robo much more than eric and erik

AntiSquid: FlamingRobot_e54f i got exciting news for you then! there's a contest going on and you can join : https://www.codingame.com/contests/ocean-of-code

EricSMSO: Oups, I am pushing up the Boss

eulerscheZahl: you weren't supposed to do that

Default avatar.png FlamingRobot_e54f: thanks @antiSquid

Default avatar.png duckquackduck: For ocean of code,c an you MOVE E| SILENCE E 4 - in the same command? What will be the result? Will you got 1 cell or 4 cells east?

RoboStac: 5

RoboStac: and yes, you can

Default avatar.png duckquackduck: :astonished:

Default avatar.png duckquackduck: thanks @RoboStac

eulerscheZahl: the boss already gained more than 1 points since legend opened

Default avatar.png rwilson: ;) Wouldn't it be hilarious if someone had their bot set to turn on new strategies as the DATE changed ;) what would happen if that got picked as a boss ;)

icecream17: wait, legend opened?

Default avatar.png rwilson: legend is top 10 at the moment

AntiSquid: not enough space to write that much rwilson

eulerscheZahl: they read the boss code before deciding

Default avatar.png rwilson: AntiSquid did it toss my message in a pastebin due to smiley's

wlesavo: to bad they didnot uncomment setting the seed

wlesavo: didnt expected to be the boss, otherwise would do it myself for sure

Default avatar.png rwilson: even something like if( day = Tuesday) { runSilentSpam } would be 'fun'

tobk: aw, gold boss uses random with random seed... so much for reproducible playouts :-(

wlesavo: tobk sorry for that :no_mouth:

icecream17: nice. i improved to 176th overnight

eulerscheZahl: why do you even want randomness in your bot wlesavo?

eulerscheZahl: deterministic makes it much easier for you to debug your code

tobk: I guess random is useful for some tiebreaks, but I usually use a fixed seed so I can check if a "should no nothing" refactoring actually really did nothing

mlomb: maybe to avoid other to debug losses vs him

mlomb: others*

AntiSquid: rwilson no pastebin showed up for me so don't know

wlesavo: eulerscheZahl have path finding with random, and i just commented it for a couple of subs and has forgotten

AntiSquid: isn't random better in arena?

AntiSquid: random with the currently used seed in the message :D

dbdr: LeChuck is not deterministic?

Valdemar: dbdr yes, blame wlesavo for that

dbdr: no blame

wlesavo: well to be honest fixed seed would not be enough for it to be deterministic

wlesavo: i also have search interruption at fixed time, and that depends on more than just a seed

tobk: that's true

tobk: still plenty of other deterministic bots to debug against, and for a boss, a bit of randomness might even be better?

wlesavo: i guess it matter less for the gold boss than the others

Illedan: Nah, you want to reproduce games

tobk: then the folks selecting the boss should have considered this...

eulerscheZahl: usually CG checks if a boss is deterministic

eulerscheZahl: i guess this time they didn't or accepted it

wlesavo: but yeah would not imagine cg would take undeterministic bot

tobk: maybe they fixed the seed but did not notice the timing thing

wlesavo: no, i spawn in a random point as well

wlesavo: so seed was not fixed

Illedan: Fix seed by map?

Illedan: Easier for yourself too..

tobk: i mean if they inspect the code before, they might also change the code a bit, e.g. by doing a random.seed(0) before anything else

wlesavo: i mean i always use a fixed one, just so happend i commented out it in last couple of subs

tobk: hey, no problem for me, I was just surprised :-)

wlesavo: Illedan actually didnot think of that, a good idea

Illedan: Makes it easier to play against yourself ;)

Illedan: Seed on playerID

Illedan: is enough I guess

tobk: yeah, it means random behaviour, but not the same frst moves in every game

Illedan: But I added islands too, just to have some difference

tobk: I now do seed(hash(grid) + own_id)

wlesavo: > Seed on playerID yeah, that i had

wlesavo: first moves are quite deterministic, you minimize the information given

dbdr: let's see how I do without the few timeouts

dbdr: I think the slow refresh of the lb will be especially annoying now :(

Illedan: lb?

dbdr: leaderboard

Illedan: agreed

Illedan: was more fun to watch earlier :P

dbdr: finish you run, ait 5 minutes to know if you ended above the boss

dbdr: though maybe the ping would work :)

Illedan: ping?

dbdr: promotion sound

dbdr: notification

Nagatwin: clock a replay and refresh it for the updated ts

Nagatwin: click

dbdr: true

Nagatwin: like you vs the boss

Illedan: hmm

Illedan: Means we can automate that..

dbdr: thanks Nagatwin

dbdr: yeah

wlesavo: dbdr couple of resubs should be enough for you, i basicaly didnt change anything for whole week

dbdr: https://i.snipboard.io/Xuyzo3.jpg

Illedan: Wont help if others improved, which he is worse against..

wlesavo: true

dbdr: https://www.codingame.com/replay/447659206

dbdr: above LeChuck right now :)

dbdr: 32.2 to 32.0

dbdr: but just lost one

dbdr: and won one :)

Default avatar.png tharun571: im new to codingame , wat are the stuff interesting herer

Nagatwin: Im kinda dragging you down

Nagatwin: sry

eulerscheZahl: you shall not pass!

dbdr: well thanks eulerscheZahl!

eulerscheZahl: tharun571 that's the interesting stuff right now: https://www.codingame.com/contests/ocean-of-code

wlesavo: dbdr do you shoot after silence? that seems costly

dbdr: I think now I use silence to get close and then shoot

dbdr: not saying it's optimal

wlesavo: i see

dbdr: not this time

kovi: even after improvement, i got totally wrecked by joli and pb4

Illedan: Improve something else? :P


wlesavo: joli my only 50% wr, lol

eulerscheZahl: you get a lot of these wins actually kovi https://www.codingame.com/replay/447649138

wlesavo: all the others recking me

pb4: wlesavo : tell me how :/

kovi: euler, must be from previous submit. this time i ended up 0:6 vs joli :)

pb4: I'd like the key against siman also

pb4: the others, looks like I'm fine :D

dbdr: joli is a nice nickname :)

wlesavo: pb4 it looks that our pathfinding is wery simmilar, i guess he is quite better at some other aspects

wlesavo: but i have a whole free weekend to come up with smth, i hope for at least some improvements

kovi: wow

kovi: 30% vs pb, 0% vs joli, but still 1st

kovi: (ofc. re-submits from others)

NormantasStankevicius: Yo, what do you get when you get a timeout?

NormantasStankevicius: cause I'm getting "Unhandled Exception: System.FormatException: Input string was not in a correct format. "

NormantasStankevicius: I'm i'm just curious

NormantasStankevicius: not a timeout, but response time per turn

NormantasStankevicius: when the time is more than required

dbdr: eulerscheZahl nice going against the boss!

dbdr: I just beat him twice :)

dbdr: 3

eulerscheZahl: this submit is going better than i expected

dbdr: https://www.codingame.com/replay/447659206

dbdr: neck and neck, around 30.70

dbdr: you?

eulerscheZahl: 0.75 below the boss

eulerscheZahl: give me a push

dbdr: will do my best

dbdr: or pull him down

dbdr: even better for me ;)

dbdr: winning 3/1

dbdr: 3/2 :(

eulerscheZahl: i got a 7-2 run against the boss

dbdr: 4-2

dbdr: i'm above by +0.2

dbdr: 30.56 for boss

eulerscheZahl: don't leave me alone with him

eulerscheZahl: push me up, then you can go

RoboStac: it's ok, I'm doing my best to pull dbdr back to us

dbdr: thanks RoboStac :D

eulerscheZahl: thank you for your service

RoboStac: :)

Counterbalance: NormantasStankevicius that looks like a C# error in your bot. If it crashes it won't send a command and you should see 'Timeout' in the log and as a tooltip.

dbdr: now even the replay scores don't seem to update

pb4: is there a way to see the boss' score ?

eulerscheZahl: http://cgstats.magusgeek.com/app/ocean-of-code/eulerscheZahl

dbdr: see a replay

eulerscheZahl: yes

dbdr: or cgstats

dbdr: but replay is more up to date

dbdr: https://www.codingame.com/replay/447659206

dbdr: won 5-2!!

eulerscheZahl: actually CGstats gets the boss score by looking at a replay

pb4: You're pretty close to him !

eulerscheZahl: yeah, but dbdr is pushing me down :/

dbdr: https://i.snipboard.io/qZcuER.jpg

dbdr: this might or might not be the latest

dbdr: crazy leaderboard

eulerscheZahl: yay!

kovi: dbdr just resubmit with loosing on eulers inital position

eulerscheZahl: https://prnt.sc/rwxoc8

dbdr: yay!

kovi: nice, gratz to you both

Illedan: :clap:

eulerscheZahl: thank you so much RoboStac and Illedan

dbdr: not confirmed for me

Illedan: Yeah, I won the boss

eulerscheZahl: you two pushed me in the end

Illedan: and lost everyone else

dbdr: robo above

dbdr: it's a mess

dbdr: :D

Default avatar.png _rkd: hey !!bros

eulerscheZahl: and thanks dbdr for beating the boss of course

Default avatar.png _rkd: i won nothing

dbdr: you're welcome :)

Boulet: gg eulerscheZahl

eulerscheZahl: now i'm losing a lot

Illedan: lol

eulerscheZahl: legends is mean to me

Illedan: How many in legend now?

eulerscheZahl: 11

YannT: you came up with improvements really quickly eulerscheZahl, congrats

eulerscheZahl: decided to spam more silence

dbdr: https://i.snipboard.io/MDcNiS.jpg

dbdr: why is this incoherent with the lb?

eulerscheZahl: and realized that i mostly use a distance of 4 which wasn't intended

eulerscheZahl: did you F5 on that replay dbdr?

dbdr: sure

eulerscheZahl: weird.

dbdr: Legend

eulerscheZahl: i saw a lower score for you when i checked your replays

eulerscheZahl: whatever, congrats!

dbdr: thanks!

Boulet: gg dbdr

eulerscheZahl: welcome to the bully league

eulerscheZahl: let's get bullied together

dbdr: :D

YannT: congrats dbdr!

Illedan: 0.01 above for me :scream:

dbdr: merci all :)

Astrobytes: lol, Cpt. LeChuck, awesome

eulerscheZahl: nice, you know him :)

Astrobytes: Monkey Island!

eulerscheZahl: look behind you, a 3-headed monkey!

YannT: heyy Nagatwin made it too!

Boulet: and you RoboStac ?

dbdr: https://i.snipboard.io/O3CsBf.jpg

dbdr: good old bug :D

Boulet: nice gg Nagatwin

eulerscheZahl: yeah, classic

dbdr: gogogo Illedan!

dbdr: and robo

RoboStac: nope, I'm stuck in gold

dbdr: really?

Illedan: Thx for all the points robo :D

dbdr: must be close

eulerscheZahl: wait till Illedan is gone, then resubmit

RoboStac: submits finished I'm at 29.71, boss is just above 30

Illedan: yeah, wait please

Illedan: Without me it should be easy

Nerchio: haha legend opened and i am top 200 in gold :p sick

Nerchio: Illedan 1st place in gold

Boulet: go go go Illedan killl him

Illedan: Might even help robo

RoboStac: yeah, just got promoted

Illedan: np

Illedan: I have 4 recent wins :P

Illedan: vs the boss

Boulet: gg RoboStac

Boulet: nice work

dbdr: gg RoboStac!

Boulet: with the boss

eulerscheZahl: so 15 in legend soon

kovi: great, the more players the higher i get

eulerscheZahl: and poor wlesavo losing against all of us who promote

dbdr: nice number, let's close it ;)

dbdr: it's not like we had time to massively optimize against him

eulerscheZahl: true

dbdr: might come though :(

eulerscheZahl: definitely was one of the harder legend leagues for me

dbdr: what, 1 hour? :D

eulerscheZahl: +3 weeks before

dbdr: sure

Boulet: and one week to go

eulerscheZahl: well, wasn't working on my bot the whole time

kovi: welcome robo

kovi: how blaster not here?

wlesavo: eulerscheZahl but im finally not last in legend!

wlesavo: grac btw

Nerchio: so how good is cpt. le chuck

kovi: he said his stable 10th

blasterpoard: kovi I also said that I have about the same winrate against everyone

eulerscheZahl: and Illedan with a massive 1 point lead

Illedan: I have 80% win vs wlesavo :D

Illedan: *boss

wlesavo: Illedan well it is the same for now

blasterpoard: so higher rated people at the top were actually boosting me

wlesavo: but i have to adapt fast

Boulet: Illedan: 10 times resubmit just to let me in the legend :D

Nerchio: lol funny gold bot

Boulet: ok :door:

Nerchio: |TORPEDO 6 3|MSG FATALITY

Illedan: \o/

Illedan: Legend

Illedan: wooo

Illedan: And level 40 :D

ZarthaxX: lol legend lvl

ZarthaxX: gz illo

eulerscheZahl: congrats Illedan, finally orange

wlesavo: grac Illedan :slight_smile:

Istian: So, real life question. (And, holy cow, didn't realize the contest was open)... back to my question. I'm making a request(URL, {json: true})...more code. Some of what I get back has foreign special characters, but those don't get displayed properly. How can I fix this?

Astrobytes: gz Illedan!

eulerscheZahl: let's start with this Istian: what language are you using?

eulerscheZahl: the answer might change depending on your answer

Nagatwin: Owell

Nagatwin: gone eating and i'm legend

Boulet: double gg Illedan

dbdr: gz Nagatwin :)

eulerscheZahl: you missed the most of the congratulations then Nagatwin

Nagatwin: haha

eulerscheZahl: i'll hereby repeat mine

Nagatwin: nah I can see it :)

Istian: eulerscheZahl javascript

eulerscheZahl: then my answer is: i'm out!

eulerscheZahl: for web requests i usually use python

Istian: :(

Istian: I'm super blocked with this problem

Nagatwin: credits goes to eulerscheZahl , I have 70% winrate against him and he crushed boss

Manish0349: I started JAVA i love to ocde so is it better to do that here?

Manish0349: to use this platform

Manish0349: ?

Istian: Why are all contests here based on pathfinding algos?

MadKnight: why not Manish0349 ?

MadKnight: Istian because pathfinding is the base strat

MadKnight: to fight

eulerscheZahl: not all are

MadKnight: it's like walking

eulerscheZahl: where is the pathfinding in locam or code4life?

Default avatar.png rwilson: ;) or https://www.codingame.com/multiplayer/bot-programming/legends-of-code-magic

Istian: Ok, maybe not ALL... but most are

chucknorris: code4life was fun

MadKnight: it's built-in in referee

Manish0349: sure I 'll try both

eulerscheZahl: try to come up with an interesting game that does not involve pathfinding Istian not that easy i think

Manish0349: thanks @MadKnight

MadKnight: Manish0349 both what?

eulerscheZahl: walking around to perform actions on different places is a normal game concept

kovi: there is at least on top3 player who dont have pathfinding in ooc

kovi: one

eulerscheZahl: you?

kovi: :)

kovi: gratz zhmyh

Istian: I don't disagree euler, I'm likely complaining because my brain isn't evolved enough to learn the algos.

Manish0349: to learn code from code4lif4e and other one too

Zhmyh: oh thanks

MadKnight: he wasn't telling that to u Manish0349

MadKnight: he was talking to Istian, Manish0349

Manish0349: Can you suggest some site where I learn coding and find more practice challenges as well

kovi: welcome jft63

kovi: you guys suppressed that boss hard

Nagatwin: yeah eulerscheZahl destroyed him

eulerscheZahl: 8-1 vs wlesavo in legend now :innocent:

kovi: yeah, just checked

Default avatar.png Rd211: hello

kovi: and with massive incoming games, i gained #1 :)

eulerscheZahl: welcome back to the top

eulerscheZahl: do you plan to do something about your crashes?

kovi: do i still crash?

eulerscheZahl: 8 times in 167 matches

eulerscheZahl: is that the right time to say "fix it!"?

kovi: could be last step crash instead of die

eulerscheZahl: could be a timeout as well https://www.codingame.com/replay/447675083

eulerscheZahl: but true, this one is a certain death https://www.codingame.com/replay/447674568

eulerscheZahl: still: fix it for easier timeout tracking

eulerscheZahl: so it's 4 timeouts and 4 deaths

kovi: thx

kovi: priv?

pb4: wut ?! already 16 in legend ?

pb4: Who's the anti-wlesavo in the bunch ?

Illedan: I had 80% win vs him

pb4: haha

pb4: welcome in Legend then

Illedan: I liked gold better

Illedan: actually had a chance

Illedan: I am getting wrecked by wala -.-

wlesavo: dam, i realized i turned off anti silence 0 part in the boss, that would be fun little thing to have

icecream17: oh, instead of putting mines closer toward the middle, i should put them where they are next to as much water spaces as possible

kovi: nice submit wlesavo

kovi: you tricked cg with a weaker boss submit

wlesavo: thx, actualy just tweeked some parameters a bit, it did really felt like i broke smth in boss

Default avatar.png ThaddeusQ3: Is anyone here familiar with the Defibillators puzzle?

Default avatar.png ThaddeusQ3: I think I found a bug in the Answer and I don't know how to report it.

wlesavo: thats quite unlikely

Default avatar.png ThaddeusQ3: Oh I know it.

wlesavo: 4.5k people solved it successfully

aCat: maybe try reading forum topic about it

aCat: I'm pretty sure there was sometrhing strange about this one

struct: 51k actually

struct: Maybe its the , ?

wlesavo: oh, i looked on the wrong number

Default avatar.png ThaddeusQ3: No i accounted for that

struct: What do you think is the error?

tobk: which one was that? a bit of JSON parsing and then finding the closest one?

Default avatar.png ThaddeusQ3: The problem is at one point I get a 'distance to nearest defib" of "0" so that's the one I use in the answer. But the answer it wants has a distance of 66.49887....

Default avatar.png ThaddeusQ3: I used debug messages to print out the distance calculated of the answer I reported and the answer it wanted as I moved through the code.

struct: Can you paste the code here?

Default avatar.png ThaddeusQ3: if that doesn't bother anyone

Default avatar.png ThaddeusQ3: vb.net

Default avatar.png ThaddeusQ3: http://chat.codingame.com/pastebin/4f7d338d-0488-4e02-8b74-fcb0cf4d7eed

darkhorse64: ThaddeusQ3: Review your code. Here lies the problem

Default avatar.png ThaddeusQ3: oh I didn't know it did that

Default avatar.png ThaddeusQ3: I am pretty sure I am screwing something up. But I cannot fathom what it could be given what the debug messages say

struct: if Answerd = 0 Or d < Answerd

struct: So

wlesavo: welcom blasterpoard

struct: The error is there

struct: Imagine that one of the distance is 0

struct: answerD == 0

Astrobytes: Hover over my avatar to diagnose the issue...

struct: If you get higher distance

struct: that is true

struct: so it replaces it by higher distnace

wlesavo: Astrobytes what a polite way to put it

Default avatar.png **ThaddeusQ3 screwed it up

Default avatar.png ThaddeusQ3: That's how I would put it

struct: You understand ThaddeusQ3?

Default avatar.png ThaddeusQ3: yeah I got it.

blasterpoard: wlesavo thx

Default avatar.png ThaddeusQ3: Thank you guys for looking at it.

struct: if Answer = "" Or d < Answerd

struct: Will work

Default avatar.png ThaddeusQ3: gah! I didn't want the answer!

Default avatar.png ThaddeusQ3: :)

struct: ups

struct: lol

Astrobytes: wlesavo ;)

struct: sorry :(

Default avatar.png ThaddeusQ3: No worries.

Default avatar.png ThaddeusQ3: I was just thinking that as you were typing it in I'm sure

tobk: Astrobytes Shouldn't one of the C be a K?

Astrobytes: tobk depends if you go for 'computer' or 'keyboard', both valid

Default avatar.png ThaddeusQ3: and yes I know what PEBCAK is lol

Astrobytes: ;)

tobk: right, I only thought of the latter

tobk: still confused why only ~1/3 of "registered" are in the leaderboard...

Default avatar.png ThaddeusQ3: There now it works. Though apparently you cannot initialize a double as "" so I used -1

Astrobytes: Registered but didn't submit tobk

tobk: sure, but why?

struct: no ThaddeusQ3

struct: You could use the Answer

struct: and not the distance

Astrobytes: No idea, not what I would do :shrug:

struct: Answer == "" at start

kovi: gj blasterpoard

darkhorse64: Wood2 bot is too strong

Astrobytes: They nerfed it already though?

Default avatar.png ThaddeusQ3: Oh well, is submitted. So I'm up to level 6 now. Thanks again

darkhorse64: Yeah, but it still does tracking

tobk: could understand if the contest is anounced months in advance and then only last a few days, many might have other obligations, but announced the same day it started and lasting a month, I'd expect more to at least submit once

Astrobytes: I guess they have harder bosses as you have 4 weeks to work on it

etzl: can someone help me understand how to override GetHashCode in C# please? I've read the documentation and I'm now think it is somehow arbitrary is that correct? any help is appreciated

tobk: You mean how technically to override the default, or how a good hashcode should look like?

Astrobytes: tobk lots of people just give up too quickly anyway, same with every contest

etzl: how logically should override it

etzl: I saw some code that just make a random number

etzl: and some just perform bitwise operation on some numbers

tobk: random is probably not good. you want different instances that are "equal" to have the same hash

etzl: sorry for my English by the way if its incorrect

etzl: so should i only care about that?

etzl: and write m own logic?

tobk: also, the hash of an object should always remain the same

tobk: StackOverflow has some excellent answers on that

etzl: thanks for your help :)

YannT: if you overwrite the equals mezthod of an object, you should also override the hashcode

YannT: (minus typos)

Default avatar.png JasonTruter: don't understand

Default avatar.png JasonTruter: Whats the aim of this game?

struct: Which game?

YannT: ah C#, not Java, possibly disregard then :p

Default avatar.png JasonTruter: ocean of code

struct: To destroy enemy submarine

Default avatar.png JasonTruter: is it running in real time?

struct: yes

Default avatar.png JasonTruter: Is my opponent another player? Or just the computer

YannT: it's a partial information turn-based game where you have to figure out where the ennemy is and shoot them

YannT: another player

YannT: well their code

Default avatar.png JasonTruter: How would I figure it out if I can't see where they are?

struct: You get their actions

Default avatar.png JasonTruter: Where's their actions

YannT: well, given the islands and map borders, turn after turn you can eliminate locations where they could be

Default avatar.png JasonTruter: Sorry i'm a newb

YannT: also after wood you get sonar

struct: Line 3: opponentOrders, a summary of the actions (separated by |) that your opponent has made during its turn.

Default avatar.png JasonTruter: ah I see

Default avatar.png JasonTruter: So I'll work within the game loop?

YannT: yes

YannT: you write code in a game loop that takes some input every turn and outputs the orders you wanna make

YannT: in this particular game there's also a part pre game loop (choosing your start position)

Default avatar.png JasonTruter: Interesting, so the first printing is the start position

Default avatar.png JasonTruter: then in the game loop is where the decisions happen

YannT: in the stub it's hardcoded to 7,7 but you wanna make a pick based on the map

YannT: exactly

YannT: first you read game inputs for the turn

YannT: then process and output your turn orders

Default avatar.png JasonTruter: The opponent's start position is always random?

aCat: he chooses it

YannT: in the IDE you pick against who you wanna play (for wood, playing the boss is fine, that's a 'computer'), but when you submit your code, you'll be matched against other players, and if you rank better than the boss you advance to the next league

aCat: your first move is to choose your starting position

YannT: wood2, wood1, then bronze, each step you'll get more powers to use

Astrobytes: And the opponent does the same

Default avatar.png JasonTruter: So I have to basically start at my inital positon, then in the game loop for every iteration, I would try and take out the opponents submarine?

YannT: exactly

Default avatar.png JasonTruter: How would I know if im close to my opponent? Or check his position? because I don't really know where it is, only the orders right?

YannT: you can start by writing just the move orders so as not to crash, and torpedo randomly maybe

wlesavo: you can look some replays to get the process

Default avatar.png JasonTruter: Sounds like a plan YannT

YannT: first, write a move that moves around

Default avatar.png JasonTruter: I really like this community, you guys are very helpful!

YannT: then you'll do torpedoes

Default avatar.png JasonTruter: :grinning:

Default avatar.png JasonTruter: The only reason I didn't play much codingame is because thought it might get difficult and I wouldn't understand

Default avatar.png JasonTruter: This could help improve my thinking

wlesavo: welcome EricSMSO :slight_smile:

Astrobytes: It will be difficult and you won't understand, but if you ask the right questions everyone will help as much as they can

aCat: for the first league it is enough if you make llong paths without chrushing, and do surface when no route available

aCat: no need of torpedo at all ;p

Default avatar.png JasonTruter: ok let me start with that

Astrobytes: *crashing acat, crashing!

aCat: :+1:

Astrobytes: ;)

aCat: oh cmon ;p

Astrobytes: :D

Astrobytes: I can hear you saying it lol

YannT: 1) read the map initial input and pick a starting position that's not an island, 2) in the game loop, write a bot that just moves around

YannT: once you've got that, you'll understand the game :)

Default avatar.png JasonTruter: shweet, thanks!

YannT: :thumbsup:

YannT: don't hesitate to ask if you've got questions

YannT: someone will always answer ;)

Default avatar.png JasonTruter: awesome

Astrobytes: yep. Don't just give up, plenty help around if you ask

Nerchio: can you fall down grom league/

Nerchio: from

YannT: no

Astrobytes: No, you'll stay in the same one you're in

YannT: you can be shamed by your peers tho

Astrobytes: :D

Default avatar.png JasonTruter: So what I'm thinking of doing is creating a Point class and for islands, creating an array of points

Default avatar.png JasonTruter: To check if I'm moving into an island

aCat: better to care about the water

aCat: easier to manage only water points - and ignore islands and out of bounds

blasterpoard: bitset<225> ?

blasterpoard: you don't want to loop over anything when checking if your next move ends up on an island

YannT: everything in my bot is arrays if that helps

YannT: I didn't do a "grid" thing

YannT: I have an array of islands, and arrays of positions, paths, etc

YannT: int[15] is what I'm working with for paths for instance (one int per row)

YannT: positions being like x + y * 16

Nerchio: i have 2d arrays [][] but i am not in legend ;)

YannT: it's good, that's a grid thing :)

YannT: 15 ints is enough for the whole map tho

Nerchio: I guess more experienced people use 1d arrays for performance

YannT: yes, and then next level after that is bitsets

struct: some even use 4 64 ints

YannT: yes, or 'long' when using civilized talk :p

Nerchio: that's a pain to handle in code isn't it

Astrobytes: not if you know what you're doing with it

YannT: you write your helper functions, then it's transparent mostly

Nerchio: performance in exchange for pain

YannT: I'm have an x(int) and y(int) and a toInt(x, y)

blasterpoard: performance in exchange for writing another class to be able to handle it and then forget about it

YannT: contains(int[])

YannT: etc

Nerchio: I have to say I started the obvious way with grid but i can see its downsides no

Nerchio: w

YannT: instead of beeing like position.x where position is some Pair object, you just do x(position) where position is an int

YannT: so it's transparent

Nerchio: easy to timeout

YannT: a 2d array is alright, the real killer is lists, sets, etc

YannT: if you're down to trying to get rid of your 2d array for performance, I'd say you're good

Nerchio: not an expert about performance quite yet

Nerchio: I have a list as well

Nerchio: of enemy movement :D

YannT: I mean yes, 1d array is better for perf than a 2d array, but that's not going to be your bottleneck if we're being honest, unless you're trying to win microseconds on UTTT

YannT: lists and other collections, now that can easily be an issue on 50ms

Nerchio: yea i will not rewrite it now but maybe for next competition i will choose a different way

Nerchio: something to learn

YannT: look into bitsets

struct: is 1d better than 2d?

struct: Arent they the same

YannT: one is two array lookups, the other is one

blasterpoard: depends on language

YannT: but again, that's unlikely to be your performance issue unless you're doing some crazy stuiff

YannT: (like trying to get your JVM bot to legend on UTTT)

struct: I think in c++ it doesnt matter

blasterpoard: in C++ it should be the same afaik

Astrobytes: C++ the compiler flattens to 1d

YannT: bitsets are the ultimate performance thing (using an int instead of an array)

Astrobytes: Should do in C# .NET to but euler says the mono version doesn't, so better to do it manually

Astrobytes: *too

Astrobytes: Anyway, I've fked up my bot enough for tonight, see you all tomorrow :P

struct: cya

Nerchio: bye

Nerchio: but you're right in ooc the way you store the map is not the most important

Nerchio: other things are more performance hindering

YannT: yes, that's been my point since the beginning of the contest

YannT: performance in this game is not as important

YannT: heuristics can make it to legend

YannT: unlike a lot of other contests where if you're not coding in C++ you start at a disadvantage

YannT: (doesn't mean you don't have to optimize, but it's not the primary focus)

Edrevan: Ever since they hit nerfed the time to answer, perf isn't that big an issue anymore

YannT: they didn't?

YannT: it's always been 50ms per turn

Edrevan: yes they did, after coders stricke back

YannT: it's game dependant

YannT: varies between 50 and 100ms usually

Edrevan: and before coders stricke back every game had more.

Edrevan: And every contest has people in top 20 legend coding in python or funky stuff like that

struct: Its based on game yeah

YannT: you mean before CSB there was <50ms time limits per turn?

YannT: that's harsh

Edrevan: no, on average more

struct: There isnt any <50

struct: CSB was 150ms before

YannT: so, this game being 50ms would be more restrictive then

YannT: making my point

Edrevan: yep

YannT: I've been top5 with a JVM language :p

Nerchio: top20 is 90% c++ :D

YannT: gold boss y'all can't beat is python :p

YannT: which is like one order of magnitude worse than JVM languages (which are one order of magnitude worse than C-like compiled languages)

Nerchio: python is worse than java?

struct: performance wise ye

Nerchio: didn't know

YannT: yes

YannT: it's interpreted

Nerchio: doesn't make me feel so bad about writing in java then :p

YannT: Java has hotspot and other stuff like that, so it's intermediately better

aCat: BTW so the top players are using normal search here? like my moves, his responses, etc?

YannT: on CG what screws you with JVM is the GC

aCat: Or very tricki rule-based stuff?

YannT: aCat: mostly no I think, it very rules based

YannT: haven't heard of minimax or stuff like that

aCat: ouch

YannT: there's some depth in pathing and other things tho

aCat: yeah, I mean killermoves etc

YannT: yeah

aCat: damn, hate rulebaesed - it gets complicated

YannT: everybody's got a sim and an eval and some description of look-ahead for things, but I don't think anyone's got a proper algo like minimax or whatever

struct: What is rulebased?

YannT: I actually tried minimax, it didn't work out, at all

YannT: git reset

aCat: MM probably not, but full your turn search and some eval?

YannT: basically yes

YannT: and opponent ply is some probabilistic stuff

Cappefra: ugh I lost against someone for a bug in my code and I can't reproduce it cause they randomize their starting position

aCat: ehh, and then goes to parameter tuning

YannT: not so much, given the variance in this game parameter tuning is very big strokes :p

aCat: I suppose I won't finish with full my-turn search although I initially planned that

aCat: we'll se

YannT: full your turn search is enough for legend if well evaluated

aCat: but evaluation will be probably an issue

YannT: + some notion of taking into account the opponent's turn (without necessarily siming him)

aCat: there are too many things to ttake into account

YannT: yes, I have a logarithm in there

aCat: opponent's mines and yeah - his possible counters

YannT: altho this entire contest is very reminiscent of locam which I think you're familiar with ;)

wlesavo: i have tanh

wlesavo: not that useful though

YannT: your turn, then don't sim opponent because mostly you don't know what he's gonna do

YannT: that's where we're at anyway

Default avatar.png JasonTruter: Hey guys

Nerchio: hello

Default avatar.png JasonTruter: So I'm considering using a map for waterPoints

YannT: Cappefra: yeah not deterministic bots are annoying ton debug against :)

YannT: use error output so you'll always have debug info in your replays ;)

Default avatar.png JasonTruter: which is constant time, I'll use this just for validation

aCat: JasonTruter I was using that for my python code to go silver

Default avatar.png JasonTruter: sweet, yeah I'm writing in python rn

aCat: nice approach, easy to manage

Default avatar.png JasonTruter: was first in java and thought it was overkill

Default avatar.png JasonTruter: because had to create classes for everything

aCat: for the first try yes

aCat: you can switch languages to something more managable than python later

Default avatar.png JasonTruter: yeah

aCat: yep

YannT: gold boss is written in python3

aCat: by the pro

YannT: (meaning wlesavo wrote a very competetitive bot in python)

aCat: doesn't count ;p

YannT: it counts, can be done :p

aCat: I know, it was not against the language

aCat: rather my code management

aCat: in python it's too easy to yeah

aCat: and I don't have scripts to merge multiple python project files ;p

YannT: I like kotlin for that

aCat: need to leran it some day

aCat: *learn

YannT: mutiple classes in a single file? meh, no problem

YannT: it's a very nice language

YannT: aCat: https://play.kotlinlang.org/koans/overview

YannT: they have a very good thingy for learning the language

YannT: with an online IDE and stuff

Default avatar.png JasonTruter: Does this seem weird if I create a waterPointsMap, store the key as the coords and value as true?

aCat: yes

aCat: use sets

Default avatar.png JasonTruter: but I have to loop through in a set

Default avatar.png JasonTruter: with a map, I just access using a key

YannT: it *is* an optimisation over sets, because constant time, but also it would be premature optimisation :)

YannT: so you're reasonaning is right, but I'd say go simple to start

YannT: your*

Default avatar.png JasonTruter: I would have thought it would be easier to just check that map if its a valid move

Default avatar.png JasonTruter: so its a single line of code

YannT: .contains() is also a python thing no? ;)

aCat: x in y ;p

Default avatar.png JasonTruter: thats true

Default avatar.png JasonTruter: aCat wanting me to write more imperitive code :P

YannT: your thinking is right tho, with a hasmap it would be constant time as opposed to linear time with a collection, so that is an optimization

YannT: one that really doesn't matter at the point you're at tho ;)

Default avatar.png JasonTruter: I guess you're right when thinking in the purest form

YannT: always go simple/naive at first

YannT: rework when something becomes a problem, not before :)

YannT: otherwise you get lost in details

YannT: there'll be like [0;15] islands anyway, so the difference is negligible

Cappefra: how does the sonar answer come back to me? is it like Parse(inputs[8]);?

Cappefra: I might have written over it the first time I unlocked it

YannT: aCat: someone has questions about a puzzle of yours on #fr

YannT: A*

YannT: I sent him to you :p

VYCanisMajoris: I PM him

Cappefra: Oh I found my bug btw, I was setting my position to visited after a surface by passing it the position object instead of a copy of it, so if I moved on the same turn after surfacing, the surface spot wasn't being marked as visited

Nerchio: woops

YannT: VYCanisMajoris: nice :)

VYCanisMajoris: He did'nt answer for now

YannT: we were talking 10mn ago so I hope he's still around

VYCanisMajoris: ok cool

Nerchio: i am going to refactor a little bit to see if i can tackle cpt. lechuck tomorrow

Nerchio: so far probably 1% winrate

Cappefra: I still get my butt kicked by haddock and I don't really know what I'm doing wrong

Cappefra: it might be time to implement the sonar haha

Nerchio: I had to iron out my bugs to beat silver

Nerchio: i had occassional timeouts

Nerchio: my bot still went into islands for some reason in some games

YannT: Cappefra: haddoick is silver boss right?

YannT: use mines

Cappefra: it is

YannT: he doesn't avoid them

YannT: good pathing + mines is basically enough normally

YannT: he'll walk right into them

Cappefra: debugging hard is what I've been doing today. At a point I was mostly beating the bot so I felt confident but I didn't get past silver rank 70

Cappefra: thanks for the tip Yann!

YannT: the trick to silver is essentially, do mines

YannT: and don't get shot

YannT: anhd you should be good

Nerchio: yea mines are op in silver for sure

Nerchio: but i didn't use mines

Cappefra: @YannT that second one is tricky

Nerchio: and i lost most of my games to mine players

Nerchio: i dont track mines at all yet

Nerchio: will add mines to beat mr chuck

YannT: Cappefra: you do ennemy detection right? use the same process for self detection and silence when you're about discovered ;)

Cappefra: I do! I'm trying to find the right balance between powering up/using silence and mines

YannT: you should always use a move every turn

Cappefra: I also do that

YannT: silence is trickier but for silver, basically silver when opponent knows where you are

YannT: and spam mines :)

blasterpoard: (unless you're at 1hp and have no place to go; then you should spam triggers)

blasterpoard: not that it ever matters

YannT: that's extremely situational and you should not bother with that :p

YannT: just move every turn and spam mines, silence when opponent has you detected, and have good torpedo etiquette, you'll be good

Nerchio: when i started writing i did everything in 1 class in java because this small window was intimidating

Cappefra: it's all about finding that sweet spot

Nerchio: around bronze i moved to an IDE and i ctrl+c ctrl+v now

Cappefra: yeah I did the same

Default avatar.png JasonTruter: what do you think is a good way to identify a point as a single value? 'x y'?

Default avatar.png JasonTruter: since i'll use this identifier for everything in the code

Nerchio: xy is probably fine if you want to use it as a key like you said before

Cappefra: I think my problem could be in my movement now.. I focused on navigating through the map as long as possible before having to surface, avoiding deadlocks and all that, but moving too much in one direction probably gives me away really soon

Cappefra: ugh I put a lot of effort into that

Default avatar.png JasonTruter: So do I use the sonar to check if my opponent is close to me?

Default avatar.png JasonTruter: It's probably best to first think of how I will manuver the map to actually find my opponent else I'll be searching forever

YannT: Cappefra: now you're getting the game :)

YannT: longuest path is a thing, but not the only one ;)

Default avatar.png JasonTruter: Wouldn't it be best to think about how you indend on finding the submarine first?

Default avatar.png JasonTruter: before you even touch code

YannT: you could run self-detection on yourself (same algo you have for opponent) and use that ;)

YannT: JasonTruter: you're in different leagues, you should do moving :D

Nerchio: until mid bronze my bot was running around the map moving and shooting randomly

Nerchio: had 0 tracking

Nerchio: actually it kind of still is moving and shooting randomly

YannT: Cappefra is doing silver, at that point self detection and acting on it becomes a thing :p

Nerchio: just a little bit better

YannT: for wood > silver, just moving is the focus

Nerchio: yea i said it to Jason

Nerchio: silver was kind of random for me because everyone was good at different thing

Nerchio: one guy tracking and shooting, other guy mines, other silence etc.

YannT: ahah yeah :)

Nerchio: and countering everything was tough

Nerchio: i feel like i got to gold kind of undeserved since i didn't change much of my code

YannT: there's a guy before gold opened who got top10 with just moving+torpedo too

YannT: I wouldn't necessarily recommand that :p

Nerchio: impressive

Nerchio: but at some point if you do good decisions based on enemy location movement and shooting can take you pretty far

Nerchio: i am in gold and my bot still moves in enemy's range like nothing can happen

blasterpoard: I am in legend and the only fighting my bot does is "shoot torpedo if it does at least 0.75 dmg on average"

Nerchio: mines I guess? they are the strongest in this game i think

blasterpoard: mine spam and movement

YannT: hey gg blasterpoard

YannT: didn't see you come in :)

blasterpoard: thx YannT... might be my last submit until the last day though

Illedan: hiding? :(

blasterpoard: might be necessary

YannT: I don't see why unless you have a nouvel strategy

Nerchio: so guys use the local version of the game?

blasterpoard: YannT well, just some small stuff that people do and it gives away their position

blasterpoard: I'll PM you one thing I noticed, keep it to yourself and you can check how good it is

YannT: alright :)

Nerchio: i am getting crushed in gold haha

pb4: blasterpoard : you know I can keep secrets too :zipper_mouth:

blasterpoard: at some point it's no longer a secret

blasterpoard: I was just making a point that there's stuff worth hiding

pb4: As in any contest, optimal strategy involves hiding

blasterpoard: at this point, I can prove it just by saying that YannT doesn't say anything about it xD

pb4: haha :D

pb4: I've decided not to hide though, no more fun if everybody does it

pb4: Curious to know what you noticed though :) do tell us after the contest end !

blasterpoard: I'm not sure how much I'll hide for the last submit yet

YannT: I'll just say this: that's a good observation :)

Illedan: hmm

Abius: oof I finally submitted my code

Abius: seems like its winning all fights :D

Nerchio: gj

Abius: 1000 lines of agony that was

Nerchio: i am also at 1000 lines

Abius: what rank are you

Nerchio: gold

Abius: nice. I'm 1st at bronze when will I promote to silver then gold?

Nerchio: if you are first then less than few minutes

Nerchio: to silver

Nerchio: i am going to bed cya guys tomorrow

Abius: cu

Default avatar.png JasonTruter: I see with movement its much better to work with a custom data type

Default avatar.png JasonTruter: as working directly with x and y gets confusing

Default avatar.png JasonTruter: and manging decisions of multiple moves

Abius: what language?

Default avatar.png JasonTruter: python

Default avatar.png JasonTruter: example a Move class

Abius: I'm using x and ywithout problem throughout the code

Default avatar.png JasonTruter: I feel that as you use decisions you would need to use your current coordinates to increase and decrease by 1

Default avatar.png JasonTruter: to choose the direction

Nicky1812: guys?

Abius: yes?

Nicky1812: how to input a list in python?

Abius: you don't. you just get a string and then split

Nicky1812: example pls

AbiusX: list=input().split(" ");

Abius: How does Haddock find you? Is he cheating?

Nicky1812: ?

Nicky1812: and wait, how to convert a number to char in ascii table?

Nicky1812: ok i've got it

Abius: it's usually the ord function

Nicky1812: yep ord and chr right?

Abius: ord and chr

Abius: yea

Nicky1812: ok

Nicky1812: thx

elsinnombre2d2: is it possible to take a bot from the leaderboard?

Default avatar.png rwilson: elsinnombre2d2 ? take a bot , meaning what? to fight against it?

elsinnombre2d2: yup

Default avatar.png rwilson: elsinnombre2d2 anyone in your league or lower yes... bottom seciton with player/options ... 'DELETE' the boss & find someone else

elsinnombre2d2: im refactoring and i need a bot that doesnt destroy me in 50 steps xD

elsinnombre2d2: thanks!!