From CG community
Jump to navigation Jump to search

ZarthaxX: i think there are magic numbers that can do that

ZarthaxX: google it

Nanosplitter: I can't find anything about magic numbers and bit flipping. All I see about magic numbers are "don't use magic numbers"

ZarthaxX: lol

ZarthaxX: never tried that


ZarthaxX: i saw that page linked in answer

ZarthaxX: it's crazy

Nanosplitter: I'll work on trying to understand that, thank you lol

Nanosplitter: Still new to doing bit stuff

ZarthaxX: yeah well, bit permutation is not smth i tried ever

ZarthaxX: there is byte permutation

ZarthaxX: but that's smth else

ZarthaxX: way simplerlol

Nanosplitter: lmao

Default avatar.png superfx12: Maybe using a mask?

Nanosplitter: superfx12 What do you mean?

Nanosplitter: My friend just sent me this:

Nanosplitter: I haven't tested it yet, but seems like it may work

Default avatar.png superfx12: What i meant was

Default avatar.png superfx12:

Default avatar.png superfx12: then you could do AND 0011100 again to get the reversed

ZarthaxX: that's just inverting the bits

Default avatar.png superfx12: And do AND 1100011 to get the res

ZarthaxX: 00101 , i want to reverse that so 10100, but u are saying 11010

Default avatar.png superfx12: It was an exemple let me write it up in a doc tahn paste it here

ZarthaxX: it wont work but ok

Default avatar.png superfx12: Ill just try

Nanosplitter: Yeah, I'm wanting to reverse the bits, not flip them

Default avatar.png superfx12: Oh okay I think I understand, yep it wont work

ZarthaxX: aaaaand f

eulerscheZahl: and 0xF?

ZarthaxX: funny

ZarthaxX: is there a mod on? i need someone to get hammered

eulerscheZahl: i think my chat history doesn't go far enough to guess who it is

eulerscheZahl: oh, Radewoosh was online that night

ZarthaxX: i meant you lol

ZarthaxX: :(

eulerscheZahl: :P

eulerscheZahl: illedan climbed a lot during the night

ZarthaxX: yes, impressive

dbdr: it's as if he knew the game well

kovi: radewoosh is still here

eulerscheZahl: indeed, submitting

dbdr: what about him?

eulerscheZahl: a legendary grandmaster on codeforces

ZarthaxX: a god basically

kovi: yep

dbdr: ok :)

kovi: also was 2nd on locam sprint here

dbdr: btw, is errichto a top player somewhere?

kovi: yes, topcoder

eulerscheZahl: codeforces, codejam

kovi: and i think hashcode


dbdr: wow, you coded a tool for codejam too :)

eulerscheZahl: there is no user search on codejam

eulerscheZahl: there was another site to search for users but they stopped indexing newer contests

dbdr: that's the problem with these tools, hard to maintain long term

kovi: almost equality on top again

dbdr: yeah, was just looking

dbdr: top 2 a bit apart, but less than before, and variant for sure

dbdr: we'll see a bit better when gold opens, to some extent

kovi: im slowly running out of good ideas i mean most of them didnt help

Zandy156: Wow .52 below bronze boss. I was planning on comparing code with my next submit, but I don't think I can now.

eulerscheZahl: i still have a few points, my mine avoidance is still pretty poor

kovi: (at least less than how competition improved)

eulerscheZahl: but after that i'll struggle to improve as well

kovi: i really wonder on gold recalc. even after 3 resub i cant tell the stance atm

dbdr: legend is again sth like double of gold

Zandy156: Is silence generally less effective at high rank? Or is frequent silencing still part of good strategies?

eulerscheZahl: you need some silence for sure

eulerscheZahl: not spamming, you need to find a balance

eulerscheZahl: i think SONAR is the least important

dbdr: "as little as possible, but not less"

thibpat: Hello :wave: I'm live streaming my Ocean of Code progress

dbdr: my #6 bot loses to defaultAI :thinking:


AntiSquid: RPS

dbdr: a bot whose first move is to surface Search Results Web results


dbdr: copy paste fail :D

eulerscheZahl: defaultAI is pretty strong, would reach silver without SURFACE

dbdr: eulerscheZahl is he strong?

eulerscheZahl: kidding, defaultAI is a noob

dbdr: according to my tracker, he hit me perfectly when he had 43 possible locations for me

dbdr: so just got spuer lucky?

eulerscheZahl: targets the first possible location

eulerscheZahl: lucky

Csipcsirip: maybe he has a more advanced tracker :p

dbdr: ah, so top left is a bad place to be

eulerscheZahl: it has a tracker but doesn't know the exact position of course

dbdr: checks out

eulerscheZahl: exactly :D

kovi: silence0 is skipped probably

eulerscheZahl: yeah, defaultAI doesn't know silence

kovi: i mean, it maynot track silence at all

eulerscheZahl: uses it but doesn't track opponent

eulerscheZahl: and assumes top left corner initially

dbdr: right, i used silence 0 here

dbdr: the gods were against me in this one

kovi: you need to add some variation early to avoid easy death to silver newbies

kovi: force variation

kovi: may not be true for higher leagues

eulerscheZahl: in legend that problem will fix itself

dbdr: thanks, I'll see if it's needed

dbdr: after gold

dbdr: yeah

eulerscheZahl: and gold is near

eulerscheZahl: spoiler: we are in

kovi: siman took the lead

eulerscheZahl: and he pushed me back to #4

eulerscheZahl: after kovi dropped me

dbdr: did Csipcsirip share his joke with you kovi?

kovi: not yet

eulerscheZahl: a hungarian joke?

dbdr: yeah

eulerscheZahl: then i won't get it :(

dbdr: siman means something in hungarian

eulerscheZahl: smooth

Csipcsirip: mm not exactly it means easily.

dbdr: yeah, it's kind of slang in that meaning isn't it?

eulerscheZahl: and then there is this user: not sure if one has to be german to consider it a bad choice

Csipcsirip: yes

Csipcsirip: szerinted valaki meg fogja előzni kovit? szerintem siman! it was the joke btw :p

dbdr: it's very good :)

eulerscheZahl: kovit = declinated kovi?

dbdr: yes, object

eulerscheZahl: accusative

eulerscheZahl: or whatever cases you have in the Hungarian language

dbdr: now now, let's not accuse kovi of anything too bad

emh: Csipcsirip I thought it was dothraki

eulerscheZahl: you only have subject and object, not a range of different cases?

dbdr: but you're right, that's the linguistic term

kovi: nice one csip

dbdr: a lot more suffixes

eulerscheZahl: i'm used to those from Latin

dbdr: you can say a whole sentence in hungarian with a single word

kovi: en forditva szoktam mondogatni siman megnyertem ezt a jatszmat

dbdr: especially since "is" is left implicit

dbdr: take a word, add suffixes for direction, posession, object, plural

dbdr: that's at least 4, might be possible to do more

dbdr: native speakers? kovi Csipcsirip?

Csipcsirip: yes

dbdr: i mean you can add all 4 suffixes at the same time

kovi: there must be just a few nonnative hungarian speakers...

dbdr: 33% on the chat right now ;)

eulerscheZahl: motivation to learn it is low, when you don't live there

Illedan: Morning

dbdr: sure

dbdr: nice progression Illedan!

eulerscheZahl: congrats for getting a working bot Illedan

Illedan: :rocket:

dbdr: working = top 20 right? ;)

emh: so Hungarian is ideal for bit packing I guess with all those conjugations. no wonder people use Hungarian notation in programming hehe

eulerscheZahl: just make sure not to become C# #1

Illedan: Gimme a few days euler ^^

Illedan: Me you and Zeno for that fight atm

YannT: I think I've won first Kotlin :D

YannT: mostly because no one does Kotlin

Uljahn: i think the contest isn't over yet :smirk:

YannT: siman did some tuning

iFightLegends: How can I check the time it takes me to make an output in JavaScript since console.timeEnd() prints directly in the standard output and is not working?; seem not to be precise - it says it took me over 2 seconds, but that can't be because only 1 second is valid on the first turn and it still worked.

Uljahn: start measuring the time after the first input

Uljahn: To debug: console.error('Debug messages...');

iFightLegends: Doesn't make much sense with again - it says 0.08seconds... but after 50ms it should already timeout and I then I should't even had the time to print that.

iFightLegends: although I just noticed: console.timeEnd() did print the I guess is precise after all - thx :)

Palmipedus: is anyone using bitboard and mask?

Default avatar.png JBM: is anyone *not*?

Palmipedus: I have some perf issues (too much list of small object)

Default avatar.png JBM: fuse them

Palmipedus: I've never implement bitboard and mask, so I don;t really know where to start

Default avatar.png JBM: what's your small object?

Palmipedus: coordinate (x, y)

Default avatar.png JBM: oh, wow

Default avatar.png JBM: ok

Palmipedus: and I have list of coordinate for paths

Default avatar.png JBM: what's your container?

Default avatar.png JBM: if that's useful to you as is, just make an array of them

Palmipedus: for the "simulation", I'm using BFS with a node boject that has info about the state

Palmipedus: for the parth I could allocate a array of 15*15 but I wonder is it will be faster

Default avatar.png JBM: well i'm not going to solve it all for you

Default avatar.png JBM: but the expected point of bitboarding is: smaller data


Default avatar.png JBM: or perhaps more accurately: more compact data

Palmipedus: Uljahn good, it's in c++ but that would be useful for me

darkhorse64: add inherent parallelism

Palmipedus: but it seems to only represent the map, what about the info for the visited, you'll need to pass it down

Palmipedus: for each node

Uljahn: you could modify the map i guess

iFightLegends: thx4 the info about bitboards - I've never heard that term in my life, learned something new today :D

Default avatar.png sadek11: hello world

emh: hmm.. for path reconstruction I guess there are at least two options. either do xor (symmetric difference of each generation) and reconstruct a path that way (but might have multiple choices). or use another bitboard with 2 bits per cell to indicate parent

emh: I just ordered 1.5 kg of tea. mostly chili, licorice and other spicy ones. some new taste trials. should be enough for 4 months hehe. drank around 200g in last 2 weeks

dbdr: emh again? :D going out fast

emh: hehe yes. still have 300g but got addicted to this chili licorice which I am out of now

emh: I also ordered a new one with 17% chili. should be spicy enough heh. and has like 10 other ingredients

emh: called chiliform

emh: chili, licorice, cocoa peels, mint, ginger, peppermint, nettle, black pepper, fennel, cinnamon, cardamom, cloves and chili with seeds

amurushkin: emh interesting tea. never see something similar at our shop. could you show a picture of the box?

emh: amurushkin

amurushkin: could try to add chilie papper to my tea ))

emh: hehe but don't add too much. I added a half fresh cut Carolina Reaper to my beer once. threw up after. twice

emh: but the Reaper is special. world spiciest fresh one

amurushkin: i dont have possibility to buy Carolina Reaper here ))

emh: oh ok it was in the regular supermarket in Oslo once so I bought it. was cheap too

emh: maybe you can order online

amurushkin: I think i dont need it. The other pepper that i can bought and get on my garden is enough for me

tobk: are you sure that's tea? maybe someone just put a pack of curry back to the wrong shelf...

Quidome: why are you usinf BFS?

AntiSquid: why would you put a carolina reaper in a drink?

Quidome: I mean, for what aspect?

AntiSquid: Quidome BFS to find a path

AntiSquid: for whatever reason

