Chat:World/2020-04-05
Dan4: Is there a way to increase font size for the editor, other than zooming the page?
chucknorris: you can use external editor with browser plugin
Dan4: Oh, cool. Checking out CG Local for Firefox now. Thanks!
StepanSmirnov: @The_Duck also you can charge 1 remaining point and use action in the same turn. a.e. torpedo_cooldown was 2, then you do MOVE N TORPEDO | TORPEDO 5 8
...................0............: jo
...................0............: hi
...................0............: hi
...................0............: hi
...................0............: hi
DJCaptainSaxophone_615: why my "bombDir" is empty?
DJCaptainSaxophone_615: when I'm doing like "cerr>>bombDir<<endl;
Zenoscave: cerr << bomDir << endl; you mean?
DJCaptainSaxophone_615: in my code it is bombDir
Zenoscave: the << is the important part
DJCaptainSaxophone_615: I got tha, I have <<,
estipx: fsdf
kovi: .88 is the new top
Zenoscave: .88 what?
Zenoscave: Ah I see
eulerscheZahl: spamming SILENCE makes me play stronger vs myself offline but is worse in the arena :/
eulerscheZahl: i guess i should improve my silence tracking
dbdr: hey
dbdr: what's .88?
eulerscheZahl: hi
Zenoscave: it's gone
dbdr: OK :)
eulerscheZahl: last digits in score?
Zenoscave: top scores were 32.88, 31.88 and 31.88 for a bit
dbdr: didn't Illedan mention allowing several MSG per turn?
kovi: oh, new avatar Kaulquappe?
dbdr: does not seeme to work for me
eulerscheZahl: kaulquappe? that's a hypnoshark!
dbdr: that would be quite useful for debugging
eulerscheZahl: there is no multi-message support
Zenoscave: relation to the toad?
dbdr: OK
eulerscheZahl: do you want the pirate toad back?
Zenoscave: your choice tbh
eulerscheZahl: the shark is under water
kovi: just like tadpole
eulerscheZahl: https://drawception.com/panel/drawing/4AD36336/hypnotoad-is-a-pirate/ that's the other water-themed profile pic i used in the past
dbdr: aren't all toads water-related? ;)
eulerscheZahl: fix your bot
dbdr: me?
eulerscheZahl: yeah distracting from your previous question
dbdr: I thought you would want the opposite
eulerscheZahl: distract you from working on your bot?
eulerscheZahl: maybe i do both right now
dbdr: yeah :)
dbdr: gg
AntiSquid: hi ...................0............
chucknorris: is there any silence spammer bot in gold ?
Zenoscave: very few if any
Zenoscave: I only silence when I get too few possible paths
chucknorris: hm I can add silver boots to ide cool
eulerscheZahl: Zenoscave one of us is tracking wrong https://www.codingame.com/share-replay/445659504
eulerscheZahl: silver boots? :boot:
Zenoscave: who do you think it is?
eulerscheZahl: don't know Zenoscave just noticed the difference
Zenoscave: which frame?
Zenoscave: I have a lag bug so my MSG might be one frame off of yours
eulerscheZahl: around 145
eulerscheZahl: of course the frames are a little different
eulerscheZahl: but we get the same numbers before
Zenoscave: fair
eulerscheZahl: and then completely different
Zenoscave: It has to do with trigger i think
friska: Guys, what do you think about sonar?
eulerscheZahl: but i can assure you that i still have your real location as one of my possible candidates for you
Zenoscave: same here...
eulerscheZahl: SONAR helps in the early game sometimes don't don't use it too much
eulerscheZahl: but you have more possible locations for yourself you have 13, while i narrowed it down to 6 without removing the good one
Zenoscave: Yeah I must have a bug
Zenoscave: some of my locations aren't possible
wlesavo: wow euler, new avatar and insta top5, i guess 5% rule does work
Zenoscave: 5% rule?
eulerscheZahl: that's my tracking of you Zenoscave https://imgur.com/a/QwGNfdT
eulerscheZahl: and i rolled back to my bot from yesterday :/
Zenoscave: do you consider silence?
eulerscheZahl: that question :joy:
eulerscheZahl: hell yes!
Zenoscave: I was watching your movements not mine lol
Zenoscave: ooops
eulerscheZahl: we have the message parts swapped
Zenoscave: right
mark7: what is good way of minimizing surface
eulerscheZahl: you don't have to use it at all. I guess that would be perfect minimizing
mark7: Haha:joy:
wlesavo: Zenoscave you have +5% winrate having an avatar, euler have it even for changing one
eulerscheZahl: i would love to see some real improvement on my bot
eulerscheZahl: not happening so far :/
YannT: yo who made me fall during the night :angry:
eulerscheZahl: gravity
eulerscheZahl: but Newton claimed the discovery for himself already, you are late
kovi: :smile:
tranculent: if you "submit" your current contest code, you can still modify/edit it before the deadline right?
aseweryn: I often loose in 1st round and I don't know why? Could it be time?
eulerscheZahl: yes tranculent you can submit (almost) as often as you want
eulerscheZahl: yes aseweryn that's possible
eulerscheZahl: what language are you using? some like Java are slow at startup
aseweryn: kotlin
eulerscheZahl: JVM, should be the same problem
aseweryn: ok, thx
eulerscheZahl: try to play a turn without actually using the result
eulerscheZahl: for warmup
wlesavo: tranculent more than that you have to submit to get to the next league
eulerscheZahl: or: do you do and preprocessing on the map? distance calculations or alike?
aseweryn: yes
tranculent: thank you
eulerscheZahl: make sure to do as much as you can before printing your starting position, that way it's counted to the 1s turn
aseweryn: so maybe I should do it in second round?
eulerscheZahl: 1st turn (choose your initial position) is 1s timelimit
aseweryn: ok, thx. I'll try
eulerscheZahl: next is 50ms
eulerscheZahl: so move as much as possible to the 1s
wlesavo: do you calculate much in this 1s? i barely use, although probably should
eulerscheZahl: dist for each cell to each other (BFS)
eulerscheZahl: for torpedo range
AntiSquid: it's like some of the bugs themselves have silence
CoHangXom: Hello
AntiSquid: hi
AntiSquid: well rekt dbdr
dbdr: i'm borken, yes :D
wlesavo: AntiSquid just make them to surface
AntiSquid: i think i found that particular bug and it looks really stupid @_@
AntiSquid: like how did i even consider writing that nonsense, kind of bug
wlesavo: i felt this way revisiting the wood parts of the bot, although i still have some wood parts
wlesavo: Zenoscave did you made mine escaping?
Zenoscave: yup
wlesavo: nice
Zenoscave: really horrible and basic version
Zenoscave: mostly fixed tracking bugs
Zenoscave: top 10!!!!
wlesavo: this was why i asked :slight_smile:
Zenoscave: Yeah :)
wlesavo: i guess basic mine escaping better than none
Zenoscave: Also tracking bug was really bad. euler saw it
wlesavo: i wonder why im still around top5, didnt improve much since the end of the silver, basically only changed mine planting a bit
Zenoscave: chucknorris you wreck me
kovi: i didnt improve much either
Zenoscave: kovi small tweaks then?
kovi: bit more than tweaks, but no breakthrough
kovi: and mostly bugfixes....and introduction of new bugs :)
Zenoscave: Always the game
YannT: same here, I have my next big idea but I'm wondering if it wouldn't be worth it to tune things before trying it
chucknorris: do use use brutaltester to finetune magic numbers ?
chucknorris: you*
YannT: no I don't, maybe should
chucknorris: yeah atm I use submit to do that, but I find it a bit... inefficient
YannT: is the ooc referee available somewhere?
dbdr: YannT it's linked in the statement
YannT: oh, right
AntiSquid: hi
AntiSquid: incredible
AntiSquid: you?
DoomedSponge_da70: u know how to code
DoomedSponge_da70: fine i am good
AntiSquid: the site is about coding bots to play a game
AntiSquid: play the contest: https://www.codingame.com/contests/ocean-of-code
DoomedSponge_da70: where r u from
eulerscheZahl: you can also code and upload your own games
DoomedSponge_da70: i am from pakistan
AntiSquid: ah lol i forget that euler :p
AntiSquid: watch streams here how to make a bot for contest if you need help domak https://discordapp.com/channels/466965651135922206/472807181163429890
AntiSquid: oops, sorry domak :/
dbdr: ValGrowth stirs the 3-10 range then quietly finishes #9 :)
eulerscheZahl: and pushes us up
dbdr: yes :)
DoomedSponge_da70: hey from how much time r u guys here
tranculent: 3 days
DoomedSponge_da70: oh i am from 2 days
DoomedSponge_da70: oh i am from 2 datys
AntiSquid: does CG enhancer show timeouts or games where the bot breaks ?
eulerscheZahl: no. it can't without creating lots of traffic
YannT: I'm not managing to make brutaltester work with this referee
YannT: the command sent by brutaltester to launch a game with the referee seems wrong
YannT: ahhh it needs some class to be added
AntiSquid: hi SuperYoyo92
AntiSquid: have you tried the contest yet SuperYoyo92 ? https://www.codingame.com/contests/ocean-of-code
AntiSquid: wow another pending multi, does it ever stop? :D
eulerscheZahl: from the same author as the card game
AntiSquid: Cocobot-Eurobot2020 ?
AntiSquid: different username though
eulerscheZahl: oh, was talking about total bot war
AntiSquid: espiblop and says he is french
eulerscheZahl: and guinote
AntiSquid: and apparently it's a contest
AntiSquid: The age limit for participating in the EurobotOpenfinals is 30 years.
AntiSquid: that's a weird cut off
AntiSquid: could always ask one of my friends to submit my bot ...
eulerscheZahl: i'm below that limit, i can participate \o/
AntiSquid: ya didn't read it all: However, each team may have a supervisorwhose age limit exceeds 30.
eulerscheZahl: so your team = 1 supervisor, 0 players?
AntiSquid: no, you need a participant below 30 that can explain the bot and such
AntiSquid: https://www.eurobot.org/images/2020/Eurobot2020_Rules_Cup_OFFICIAL_EN.pdf
AntiSquid: see contest presentation section
eulerscheZahl: the length of the statement heavily reminds me of RAIC
AntiSquid: if (bugCondition) cout << "PLEASE SEND ME THIS REPLAY! THANKS!" << endl;
AntiSquid: now just need to hope someone will respond one day with a replay :D
AntiSquid: ah wait i could download my replays and check the output nvm
AntiSquid: jolindien you broke your bot
jolindien: yes submited by error, thx ;)
eulerscheZahl: AntiSquid
eulerscheZahl: invalid in game: https://www.codingame.com/replay/445716156 invalid in game: https://www.codingame.com/replay/445717418
AntiSquid: lol thanks !
eulerscheZahl: and a 3rd just occured https://www.codingame.com/replay/445717849
AntiSquid: ok well found a bug !
AntiSquid: hi
YannT: eulerscheZahl: I added a runner class to the referee so it works with brutaltester
YannT: do you guys want a PR on that?
eulerscheZahl: no, the brutaltester is not part of the game engine but a 3rd party tool
YannT: fair enough
eulerscheZahl: Zenoscave also made a brutaltester version
wlesavo: AntiSquid fix it
eulerscheZahl: you can even find it as a closed PR on the official github
YannT: well too late I did the thing too :p
YannT: it's just one class to add but I had to screw around with it to get it to work
ZarthaxX: lol toad that pic
AntiSquid: ya i am wlesavo
AntiSquid: on it
emh: are there any competitive applications of permutations on CodinGame? enumeration, generating random ones, compact bit representations or 2d permutations like Latin squares? I guess puzzles too, but more prefer optimization where can compete and get a rank
emh: hmm well I'll play Bulls and Cows now
wlesavo: just was gonna tell :slight_smile:
emh: oh hehe ok :)
wlesavo: wow, occassionaly some predictions worked better than expected, so now i know what im gonna do next
chucknorris: emh in your BFS algorithm the distance of a point is equal to the iteration when it was reached?
emh: chucknorris yes should be. double check that it is not +-1. as I didn't use it yet
emh: for something "useful" hehe
chucknorris: I use it in my bot. but sometimes itdoes strange steps. I blame it on your BFS algorithm :D
emh: oh hehe bug reports welcome
chucknorris: it does pretty good job tho. with its performance I could switch to 2ply
emh: chucknorris did you account for that there is no expansion done in first iteration if you start from a black cell?
emh: found some bugs in the article text regarding black/white/odd/even btw. republished
aangairbender: how many ppl are there in gold league>
chucknorris: I always clear the starting point
emh: aangairbender 148
aangairbender: ty
aangairbender: I am 2nd in silver and... it's strange feeling
aangairbender: beat everyone except boss
emh: chucknorris what do you mean you "clear" the starting point? the BFS takes as input the map where only starting point is set
chucknorris: and the map where the occupied cells are set. I clear the starting point on that
chucknorris: no I actually do the inverse. set the starting point on the map of available cells
emh: chucknorris ok. but did you understand that the BFS alternates between expanding from black to white and white to black? if nothing happens on first iteration i++ will increase i even if no expansion was done. leading to an off by one bug
emh: I guess I should fix the code in article to be more robust, at expense of some performance perhaps
chucknorris: I don't use the code in the article. I ported the python version to c++
chucknorris: but I see hte black white thing you are talking about
chucknorris: gonna check, thanks
emh: ok. btw the code in the article is pretty optimized (can get up to 2 mill per 50ms). how's your performance with the python port?
chucknorris: 1094071
chucknorris: on empty map
emh: ah ok decent
chucknorris: I use it currenty only to count reachable cells. and I use __builtin_popcountll
emh: ah ok
emh: I'm modifying the code in article a bit. moving i++ after if and break. because my objective was to count work done not distance but I guess most people are interested in distance in number of iterations
JFB: About what article you tahlkoh, emh?
emh: JFB https://tech.io/playgrounds/53455/fast-15x15-bit-grid-bfs-breadth-first-search
ZarthaxX: tahlkoh?
Illedan: H9
AntiSquid: miss, no ship on H9 B3
Illedan: :D
ZarthaxX: lol
JFB: ZarthaxX - simply topo (talking -> tahlkoh). It was shown that 1 letter has only 1 bit of information - so people can guess next letter with 50% of probability. So emh understood and answered my question despite such terrible typos
kovi: sigh, my silver code does even better than my latest
JFB: :-)
ZarthaxX: i knew you said talking
ZarthaxX: but thought it was another lang lol
JFB: ZarthaxX - my lang :-)
ZarthaxX: real or fake lang ? :P
Counterbalance: 'real' lang? what's that?
Counterbalance: aren't they all made up?
JFB: fake of course :-)
AntiSquid: new keyboard JFB ?
dbdr: kovi, really?
kovi: yes
dbdr: :O
ZarthaxX: Counterbalance good point
JFB: AntiSquid - wireless keyboard on my legs - and legs on the desk :-)
JFB: I am a far-sighted person and this is my normal position at home office :-)
Nagatwin: Thanks for the advice yesterday Counterbalance my perf greatly improved wth arrays of structs
Counterbalance: cool :)
ZarthaxX: what advice? Counterbalance :I
Counterbalance: using plain old arrays instead of vector
ZarthaxX: ah
ZarthaxX: the good old arrays
ZarthaxX: got that one
JFB: emh - interesting code. I have to port my Python code to C++ and see do simply use 256 bits is much slower that your 2 * 2 * 64 bits (black and white)
emh: JFB thanks :). pb4 put me on the right track regarding that as even his 4x64 code was faster than my 256 bit AVX2 code when we were without black and white tricks
ZarthaxX: lmao
ZarthaxX: emh you are crazy
ZarthaxX: obsessed :P
struct: what happened to euler pic
struct: Where is the frog
ZarthaxX: the frog is no more
pb4: big different between silver code and gold code kovi ?
eulerscheZahl: it's a hypnoshark, as sharks are under water
eulerscheZahl: meanwhile i'm getting more and more frustrated about my inability to improve
kovi: yes, dozen+ differences
mark7: How you guys, find longest path between two cells, in grid, so that we can use less SURFACE as possible
Nagatwin: euler what was your replay input maker ?
icecream17: http://eulerschezahl.herokuapp.com/codingame/replays/reproduce/445802370
eulerscheZahl: http://eulerschezahl.herokuapp.com/codingame/replays/reproduce/445797414
eulerscheZahl: (╯°□°)╯︵ ┻━┻
icecream17: lol
icecream17: it was very helpful i bookmarked it
Nagatwin: It does not work :(
eulerscheZahl: what do you see there?
Nagatwin: http://eulerschezahl.herokuapp.com/codingame/replays/445807051
Nagatwin: https://www.codingame.com/replay/445807051
eulerscheZahl: there's a "reproduce" in the link
eulerscheZahl: the other one should extract the json
Nagatwin: oh
eulerscheZahl: and only really works on code4life
eulerscheZahl: http://eulerschezahl.herokuapp.com/codingame/replays/228355229
eulerscheZahl: that's what i initially had in mind
mark7: why not don't utilize sonar much?
eulerscheZahl: then CG added our error stream to the replays, so i stopped working on it
eulerscheZahl: SONAR costs 4 charges that i can't invest in mines or silence
mark7: But, doesn't it helps tacking opponent?
mark7: it removes 25/400 cells
eulerscheZahl: it does help
eulerscheZahl: but first of all there are 15x15 = 225 cells in total
eulerscheZahl: second not all are possible if you properly track the opponent movement
mark7: sorry 200* cells
eulerscheZahl: with proper tracking you can usually limit the possible opponent locations quite good without sonar
Zhmyh: sonar is useful when it can remove ~50-75% of cells
mark7: Only use sonar when opponent appears in more than one sector
eulerscheZahl: without getting a lucky guess you can only remove 50% of the candidates best-case
mark7: Currently I am using sonar on sector which has most possible opponents.
Zhmyh: that's the most efficient
mark7: Also, how you guys find path that minimizes use of SURFACE, because 3 SURFACE COST A LOT
eulerscheZahl: same, that's the only way it makes sense
eulerscheZahl: best expected number of reduced candidates
eulerscheZahl: there are ways to minimize surfacing, e.g. generating a path and sequentially extending it by adding extra dents
eulerscheZahl: but usually just taking a long path isn't what you want
Zhmyh: finding path which minimizes SURFACE is probably NP hard problem
eulerscheZahl: instead you want to hide your location to the opponent and ship around mines
mark7: right now I select a bottom left cell and then find path to top right cell, then When I reach top right cell I goto bottom right cell ...
eulerscheZahl: yeah, the Hamilton path is NP complete. but there are still some good heuristics
eulerscheZahl: https://imgur.com/a/7l64NqQ that's from the tron multiplayer game
eulerscheZahl: first i extend by going in 1 direction
eulerscheZahl: then i add an extra path to that as soon as i can by going away in a 90° angle and instantly returning (green)
eulerscheZahl: do the same again in dark blue, then pink and finally light blue
eulerscheZahl: you can also check for articulation points and solve each component indivitually
eulerscheZahl: but as i said: this kind of movement won't help you in the contest, as there are more things to consider (hiding, avoiding mines)
mark7: Ohh!, go straight then 90* then straight, avoid mines :v:
eulerscheZahl: actually my current bot doesn't even try to optimize path length
mark7: Also, I am confused should I shoot first or move first, in some situation shooting first makes sense in some situation moving first
eulerscheZahl: i check both possibilities
eulerscheZahl: shooting first has the advantage that you can directly recharge your torpedo
eulerscheZahl: in the same turn
mark7: Okay, That I didn't taught of!!
mark7: Is My tracking good enough ==> 1. plot all empty space in map as possible opponent. 2. As they move change the map accordingly 3. if they shoot, they are in range of 5
mark7: 4. If i shoot and miss or hit, they are near
mark7: 4. they use silence add 4 posiblities all directions
icecream17: if they move down, they cant silence up
mark7: Yes that is correct
mark7: I also taught of implementing a map of all their visited places so I can predict where they will move
mark7: but thats kindda hard
eulerscheZahl: i store a list of taken paths rather than a list of current cells
eulerscheZahl: it's not allowed to visit the same cell twice, so that excludes some silence targets
eulerscheZahl: and also helps reducing when the opponent keeps moving after SILENCE
mark7: Okay so you start with 225 lists.
eulerscheZahl: and these grow in length for every cell visited
eulerscheZahl: and if a cell appears twice in a list, you can remove that path
RyanMcCall: Hey, Mark7, english probably isn't your first language so just so you know when you are using taught I think you are meaning thought.
AntiSquid: fixed few bugs earlier today > rank 105, fixed all bugs i could find > back to rank ~150 so what's the next logical step? add some bugs back into the bot?
mark7: yes :grin:
eulerscheZahl: English isn't the first language for most of us here
RyanMcCall: That's great! Hats off for learning a second language and using it so well
eulerscheZahl: i suffered a lot in school :D
AntiSquid: implying that native english speakers don't make horrendous mistakes
icecream17: i'm amazed how many people learn english. i cant learn a second language....
eulerscheZahl: my interest only grew when i wanted to access some English-only contest (like coding websites or TV shows)
icecream17: how is english different from... (i really should be taking notes)
mark7: A Doubt doesn't using silence for more than one step makes your path short resulting in earlier SURFACE
RyanMcCall: Totally understand that. I attempted learning Japanese at one point because the voice actors for anime are better in Japan.
AntiSquid: kinda does mark7
Michiel: Uh, is this a bug in the Ocean of Code game?
Michiel: https://www.codingame.com/replay/445818900
Counterbalance: In europe it's pretty common to know at least 2 and often 3 or 4 languages.
eulerscheZahl: SURFACE isn't as bad as getting hit by a torpedo
Zhmyh: usually you die even before 2nd SURFACE
eulerscheZahl: no bug Michiel, you just decided to spawn on an island
eulerscheZahl: pick another starting location
eulerscheZahl: so i'm lame with only 2 languages (German + English) :( does Latin count?
Michiel: Oops, I didn't realize we could choose a starting location
Michiel: Sorry!
AntiSquid: latin learned in school doesn't count eulerscheZahl
icecream17: that reminds me of when i said "i just noticed the Exploroses"
AntiSquid: in vatican they use a different latin from the one they teach in schools :D
AntiSquid: so there's no point to learning latin
eulerscheZahl: i'm pretty much fluent in C#. does that count?
mark7: I have Rank 1 in Bronze league why am I not getting promoted?
eulerscheZahl: is your submit at 100%?
mark7: no 66 %
eulerscheZahl: then you have to wait till it finishes
mark7: Okay
mark7: Hope rank dont go down, looking at my messy code :joy:
darkhorse64: If you are above the Boss at 66%, your prospects look good
eulerscheZahl: 0.12 above the boss at the moment
mark7: Lets see
eulerscheZahl: https://www.codingame.com/replay/445821715 you can see the score below the replay. these update faster than the leaderboard
mark7: 80 %
AntiSquid: make sure you also write current rank while updating the chat with submit progress
mark7: !
mark7: 1
AntiSquid: and do it every minute or it won't be as efficient
eulerscheZahl: :popcorn:
darkhorse64: mark7 == cegprakask ?
mark7: ?
eulerscheZahl: no, ceg knows the promotion conditions
darkhorse64: *cegprakash*
AntiSquid: the transformation is incomplete, but he is getting there
mark7: Yay! Silver League
mark7: :grinning:
eulerscheZahl: ceg once cloned a param tuner from my github
eulerscheZahl: he let it run for 3 days straight
Quidome: It looks like you can't place and detonate the same mine in the same turn
eulerscheZahl: then read the manual and realized that he had to adjust his bot to actually parse param values from a given textfile
darkhorse64: Congrats. Next step gold
mark7: Will reach gold in few days.
darkhorse64: Copy/paste is a bad thing
eulerscheZahl: Quidome as stated: "You can't place and trigger a mine in the same turn."
icecream17: you got to silver!
Quidome: Ah, yes, was only checking the mine part, it is in the trigger part:)
Quidome: thank you
Quidome: It was messing up my opponent finding :D
mark7: @icecream17 yay!
eulerscheZahl: that's why i always place my mines at the end of the turn. so i don't have to make sure not to trigger a newly placed mine
Quidome: Ah! Great Idea
eulerscheZahl: lazy idea
mark7: :joy:
Quidome: I was wandering how to fix this, but this will do the trick
Quidome: Easy :D
eulerscheZahl: will modify your bot behavior a bit, as you have different cells in placement range
mark7: https://www.codingame.com/share-replay/445823867 see move 166 - to end, how did opponent predict my position? Or, just luck
Quidome: Fixed it, and yes you are right
Quidome: Behaviour change will be no problem for me
mark7: My bot did suicide :stuck_out_tongue_closed_eyes:
Quidome: Suicide is a problem ...
mark7: fixed!
mark7: Should I also implement a map that replicates how my opponent can predict me? If is time to SILENCE etc..
eulerscheZahl: top players do that
eulerscheZahl: also to decide where to move to
icecream17: so if the opponent has 6 lives i can assume the opponents doing the move that gives the least information....
mark7: Ohh!, moving in direction which doesnt minimize possiblitites
pb4: "eulerscheZahl 18H38 lazy idea" --> lazy here too :)
eulerscheZahl: :D
eulerscheZahl: i don't think the moment of the mine placement makes a big difference
eulerscheZahl: for torpedoes it's more relevant
reCurse: So mine placement is not relevant?
eulerscheZahl: it doesn't matter if you do it at the beginning or the end of your turn
eulerscheZahl: even if that changes cells in range
reCurse: Hence my question
eulerscheZahl: at least that's my opinion, i might be wrong
eulerscheZahl: but not doing mines at all is a bad idea
reCurse: I meant placement as in positioning sorry
wlesavo: didnt change much for me
eulerscheZahl: i don't just take a random position. the direction has some kind of preference
wlesavo: random vs some kind of trying to achieve more uniform distribution didnt have much effect
pb4: reCurse : doesn't matter enough to warrant the complexity of considering placement before and after movement
pb4: + before & after silence
eulerscheZahl: he asks surprisingly many questions about the game for an observer
pb4: haha
pb4: I guess we'll know in 14 days
eulerscheZahl: one of the rare times i will see the recalc + chat activity live
eulerscheZahl: home office has advantages :D
reCurse: I'm just curious...
reCurse: I did toy around with it for a few days but nothing great
reCurse: Still interested in the meta
eulerscheZahl: claim a large region and place mines, then avoid the opponent area
eulerscheZahl: and some fighting when one player gets too close to the other
reCurse: Then it seems like mine positioning would be important
eulerscheZahl: maybe i'm just looking for excuses not to code it
reCurse: :D
reCurse: All hardcoded or search-based?
eulerscheZahl: search-guided heuristics
eulerscheZahl: i simulate a few things like how a move will affect the opponent tracking
reCurse: No idea how to search for an opponent with unknown information
eulerscheZahl: and then use heuristics to decide and pre-filter moves
eulerscheZahl: and bruteforce for instant kills
chucknorris: the ide environment is different from the arena environment? I sometimes timeout but only in the ide
eulerscheZahl: rust has release mode in the arena C++ has a debugger attached in the IDE afaik
chucknorris: ah cool I can increase my time limit then I guess
eulerscheZahl: those testing against you in the IDE will hate that
chucknorris: IDE testers HATE him
mark7: @euler what data structure you used to track opponent, currently using HashMap<Point, LinkedList<Point>>
icecream17: if (possibleOpp > 40) {dont}
icecream17: possibleOpp.length... 40
eulerscheZahl: if have a List<Path> with Path = List<Cell>
eulerscheZahl: but i might change my path to bool[,] or HashSet<Cell>
eulerscheZahl: what is that Point keyvalue? current cell?
mark7: x, y
eulerscheZahl: you can have different ways to reach the current cell
mark7: yeas
eulerscheZahl: if you only store one of them, you might exclude it later, while it's still possible to get there on another path
mark7: when I start should I create a list for all empty cell..
mark7: Okay.
eulerscheZahl: that's what i do
mark7: dont need hashmap
eulerscheZahl: nope
mark7: first element in list is its starting point
mark7: Okay :thumbsup:
eulerscheZahl: yeah and last is current position
eulerscheZahl: but the list is slow to check for same cell twice as it gets longer
mark7: Set?
mark7: then
eulerscheZahl: hashset and boolean array have a constant lookup time
mark7: How do you decide starting point?
eulerscheZahl: somewhere in the center of the largest component
mark7: center or on with most open space?
mark7: component?
eulerscheZahl: that's the point where you should start experimenting on your own
eulerscheZahl: component: https://www.codingame.com/replay/441502486
eulerscheZahl: the bottom left part can't be reached from the center
mark7: Okay! thanks for help.
mark7: Is there a way if i want to play my bot against yours? or a specific player?
eulerscheZahl: delete the default AI
eulerscheZahl: then add a new player
eulerscheZahl: you can only fight your own league and below
eulerscheZahl: so i can fight you but you can't fight me
eulerscheZahl: https://www.codingame.com/share-replay/445846888
eulerscheZahl: my debug output (below my avatar) shows your possible paths and current cells, then the same for you tracking me
mark7: 344 moves are respectable :joy: against top 10
eulerscheZahl: at 1000 paths i prune
eulerscheZahl: but still 4 lives remaining for me :)
Zenoscave: euler how do you chose which to prune?
pb4: states.shuffle(); states.resize(1000)
pb4: ;
Zenoscave: smart. didn't think of shuffle
chucknorris: in gold I dont think you have to prune anymore. there are no longer 50k+ states
kovi: at least not in top
Zenoscave: I can only handly 1k...
Zenoscave: handle*
chucknorris: I removed the pruning code(which made me timeout ironically). I no longer timeout :p
Counterbalance: some gold bots crashed my bot with > 400k states
chucknorris: do you remember which one was that ?
Counterbalance: hm no, it was a couple of hours ago. One of the new arrivals from silver.
eulerscheZahl: Zenoscave i create new states from current positions and throw away all my history :(
Counterbalance: perhaps it was hkit, chucknorris - seeing 20k states there
chucknorris: yeah thx. in the ide he makes me timeout sometimes
Zenoscave: I timeout against jft6 3
Quidome: what counts as a state in this discussion? A complete move or a 'sub' move?
Counterbalance: a path
eulerscheZahl: visited cells + mine drops
Quidome: Uh, ok
Quidome: for lookahead or only the possibities left when you have processed all the opponent orders?
Zenoscave: the last one
Quidome: I have a much lower number on that
Quidome: wandering now if I do something wrong :P
Counterbalance: it usually is very low, except when there's a lot of silence
eulerscheZahl: i would love to have a lower number too. like only the real location
Zenoscave: kovi you're half my losses rn
wlesavo: that would be helpful
mark7: I sometimes have no state
Zenoscave: hurry your submit up :P
mark7: :joy:
mark7: My bot completely misses opponent not a single possibility
eulerscheZahl: debug time
mark7: I neeeed coffee :joy:
wlesavo: had to go back to yeasterday version of code, because with this latest "improvements" barely could get even to top10
chucknorris: top10 is pretty dense rn
eulerscheZahl: yeah, got kicked out :/
wlesavo: well backup pretty reliably gets to #2, with the same tune parameters, smths was obviously broken
Illedan: Nice siman
kovi: wow
dbdr: he's two standard deviations above everyone else
wlesavo: i think its due to that shoot->silence combo
eulerscheZahl: i didn't think that such a lead would still be possible, as everyone else has pretty much the same score
wlesavo: looks really effective
dbdr: don't other people do it?
eulerscheZahl: valgrowth killed me a few times with it even before he reached top10
Zenoscave: I try
Zenoscave: do you move towards an opponent if you know his location?
eulerscheZahl: no, i'm shy
wlesavo: i dunno, it looks like his shooting treshold is really low
eulerscheZahl: you can only do that when you use a lot of silence to still hide your location i guess
pb4: wtf
pb4: stop running over me y'all
pb4: I was first 15minutes ago
Zenoscave: lol
pb4: 6th now without repushing -_-
eulerscheZahl: i wish i could just on the train too
dbdr: sic transit gloria mundi
Zenoscave: glory fades?
eulerscheZahl: si tacuisses pholosophus mansisses
dbdr: "Thus passes the glory of the world"
Piemert: can you start a custom match with an opponent of your choice?
Zenoscave: ah yes mundi
pb4: I'll just repush
dbdr: le monde :)
eulerscheZahl: munudus
eulerscheZahl: mundus
pb4: same version, but I want to join the party :D
dbdr: 5 pushes in top 10
eulerscheZahl: red circle party?
dbdr: hopefully you manage to climb back to top 10 ;)
eulerscheZahl: big gap between 10 and 11 where did julin dien go?
Piemert: red circle?
dbdr: I wonder if the lb refresh slowless only affects display or also the opponent picker
eulerscheZahl: leaderboard
eulerscheZahl: open a replay in a new tab
pb4: green arrow party
dbdr: since that depends on the ranking
eulerscheZahl: you will see your updated score instantly
eulerscheZahl: just the UI which is laggy
kovi: afaik it works ok
dbdr: oh, so there is a workround :D
dbdr: need to write an extension to abuse it
dbdr: 6 red circles
eulerscheZahl: 2 of them can't be counted as circles yet
eulerscheZahl: red dots
pb4: red arrow at 10th place :disappointed:
dbdr: that basically depends on your last match before the refresh, I think
dbdr: basically random
kovi: wala is also on submit...somewhere down
Zenoscave: 65 last i checked
dbdr: jolindien arriving back
wlesavo: basically you can chose only counting players and lb wont change :slight_smile:
Piemert: how can I start a custom match with an opponent of my choice?
Quidome: delete one first
eulerscheZahl: delete the default AI
kovi: atm you cant, too many games tunning
Zenoscave: click the delete button under the boss
eulerscheZahl: that troll kovi :D
kovi: (just jking)
Piemert: thanks
Piemert: only from own league?
Zenoscave: yes
Quidome: and below
Piemert: :'(
Quidome: which leage are you in?
Piemert: silver
Quidome: I am bottem gold, i can start a match and send you the replay if you want :)
Piemert: great :)
Quidome: one moment...
Quidome: how do you get a replay URL from a game played in the IDE?
eulerscheZahl: 3 dots between gear and fullscreen
eulerscheZahl: https://www.codingame.com/share-replay/445878928
Quidome: https://www.codingame.com/replay/445878643
Quidome: thnxs :)
Quidome: this one is for you Piemert
Illedan: 14 days left and y'all pushing like it's 5 min :D
eulerscheZahl: you don't know yet how it will look like when there are only 5min left
Zenoscave: is the party still going?
Piemert: tnx Quidome!
Piemert: and eulerscheZahl ;)
eulerscheZahl: no Zenoscave, you missed the new year fireworks
Zenoscave: drats
Piemert: :( I lost
Quidome: sorry :)
eulerscheZahl: not sorry
Quidome: twice I saw...
Quidome: :D
eulerscheZahl: pb4 and that's just a resubmit?
Illedan: I guess the elo drained from siman is a lot now
pb4: eulerscheZahl and bugfix
pb4: I hope...
rwilson: pb4 is there an 'easy' way to find timeouts in your last battles? I'd seen your bot timeout ( pre-resubmit ) , but can't find it anymore ;)
MadKnight: no there isn't rwilson timeout information is only written in the huge replay file
MadKnight: u gotta download a whole replay file to see if it timed out
rwilson: TY MadKnight ;) was hoping someone might have tooled up such a thing. I'd noticed it in the ajax resonses for a given battle - put too busy with other things to script it up ;)
MadKnight: downloading all battles will be bad for the servers
eulerscheZahl: yeah, some of us have scripts for that
MadKnight: they don't want people to use such a tool
rwilson: If I were to do so, it would only hit it as often as i do manually ;) i'd hope others would be kind enough to do the same.
eulerscheZahl: right, downloading a few hundred MB just for checking timeouts is a lot
MadKnight: u also need to send a query per each relpay
MadKnight: euler since when are u no more a toad ?
eulerscheZahl: sharks can dive under water
rwilson: I'm not diving into it anytime soon - but just checking real quick a sample replay from gold is roughly 10k dl right now
eulerscheZahl: and this is a submarine contest
MostComplicatedUsername: euler...
MostComplicatedUsername: your pfp...
eulerscheZahl: and i'm a hypnoshark
MostComplicatedUsername: :no_mouth:
icecream17: yes yes yes *yes*
eulerscheZahl: promotion?
orenog_166: is there anything fun to do here? did the space races, the mars thing and enough coding clashes, what now?
mark7: I dont think so
orenog_166: ):
icecream17: an array
icecream17: '0 0': 'N', '1 0': 'N', '5 0': 'N', '6 0': 'N', '10 0': 'N',
'11 0': 'N', etc!] And it updates too
mark7: @icecream make a better path finding system and you can get to gold
mark7: https://www.codingame.com/share-replay/445891380
Valdemar: orenog_166 you can try to win contests if you are bored with kids stuff
AntiSquid: orenog_166 https://www.codingame.com/contests/ocean-of-code
kovi: interesting, siman has solid lead, but otherwise messy top10
INORI: Hello , does anyone know how to find peopleor projects to contribute in github?
AntiSquid: quite sure there's a tutorial for that on github
mlomb: I think github.com/explore is a good starting point
INORI: alryt thanks
AntiSquid: did you see this? https://lab.github.com/ INORI
INORI: lemme check
INORI: this looks very useful thanks
MostComplicatedUsername: https://www.codingame.com/share-replay/445920508
INORI: i hve to tell this condingame chat had been really responsive in positive way , for all the my dummy ques.
INORI: thanks a lot
PatrickMcGinnisII: anyone know imagemagick?
MostComplicatedUsername: Magic?
MostComplicatedUsername: Yes, I do
MostComplicatedUsername: I am quite magical
emh: PatrickMcGinnisII I've used it a bit
PatrickMcGinnisII: can I split a png into 4-channels RBGY and then dither to a 2-toneb/w?
PatrickMcGinnisII: I';ve done it in php, without the lib, but minw runs too slow
emh: probably. haven't done that exactly
PatrickMcGinnisII: minw = mine
PatrickMcGinnisII: k, googling methods is ruining the experience
PatrickMcGinnisII: tx
PatrickMcGinnisII: contest over?
PatrickMcGinnisII: nvmnd
Astrobytes: Hey PatrickMcGinnisII, someone did a PHP code bundler for CG, donno if you saw it https://github.com/MrTimber/CodingGamePHP
orenog_166: HELP!
orenog_166: IN legends-of-code-magic HOW DO I KNOW IF I'M IN THE DRAFT PHASE!?!?!?!?
wlesavo: pls no caps
orenog_166: sorry, I need the answer, because I'l amost crying, I don't understand
Illedan: There is some input giving you that information.
Illedan: Or, you can count
orenog_166: there isn't!
Illedan: Always same amount of cards.
Illedan: Count it is.
Astrobytes: "During the Draft phase, playerMana is always 0"
orenog_166: and it's never 0 in the battle?
Illedan: No.
orenog_166: oh
Astrobytes: No
orenog_166: so it can be 0 in the battle
Astrobytes: Read the statement
orenog_166: you said it's not never 0 in the batt
orenog_166: le
Astrobytes: To clarify: It is never 0 in the battle phase
orenog_166: YAY!!!!!!!!!!!!!
orenog_166: and am I player 1 or 2?
orenog_166: like 0 or 1
orenog_166: who am I?
orenog_166: ?!!!!!!!!!!!!!!?!?!?!?
icecream17: 0 indexing? So 0=1 and 1=2
orenog_166: yes, but who am I?!
orenog_166: Yes
orenog_166: am I 0 or 1?
orenog_166: how can i know that?
Astrobytes: "Integer playerDeck: the number of cards in the player's deck. During the Draft phase, the second player has less card in his deck than his opponent."
orenog_166: it doesn't help me know if i'm the first or the 2nd
orenog_166: because I can't check how many cards I have if I don't know if i'm the first of the 2nd
Astrobytes: "The player's input comes first, the opponent's input comes second."
orenog_166: OHHHHHHH
orenog_166: THANK YOUUU
orenog_166: YOU ARE LEGENDERY!
orenog_166: YOU SAVED ME FROM SUICIDING
Astrobytes: Do you actually want me to post the whole statement or would you like to spend some time reading it in it's entirety?
orenog_166: THANKY OU!!!!!!!!!!!!!!
orenog_166: SO I AM THE FIRST!
orenog_166: I AM THE PLAYER!
orenog_166: NOW I GOT ITTTT
orenog_166: THATTTTTTTTTTTTTTTT HELPFULLLL THANKKKKKKKKKKKKSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!SSSSSSSSSSSS!SSSSS
Astrobytes: Can you please stop that.
orenog_166: YES
orenog_166: SORRY
orenog_166: FOR THIS
orenog_166: BUT YOU HELPED ME VERY VERY MUCH
Astrobytes: Good. No need for the caps lock.
orenog_166: I DON'T USE CAPS LOCL
orenog_166: LOCK
Astrobytes: ...
ZarthaxX: ban
Astrobytes: Zarthid-19 hello
ZarthaxX: hi astrid-19
Astrobytes: :D
ZarthaxX: lmao
AntiSquid: idk he seemed interested when i read the previous conversation
Astrobytes: Perhaps just rather excitable
AntiSquid: are you still playin ocean of code Astrobytes?
Astrobytes: Slowly AntiSquid, got a lot on due to this virus shit, and still not recovered either
AntiSquid: for real? how many weeks has it been?
Astrobytes: 4-ish now
Astrobytes: People are still having symptoms (albeit reduced) after 6 weeks from what I've gathered
AntiSquid: i don't have any symptoms but was around a few people who coughed .
AntiSquid: also i heard the coughing only last up to 4 weeks, not 6
Astrobytes: The fatigue and body aches are atrocious, in my case at least. And I have increasingly bad back pain since the start. Still not sick enough to be tested though ofc. Though emergency assessment center gave 99.999% COVID diagnosis
AntiSquid: ya i don't get this, "not sick enough for testing", yet i heard about this fatigue and headache symptom from others
Astrobytes: I'm still coughing but my lungs are clear. Have to watch for phlegm, especially coloured. Viral pneumonia is not like bacterial pneumonia.
AntiSquid: they called their GP, they were given a sick note, stayed at home 2 weeks and were called back in to work although they still have a dry cough
AntiSquid: so what exactly do you need to watch out for?
Astrobytes: I called NHS after 3 weeks, got assessed (eventually) and sent home with advice and probablt diagnosis. My mum did same (some other day) and ssince her cough was worse she got a salbutamol inhaler + spacer to open her airways a bit.
PatrickMcGinnisII: tx Astrobytes checking it out
PatrickMcGinnisII: sry afk alot, running my laser.
PatrickMcGinnisII: sick, damn
PatrickMcGinnisII: so like 70% of people getting 'dat crap?
AntiSquid: idk i don't check news, getting tired of how dramatic the news stories are
Astrobytes: You look out for a serious cough, coloured phlegm, fever (not necessarily on thermometer - hot chest/back is also indicative), difficulty breathing, chest pain, back pain, fatigue, nausea, vomiting, diarrhoea... I could go on
AntiSquid: i get it it's bad, but they like to blow things out of proportions even more
Astrobytes: No, I actually get the impression things are worse in terms of infection levels. Media ofc get the wrong end of the stick and try to sell copies (so to speak)
Astrobytes: PatrickMcGinnisII cool, I saw the guy post it the other day and thought you might appreciate it so saved the link
AntiSquid: you don't believe china recovered?
AntiSquid: actually didn't check news in a while to see if there's a second wave
Astrobytes: Didn't mention China. It's kinda hard to conjecture when they're so secretive (relative to other nation's secrecy that is)
Astrobytes: Was primarily addressing UK spread
AntiSquid: afaik testing is just slow here
Astrobytes: afaics they are still pursuing the "herd immunity" strategy
AntiSquid: lol
Astrobytes: Intentionally or otherwise.
AntiSquid: then i hope i don't have symptoms because i am immune
Astrobytes: In simple terms, I do believe the UK is experiencing what is politely known as a Charlie Foxtrot
AntiSquid: do you enjoy ocean of code?
Astrobytes: Not overly no.
Astrobytes: But I'll still put some effort in.
AntiSquid: not the best game for a lockdown :/
Astrobytes: Hey, it's something to do eh
Astrobytes: We've always got UTG/CR
AntiSquid: ya well was going to try and improve XR or CR2
AntiSquid: especially CR2 since i have 500/5000 points or so
Astrobytes: I wasn't keen on that CR2 but things were tricky for me around that time too, probs enjoy it more as a multi
Astrobytes: Still, 14 days left on this OoC so lots of time left
Astrobytes: *to work on it
elderlybeginner: is there a way to use external editor instead of these built-in ones?
BeardedDidgeridoo_9d92: copy and paste
elderlybeginner: that's partial solution
Scarfield: elderlybeginner under settings there is this option: "Use an external code editor"
elderlybeginner: I see some posts about a need for API and some old extension projects. Nothing working
BeardedDidgeridoo_9d92: good to know thanks
Scarfield: i dont use it myself, but know others do, i just copy paste
Asterixk: there is browser addon to enable eternal editor feature
Asterixk: only know of chrome and firefox support
The_Duck: the chrome one works great https://www.codingame.com/forum/t/codingame-sync-beta/614
elderlybeginner: Scarfield, The_Duck: I don't see mentioned option for use of external editor
Asterixk: install addon first. then refresh maybe
Scarfield: When you are in a puzzle/contest IDE, under leaderboard there is settings. In settings in the bottom i have "Use an external code editor", but as mentioned it probably only works with chrome or firefox
elderlybeginner: firefox is fine, installed cg local, got error: CG Local An error occurred. Make sure the CG Local app is running and try again.
elderlybeginner: it seems running thou
Asterixk: i had the same issue a few days ago. couldn't fix it, went back to chrome, runs great.
elderlybeginner: which plugin? there is CG Local and CG Sync
Asterixk: CG Sync
elderlybeginner: I cannot find it for firefox; I guess ff + built-in editor is smaller burden for me then chrome + local
Asterixk: what suits you best. i couldn't let go of VSCode intellisense on typescript
elderlybeginner: i'm vimer, so it's a bit easier for me, although simple config file could be of help
icecream17: hmm. two players have 5 lives and are on the same square. should i torpedo myself?
elderlybeginner: nope, you will show your position and you know position of the opponent, so it's kind of unefficient
Asterixk: SILENCE S . |MOVE N .. omg..
Asterixk: SILENCE S 4 |MOVE N .. omg..
Asterixk: it requires so much upkeep even for 1 look ahead
Asterixk: better go full sim asap
MadKnight: hey guys
MadKnight: how's it going ?
MadKnight: contest i mean
Asterixk: or don't SILENCE before MOVE
Asterixk: hey MAdKnight
Asterixk: the contest? i'm stuck It's hard af. Best contest ever
Asterixk: it looks simple at first. then you dive deeper
elderlybeginner: I was rewriting the code a few times already, and there are 2 more weeks
elderlybeginner: unfortunatelly :grin:
icecream17: I got a new record! 750 actions
icecream17: I realize I don't have to keep track of the availableSpaces I delete when I surface. I just set availableSpaces as water!
KiwiTae: MadKnight hows your CSB
KiwiTae: pewpew
icecream17: https://www.codingame.com/share-replay/445995926 silence right through my mines =O
Aslam18: mg