Quidome: yeah sure, but I don't do lookahead at the moment

Quidome: So I was wandering :)

AntiSquid: stop wandering around, sit down and code :)

Quidome: Don't sea an obvious purpose

AntiSquid: purpoise :p

Quidome: you are doing BFS as well?

AntiSquid: even Automaton2000's grandmother does

Automaton2000: i want to use a spell not found on the chat.

Default avatar.png yfprojects: Which one Automaton2000?

Automaton2000: unless you have a list

Default avatar.png sadek11: hii

Default avatar.png sadek11: i need exc in datastructure help

Tunga: Fixed some bugs, here we go, submitting!

emh: tobk hehe

emh: AntiSquid well we were drinking and eating reapers so the combination was obvious and alluring

Tunga: We all need help budy, I also need help data structure too sadek11

Default avatar.png Uzay-G: when we submit our code for a league, the leaderboard is the leaderboard for that league? So if ur first in wood II that means ur submission did the best of all the wood |I submissions? I'm talking about Ocean of code

Default avatar.png Uzay-G: actually I'm good

Uljahn: Uzay-G: if you're first in your league at 100% of the submit you'll get promoted to a higher league

Uljahn: *first or above the boss

Default avatar.png Uzay-G: alright thanks

MSmits: yay, looks like I'm getting into gold :)

MSmits: finally started using mines today

MSmits: note: do not try to lay mines on islands.

MSmits: but even when trying to lay mines on islands, my bot was better than my silence/torpedo bot

ZarthaxX: lol

MSmits: really taking it slow this time around

MSmits: I did my first google meet classes yesterday with headset and stuff

MSmits: no camera, just shared powerpoint. It's kinda weird, you don't see anyone, so every one in a while I gotta ask: Ehh can anyone with a mike say something

MSmits: Then they go "something". And I know they're still there

ZarthaxX: mhm

ZarthaxX: yeah there is a void

ZarthaxX: i dont have to do virtual classes so dont know the feeling

ZarthaxX: but can imagine :P

MSmits: I wasn't planning to do it, was just gonna do google chat + youtube + assignments and feedback

MSmits: but the boss said we had to :)

MSmits: I can kinda see why, especially for the younger classes

MSmits: sometimes they just need a live-teacher I guess and chat isnt enough

ZarthaxX: yes

ZarthaxX: the constant questions becomes a problem with the virtual class}

MSmits: I get some questions, but the questions are public, mostly. The students are instructed to first check if their question has already been asked and answered

ZarthaxX: how do they do that?

MSmits: google chat has channels, for each class, everyone is added to a channel

MSmits: to ask a question, they open a new discussion

MSmits: the question and my answer, remains up

MSmits: I also start each virtual class there. Everyone says hi, I note down their presence and then give them a google meet link

ZarthaxX: oh ok

ZarthaxX: and what do you think about this methodology

ZarthaxX: better than normal classes?

Keylan: Is there some flexibility in adjusting the interface that I might be missing? I see the horizontal slider for adjusting the IDE - but would like to control some of the other areas too (like hiding instructions but still show the playback/video)

ZarthaxX: like a possible future of education

MSmits: ZarthaxX I think it has definite advantages, but also some limitations. I would like it if there was 1 live class and 2 virtual classes each week. But it might not be equally effective for every age-range

ZarthaxX: i see

ZarthaxX: tru

ZarthaxX: being in the house makes kids get distracted

MSmits: live classes simply have far quicker interaction

ZarthaxX: but could change

ZarthaxX: also that yes

MSmits: I dont really have that problem, but some of my colleagues do

struct: Keylan its quite limited, most of the users use external IDE with extension to sync

ZarthaxX: maybe if you do a workaround about the lack of interaction

ZarthaxX: it could be better

Keylan: Thanks struct - I am using an external IDE but would like to see more of the log output alongside the video

struct: Try CG enhancer


MSmits: not sure how, you got 20-30 students hooked up to a google meet. No matter how advanced the program, it's always going to be less effective than a live classroom when it comes to interaction. You do lose less time to bad behavior with google meet though.

MSmits: You could just mute them :P

Keylan: Thanks struct

MSmits: also it is easy for students to sneak away and pretend to be listening

MSmits: play games on phone instead

ZarthaxX: i meeant use another platform MSmits not google thingy

MSmits: thats why i said it depends on the age range. My students are 17 years old on average. Far more mature

ZarthaxX: yeah

ZarthaxX: lol

MSmits: sure, there might be improvements, but i find it hard to imagine a different platform having all advantages of a live classroom

MSmits: it can get closer to that, sure

ZarthaxX: yeah, hard to accomplish

ZarthaxX: also helps to keep kids social in some way

MSmits: yes

ZarthaxX: and not be in their home all the time

MSmits: cooperation is also a skill

eulerscheZahl: is it me or is it broken?

eulerscheZahl: Cannot read property 'teamLeaderboard' of undefined

MSmits: it's you

MSmits: I can see it

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

MSmits: you're 6th

MSmits: gj by the way

eulerscheZahl: yeah, the top of the IDE tells that

eulerscheZahl: but wanted to see the rest

eulerscheZahl: and thanks :)

MSmits: probably restart the browser

MSmits: you did too many hacky things

eulerscheZahl: left and reentered IDE, not helping

eulerscheZahl: restart it is

eulerscheZahl: nope

MSmits: weird, maybe if i restart its gone too

MSmits: sec

MSmits: yep it's gone

MSmits: i cant see the leaderboard anymore

eulerscheZahl: discord ping time

eulerscheZahl: but first: firefox test

eulerscheZahl: broken in firefox too

MadKnight: Automaton2000 did u break something again ?

Illedan: Fine for me

Automaton2000: but if i can find the motivation

eulerscheZahl: did you reload the IDE Illedan?

eulerscheZahl: *checks leaderboard outside of the IDE* what are you doing up there Illedan?

Illedan: Doesn't work now

Illedan: -.-

Illedan: Dammit

Illedan: why did I reload

Illedan: :sob:

eulerscheZahl: to verify my bug report

eulerscheZahl: i pinged @staff on discord

struct: seems like silver only

eulerscheZahl: i just opened the IDE leaderboard to search for struct and see if you are in silver :D

eulerscheZahl: i have a short attention span

Illedan: lol

MadKnight: fix your attention

struct: bi

struct: no

struct: its all leagues

struct: I ctrl + F5 and now it bugs for me too

Default avatar.png yfprojects: What bugs?

MadKnight: leaderboard

MadKnight: thibaud is on it

struct: Its on all games

Default avatar.png yfprojects: i do see it, also after reloading

Default avatar.png yfprojects: Illedan is #45 right now, because of submitting

Keylan: struct I have cgenhancer going and see most of the features, but full screen console doesn't seem to be happening - is there a trick?

struct: I dont think it can go to fullscreen

struct: but it becomes bigger right?

struct: Or is the page like it was before?

Keylan: layout is the same, leaderboard and some other small things are different

struct: enable the sync

Keylan: Yup, sync is enabled

struct: The text editor should hide

Keylan: I'll search around for bugs with the text editor not hiding

struct: should look like this


Keylan: Thats what I was hoping for yea, but text editor still there. Layout is the same

struct: What sync are you using?

struct: CG sync or CG local?

Keylan: Ah, whatever the native thing is

Keylan: Didn't realize there were two options

Keylan: The little settings window says CodinGame Sync at the top

struct: hmmm, I don't know then, all I remember doing was installing and enable CG Enhancer script

struct: and then enable the sync

Keylan: you are also using CG sync?

struct: yes

Keylan: I will try turning it off and back on again =)

Keylan: Ok - when I enable sync the layout changes briefly and then switches back, debugging

YannT: did I takle a screenshot of me #1 because kovi is repushing? why yes, yes I did

Counterbalance: I'm just testing against you so you have a witness ;)

eulerscheZahl: to the gallery of popped dreams with it

dbdr: eulerscheZahl your top 3 dream?

Illedan: That is my dream

YannT: ah kovi and wlesavo are repushing, that is why the stars aligned ahah

YannT: enjoying my 15mn of spotlight while they come back :p

dbdr: make it count ;)

Keylan: struct fwiw it was because I had 2 way data binding enabled

AntiSquid: so how well did you tackle the screenshot?

wlesavo: YannT i think you got top1 before i resubed

Keylan: thanks for all your help

eulerscheZahl: no dbdr, more like

Illedan: Agade mid submit :D

eulerscheZahl: then

AntiSquid: kodle mid submit

dbdr: always someone in progress

YannT: now might not be the best time to rewrite my eval like I've been meaning to, it will definitely break everything :p

eulerscheZahl: then ?

AntiSquid: Automaton2000 mid submit

Automaton2000: that's the point of view

Illedan: So many submits :D


eulerscheZahl: i can keep going with my gallery of popped dreams :D

Illedan: I remember mm, waking up at the night before it ended and seeing myself first

kovi: still no leaderboard?

Illedan: bo

eulerscheZahl: check the global one

kovi: they already setting it up for gold?


AntiSquid: what do you mean no leaderboard?

eulerscheZahl: no IDE leaderboard

eulerscheZahl: broken

AntiSquid: i click in the IDE and i get the leaderboard opening for me

dbdr: me too

AntiSquid: ok then note to self: don't refresh

eulerscheZahl: quiz: who shared this pic?

AntiSquid: reCurs

eulerscheZahl: :100:

Illedan: Daym, that thing was actually nice

AntiSquid: much better than the t-shirt prize indeed

YannT: there, end of my 15mn :(

eulerscheZahl: i don't even remember this one:

AntiSquid: someone shared a captcha in chat

AntiSquid: when we were talking about little bobby drop tables

AntiSquid: was it?

eulerscheZahl: no, i think i got that captcha myself

AntiSquid: some captchas have weird words in them

Default avatar.png DavidJangdal: Me and a friend has created a bot each, but we can't find each others in list and play against us. How do I play against his bot?

eulerscheZahl: are you in the same league?

eulerscheZahl: you can only play vs your own league and below

AntiSquid: and you need to submit !

eulerscheZahl: then try to filter for you friend (assuming you follow each other):

eulerscheZahl: good point AntiSquid

AntiSquid: or your friend needs to submit

Default avatar.png DavidJangdal: How do I know what league we are in?

eulerscheZahl: tells you above the viewer in the IDE

YannT: it says at the top of the IDE

AntiSquid: you didn't submit yet DavidJangdal

AntiSquid: so your friend can't find you

Default avatar.png DavidJangdal: Yes I have submitted :)

AntiSquid: DavidVarinsky is your friend?

Default avatar.png DavidJangdal: AdamJ

eulerscheZahl: there you can see your league. i'm stuck in silver

wlesavo: how long it is before gold? couple of hours approximately?

eulerscheZahl: 1h

wlesavo: oh, ok, thx

eulerscheZahl: SaiksyTime as we use to say

AntiSquid: DavidJangdal press the yellow submit button bottom left

eulerscheZahl: meaning that it can be a bit earlier or later

Default avatar.png DavidJangdal: I have done that, I'm rank 3366 th

AntiSquid: your friend also didn't submit

AntiSquid: i don't see either of you on the leaderboard

Default avatar.png DavidJangdal: His is still running, does it need to finish?

AntiSquid: ah wait, wrong game!

eulerscheZahl: you didn't submit


Uljahn: are you in the same multi? :smiley:

Default avatar.png DavidJangdal: But, I have clicked the submit :)

AntiSquid: you didn't say you're playing the wrong game

AntiSquid: you need to play ocean of code

AntiSquid: and get an avatar for +5% win bonus

eulerscheZahl: which game is it? coders strike back?

eulerscheZahl: wood leagues are huge and you can only select top1000

Default avatar.png DavidJangdal: Back to the code

eulerscheZahl: same problem

eulerscheZahl: you can only fight top1000

wlesavo: AntiSquid gimme an avatar

AntiSquid: you have one

AntiSquid: that's why you're so high on the ladder, see? it works wlesavo

Uljahn: wlesavo: your avatar is quite good with +20% python skill bonus :)

wlesavo: AntiSquid hm, but i would realy appreciate an additional 5%, would it help if i will set two avatars?

eulerscheZahl: wlesavo how about

Uljahn: you can set the background

wlesavo: euler blocked by our goverment, lol

Uljahn: worked for me

eulerscheZahl: or

AntiSquid: try this then wlesavo also a cat avatar

eulerscheZahl: hm, blocked to i guess

wlesavo: AntiSquid will i have to resubmit then?

AntiSquid: idk, pray to the galactic spirit and hope you randomly end up in the universe with the best random seed for you ?

AntiSquid: or switch to C++ for speed boost

wlesavo: will it also give me my 5%?

blasterpoard: more

YannT: speed is not of the essence currently really

YannT: I typically answer in 0-5ms

YannT: unless there's like silence spam bot, but then I just reset stuff so

blasterpoard: = 0-500ms in python

YannT: :grimacing:

YannT: I know how I'm gonna make use of the time eventually, but for now I don't think anyone really does

blasterpoard: I have a search that can use it, but it is capped at 10ms for now

YannT: I found that if you prune the order combinations sensibly, there's really no need for the time

YannT: some combinations just don't make sense or are functionally the same as others

eulerscheZahl: including the time when you placed a mine?

eulerscheZahl: + location

eulerscheZahl: the location is the important info actually

blasterpoard: I'm not talking about the opponent's possible paths in previous turns

blasterpoard: I'm talking about selecting your own path for the next turns

dbdr: ver reminiscent of locam, the action earch

dbdr: *very

YannT: quite

YannT: weirdly enough I did well on that one too

blasterpoard: well, I guess I'm doing something completely different from the rest of the bots

YannT: so that's either very good or terrible :p

blasterpoard: looks good, considering that after ~30 turns the movements of my bot are random

dbdr: what are you searching if it's random?

YannT: I don't know if planning a path ahead makes a whole lot of sense given the uncertainty about a lot of stuff

YannT: by the time you get there could be mines or a torpedo in the face

blasterpoard: dbdr incomplete bot

dbdr: ah right

YannT: in the end I've become quite convinced that moving so as to minimize ennemy detection and mines is a whole lot more important than maximizing space use

YannT: (don"t wanna run into corners if you don't have to, but a lot of the time the smart move would actually be to surface even if you technically don't have to, which is quite counterintuitive for an eval :p )

blasterpoard: sure, my search is looking for paths that don't allow the opponent to find out where I am without sonaring/damaging me

YannT: but mine laying by the opponent might screw up your path any turn?

blasterpoard: I have a solution for that

blasterpoard: current bot ignores all mines though

darkhorse64: why surfacing is better ? It gives vital info on your location, it costs a life and it does not prevent you for being impacted by mines

YannT: actually it can prevent you from going into a mine field

blasterpoard: also, the opponent probably already has that info

YannT: sometimes you're better of surfacing and backtracking safe waters than going into the 20 mines your opponent put on his side

YannT: also vis a vis detection, surface + silence can create a lot of incertitude than just silence on its own :)

YannT: silence is max 3 directions by default, with surface 4, and depending on your previous pathing, maybe less

YannT: so surface + silence makes you disappear really well and can allow you to avoid going into mines (which if there's a lot of less would be a lot more than just 1 dmg)

darkhorse64: Make a lot of sense

darkhorse64: *makes*

YannT: yeah well, try explaining that to an eval function tho :/

YannT: it's tricky

Zenoscave: YannT do you sim?

YannT: yeah

YannT: 1-ply for now

Zenoscave: huh

YannT: plan for the future is 1) rewrite a proper eval because mine is a mess and 2) do opponent turn :)

blasterpoard: I was trying to figure out why I didn't silence after my 1st torpedo, and why yannt didn't fira a second one...

blasterpoard: turns out my bot is smart xD

YannT: I don't know why I didn't shoot you actually

blasterpoard: figure it out

blasterpoard: it will help you fix your bot

YannT: no clue, I should've shot you on fram 144

YannT: frame*

YannT: I probably decided it would give my position away or something

blasterpoard: nope

blasterpoard: you didn't know my position

YannT: idgi

YannT: I did

blasterpoard: (13 10) was my other possible position

blasterpoard: you didn't know whether my, or your torpedo damaged me?

YannT: 0ms) [OPPONENT] MOVE E => 1/1 [(11, 11)]

YannT: not to me

YannT: I *really* should've shot you

blasterpoard: or at least, that's why my bot didn't silence

eulerscheZahl: in most cases it's a valid assumption that players don't shoot themselves but get shot by the opponent

YannT: my eval's a mess, it decided the loss in possible positions for me wasn't worth the torpedo (which is obviously wrong)

icecream17: I should code for the case I have three lives and the opponent has 2 lives, and we're both on the same square

YannT: that's why I wanna rewrite it, sometimes it falls on the wrong side of things

blasterpoard: and, unlike my bot, you actually saw the hp (not) change between the torpedos

YannT: yeah my tracking is top notch, I know for sure where you are, so I properly evaluate that torpedo as a guaranteed 2 damages

YannT: just decided it wasn't worth it because it would give my position away :p

karliso: One could damage himself to confuse opponent? Nice.

blasterpoard: so my bot should have silenced from (11 11)

blasterpoard: I should fix that eventually

YannT: yeah dunno why you have two positions on that frame

YannT: I guess that requires the assumption that you wouldn't shot yourselmf

blasterpoard: yes

YannT: (not actually possible in the case of torpedoes that don't overlap anyway so not a factor here)

blasterpoard: you couldn't know whether I went S1 or E? from (8 8)

blasterpoard: [8 8]

YannT: 2 torpedoes, 2 damage each, no overlap, means either we both shot ourself right in the face, either both torpedoes landed

YannT: either way there not really uncertainty there ;)

blasterpoard: my bot just makes absolutely no assumptions xD

Zenoscave: so landing torpedos for 1 hp is not good anymore?

blasterpoard: Zenoscave depends

YannT: well you should probably assume you wouldn't self torpedo for 2 damage :p

Zenoscave: self torpedo?

YannT: no it's good

YannT: you don't really use torpedo for sonar anymore tho yeah

YannT: too costly for little upside

blasterpoard: btw EESWSWNWSSSENEENEN was the result of my search from [8 8] in that game

blasterpoard: that's the 10ms search that I do xD

YannT: I should've won this if eval didn't decide a 2 damage torpedo was too good for it :p

blasterpoard: well... I finished with 3hp

YannT: yeah well, -2 if a shot and then the mine, you dead

blasterpoard: yes

karliso: Are you guys doing multi-turn simulations?

blasterpoard: also the [14 10] torpedo should give away my position, now that I think about it

blasterpoard: becuase otherwise I'd shoot your face

blasterpoard: karliso I have something, but it's still under development

Default avatar.png codefreak288: hey bitches how u all

YannT: I really need to rewrite this eval... 2dmg guaranteed torpedo, doesnt do it, this is preposterous

YannT: I'm going to have a talk with its manager

ZarthaxX: ban

dbdr: YannT, dying undetected, that's the holy grail ;)

YannT: apparently ;)

YannT: but if I yank up to reward for torpedo too much, I end up with a coked out bot that does stuff like SILENCE 4 into a corner just for the chance to put one in sooo

YannT: it's a balance

kovi: selfdamage is gold idead, or is it legend?

icecream17: i think some people will just account for that

blasterpoard: kovi wood

Zenoscave: def wood

kovi: i did no damage in woods

icecream17: what? then how did you win

kovi: silent only (crash or enemy run out of space)

YannT: aka the Saelyos strategy

YannT: good bot for stress testing :D

MSmits: oh... I think I am still triggering mines I am in range of :P

MSmits: I don't hit myself with torpedos, but forgot I can do this with mines too :P

YannT: good for screwing upo ennemy detection

YannT: it's the shot self in the arm to throw the police off track method

Zenoscave: Doesn't work if youre still holding the gun ;)

MSmits: YannT only if the enemy detection is bad

MSmits: it won't screw my detection

MSmits: shoot yourself all you want :)

dbdr: at some point there can be a tradeoff between perfection (conservative) and heuristic (prunes more and correct in x% of the cases for x high)

eulerscheZahl: gold!

ZarthaxX: lol gold

MSmits: nice

kovi: 38.09

MSmits: the mittens come off now!

kovi: finished with same score

kovi: siman egyenlo lett

karliso: What techniques are used to simulate incomplete information games?

MSmits: random with probability

MSmits: but not on this contest

MSmits: here the posssibilities are the perfect information

wlesavo: in the mid of my submit lol

pb4: oh shit

icecream17: Gold????

MSmits: so it's not your typical game with incomplete information

icecream17: Oh noooooo

pb4: I'll be late to gold, won't have all the games :(


wlesavo: pb4 same (

dbdr: noobs ;)

pb4: hey at least I can say I'm first :D

eulerscheZahl: the new league always opens around the same time

Zenoscave: I thought we had another 50 minutes

MSmits: dudes and dudettes... this is not your first contest :P you know it starts at 6

dbdr: does it matter pb4?

Zenoscave: oops off by an hour

eulerscheZahl: i can understand that wlesavo submitted but the rest should know better

karliso: MSmits Do you mean one should treat this game as perfect information game when simulating?

dbdr: eulerscheZahl #1 ;)

wlesavo: first for me, yeah

ZarthaxX: screenshot toad

icecream17: Cpt. Haddock?

MSmits: yes you should, but the perfect information tells you all the positions the opponent sub can still be at. It's a different kind of perfect information

icecream17: Is that from the username or just random

eulerscheZahl: not first on my laggy leaderboard

eulerscheZahl: but new league opening isn't a screenshot reason anyways

dbdr: it is on my IDE

dbdr: global is not refreshing

MSmits: I wouldnt consider it incomplete information, because games like that are typically different.

dbdr: ah it just did

MSmits: in most incomplete information games, you know everything except 1 or 2 things. In this game the entire point is eliminating possibilities

wlesavo: oh, at least we can deduce silver bot by its MSG

Swagboy: MSmits, check kriegspiel

eulerscheZahl: what langauge is the bot?

Swagboy: A prussian chess game with really incomplete information considered as such in research papers

wlesavo: c#

Zenoscave: c#

eulerscheZahl: shouldn't it be Kriegsspiel with a Fugen-s?

dbdr: does not sounds like a strong definition MSmits

MSmits: it's not, but I am trying to get across that this is not your typical incomplete information game

dbdr: it's not incomplete because incomplete is only incompletely incomplete? ;)

MSmits: right :P


dbdr: what's typical for you?

eulerscheZahl: from the message that might be it

MSmits: like UTG, halite

Swagboy: Kann sein eulerscheZahl !

YannT: looks like they took top100 or thereabouts then?

MSmits: starcraft

MSmits: also wondev woman

izik1: free gold wut

eulerscheZahl: legend won't be for free

eulerscheZahl: but hard work

MSmits: depends entirely on how they choose the gold boss

pb4: Where's the boss gone ?

izik1: Yeah, didn't expect the free gold though

wlesavo: дщд

wlesavo: lol Cpt. Haddock 0.0

AntiSquid: lol my garbage bot promoted?

MSmits: if they choose it at rank 15 and everything below that is about equally you strong, you get a 100 bot legend within a day

eulerscheZahl: resubmit?

AntiSquid: so i don't need to submit new version until next week :D

kovi: wlesavo still silver?

dbdr: 96 people in gold

ZarthaxX: dont call it trash squido

Zenoscave: Why woiuld they resubmit boss?

AntiSquid: idk i have gold timer frozen at the top

wlesavo: kovi yeah, its gonna be a long submit

Counterbalance: i'm at 200 silver and got promo notice too

ZarthaxX: wtf

izik1: 314 people in gold :thinking:

AntiSquid: is it real or bug?

Zenoscave: boss has 0.00 score

YannT: if they resubmited the boss everybody passes ahah

izik1: Boss seems to have gotten a bad bot

Beerus: my algo is not even complete and i m gold

YannT: oh yeah

kovi: than there may not be real assessment for now

eulerscheZahl: this does not sound right

YannT: 267 in gold ahah

icecream17: What? promotion to gold in 00H 00MN 00 SEC

ZarthaxX: F

izik1: F

Zenoscave: F

izik1: I expect a revert

eulerscheZahl: F

tarriel: I was at the bottom of silver after a bad submission... and am now in gold :)

izik1: :v

AntiSquid: ban

MSmits: are we all testing our keyboards now?

eulerscheZahl: did i pay respect?

icecream17: thank you! i love THIS bug

YannT: all of silver is gonna go gold now ahah

ZarthaxX: lol

izik1: oops

Zenoscave: Except those who resubmitted...

eulerscheZahl: MSmits

MSmits: They might put everyone back in silver and do it again...

AntiSquid: no worries probabl getting demoted :D

Zenoscave: I.e. me, pb4 and wlesavo

MSmits: ahh ok eulerscheZahl

Zenoscave: among others

AntiSquid: i got confirmation message of promotion :thinking:

pb4: haha

AntiSquid: anyone out there who didn't get promoted to gold?

dbdr: 267 in gold :O

pb4: o/

Zenoscave: o/

Astrobytes: wtaf is happening

wlesavo: :grimacing:

Zenoscave: Madness

eulerscheZahl: 463 in gold

Uljahn: jeez

MSmits: thats basically what silver was

pb4: silver will be the new legend

pb4: 15 people left :D

izik1: lol

Zenoscave: pb4 how many matches did you finish

pb4: I'm at 56

Zenoscave: I'm at 29

pb4: but only 5 since league opening

Astrobytes: Was Silver boss broken or something?

izik1: 186 gold though, so I'm in the top half

wlesavo: lol and now boss is back

wlesavo: :grin:

izik1: Astrobytes: yeah

Zenoscave: oops

AntiSquid: 31 left in silver?

Astrobytes: lol

dbdr: too bad if you missed it

eulerscheZahl: i don't know what happened but i blame Saiksy

kovi: what will happen now

dbdr: it's repetition of the wood 2 situation

AntiSquid: do we get double the xp ?

pb4: SaiksyApo now :

AntiSquid: i mean i expect to get demoted and repromote later

Zenoscave: oops

Zenoscave: ya dun goofed

eulerscheZahl: you might get depromoted to silver again

dbdr: AntiSquid I rememer some situation like that and you only got it once

izik1: If we _don't_ get to keep the XP, I'll get a level down

pb4: [CG]SaiksyApo

eulerscheZahl: he's on it

YannT: can they even do it if they want to :p

pb4: Just want him to see the image :P

ZarthaxX: all silver is gold?

izik1: yep

izik1: bug

izik1: bad boss submit

dbdr: DROP TABLE 'gold'; ezpz

AntiSquid: demote ZarthaxX now [CG]SaiksyApo

dbdr: CLEAR maybe

ZarthaxX: i demand to be demoted

izik1: lol

Illedan: haha

Illedan: I would rather like to be in Silver now

eulerscheZahl: dbdr i have a captcha that you will love

Zenoscave: nice euler

MSmits: Illedan you want more social distancing?

Zenoscave: XKCD

ZarthaxX: if u get demoted, u can get more xp

Illedan: :D

dbdr: yeah sw it earlier :)

dbdr: saw

ZarthaxX: i want to be demoted

wlesavo: 30 ppl silver, nice company

ZarthaxX: :(

YannT: '; DROP TABLE bobby; --

icecream17: Lol, some people have negative points

Quidome: WTF is happening???

eulerscheZahl: once i promoted to bronze twice, only got CP once

AntiSquid: promotion apocalypse Quidome

YannT: I'm not on the podium anymore that's what!!

YannT: preposterous

wlesavo: boss deleted

icecream17: 194th. That's the best rank i've ever got. (i'm so tryhard)

eulerscheZahl: i'm in silver

izik1: oh, hey

AntiSquid: lol

icecream17: wow

YannT: hey me too!

Astrobytes: lol

izik1: they totally reverted the boss

eulerscheZahl: with a sumbit still running

Illedan: Maybe I get double XP?!

Illedan: :D

eulerscheZahl: so no gold within the next 2h i guess

dbdr: empty leaderboard in gold

icecream17: oh i'm in silver now

ZarthaxX: silver yay

Swagboy: Aha back as well

pb4: So in the end... domak might be first in gold :D

icecream17: What? It's like I never submitted because I can't add anything other than default

icecream17: oh nevermind

Zenoscave: gz domak

Zenoscave: ;)

AntiSquid: back to silver \o/

wlesavo: well at least that was funny

AntiSquid: i want my old submit date back :/

eulerscheZahl: perfect time to add a sneaky update to your bot without anymore noticing

YannT: like a 4-ply minmax

YannT: all sneaky like

AntiSquid: i thought the most heroic deed would be to hid until 5 minutes before the contest ends?

icecream17: I win about 4 of the first 10 battles, so hopefully I will get to 5

BenjaminUrquhart: hold up, how did I get to gold

BenjaminUrquhart: what what

Zenoscave: late to the party BenjaminUrquhart

YannT: you did, and then you didn't

YannT: it's shrodinger's gold league

YannT: you're in it until you look, and then you're not

BenjaminUrquhart: I have the email to prove it

Astrobytes: :D

YannT: but at the end of the journey, you'll find that the gold league was within you all along

BenjaminUrquhart: ah yes

kovi: :)

Default avatar.png codefreak288: nd me

BenjaminUrquhart: so um, why am I being resubmitted

Default avatar.png codefreak288: wat abt me

Default avatar.png codefreak288: wer

icecream17: People who silence all the time always beat me. Hey, I realize something. If they silence, I should silence more often

AntiSquid: sure you can stay wood2 as long you remember the true legend league in your heart ... Automaton2000

Automaton2000: i know it's possible to get a lot of things

Zenoscave: just not legend in wood

AntiSquid: you. are. the. legend. Automaton2000

Automaton2000: i start the timer after reading the first input

AntiSquid: :clap:

Zenoscave: Automaton2000 is learning!

Automaton2000: why is it that you are using a ga for csb

Zenoscave: holy shit

icecream17: I went alll the way down to 300

icecream17: So it's accurate now

AntiSquid: why did everyone submit, should have waited for gold to open first tsk tsk

BenjaminUrquhart: it auto-submitted when I opened the ide

SavinVadim: Going live in 10 minutes:

YannT: you donna stream while the leaderboard is in disarray? :o

reCurse: Good luck submitting anything for the next few hours

AntiSquid: vadi

jacek: hmm? no uttt submits?

AntiSquid: SavinVadim it says live in 24 hours

SavinVadim: it's live now

Quidome: Silver looks normal again...

AntiSquid: with that outfit you should be on twitch ... SavinVadim

AntiSquid: leaderboard isn't crushing, everyone has their bot rank recalculated

Quidome: Oh no, I see it now

AntiSquid: man your assumptions drive me crazy ... why would everyone resubmit at once

BenjaminUrquhart: they got hte email

BenjaminUrquhart: they opened ide

BenjaminUrquhart: instant resubmit

icecream17: silence 2 instead of silence 0 does wonders

emh: what happened to Gold?

eulerscheZahl: it was too big

eulerscheZahl: like all of silver

Bob: emh: the boss had a failure and the entire silver lot was promoted

Bob: so they did a rollback

emh: oh ok

Bob: now we have about 5 times the expected number of bots recomputing

Bob: so we wat :D

Bob: wait*

eulerscheZahl: to get a full gold recomp after

Bob: I just hope I'll make it back up to somewhere above the new boss

eulerscheZahl: saiksy: set boss score to that of player X meanwhile player X: i'll resubmit tadaaa, huge gold

AntiSquid: saiksy at #133, so about 25% promoted

AntiSquid: will be promoted *

Bob: initial number of players in gold was 95 before the failure

pb4: eulerscheZahl :that's what happened ?

eulerscheZahl: yeah, paraphrasing here

wlesavo: euler, but the score was ok for quite a while, but at some point i saw that boss was actually resubmitting at around 30%, after it sited at 0.0 for a while

eulerscheZahl: the plan was to see how reliably the boss reaches such a rank i think

wlesavo: oh, i see

wlesavo: quite reliably

inoryy: :grimacing:

pb4: wlesavo : why are your matches that long ?

kovi: python?

tempux: :joy:

_AhmedHafez: how can i go to clash i entered ?

eulerscheZahl: play an old clash again?

kovi: siman resubmit?

siman: yes

kovi: but why?

_AhmedHafez: see standing of this clash

kovi: in gold we could have seen some actual standing

siman: I found new bug and fixed.

Beerus: guys my programm stops with no timeout or runtime error

kovi: oh, well im sure i have a lot more as well :)

Beerus: at least not a runtime error that codin debuger shows

Beerus: c++

_AhmedHafez: how can i find users of my school ?

eulerscheZahl: siman on chat :o hi

siman: hi, there. but I'm not good at english. :joy:

jacek: happy Caturday's eve

kovi: Those better than the Boss will be promoted to Gold League at 18 H 17

kovi: tomorrow or when?

eulerscheZahl: where do you read that?

kovi: on leaderboard

eulerscheZahl: F5 and check again

kovi: still there. what is displayed for you?

Quidome: Waiting for the bot to to his submit calc

Quidome: The Boss bot that is

kovi: 147th

Quidome: yep, and just recalculated, drum roll

eulerscheZahl: oh, it's back

eulerscheZahl: my IDE leaderboard was all white

tobk: what happened with gold promotion?

eulerscheZahl: scroll to the boss at #107

Bob: there was a bug

eulerscheZahl: boss needs 100% too

tobk: some were already in gold, now all in silver again; i got promotion message, but now am well below the boss :-(

Bob: all of silver got accidentally promoted to gol

Bob: they had to rollback, rerun silver and restart the boss

Quidome: Cpt. Haddock now at 107

Quidome: I am below the cut this way :(

wlesavo: is it time for resubmit?

Quidome: no, no, no

Quidome: mayhem

wlesavo: jk

Bob: the original cut at 18:17 was at #95, just saying

Default avatar.png lNitsua: I'm trying a new path finding that does a BFS to find available paths, and ranks them based on how open they leave the map, and how much information they give away

eulerscheZahl: you can submit wlesavo

Bob: now it looks like they're adjusting the strength of the boss to get a similar cut

eulerscheZahl: boss will take some time

Default avatar.png lNitsua: but, how should I score those things?

eulerscheZahl: i think bosses get more battles than regular players

Default avatar.png lNitsua: and how would I score the whole path? If I take the sum of the whole path, the longest will just win, and if I take the highest score the shortest path will win because of fewer moves

Default avatar.png lNitsua: would the average be best?

Quidome: Just don't submit and wait a while...

tobk: funny how it still says "gold promotion at 18 H 17"

Bob: that's probably the time of the original promotion

Bob: but yeah :)

tobk: of course, it does not say which day...

Quidome: :D

eulerscheZahl: SaiksyApo posting this on discord:

Bob: lNitsua I'd say just check how much space you have left at the end and size of your own visibility map

Bob: don't go for complicated stuff, just use one criterion for main decision and the second one as a tie-breaker

Bob: my current code does excatly that

eulerscheZahl: the lazy bob

Bob: #whatElse

Default avatar.png lNitsua: does it matter that since I can't check all possible paths, some will be shorter?

Bob: nope

emh: ah Cpt Haddock is calculating I see

Default avatar.png lNitsua: the shorter ones will technically have more room and give away less information, but with a BFS they'll only be off by like one or two

ZarthaxX: classic bobby

Bob: in most cases the game is not decided on who runs out of space first

Quidome: Yes didn't know what was happening at first and was happy to be in gold and now I don't make the cut...

Bob: just make sure you avoid trapping yourself in obvious short dead-ends

eulerscheZahl: the other guys just keep shooting at me :/

Bob: because *then* the resulting surface both docks you one HP and reveals you

eulerscheZahl: only the sector

Bob: yes but depending on the configuration it can be a lot

ZarthaxX: promotion

eulerscheZahl: boss at 80

Bob: wooo I'm just above

kovi: wow lucky boss

Zenoscave: I am clearly missing something

eulerscheZahl: i think that score was set manually

wlesavo: 3/10

wlesavo: lol

Bob: considering I was 54th at the original promotion, I'd have been rather vexed not to make it this time around

Quidome: Cpt Haddock is now at 81 and you are at 77 Bob :)

Bob: \o/

dbdr: whom did you play wlesavo? :D

Bob: let's be bottom of gold now

eulerscheZahl: the toad and he won :/

eulerscheZahl: i'm one of his 3 wins

dbdr: but he lost 7??

dbdr: no, won 9

Quidome: OK gold is back in business

jacek: why theres no easter toad?

wlesavo: no i meant 3/10 in rank, one loss

dbdr: ah :)

eulerscheZahl: because i'm not religious jacek

eulerscheZahl: hm, that doesn't add up with xmas...

dbdr: xmas recycled pre-christian celebrations

eulerscheZahl: based on another religion?

Zenoscave: mostly pagan

dbdr: not even sure it was religions

dbdr: it's the darkest time of the year, makes sense to do something at that time

eulerscheZahl: ZarthaxX will disagree

Zenoscave: ZarthaxX do you disagree?

ZarthaxX: yes i disagree

ZarthaxX: what are we talking about btw?

Zenoscave: lmao

eulerscheZahl: xmas = darkest time of the year

ZarthaxX: not my case :P

dbdr: ocean of code = bluest time of the year

Zenoscave: I see mostly red and yellow dbdr :P

dbdr: initial map ;)

emh: wow I'm a bottom feeder now in Gold

Zenoscave: how many in gold now?

Zenoscave: ~100

eulerscheZahl: 81

Zenoscave: ?

Zenoscave: ok

eulerscheZahl: and emh won't make it to legend with the current bot

eulerscheZahl: neither will i :fearful:

emh: I guess it's true

dbdr: depends how the boss behaves ;)

emh: will have to gather my wits and C++

Zenoscave: ... Why do you say that euler? new strat?

YannT: pretty sure you will eulerscheZahl

YannT: legend bar is usually not thaaat high!

eulerscheZahl: still 1 week to go, others will improve

dbdr: with current boss he means

Zenoscave: oh

dbdr: *current bot

eulerscheZahl: i'm confident that i'm able to reach legend

YannT: yeah that's what I mean too

eulerscheZahl: just needs some more work

YannT: current top5-10 bots feel good enough to reach legend in a week

YannT: improvements become less dramatic as the contest drag on

eulerscheZahl: true

eulerscheZahl: i still want to work on my mine avoidance

eulerscheZahl: and stealth

Zenoscave: Mine avoidance important now?

eulerscheZahl: of course

Zenoscave: I'm still ignoring them

eulerscheZahl: i even surface and turn around sometimes

YannT: remember locam, bots basically stagnated by the end

LegendsOfCodeAndMagic: someone called?

LegendsOfCodeAndMagic: :D

Zenoscave: lol

eulerscheZahl: locam was a horrible game for such a long contest

LegendsOfCodeAndMagic: ;(

eulerscheZahl: not complaining about the game itself, just the combo of game + marathon

Zenoscave: BotG best game

YannT: by the last week everyone pretty much already had the best bot they could muster anyway

eulerscheZahl: which wasn't even aCat's idea as he told me in all caps

dbdr: it was good if you took it slowy

dbdr: slowly

dbdr: it was august after all

LegendsOfCodeAndMagic: yeah, that was CG 'testing' ;]

AntiSquid: banning LegendsOfCodeAndMagic @_@

YannT: it was a solvable game essentially... so once you've solved it there's not much to do :p

AntiSquid: wrong contest

LegendsOfCodeAndMagic: xD

Zenoscave: who is LoCaM Really

AntiSquid: cat guy

Zenoscave: uljahn?

eulerscheZahl: LegendsOfCodeAndMagic = aCat?

AntiSquid: acat

AntiSquid: where's my money?

Astrobytes: Was the account he used on stream during LoCaM iirc?

Zenoscave: still no money AntiSquid?

AntiSquid: no lol

Zenoscave: tsk tsk LegendsOfCodeAndMagic

eulerscheZahl: but he announced the next contest already

AntiSquid: Automaton2000 rough him up

Automaton2000: you have to submit a bot to play the game

LegendsOfCodeAndMagic: hell do I know

LegendsOfCodeAndMagic: :/

eulerscheZahl: with the same game and previous winner codes public

LegendsOfCodeAndMagic: sent some mails

LegendsOfCodeAndMagic: 'investigating'

AntiSquid: is it ok to submit #1 bot from previous contest into your new contest? i mean i don't get prizes anyway

eulerscheZahl: meanwhile i'm still waiting for my Arduino Emoro Pro robot kit from :/

AntiSquid: i doubt you will ever get that eulerscheZahl considering the state of

eulerscheZahl: agreed

Astrobytes: Indeed.

eulerscheZahl: and told me they sent it

Zenoscave: in need

AntiSquid: maybe it would be different if the guy from was here in chat

AntiSquid: would it?

Zenoscave: Anti are you that guy?

stone43: How long has been reinventing their site?

eulerscheZahl: not even riddles' fault they shared contact information with the sponsors

eulerscheZahl: stone is back :o

AntiSquid: sure Zenoscave, i am using his arduino for a pass the butter bot

stone43: yes, I was away for a while

Zenoscave: what is its purpose?

AntiSquid: to pass the butter

Zenoscave: oh god

eulerscheZahl: riddles certificated was created in july 2019, expired in october

eulerscheZahl: so it got inactive somewhere in between

IAmTheTurtle: hi everyone. I got a message that i have been promoted to gold... well, i haven't and I guess I shouldn't (currently low in rank in silver). Is it a bug?

Zenoscave: yes. IAmTheTurtle

eulerscheZahl: yes

eulerscheZahl: you are in silver until you beat the boss

ZarthaxX: IAmTheTurtle are u from halite?

IAmTheTurtle: thanks :)

AntiSquid: or intentional ! :o

AntiSquid: promote all so it generates an email and have them check the game again

eulerscheZahl: you get an email for promotion?

Zenoscave: Why wouldn't they just send an email

IAmTheTurtle: halite?

AntiSquid: i do euler

IAmTheTurtle: @euler: i did

eulerscheZahl: hm, maybe i deactivated the notification

ZarthaxX: nvm im

kingofnumbers: There's a bug in the boss of silver

AntiSquid: ZarthaxX that is a "all your something something "

Zenoscave: probably . you hate notifications

ZarthaxX: nvm IAmTheTurtle

kingofnumbers: outputs:

kingofnumbers: SILENCE N 0 | MOVE S SILENCE | | MSG 10 4 or 1

ZarthaxX: what squid?

kingofnumbers: then:

kingofnumbers: Game Summary: Not enough charges of SILENCE

AntiSquid: AllYourPolarBears ZarthaxX

kovi: lucky rolls

ZarthaxX: lol

eulerscheZahl: anyone playing codejam tomorrow?

Zenoscave: o/

AntiSquid: no

Counterbalance: something went wrong earlier with the promotions so they reset it and did it again

Counterbalance: ohh scroll bug

Zandy156: kingofnumbers it doesn't affect anything though does it?

wlesavo: euler thx, registered just now, never tried such things though, but at least will look into problems

eulerscheZahl: in the qualification round you have 24h

eulerscheZahl: and only need to solve about 2 out of 4 problems to reach round 1

eulerscheZahl: "We'll bring the top 25 contestants from Code Jam Online Round 3 to our onsite World Finals, where they'll compete for the championship title and a cash prize of $15,000."

eulerscheZahl: not sure how realistic that announcement is

icecream17: Wait, I can register? But it says "I am at least 16 years old" and...

stone43: How far do you get Euler?

stone43: *did

AntiSquid: haha very eager

eulerscheZahl: last year i qualified for round 3 (but had no time on that day)

Default avatar.png Adnane.a.a: sup

AntiSquid: i would have called in sick at work, i mean screw it :p

stone43: 15k pay day would be worth one day of PTO

stone43: or fake being sick

eulerscheZahl: $10k for the winner

eulerscheZahl: 15k for all finalists together

eulerscheZahl: and we all know who will get that 10k

wlesavo: onsite means offline?

eulerscheZahl: in the google office

Default avatar.png JBM: which one this year?

wlesavo: i see, not very realistic indeed

eulerscheZahl: the one without Corona

miles7: hahaha

Default avatar.png JBM: unannounced?

eulerscheZahl: can't find it despite searching for it

AntiSquid: idk still free trip right euler? why no day off?

eulerscheZahl: yes, google pays travelling expenses

Default avatar.png JBM: that contest is going down the drain

Default avatar.png JBM: no wait, wrong idiom

Default avatar.png JBM: is "on hte wrong path"

kovi: who: let me guess, start with t?

Zenoscave: is there someone who always wins?

chucknorris: yes

Default avatar.png JBM: that's not his nick on GCJ

Default avatar.png JBM: but yeah

eulerscheZahl: 6 wins in a row wasn't allowed to participate in the finals before, as he wasn't 18 years old

Zenoscave: whoa

kovi: wow, chucknorris? :)

NinjaDoggy: wew i'm late for ocean of code :(

NinjaDoggy: no notification till yesterday? :(

Zenoscave: Ninja Gold is open

Zenoscave: better catch up!

NinjaDoggy: yea... gonna play catch up :P

eulerscheZahl: still 16 days to go

NinjaDoggy: yea still plenty of time

eulerscheZahl: there was a email notification the day the contest started

NinjaDoggy: i somehow missed it i guess :(

eulerscheZahl: that can happen easily some other players also found the contest by coincidence

kovi: hmm, solid lead

eulerscheZahl: and the next thing is already announced

eulerscheZahl: i don't know any details

darkhorse64: a pacman bot ?

NinjaDoggy: :O

eulerscheZahl: yeah, pacman gets 40 years old

AntiSquid: damn this was a waste of time Q_Q


Astrobytes: lol, Remi is the best

eulerscheZahl: he stopped before he became boring

Astrobytes: Yep. If only someone would tell all the other 'funny' people on youtube

AntiSquid: i stopped halfway through the video

MSmits: You can't even do this in the US. Instead of a golf club you get shot by Ak47 :P

inoryy: Code Jam finals were planned for late summer so quite realistic they'll happen

AntiSquid: more likely to be tasered MSmits

MSmits: think tasers are more rare than assault rifles :P

AntiSquid: or pepper sprayed

MSmits: yeah thats more likely

eulerscheZahl: when you keep flattening the curve, we have to continue social distancing for about a year, given the available beds in hospital in germany

MSmits: the spread may slow down as more people develop immunity. That means you can have more contact between people while having the same hospitalization rate

MSmits: also hospital capacity may increase

AntiSquid: i heard in US you get massive hospital bills sent to your home address :D

MSmits: yeah, uninsured people will, of which there are quite a few

MSmits: 30k or so if you're in for a week

emh: ok I registered for codejam. never tried it before. not sure how much time I will invest

AntiSquid: so maybe a lot of people don't want to test for COVID because they can't afford it in US

eulerscheZahl: the qualification round is fairly easy if you only go for the points needed to advance and you know a bit of coding, you are done in 15-20min

AntiSquid: which is why some people have weird ideas like china spreading it intentionally to screw over the US

MSmits: yeah, great idea. let's screw over our own country and then the US!

AntiSquid: RAIC level of targeting

MSmits: as opposed to just hopping on a plane straight away :P

AntiSquid: ok my NN is ready!!!

AntiSquid: but it only outputs MOVE N TORPEDO :/

MSmits: you have an actual NN?

AntiSquid: yes, massive time waste, since i must have fucked up something really badly

struct: Do you have NN experience?

AntiSquid: most likely the backpropagation

AntiSquid: attempted imitation learning

Nagatwin: FC NN ?

AntiSquid: what sort of experience are you implying struct?

Nagatwin: Tried to do a NN approach on oware

Nagatwin: but failed kinda hard

struct: If you ever done this successfully

eulerscheZahl: did csipcsirip change his nick?

struct: I think he is chucknorris

eulerscheZahl: that's what i think too but why?

AntiSquid: yes but ocean of code is clearly difficult struct

eulerscheZahl: i finally learned how to spell it :(

Nagatwin: hahaaaa

AntiSquid: does the character exploit still work on the IDE? the weights occupy a lot of space

inoryy: character exploit?

AntiSquid: certain chars weren't counted into the total i think

Zenoscave: no unicode chars are two bytes but only one char

MSmits: meaning you can fit more information. It's not an exploit

inoryy: not really an exploit though

Zenoscave: yeah agreed

AntiSquid: but does it help with storing long decimals?

pb4: probably falls under the obfuscation rule

Zenoscave: 4 chars of bin packed

Zenoscave: and pb4 has a point

Zenoscave: Man Gold got hard fast

eulerscheZahl: legend is where the struggle begins

NinjaDoggy: you mean last day of contest gold

NinjaDoggy: is where the true struggle is

eulerscheZahl: :D

Zenoscave: legend is my goal. just getting legend is enough for me

NinjaDoggy: pass gold = automatic top 20 legend :/

MSmits: yeah thats what happened to me last time

MSmits: well before utg that is

NinjaDoggy: happened to me as well i think

MSmits: on ice and fire

NinjaDoggy: at least twice?

eulerscheZahl: my UTG story too

Counterbalance: is it posible that on some CG servers the code gets compiled to 32 bit?

Zenoscave: I doubt it

Zenoscave: but possible I suppose

eulerscheZahl: highly unlikely i would say

Counterbalance: yes, thought so

struct: at least for multies is no

Counterbalance: got some stackoverflow errors before main() at win32..

eulerscheZahl: CG has linux servers

struct: ^

Counterbalance: I know

eulerscheZahl: and they won't use both 32bit and 64bit compilers, as it's creating more effort in maintenance

struct: What is the error message counter?

Counterbalance: timeout

struct: no error from compiler'

Counterbalance: nope

Counterbalance: I'll look into it further - must be something silly

struct: What if you remove pragmas?

Counterbalance: it's intermittent - if i replay it often works fine

YannT: private enum class Damage { TWO, MAYBE_TWO, ONE }

YannT: I think I'm on the right track here

YannT: :nerd:

ZarthaxX: lmao

YannT: an integer isn't enoufg to express damage, you need an enum

eulerscheZahl: a double

YannT: and I'll add MAYBE_ONE in the next feature rollout

Zandy156: I really didn't think I'd be able to get into gold with movement that isn't based on the opponents actions.

MSmits: my bot moves randomly as well

MSmits: I just do a depth 0 floodfill to see if i dont lock myself in

Zandy156: I mean I get destroyed by mines, but they aren't that common yet I guess.

MSmits: mines are very common...

NinjaDoggy: this game is so sick

NinjaDoggy: too bad i'll have to swap to C++ later for more computattions

YannT: it's honestly not critical as of yet

NinjaDoggy: yea for now it doesn't matter

YannT: one of the top bots is python :p

NinjaDoggy: but in a few days it's gonna matter a lot

YannT: it doesn't feel like this is going to be an optimization centric contest

NinjaDoggy: why not?

NinjaDoggy: you can track the opponent quite well if yout wanted

YannT: yes but it doesn't take that much time

NinjaDoggy: but there's a lot you can do

NinjaDoggy: after you track them

MSmits: unless they spam silence :)

MSmits: then it takes a lot

NinjaDoggy: yep and that too

MSmits: btw, you can solve it by just exploding a few mines

NinjaDoggy: hm... maybe i should just do some stuff and get to bronze first

MSmits: I dont really see the benefit of sonar tbh, mines also clear the fog and they can actually do damage

NinjaDoggy: before i work on tracking and stuff lol

YannT: or just reset paths because there's literally no upside to tracking 1k paths anyway

MSmits: what do you mean there is no upside?

YannT: at that point it doesn't really prune anything anymore :)

MSmits: if you track the path, you have more cells he can't have moved to

Nagatwin: and info on the mines placements

MSmits: even if he lays no mines

YannT: unless you have every possible cell in the paths, then it does prune paths but not positions anyway (which is the end result you want)

MSmits: it does prune positions

NinjaDoggy: also if you track paths you can get better reads on positions

MSmits: if you know the path, then you know he can't move to any of the spaces on the path

NinjaDoggy: ilke if 10 paths lead to a certain position

MSmits: so you eliminate those positions

NinjaDoggy: and if only 2 paths go to some other position

YannT: okay but lets assume you have one path, right, then chain silence from that, you're going to have a few positions and a gazillion paths that cover all possibilities, so the paths won't prune positions anymore, might as well act like he surface and reset them

Counterbalance: 101250 paths max

MSmits: it's not black and white

MSmits: you should track all paths as much as you can, there's a good chance you can make it

MSmits: and if not, prune smartly

MSmits: dont just prune all paths

MSmits: prune partial paths

YannT: I'm not saying don't track paths in general, I'm saying at the certain point it becomes useless anyway (and that point requires the opponent to do nothing but silence which doesn't win)

MSmits: like, keep *some* visited cells as blocked, because they appear in all paths leading to a destination

YannT: this loops back to: performance is not that big a thing right now

MSmits: again... it's not black and white, it's not 100% useful or 100% useless. The more you track the better it is

MSmits: more paths stored does help

MSmits: even with a chain silencer

YannT: as a physics teacher you should really get more comfortable approximating stuff :p

MSmits: say there is a tight corridor he has to have passed in all 100k paths you have storeed

YannT: that's like, the entire difference between physics and maths

YannT: being able to say "this is annoying and also negligible" :p

MSmits: yes but I think it's not negligible

NinjaDoggy: nothing's negligible when pushing for top 5 :P

YannT: like friction in physics, it's always a thing until it's not because it got annoying to deal with

MSmits: also think about this Yannt, say he has 100 possible positions

MSmits: some of those possible positions have thousands of paths leading to them

MSmits: but some have maybe 3

MSmits: and the 3 paths share a lot of common characteristics

NinjaDoggy: ^ my point earlier

YannT: MSmits: my entire point is that literally never happens in a proper game

MSmits: if you just clean the whole history... you're definitely losing out

chucknorris: adn if u want to go deeper than 1ply I think knowing where the enemy can step is a must

MSmits: YannT if you mean that you never run out of memory and calculation time, then you're right, chain silencers dont exist at the top

MSmits: mines will make sure you can simply track all

YannT: typically against a chain silencing bot you'll have like maybe 30 positions for 1k paths, and at that point keeping those paths is useless because 1) it doesn't prune anymore and 2) you're against a bot who does nothing but silence and you've put mines everywhere so you're gonna win

MSmits: unless he knows where you put em :)

chucknorris: btw its usually max n points and 5n paths

YannT: well I've yet to see a silence spam bot perform well :)

Nagatwin: Saelyos

MSmits: but sure, there is a good possibility it wont benefit you much to do minimal pruning, but while prune too much if you dont have to

MSmits: I literally have a 20 line function and some hashing to do minimal pruning when i have to

Nagatwin: Anyone has some advice about memory managment for the paths ?

MSmits: why prune too much i mean

YannT: of course if you can handle a gazillions paths then feel free too of course, my entire point is it's not critical for success (looping back to: performance doesn't really mattter yet)

MSmits: ahh ok

MSmits: then you're right

Nagatwin: Atm I have a vector<path_struct *>, using new to duplicate paths and delete when these are not relevant anymore

Counterbalance: Nagatwin i just store all paths and some grids per path; my struct size is around 70MB

Nagatwin: CounterBalance using an array ? a vector<struct> ?

Counterbalance: each path is unsigned char positions[MAX_TURNS]

Counterbalance: I chose not to use STL here because of performance.. malloc/free is very slow

YannT: MSmits: you know what was a good idea tho, your plan for tracking mines

Default avatar.png JBM: Illedan, Illedan, Illedan

YannT: I implemented it and kudos to you, it works wonders

Nagatwin: Counterbalance : I need to store more than an array of chars per path

Default avatar.png JBM: that message was not a questoin to you! O:-)

YannT: my paths are int[15]

MSmits: YannT cool, good to know

Nagatwin: Counterbalance I feel like moving my structs around the array when I delete one is more costly than having to free/new

YannT: and, thatt also fits mines quite conveniently :)

MSmits: do you do this in 32 bit now?

MSmits: I switched to 64 bit myself

YannT: yes

Nagatwin: Msmits I guess I figured out the way you work with mines

Counterbalance: a copy of a struct is far faster than free/malloc Nagatwin.. I do a compact iteration after the updates

YannT: int[15) = 32 bits per row, 15 for path, 15 for mines

YannT: fits perfect


YannT: and the idea to put mines in there was yours :)

MSmits: ahh ok

MSmits: yeah thats what i do Nagatwin

MSmits: I changed mine to 64 bit for now

Nagatwin: Oh does it matters ?

MSmits: i had some bugs before and i wanted to eliminate the possibility of overflow

Nagatwin: I had a 64 too

MSmits: the thing is, in practice it never happens that a place is visited 4 times

Nagatwin: didn't you have a hp map or something ?

MSmits: so a mine will never be laid from it 4 times

MSmits: but what if i prune visited cells

MSmits: then they can be visited again

MSmits: and i might get overflow in my sim

Nagatwin: Counterbalance I'm curious, how do you know that ?

MSmits: Nagatwin i have a damage map but its not in my state

Nagatwin: MSmits oh ok alright

MSmits: i pass it down through my order processing and at the end of processing i use it to filter the state

MSmits: it goes down a recursive function

Nagatwin: Yeah

YannT: I had a damage map, ended up getting rid of it

Nagatwin: filtering through state hp too

Counterbalance: Oh for one thing, flat arrays are many times faster than stl vector, and I've read and written several malloc libraries. They use linked lists, region splitting/merging etc.. a lot of overhead

YannT: it was faster to just scan ceels

YannT: cells*

Valdemar: MSmits you do not need visited cells after surface and so on for mines it's reasonable though

MSmits: no after the surface, you reset visited cells

MSmits: but its still part of the state

MSmits: because you got 1 visited cell already

YannT: if you keep mies on say the high 15 bits of an int, path on the lower 15 bits, you can reset paths within resetting mines :)

YannT: assuming a 32 bits int

MSmits: yeah you can do that. I do think you still do it differently though Yannt

MSmits: you track mines directly

MSmits: I track places from which mines were laid

YannT: yes, per path, it's linked

Valdemar: MSmits of course do you guys try to minimize amount of memory?

YannT: prune a path, prune the mines that go with it

YannT: it's perfect :)

Counterbalance: Nagatwin if I remove a path, I copy the last path in there and reduce the size of the array; I don't have to copy the entire array if I remove the first entry, like vector<> does

MSmits: dont think memory is a problem valdemar, but minimizing memory maximizes speed also

YannT: MSmits: I keep track of places the mines were laid too

MSmits: but if you only have 15 bit, how do you track multiple mines being laid from the same cell?

YannT: not the mines themselves (you don't know where they are, it's a 1 in N chance)

YannT: it's true I don't

MSmits: is this a problem?

YannT: someone could surface, go back, lay another at the same place and it wouldn't increase my odds when it should

MSmits: hmm ok

YannT: not really because the possibility of a mine being laid from there still exists anyway

YannT: it should be higher, granted

YannT: but in the end you wanna avoid mines anyway :p

MSmits: yes, but you dont just use it to avoid them

MSmits: you also use it to track the opponent

MSmits: when he explodes one

YannT: true, I could remove a path unduly because of that

MSmits: that was my worry. But it is probably extremely rare

YannT: if he explodes both and I consider it not possible

MSmits: like our earlier discussion

YannT: never saw it happen yeah :)

MSmits: I actually have a if statement that kills my bot if i have no possible position left

MSmits: never happens anymore

Default avatar.png domenico.lordi: hey everyone

Nagatwin: Counterbalance yeah that's what I thought about

MSmits: Nagatwin you were right the other day btw

MSmits: you said my method leaves out one rare bit of possible information

Nagatwin: but my vector is a vector of pointers so it should not be too expensive

MSmits: i thought about it some more

Default avatar.png domenico.lordi: any python coder?

MSmits: if an opponent lays a mine somewhere and in your sim, he lays a mine at the same position during a time before it has exploded (two mines in same spot), then that is actually an impossible state

Nagatwin: MSmits actually I said that because I did not though that you were having 1 position per path but a list of possible ending position for each path

MSmits: my method doesnt respect the order in which mines were laid, just the position from where they were laid

MSmits: so a mine might explode, get removed and another mine laid in that place

MSmits: that has to be checked for timing, for perfect tracking

Nagatwin: Oh I see

YannT: well, I abide by the YAGNI concept

MSmits: I can do it actually, but I need another 16 bit map to fix that

YannT: until it screws me over, it's not an issue :p

MSmits: not sure if i will

Valdemar: update tracker during processing enemy actions should be sufficient

Nagatwin: MSmits does the order matters ?

MSmits: on the real path, two mines never get laid in the same place before 1 has exploded

MSmits: but one of your tracked states might do this

Nagatwin: Oh yes

MSmits: you could have eliminated this

YannT: unless there's a surface in the path

MSmits: if you checked the timing

MSmits: YannT yes

Nagatwin: Not only the timing but also the amount of nearby available cells

MSmits: yes, well that should be counted. I am already tracking that I think

Nagatwin: I handle this when I generate a mine map but not during the state update, I felt like it was unnecessary

MSmits: these are super rare issues, I doubt it's worth anyone's time

MSmits: I just wanted to let you know you were not wrong when you said you felt like my method is missing some bit of info

YannT: I don't think checking for "double laying of mines" would prune a lot because you have a verry little chance to have two line laying positions where there's no option for for them both to be in the same place

Nagatwin: Yeah :D

Valdemar: is sounds like spending much time to optimise 0.01% cases

MSmits: it wouldnt prune anything probably YannT

MSmits: it's a perfectionist issue

YannT: ;)

YannT: you know what is an issue tho, my eval not taking a guaranteed 2 dmg torpedo because it considers that would give my position away too much

YannT: I really need to rewrite it...

MSmits: you mean it would need to get 1 cell closer?

YannT: no no

YannT: it can shoot

NinjaDoggy: lol

NinjaDoggy: "wortH'

YannT: chooses not to

MSmits: thats bad yeah

MSmits: my bot just fires when it can

YannT: because the tradeof in detection isn't worth it according to it :p

MSmits: well above a threshold

MSmits: it's still blasterpoards 0.7

Default avatar.png JBM: you've been talking about that rewrite all day

YannT: well in my defense I was #1 for a while I wasn't gonna screw with that

MSmits: my current bot doesnt care if anyone sees it. Minespam ftw

Valdemar: YannT you use some kind of search with all actions to certain depth?

Default avatar.png JBM: sure you were

Default avatar.png JBM: we're 3 weeks from contest end

MSmits: 2 now

YannT: for now it's basically 1-ply bruteforce

Default avatar.png JBM: oh yeah

MSmits: i'm not in a hurry

Default avatar.png JBM: I was counting with 6-day weeks /o\

MSmits: trying to make my uttt solver use ab pruning with draws :P

Valdemar: including enemy moves or just yours? YannT

NinjaDoggy: :O

NinjaDoggy: i tried that for a bit

YannT: no 1-ply

NinjaDoggy: never really got it to work :/

NinjaDoggy: or it just gave no performance improvements :(

YannT: next rewrite eval, then 2-ply :)

MSmits: you mean the solver?

NinjaDoggy: yea

NinjaDoggy: ab pruning with draws

MSmits: it works well on some games. On uttt small improvement, not easy to notice

Illedan: Hi

MSmits: oh the ab pruning specifically

MSmits: i have no idea, it doesnt work yet

Valdemar: So you get to the top6 with only that? Impressive

YannT: ab pruning on minmax is typically a drastic improvement on most games

MSmits: no this is mcts solver YannT

MSmits: not minimax

Illedan: minmax on ooc?

MSmits: no lol... uttt :P

YannT: yeah I think that would be good Illedan actually

YannT: that's my plan

Illedan: Sure, play vs all possible locations and paths :D

YannT: especially when ennemy uncertainty is low, seems very appropriate

MSmits: beamsearch might be better

karliso: How do you do minimax in this game?

Default avatar.png JBM: sam as any other

MSmits: dont think you do karliso

Illedan: Sure you can

YannT: beamsearch is hard to implement here I think when you think about it

Illedan: But you need assumptions

MSmits: well there are so many ways to do searches in ooc, we may be talking about different things

YannT: you're gonna end up with 10 order combinations with same of similar scoring, it's gonna be like SILENCE 1 N, SILENCE 2 N, etc

MSmits: I was more talking about a search as in Hypersonic. Navigating an existing possible minefield using beamsearch, ignoring opponent

YannT: so it'll be hard to take the "N better options"

Illedan: Branching factor is not too high in this either

MSmits: not if you know where he is, no

YannT: I think you really need minmax to show you that the difference between moving here or one tile over is a torpedo in the face

YannT: 1-ply will tell you these are equal or close, opponent turn will show you it's really not

YannT: at least that's my thought

ronlobo: Anybody using any reinforcement learning or genetic algorithms for this?

Illedan: Think the most advanced bots are react bots with some pathing searching and complex ifs

MSmits: thats what i was planning to code

Illedan: I'm working on my search :P

YannT: at that point I think all bots are 1-ply bruteforce of order combinations with some description of eval

Illedan: My if spagetti is just making me sad

YannT: you can see it in the "surface killshots"

Beerus: how can i get the inputs from debug error stream

YannT: crazy finishers like SURFACE|MOVE N|SURFACE N 4|TORPEDO DEAD

Default avatar.png JBM: too many surface

YannT: happens if you combine all orders and see what happens

YannT: SILENCE* :p

Valdemar: YannT yeah, they looks really fun

karliso: So this game is more strategic than search based...

Illedan: At the moment

YannT: for now yes

MSmits: karliso, provided you write a good tracker first

Valdemar: I planned to realise that even further with mine placement and instant trigger, but rules don't allow that:unamused:

MSmits: you need this or your strategy wont help you

YannT: performance or algos are not much of a thing at this point

Illedan: You need to search for the opponent though..

YannT: opponent tracking is all heuristic yeah :)

Beerus: how do i copy paste the console

Valdemar: Beerus you can copy paste by hands, or try automate it with post request to codingame server

Valdemar: there is post from magus describing more, but you still will need research. There is no ready to use solutions

Valdemar: post on forum I mean

Beerus: i will try by hands

Default avatar.png JBM: hey Illedan/eZ if any of you still around, I was wondering if I got it clear

Default avatar.png JBM: is win/loss ocndition checked per action or per turn?

Illedan: hm?

Illedan: ye

YannT: it's per action

Default avatar.png JBM: k thx

YannT: you win on the frame someone goes to 0

Overacter: afte4r surfacing the x and y coordiante change is that normal?

Default avatar.png JBM: even if you suicide like worse later in same turn

Illedan: ye

YannT: yes

Default avatar.png JBM: thanks

Illedan: should be the same Overacter, unless you move too..

Overacter: after surfacing i move in x driection but the y ccoridnate changed instead of x

Overacter: befor surfacing all ccordiante where right

Illedan: Replay?


Illedan: You not at 0 14 after the surface?

Overacter: yes but i moved and the position keeped the same

Overacter: that messed up my position tracking

Illedan: You sure you don't overwrite some position or something during Surface?

Illedan: Do you forget to clear the path in your code?

Overacter: $x and $y come in every loop

ZarthaxX: reading x y wrong from input? :P

Overacter: fscanf(STDIN, "%d %d %d %d %d %d %d %d", $x, $y, $myLife, $oppLife, $torpedoCooldown, $sonarCooldown, $silenceCooldown, $mineCooldown);

   fscanf(STDIN, "%s", $sonarResult);#
   error_log(var_export(['d' => $dirI,'x' => $x,'y' => $y],true));

Illedan: Maybe you print 2 lines when doing surface?

Overacter: no and i never set $x and $y

Overacter: i allways keep the input

Overacter: i can track my position myself but that not should not be needed

Overacter: a replay with only output after reading input

Overacter: have fun

Valdemar: only you can see your debug output

Valdemar: so there is nothing interesting in this replay at all :grinning:

Valdemar: try use MSG for that

JFB: Strange - I received message "Better than the boss in Ocean of code" - you will be promoted to Gold league soon - it was abot 5 h ago - but I'm in silver still. It was wrong message?

Counterbalance: they botched it and put everyone back in silver and tried again

icecream17: you missed the whole thing

Valdemar: inside IDE on each turn you see debug output for the next command you don't printed yet. It may be confused at first Overacter

JFB: OK - :-)

Default avatar.png DEIZ21: hey illedan, Bravo for the ranking.

Illedan: ty

Default avatar.png DEIZ21: ll u share your code when the contest finish? i would be interrest

Default avatar.png DEIZ21: to learn

Default avatar.png DEIZ21: if not i can understant ;)

Default avatar.png JBM: IMHO it'd be easier to understand if he did share it

Default avatar.png DEIZ21: hhh i meant i can understand his decision

Default avatar.png JBM: xd

Astrobytes: lol DEIZ21 the contest will come back as a multiplayer game after the contest ends, so code sharing is generally frowned upon

Valdemar: on my view postmortem is far more useful, you can understand little from cryptic contest code everybody written there

Astrobytes: Valdemar yep

Default avatar.png JBM: not all PMs are created equal

Default avatar.png DEIZ21: it's my first time i code an ia

Default avatar.png JBM: nice

Default avatar.png DEIZ21: i need much ressources

Default avatar.png DEIZ21: and time

Valdemar: welcome to the club then

Astrobytes: You got 16 days DEIZ21 :)

Default avatar.png DEIZ21: no

Default avatar.png DEIZ21: i do work, i have a wife and children..

Default avatar.png DEIZ21: :D

Default avatar.png JBM: they can survive

Astrobytes: I mean, the competition has 16 more days, so use your spare time wisely ;)

ZarthaxX: and leave your family

Default avatar.png DEIZ21: yes i have some ideas but i dont think they ll enhance my bot that much

Astrobytes: Yes. CG self-isolation

YannT: using spare time wisely probably shouldn't consist in playing submarine :p

Beerus: i am trying minimax too

Default avatar.png DEIZ21: YannT hhh

Astrobytes: lol, depends I guess YannT :D

Valdemar: totally right, is should consist of writing AI to play submarine

Default avatar.png DEIZ21: minimax?? how the hell is this possible

YannT: very possible imo, that's my plan for the future

Beerus: branching factor is huge, u need to expand the "best" actions

muy31: ok, am i in gold league or silver?

Default avatar.png DEIZ21: possible but you need to evaluate the board and precomputed position evaluation

Astrobytes: If you are tracking your opponent well DEIZ21 then you can minimax

Default avatar.png DEIZ21: it's not a complete information game..

muy31: it is a good enough info game

Default avatar.png DEIZ21: sorry, i dont think so

Astrobytes: That's why tracking your opponent is important

muy31: ive been using minimax since wood 2

muy31: to movce

muy31: move

Default avatar.png DEIZ21: what league now?

LegendsOfCodeAndMagic: how deep minimax you can make..

Default avatar.png DEIZ21: what rank

muy31: gold

LegendsOfCodeAndMagic: mincuding opp answers?

Default avatar.png DEIZ21: 50ms

Default avatar.png DEIZ21: bizarre

Beerus: depth depends on actions

Valdemar: muy31 so you respect possible enemy movement when making decision?

muy31: yes

Default avatar.png DEIZ21: i need to enhace the opp tracking

muy31: i actually base it on whether I wan to move aggressively toward enemy or defensively away from it

Default avatar.png DEIZ21: yeh this is a good idea

Default avatar.png DEIZ21: but not minmax

muy31: no, it is,

muy31: in implementation it is

Default avatar.png DEIZ21: i can't see how

Valdemar: how do you deal with enemy uncertanity?

Default avatar.png DEIZ21: good question

Valdemar: there is hundred of possible positions

muy31: i set a score based on how many moves i have left and on how close/far i am from enemy

Default avatar.png DEIZ21: what??

muy31: i then simulate my turns

muy31: based on that

Default avatar.png DEIZ21: how do you know how many move you have in the openning and middle game

Default avatar.png JBM: 299 - moves already done

muy31: i mean like available squares to move on

Astrobytes: muy31 you're in silver

muy31: hey no

muy31: i just got a notification

muy31: from CG

wlesavo: the cake is a lie

Astrobytes: No, they accidentally promoted all of silver to gold earlier, then had to resubmit and recompute

YannT: it's from a botched league opening

YannT: everyone got the notification

muy31: RIP

Default avatar.png DEIZ21: i m ranked 98 silver and your bot just beat mine 3 times

muy31: nvm

muy31: me?

muy31: but my bot is broken right now

Default avatar.png DEIZ21: yes

muy31: sometimes it tries to go back to a previous square after using silence

Default avatar.png DEIZ21: 5 times

icecream17: I found a timeout error. Resubmitting

Beerus: guys try beam search minimax

Default avatar.png DEIZ21: what the hell it beats mine every time

Default avatar.png DEIZ21: you're raked 235 and i 98

Default avatar.png DEIZ21: ok it must be an overall score

muy31: yeah

muy31: but you just beat me just now

Default avatar.png DEIZ21: so some strategies doesnt work with somme other even if better raked


muy31: yes that is true

Default avatar.png DEIZ21: how you share?

Astrobytes: "replay and share" just under the viewer

muy31: in your match viewer click "replay and share", then copy link

Default avatar.png DEIZ21: ok thx

Default avatar.png DEIZ21:

muy31: me winning probably had to do with the map

Default avatar.png DEIZ21: 5 times i told u

YannT: muy31: you still have pathing issues


YannT: you surface a lot

muy31: i have those issues b/c of my attempt to use minimax while moving

muy31: cause i don't just base it on which squares i can go but also where my opponent could be, as I am trying to get closer

muy31: emphasis on trying

muy31: thanks tho YannT

muy31: ok YannT I can also explain

muy31: you use a lot of mines, and i mainly use Silence to get away from squares that could be mines

YannT: but you're killing yourself on a side :)

muy31: however, whenever I use SILENCE, there are weird bugs

muy31: in my move function

muy31: that i haven't been able to fix

muy31: Currently, i have started over

muy31: and am creating a new program

Illedan: Did you remember to save the path you have been using?

muy31: yeah i have a boolean array

muy31: after i move w/ silence or move i set my positions to false accordingly

muy31: i believe

struct: 6 different languages in top 10

struct: Even haskell rank 11

struct: damn

inoryy: OOC perfect contest confirmed?

struct: Only if D wins

inoryy: good point

MSmits: Does D have a profile tag now?

struct: no

MSmits: sad

struct: Its to prevent bully

MSmits: D-bullies?

struct: bullying*P

struct: So others users dont bully them

MSmits: bully who?

struct: D users

AntiSquid: oh just now noticed the name of the silver boss, good choice Illedan / euler

MSmits: ahhhh

MSmits: what is it

Astrobytes: Captain Haddock

MSmits: ah ok cool

AntiSquid: ya

MSmits: well I just succeeded in making my uttt solver a lot better

MSmits: but

MSmits: I noticed a bug that means i have to recalculate my meta mcts solved nodes :P

MSmits: which is extremely annoying

struct: When submit?

MSmits: after contest :P

MSmits: I'm doing this part time

NinjaDoggy: are you zoom meeting to do your lectures? :P

MSmits: google meet

AntiSquid: lol silver boss has serious tracker

struct: Seems like some security flaws have been found in zoom

NinjaDoggy: oh really? ._.

struct: Yes

AntiSquid: no gimmicky stuff allowed in gold eh?

NinjaDoggy: ok time to submit 1 ply movement only bot and see if i can get bronze :P

AntiSquid: what security stuff struct ?

AntiSquid: so many people use it .

inoryy: and by some you like dozens?

struct: security vulnerabilities

AntiSquid: uhm thanks for the detailed explanation

Illedan: No you can't NinjaDoggy :D

Illedan: Wood 1 boss is gonna let you down ^^

NinjaDoggy: :(


AntiSquid: illegal infringement violations

elderlybeginner: you have variable x. How to make range 0...x plus (x+5)...14 in python

elderlybeginner: eg. for x = 3: range(0, 1, 2, 8, 9, 10, 11, 12, 13, 14)

AntiSquid: thanks struct, the "Other Security Flaws" section is most interesting

inoryy: [*range(x), *range(x+5, 15)]

elderlybeginner: yep, should be working, thanks, maybe even expression generator can be used

muy31: Is this contest going to stay on CG even after it is completed?

struct: yes

muy31: like the other games (coders strike back, etc.)

muy31: ?

struct: yes

muy31: how come it only stays sometimes?

struct: Depends on sponsors I guess

muy31: i missed detective pikaptcha for example

muy31: never got to play it

struct: its available

struct: you can play it

struct: its in puzzles

struct: Type detective on search bar

AntiSquid: it's not a multi

muy31: oh

muy31: thanks

muy31: are there other contests tho

muy31: that were no longer available afterward?

struct: Some

AntiSquid: The Great Dispatch - bin packing algorithm

struct: Private hackathons

struct: The accountant

AntiSquid: ah ya those

muy31: ok thanks

struct: I would really like to try The Accountant agian

struct: :(

AntiSquid: that's the upside with newer games, easier to download and keep them if they never return :D

struct: If referee is public sure

Hithere: Colleagues, is it possible to use silence and move in the same turn? Is it possible to use torpedo and silence in same turn? What's about silence+move+torpedo?

struct: all above are possible

Hithere: Great! thanks

elderlybeginner: does silence + move make sense?

AntiSquid: Hithere Comrades*

R4N4R4M4: Je crois que j'ai le bon bot pour faire passer tout le top silver

R4N4R4M4: Je gagne le Boss et je perds contre le top 10 ;D

R4N4R4M4: spam push donc

R4N4R4M4: je vais mettre l'ép3 de la Casa de Papel en même temps

Astrobytes: ç'est n'es pas FR R4N4R4M4 :P

Astrobytes: *n'est

pb4: new meta :

vasylbo: back to beginning, who surfaces less times

YannT: pb4: :joy:

wlesavo: pb4 this looks exactly like my selfplay

Default avatar.png TheAlmightyBreakfast_9ce7: How do I make the text larger

Kukiss: In a place where you put the code?

Kukiss: ctrl + ,

Kukiss: then change Font Size

icecream17: Although my IDE code won against the code in arena 4 times in a row, i

icecream17: still think it's worse

R4N4R4M4: Vry je t'ai fait passer en descendant le boss :D

R4N4R4M4: Et c'est bien parti pour moi aussi

struct: I think wrong chat R4N4R4M4

R4N4R4M4: Ho sorry, Hi everybody, I'm lost :D

struct: hi :)

69razer69: hola

tekki: hi Rana

icecream17: YAS I won 5/10

Alexzz: Hello!

Kukiss: Hi

Default avatar.png chaffar107: hi

metahom: hey

ProjectAlchemist: Hello World

sayori: wuhan happy