Chat:World/2020-05-10
solaimanope: is there any way to filter out games which have failed? i.e. output in wrong format, segmentation fault, timeout etc.
thethiny: not that I know of
struct: Only by downloading the replay
thethiny: 2n is better than n^2 amirite
thethiny: 😂
struct: ofc
thethiny: out of curiosity:
thethiny: 4 vars
struct: var can only be 1 and 0?
thethiny: boolean, yes
thethiny: I think this is the smallets NAND you can go with
thethiny: !A and !B and !C and D or !A and !B and C and !D or !A and B and !C and !D or A and !B and !C and !D
thethiny: yeah just checked here
thethiny: http://www.32x8.com/index.html
thethiny: that's the smallest we can go
Kellthazar: Yey... for now, first place on my country. XD
thethiny: well done :D
BenjaminUrquhart: 6th for mine :P
BenjaminUrquhart: I got a ding
thethiny: waddyamean
dbdr: depends on n ;)
eulerscheZahl: oh, chat is back
dbdr: daily routine by now :D
eulerscheZahl: yeah
eulerscheZahl: bad timing with the contest and all
dbdr: possibly cause by it?
dbdr: a memory leak for instance
eulerscheZahl: and lots of new users getting an impression of CG with a broken chat every day
dbdr: yes :(
eulerscheZahl: it always happens at 6:15am
eulerscheZahl: doesn't sound like a memory leak to me
dbdr: lol. I should be able to check that in my bot logs
eulerscheZahl: more like a cron job to kill the chat
aCat: but the chat IS broken every day ;p
aCat: the impression is correct
dbdr: http://chat.codingame.com/pastebin/8af23ea0-e72d-456a-a655-2b994e6cfc15
dbdr: not an exact time
dbdr: but mostly around 6-7 am
dbdr: actually that's the time it comes back online
solaimanope: is the ranking algorithm of CG public?
the_joker_100: what do u guys do when ur pec sees no food??
the_joker_100: pac*
aCat: go to the one that he remembers should be there
dbdr: http://chat.codingame.com/pastebin/cc7d736e-b016-417e-a946-62f9a47bdef0
aCat: using priorities over distance, last seen, probability it's stil there etc
the_joker_100: @aCat?? u have a history of wehre ur pac has been to?
aCat: not exactly
aCat: see that at the beginning you know where ALL the pills are
aCat: when you see there isn't one that should be there you remove it from memory
the_joker_100: so goin to places not yet visited?
aCat: so there remaining pellets have nonzero probability they still are
the_joker_100: kk
the_joker_100: i kinda gotit maybe
the_joker_100: ty
aCat: not exactly nnot visited - I could seen them before but went other way
BetterThanJohannes: Can anyone tell me why once one of my pacs die, i automatically lose, but if the enemy pac dies, the game continues
aCat: that's basic approach that has lot of things to improve, but shoul give you the start
aCat: if more questions just ask
the_joker_100: @BetterTHanJohannes maybe u have not considered alive pacs while giving command?
the_joker_100: so maybe there is a timeout?
BetterThanJohannes: I just watched a match, and I lost 1 pac, and sent 2 move commands for my remainig 2 pacs, but still lost the match
BetterThanJohannes: no timeout, just said i had no pacs left
the_joker_100: can u share the reaply?
the_joker_100: replay*
BetterThanJohannes: here is one example, https://www.codingame.com/replay/460066055
the_joker_100: lmao
the_joker_100: i have no idea man
alexandreb09: Hey guys, Can I have some help about a puzzle, I don't understand the answer ?
alexandreb09: Oups, i just figured it out, sorry
eulerscheZahl: dbdr we just got the reason on discord
dbdr: oh i see
alexandreb09: How some people reach to finish Clash of Code in 14s ?!!
struct: puzzles repeat
struct: Some of them are solvable with one line
alexandreb09: When I finished the game, I was first (nobody has sovle them yet) and now I see they have finished in 14s
alexandreb09: They already know the answer, unpossible to solve it in 14s
alexandreb09: Just the tyme to type the line is higher than 14s so the time to understand the problem and solve it, i'm at 2min
struct: Can you tell me the statement?
struct: yes,
struct: I think like 20% of clashes can be solved in less than 15 sec
alexandreb09: https://www.codingame.com/clashofcode/clash/report/12159677b4c2cbaed5f6767ce6f4d5db64e661c
struct: But there was a time that coc had many bots
alexandreb09: Does that helps ?
eulerscheZahl: and there are some regular clashers who indeed know most problems already
alexandreb09: I think so, it's obvious
eulerscheZahl: alexandreb09 the published solutions are only accessible to those who participated in the clash
alexandreb09: Snif, how can I share you ?
struct: alexandreb09 also that was shortest mode, thats why the fastest time doesnt matter
eulerscheZahl: copy-paste the code in the chat directrly
alexandreb09: His code was : r=readline; [...Array(+r())].map(_=>([b,t]=r().split` `,t=t*9/5+32,print(b>t?"Higher":b<t?"Lower":"Same")))
the_joker_100: probabaly meant the statement?
eulerscheZahl: https://www.codingame.com/contribute/view/4788f646ae380d3853b0a71281b4e8805580
alexandreb09: Oh my bad, they actually did it in 14min !!
alexandreb09: I don't how to read min and s, need to back to primary school :upside_down:
cguzman: so many errors in this challenge puff
eulerscheZahl: name one of them
cguzman: I configure the git in Eclipse and execute the Spring2020Main.java in the test folder. What should I do to execute my code in local?
DollarAkshay: Hello :)
DollarAkshay: Long TIme
jacek: use intellij idea
DollarAkshay: no C
eulerscheZahl: eclipse if fine too
cguzman: one in C#, https://www.codingame.com/clashofcode/clash/report/12159677b4c2cbaed5f6767ce6f4d5db64e661c
jacek: no C#
cguzman: yes I can execute it in Eclipse, but it is not clear for me to execute my code in local.
cguzman: Any help? is it possible to execute my code inside eclipse and see it with the Spring2020Main.java in the test folder?
thethiny: test
thethiny: was chat offline for a while?
aCat: yep
DollarAkshay: Yup
AntiSquid: so?
AntiSquid: hi DollarAkshay are you joining the contest?
Doju: I finally found the issue
Doju: thought not the root cause
Doju: or rather, i found a symptom
Doju: oh actually maybe not
Doju: OH
Doju: YES
thethiny: gratz
Doju: the opponent's pacs have the same ids as you do
Doju: oh for fks sake xD
Doju: i was storing them in a dict by their id
thethiny: hahaha
AntiSquid: i told you your "universe" might be too cluttered
Doju: That had nothing to do with my universe though
AntiSquid: not really best idea to stick it all in one place
AntiSquid: uhm ok
Doju: and only the fact that i started storing them instead of generating new instances every time
AntiSquid: was it from outside it?
Doju: no.
AntiSquid: you don't have parallel universes in your bot?
Doju: Actually i was thinking of doing something with that
Doju: partly just because it sounds funny
AntiSquid: good, create the multiverse
Doju: partly because that might be useful in simulation
AntiSquid: don't forget to add time travel though
Doju: i will dw
Doju: and wormholes
Doju: and all the good stuff
thethiny: I don't like parallel universes
AntiSquid: why?
thethiny: I prefer save and load
thethiny: so you can properly shape your future
AntiSquid: there's 1 where i am #1 and wrecking the ladder, i am fine with that
thethiny: in that case
thethiny: there's one where I'm #9999 and wrecking havoc
thethiny: I don't like that
AntiSquid: at least you're still alive in this universe, so w/e
AntiSquid: rofl my new rank
the_joker_100: lmao
the_joker_100: the devil
the_joker_100: illuminati is real then:scream:
Doju: yeah now it works just fine
Doju: time to resubmit
Illedan: Thx for the pushing kovi :)
Nerchio: gz illedan :p
Durkin: aw hell, didn't clean something and have a couple games with memory errors
thethiny: test
Doju: How do you guys approach pac cooperation?
thethiny: Split the grid into n grids
thethiny: and each pac goes to the closest grid
thethiny: it makes everything easier
Illedan: I vote 1 Pac for president
cguzman: come on Illedan, I now you can be more stupid!
Quidome: Haha, my Line Of Sight is not considering a looking at my own back :)
the_joker_100: is anyone using eval tree??or i m the only one not usin it
AntiSquid: explain eval tree :/
thethiny: I love this line:
thethiny: return no_warp_distance if no_warp_distance < total_warp_distance else total_warp_distance
AntiSquid: could mean too many different things
the_joker_100: like minimax and stuffs?
AntiSquid: ah ... well probably some is using it right?
the_joker_100: idk im just using a whole lot of condition checks
Doju: @Quidome i don't think my paacs see downwards lol
AntiSquid: 3k players, what are the chances that only 1 is using it?
the_joker_100: what approach r u sing antisquid?
the_joker_100: using*
AntiSquid: not telling ?
Quidome: At the moment I don't do search considerring it for attack and defense
AntiSquid: until after contest
the_joker_100: coz i feel like my code needs to be re written
the_joker_100: kk
AntiSquid: then do it
the_joker_100: how mayn lines??can i ask that?
thethiny: @AntiSquid 1 is using what?
AntiSquid: oh i finally reached 500
the_joker_100: damnnnnnn
njaber: I'm working on perfectly deducing the possible positions of the enemy pacs while out of view with all the info I have, this is so much more of a pain then I thought it would have been
the_joker_100: i thought mine was way too much
njaber: I'm at 750 lines
the_joker_100: lmao im at 300
AntiSquid: ah ya even 500 is nothing
thethiny: @njaber keep track of all pellets, if a pellet goes missing in a corner then you bet the enemy is inside
the_joker_100: and its a mess already
Tiramon: around 600 right now
AntiSquid: but lines of code doesn't say anything
thethiny: I was at 86 yesterday
thethiny: today I woke up to 462
AntiSquid: some people write compact bots
njaber: thetiny that's part of the algo, a pat which I still haven't implemented
njaber: thethiny
thethiny: I've been writing this part for 24 hours now :(
AntiSquid: and i refactor this so i can read it, therefore i try to keep it shorter
thethiny: https://www.codingame.com/share-replay/460159889
thethiny: look at how I die
AntiSquid: frame ?
njaber: I'm just having an awful time with managing the potential speed boost and how it affects possible positions
njaber: I'm not yet at 24 hours on it, but I think I'm at 16 or something
Doju: At least you're considering other possibilities than furiously speeding every time you get a chance :D
the_joker_100: @antisquid https://www.codingame.com/replay/460160476
the_joker_100: one left and u still won/??
njaber: No I mean not the speed of my bot, I'm still doing, I'm talkign about the speed of the enemy
AntiSquid: is it a replay about me losing? because if it is then look at my rank first, it's 300+
the_joker_100: nah man im at 800
the_joker_100: u definitely won
Doju: lol you scrubs
Doju: i'm at 1900
the_joker_100: my food finding thing sucks
Doju: (/s)
AntiSquid: ah i see what you mean the_joker_100, why are you spying on me? :p
the_joker_100: just checkin man
the_joker_100: lmao
the_joker_100: im gonna back off now
AntiSquid: look at the top 100 bots, not at mine
AntiSquid: mine is still bugged so won't get you far
the_joker_100: yeah
the_joker_100: ok to grind now
the_joker_100: cya
Tiramon: gm prefering speed over switch is getting less wins than expected
Doju: Oh hold on
Doju: i think i'm deleting super pellets from the grid
Tiramon: let's submit and see ..
Tiramon: you should do that ... when they are eaten
Doju: I mean before the first move is even over :D
Tiramon: thats a bit early
MadKnight: hey Illedan
Doju: I'm always leaving the last pellet at dead ends.. whyy
Doju: that might actually be more efficient than eating them all but still it's not intended
eulerscheZahl: fool the opponent believing that there is no more pellet behind the corner as the path towards it is harvested
eulerscheZahl: then come back in the end game
Tiramon: ok guess i know why speed reduces my win ratio ... i'm faster and can't switch ... so i'm faster with suicides ...
Durkin: xD exactly same doing- dont even have a switch function, just spamming speed- the aggressive chasers hurt
Tiramon: my previous bot was not an aggressive chaser, but he switch to protect himself and to kill if possible, often enough the opponent then suicided at me ;)
eulerscheZahl: will be less successful when you climb in ranking
Doju: Oh okay
Doju: my vision function is screwed up
Doju: that's nice to know
Doju: https://www.codingame.com/replay/460173507
Doju: yup, definitely no unexplored cells left
Doju: (last frame)
thethiny: @eykerscheZahl I faced this issue, was at 80ish now at 500
thethiny: :(
AntiSquid: hey eulerscheZahl i fixed a bug in my bot thought i'd let you know just like everyone, don't want to be impolite
thethiny: hahahahahaha
Nerchio: chat is for talking antisquid
AntiSquid: that's what i am doing
thethiny: 😇
AntiSquid: what happened to your rank Nerchio
Nerchio: fixing bugs as always
Nerchio: or rather changing logic
AntiSquid: just make sure to let euler know when you're done Nerchio
AntiSquid: AutomatonNN did you fix your bugs?
AutomatonNN: what is the best way to learn the referee on the chat?
eulerscheZahl: thanks for letting me know AntiSquid
Nerchio: hey euler im fixing bugs atm
Nerchio: thought i'd let you know
eulerscheZahl: i'm put it on my list. where's the newsletter to subscribe?
thethiny: [SUBSCRIBENOW]
WaRiOrOfCoDe: hey is pac_count shows pac in sight of my pac or on the computer screen?
thethiny: sight of your pac
thethiny: pac(s)
WaRiOrOfCoDe: well I am trying to use it to avoid collision doesn't seem to work
thethiny: how so
WaRiOrOfCoDe: counting number of my pac's in line and if there coordinates were same for some turns
WaRiOrOfCoDe: but it doesn't seem to work
thethiny: I didn't get you
WaRiOrOfCoDe: I mean to say suppose my pac 0 is in block with pac1 now they were bloacked for say 3 turns as they were blocked there coordinates remain same so with the help of above two condition I would know they are blocked so I can direct them elsewere
WaRiOrOfCoDe: but this Idea does't seem to work
WaRiOrOfCoDe: i don't know what's wrong with it
thethiny: Cancelling a move may create new collisions. For this reason, the previous step is repeated until no new collisions are created.
thethiny: f the pacs are of the same type or belong to the same player, both pacs will go back to the cell they moved from. If the pacs are of different types, they can land on the same cell, but a pac can't cross the path of a stronger pac: it will be blocked.
WaRiOrOfCoDe: but they seem to go back to the collision due to presence of pellet
IAmNoob: hi!
WaRiOrOfCoDe: @thethiny hey do you mean to say that collision is cleared by game itself
thethiny: that's what the rules say
thethiny: but it's not working for me
WaRiOrOfCoDe: well I am trying to find a way to prevent blocking as my ai works well but the blocking thing make it stuck
thethiny: if distance to friends <= 2 for 3 turns
WaRiOrOfCoDe: yeah its good but then killing other pallets eould not be possible
Scarfield: do you pathfind with BFS? if pac on floor cell -> cant go
WaRiOrOfCoDe: nah men I am self taught coder
ChrisOz: Hey All, Is there a way of reliably measuring the elapsed time (javascript)?
thethiny: http://chat.codingame.com/pastebin/b0045b5a-ce9d-4575-887f-14145714800a
ChrisOz: 'time is not defined'
njaber: I think it's Date.now()
njaber: That's what I used when I was using JS
njaber: I'm not sure of the precision tho
ChrisOz: I am trying Date.now(), but the difference showing me is less than 10 and it still timesout...
thethiny: correct
thethiny: Date.now()
thethiny: are you multiplying correctly?
njaber: Date.now() is already in ms
njaber: Oh, if you have a timeout it's most liekly a bug on CG's part, I had that in JS and that's why I switched to C#
cegprakash: any meta in bronze yet?
njaber: Ironically C# was even more broken when I switched
njaber: now it's fixed tho
njaber: But it seemslike JS isn't fixed
DollarAkshay: Im having a bug
DollarAkshay: One of the super pellet locations is not being sent
DollarAkshay: IDK why
AntiSquid: cegprakash: AutomatonNN 10:31AM what is the best way to learn the referee on the chat?
AutomatonNN: be a better resource on the left panel
ChrisOz: hmm.. maybe I will need to switch to c# a well
njaber: #DollarAkshay Are you sure the pellet hasn't been eaten?
cegprakash: AutomatonNN is trolling AntiSquid
thethiny: yes
AutomatonNN: why do you see the difference between the arrows?
njaber: #ChirsOz might be worth doing a bit of debugging in case the bug actually comes from your code before deciding to switch
DollarAkshay: IDk why i am not able to read the last line in python
DollarAkshay: It was working finr so far
DollarAkshay: All of a sudden it stopped working in Python
ChrisOz: I have been debugging for last hour or so and can't see anything
Scarfield: always assume the bug is on CGs end :p
AntiSquid: the # create a channel if placed before a word #njaber
DollarAkshay: I havent changed my readinput function since yesterday
thethiny: guys you don't need to # to mention someone. The name will auto make the text red
DollarAkshay: Suddentl cant read the last line
thethiny: @DollarAkshay do a while loop as follows and check what it shows:
Scarfield: same league as yesterday?
njaber: Wait what, how does that happen, I don't even see it
njaber: I saw someone do that earlier and just copied them
AntiSquid: click the #njaber
thethiny: for i in range(100):
print("MOVE 0 0 0", input())
njaber: Oh
AntiSquid: gz you have your own channel
thethiny: XD
njaber: Sad there's no autocomplete on this chat
njaber: for names
Scarfield: there is
njaber: how
Scarfield: nj -> tab
thethiny: he said chat not IDE
AntiSquid: oh and btw #njaber_premium_members_only
thethiny: oh
thethiny: damn
njaber: OW
njaber: YES
njaber: NICE
Scarfield: :)
thethiny: thethiny
thethiny: why aren't I red
thethiny: :(
thethiny: Scarfield
AntiSquid: you can't self ping
thethiny: njaber
Scarfield: you cant ping yourself
thethiny: go and ping yourself
AntiSquid: no
Quidome: Is silver opening at the same time as the contest started?
AntiSquid: yes
njaber: Are other leagues opening at the same time as silver or later?
Quidome: later
wlesavo: DollarAkshay you reading last line, your debug output doesnot work, if in python use flush = True, you will see the problem elsewhere
DollarAkshay: @wlesavo You seem to be correct but I cannot understand what you are trying to say.
DollarAkshay: I should flush after every debug output ?
wlesavo: print(smth, flush = True)
wlesavo: i mean print(smth, file = sys.stderr, flush = True)
DollarAkshay: Yeah i got it
DollarAkshay: That might have fixed it thanks
wlesavo: np
DollarAkshay: Anyone find a seed with just 1 pac in it let me know
cegprakash: DollarAkshay min pacs is 2
cegprakash: u can see referee
thethiny: http://chat.codingame.com/pastebin/76b06a35-da59-45a8-bfe4-9e769b99fb91
thethiny: no need to complicate things
DollarAkshay: Oh okay
thethiny: corona
thethiny: stay at home
Scarfield: you cant move and use ability same turn?
thethiny: no
cegprakash: u can't Scarfield
IAmNoob: yessssss!!!!!!
IAmNoob: i did a very hard problem:)
cegprakash: IAmNoob no more noob
thethiny: wd
IAmNoob: :)
NapTown: any way to move console to another window?
thethiny: run locally
Uljahn: wtire your own browser
NapTown: helpful
thethiny: @NapTown javascript and console
thethiny: make it pop p
thethiny: pop up*
AntiSquid: just write a browser extention ?
Janoxakes: is there a way to know when I kill a pac in a corner? For example, if both end up in the same corner by chance, no previous information where it was
Janoxakes: Or would that be completely invisible?
thethiny: if you see it enter a corner
thethiny: go inside
Janoxakes: i mean, without seeing it prior
thethiny: you can assume it is inside if the pellet is gone
njaber: NO there's no way expcet inference from othe info
Janoxakes: for example, I'm in (0,1), the other is on (1,0) and we both get to (0,0) in the same turn
thethiny: correct
thethiny: unless they have different pathfinding
njaber: You'd need to have an algorithm that inferes paths taken from taken pellets, visible cells, etc. and maybe at some point you can be sure the pac is dead
njaber: I'm working on that currently
Janoxakes: yep, that's the point i'm trying to get
njaber: If I use speed "optimally", would I use it every 10 turn or every 11 turns? my bot is currently not working and I'm too lazy to rollback to test it
Csipcsirip: use it when its available
njaber: That's not what I asked
Uljahn: use it every 10 and see what happens
njaber: "my bot is currently not working and I'm too lazy to rollback to test it"
Bastett: Have I made a bad assumption here? I thought if I issued a move to a space more than 1 space away, and then didn't issue a command for that pac next turn, it would continue on that path. Is that not right? My pac is just sitting there
Janoxakes: No, it just moves one turn toward the destination
njaber: Bastett No you need to issue a destination each turn
Bastett: well pooh
Janoxakes: but does not continue later
Bastett: that explains why my tests were green but the game didn't behave as expected
Bastett: cheers
njaber: So, no one has an answer to my easy question? Guess I'll have to test it myself : /
tomatoes: 10
thethiny: yes but sometimes no
thethiny: 11 turns
thethiny: since CD is 10 turns
thethiny: and usning it requires 1 turn
njaber: Yeah I guess my question was wether the cooldown included the turn the ability is used
wlesavo: njaber just use it when you recieved a zero cooldown
thethiny: you can see the meter on top of your head
thethiny: let me calculate
thethiny: usage then 9 turns
thethiny: so 10 not 11
thethiny: https://www.codingame.com/share-replay/460212429 Here
thethiny: you can check for yourself
njaber: wlesavo That's not what I'm asking, I'm doing a pseudo-predict algorithm and want to know how much an enemy can move in a given time
thethiny: okay
njaber: thethiny this wasn't directed at you, thanks for the replay, but it seems like you don't use speed in this one
thethiny: yes I'm not, I'm using Switch instead
tomatoes: if you used speed on turn 17 (internal, not frame) , you can use it again on turn 27
njaber: Ok, it's indeed 10 turns, I ended up testing it
thethiny: lol
IAmNoob: at what level i reach silver?
thethiny: not yet
IAmNoob: ok:(
thethiny: silver unlocks tomorrow
IAmNoob: i speak about my level
thethiny: oh XD
Uljahn: 20
IAmNoob: :)
IAmNoob: ok
IAmNoob: i near
IAmNoob: close*
thethiny: my ranking is decreasing, who's resubmitting?
thethiny: aBoUt 100 pEoPle
IAmNoob: ?
Bastett: I think I'm about to shoot up a few ranks. Submission looking good so far
vronchin: hey python coders, is it possible to import other files: from utils import * ? I've tried but doesn't seem to work?
thethiny: well done
thethiny: why do u need utils?
vronchin: for my functions
vronchin: to put them in another file, for convenience
IAmNoob: do it from scratch
IAmNoob: if you can
njaber: I don't think you can submit multiple files
njaber: No matter the language
IAmNoob: it is not possible
thethiny: you can't put them in another file
vronchin: ok cool, many thanks guys
thethiny: I don't even know how you will "see" your other files
vronchin: well I'm using the chrome add-on, and I was thinking maybe importing was supported
Bastett: you'll probably want to process your separate files into one before uploading
njaber: If you want to get hacky you can stream from an http server and get them at the beginning of the program lol
vronchin: hahaha
vronchin: I'll stick to the one file format for now
DollarAkshay: is there any whay to tell if my pac is dead or alive ?
WaRiOrOfCoDe: your dead pac is not given in input
AntiSquid: that's probably the next contest theme DollarAkshay, you get shroedinger units
AntiSquid: cat units
WaRiOrOfCoDe: man that would be fun
AntiSquid: ugh
AntiSquid: no
WaRiOrOfCoDe: why contest will be totally random and based on probability
njaber: A contest where each turn each of your commands has 50% chance of not being processed
Doju: that'd be fun njaber
WaRiOrOfCoDe: that's what i am saying it will give braingasm
njaber: it'd be fun to make predictions for, Idk if it'd be fun to make decisions for tho
WaRiOrOfCoDe: yes
WaRiOrOfCoDe: both
Nerchio: i think the game tells you there is a pellet on enemy spot even if it was eaten?
AntiSquid: why not have a bingo or lottery contest then ? just write a bot that selects random numbers
thethiny: the Pellet is eaten at the end of the turn
njaber: have a contest of manipulating chaotic functions to achieve victory
WaRiOrOfCoDe: import random
MindControler: AntiSquid thats sounds fun. When can we start?
WaRiOrOfCoDe: and all done
WaRiOrOfCoDe: in python
AntiSquid: /s /s /s /s /s sorry missed a few line endings
AntiSquid: inb4 someone creates sarcasta ball multi
WaRiOrOfCoDe: i did not get that
AntiSquid: https://www.youtube.com/watch?v=vlv6BrrxD_4 WaRiOrOfCoDe
WaRiOrOfCoDe: okay i get it
WaRiOrOfCoDe: never watched south park
WaRiOrOfCoDe: till now
perseverent: can you speed after switch or do you have to wait 10 turns?
njaber: Wait
thethiny: wait 10 turns
perseverent: thanks
cegprakash: wait what
cegprakash: switch takes away cooldown :O
cegprakash: really?
thethiny: yes
Krizai: When silver league will be opened, what will be the condition to get into?
AntiSquid: be above 50% in bronze or defeat the bronze boss afterwards if you fail the initial promotion
AntiSquid: something like that
AntiSquid: can't guarantee anything
AntiSquid: 2700 players in bronze is somewhat unprecedented
AntiSquid: also you need an avatar to leave bronze Krizai
Ken_Fool: ^^
Krizai: Ok, thanx. I'm first time here )
Ken_Fool: so far my game record says i get +20% winchance vs players with no avatars
Ken_Fool: jk
Quidome: 50% in bronze promoted, that's a lot
AntiSquid: that's the usual 40-50%
AntiSquid: it's just bronze
AntiSquid: it's not meant to be hard
AntiSquid: well not super hard
Quidome: OK, I was working hard to make the initial cut :D
Ken_Fool: i was quite surprised that im even in bronze considering how lazy i am
AntiSquid: you still want to get higher no Quidome ?
Quidome: Can take a break
AntiSquid: and as i said i am not sure it's 50%
AntiSquid: maybe cutoff is at a 1000 or 700
AntiSquid: i don't decide this
Doju: freaking amazing tip to anybody using python:
Doju: you can iterate through a list of lists (grid) cell by cell
thethiny: yeah
Doju: if you make it a class and give it custom __iter__ and __next__ methods
thethiny: or you can just **grid
thethiny: and iterate
Doju: well
Doju: that's a more amazing tip xD
thethiny: I think it'll be sth like
Ken_Fool: cant you use the ':' to iterate through? (not a python user)
thethiny: flat_grid = *[*column for column in rows]
Doju: oh, right
Doju: well with my method you can do flat_grid = cell for cell in grid
thethiny: doesn't really matter XD
Doju: [] around those btw
Doju: yeah doesnt really matter
Doju: Ken_Fool umm not sure what you mean
thethiny: he meant
thethiny: for x in y:
Doju: Oh right
Doju: yeah but that'll give you a list of rows (or columns) instead of a list of every single cell
Ken_Fool: ah okay
Ken_Fool: i rly need to refresh my python, is so much more fun to use compared to c++
Ken_Fool: but i still suck at c++ and need to practice it ^^
Doju: python is really cool (although i don't have any experience with any other language apart from autohotkey)
Doju: but slow
Ken_Fool: i had numeric and an intro class in data science with python, that was rly fun tbh
njaber: How do I use CG's pastebin?
Ken_Fool: copy something paste in chat
Ken_Fool: ⛔ Game end
Ken_Fool: apparently not
Ken_Fool: my bad
Ken_Fool: yesterday it did for me
njaber: http://chat.codingame.com/pastebin/748b19f9-886b-4961-9928-cd767c81c30e
njaber: Ok nice
njaber: anyways I don't understand this
njaber: maybe I'm dumb
njaber: last line is the debug output
njaber: Hos is it negative
njaber: How*
njaber: Srry for the miss-indented Console line
thethiny: int speedLeft = Math.Max(LastSpeed - elapsedTurns, 0);
thethiny: elapsedTurns > LastSpeed
thethiny: right?
thethiny: just making sure
njaber: In that case yes
wlesavo: ((cooldownMargin / 10) - 1) * 4 this is always negative
thethiny: true
thethiny: cuz you're using Min
njaber: cooldownMargin is 1 in that case, so this would be 0
wlesavo: -0.9*4
njaber: And cooldowMargin can go above 10 but that's not the point here
thethiny: (cooldownMargin / 10
njaber: it's integer division
thethiny: is maximum 1
thethiny: - 1
thethiny: so 0
thethiny: plus minimum
wlesavo: njaber then -4
thethiny: 0
thethiny: -1
njaber: Yes so it's not negative, where does the negative part come from
jrke: hey my rank pushed back by 600 by submitting same code
thethiny: @jrke cuz you need to battle your way again
jrke: means
wlesavo: how is 1/10 - 1 is not negative
Bastett: 1/(10-1)?
njaber: Ohwait I'm dumb this is floor not ceil
njaber: Yeah ok thanks guys
jrke: why it happened to me
thethiny: you will go back to your original spot after 2 hours
jrke: K thanks
Doju: I have some pacs and the grid. I need a function that gets the visible cells to a pac based on it's position and the grid
Doju: Should that function be a method in the grid class or the pac class?
Bastett: I've got it on Grid
Bastett: but you can make the argument either way
njaber: I've got it in a block in another function lol
shashwat986: jrke so, what normally happens is that whenever you submit code, it resets your rank, then makes your bot fight every other bot, to calculate your new rank. At the time when it's fighting the other bots, your rank will be very volatile, and usually worse, because it hasn't fought as many battles
Doju: so there's no right way
Doju: alright, thanks
MahirSez: Will there be more additional rules in the Silver League?
Astrobytes: Nope
Astrobytes: Bronze rules are final: "All the rules are now unlocked!"
MahirSez: So what is the significance of the Silver, Gold and other leagues to be held next
Astrobytes: Improving?
Astrobytes: The bots get better and the leagues get harder
eulerscheZahl: higher leagues filter the bad players. gives a more stable ranking
eulerscheZahl: you also get more battles on submit for higher leagues
AntiSquid: disagree with stable rankings part
Astrobytes: "more stable" = relatively accurate
eulerscheZahl: more stable doesn't mean perfect
AntiSquid: even then legend feels chaotic, especially during contest
eulerscheZahl: at the end of the contest there will be a recalculation at the top (legend or top100, whatever is less)
eulerscheZahl: giving everyone approx. 1000 extra matches
Ken_Fool: can you derank from gold and silver?
eulerscheZahl: no
Ken_Fool: nice
eulerscheZahl: except SaiksyApo breaks the league :D
Astrobytes: lol
eulerscheZahl: he accidentally promoted everyone from silver to gold last time
Illedan: Only with database injection :P
Ken_Fool: haha
AntiSquid: he deranked everyone that time, makes one wonder why they didn't derank bug abusers that promoted through bugs
eulerscheZahl: double hulk?
AntiSquid: ya
Lulemair: Hello there :) Is it possible to read visible pellets before Pacmans ?
Illedan: No
Lulemair: Arf, ok thanks !
Doju: Is it good practice to throw "raise Exception"s everywhere?
Ken_Fool: not in c++ ^^
eulerscheZahl: exceptions are slow
Doju: no i mean for like debugging
Astrobytes: I donno, if someone finds a bug and uses it, it's kinda the the fault of the game authors right? Hate the game not the player :P
Ken_Fool: in esports bug abusing can get you banned
Doju: if something goes wrong you get the exception instead of some other error
Illedan: Sure, but crashing your bot makes you lose 100%
Doju: yeah :/
Doju: though i'd like it to crash in testing rather than in running
AntiSquid: Astrobytes so who's fault was full league promotion?
eulerscheZahl: #if DEBUG
Astrobytes: yeah I know Ken_Fool, I'm just being cheeky
Astrobytes: That was an accident AntiSquid
Doju: oh right eulerscheZahl that would be a smart thing to do
AntiSquid: not my fault, shouldn't get demoted for accidentally being awesome
Ken_Fool: #Astrobytes im also 50/50 on it, i mean kudos for ffinding and utilizing the bug but on the other hand they should fix it in contest and then they have a perma losing bot
Astrobytes: AntiSquid :D
Ken_Fool: ^^
Chitti_01: guys i am just staring this, I don
Chitti_01: t
AntiSquid: now there's an astrobytes chatroom, stop adding the # before user names Ken_Fool
Chitti_01: understand why when taking input
AntiSquid: you don't have to
Astrobytes: Yeah Ken_Fool, it's kinda more appropriate to report it and get it fixed right
Astrobytes: lol, AstroChat
Ken_Fool: okay #Antisquid thx for telling me how to ping correctly ^^
Astrobytes: lol
AntiSquid: you still did it
Ken_Fool: yeah you can tell me in chat ;) :*
AntiSquid: besides it's easier to write the username withoiut the #
cegprakash: should we go to #Antisquid channel?
Astrobytes: I suspect that was deliberate :P
AntiSquid: write few letters and press tab
AntiSquid: no, the current channel is #AntiSquid_cashers_only
cegprakash: #AntTab
Ken_Fool: AntiSquid thx, somehow i only ever tried Ctrl+Space
Illedan: #RealGeneral
Astrobytes: #SecretContestStrategies
AntiSquid: #leaked_legend_boss
Ken_Fool: can you guys recommend me a read on pathfinding?
Astrobytes: redblobgames.com
MadKnight: cegprakash all alone in #Antisquid channel
AntiSquid: join him MadKnight
Ken_Fool: Thx, that site looks intresting Astrobytes
Aitorcius: why my AI works good locally but when i submit i had only 2 moves
AntiSquid: it's for those who can't afford premium and enter #AntiSquid_premium
Ken_Fool: hahaha
Astrobytes: It covers pretty much everything comprehensively Ken_Fool, with lots of examples
Ken_Fool: #Antisquid_onlyFans lol
Ken_Fool: yes visual explanations and examples are always welcome, thank you :) Astrobytes
MadKnight: Automaton2000 when is your #onlyfans coming ?
AntiSquid: i prefer #AntiSquid_only_airconditioners
Automaton2000: you are getting close to top 10
Astrobytes: He has interactive stuff on there to show how the algos work too Ken_Fool
cegprakash: ppl in my country chat post "Yay! I've beaten AntiSquid's bot"
AntiSquid: wow
Astrobytes: Fame squiddo, fame at last
Nerchio: like its hard
AntiSquid: that's sad, cheering when you beat a shitty bot
AntiSquid: go beat top 10
MadKnight: no, we gotta keep beating AntiSquid
cegprakash: u are popular everywhere AntiSquid
MadKnight: it's not a question of glory
AntiSquid: 2400 people can't beat me in bronze
cegprakash: ppl freak out about their existence when they beat ur bot
Nerchio: this must be some kid of troll
Nerchio: kind*
AntiSquid: Nerchio no it's not
AntiSquid: they play vs active chat users
AntiSquid: somehow that matters more than actually winning
AntiSquid: yesterday and today people sent me replays of them winning vs me, i even was at #600+ :/
wlesavo: AntiSquid what a good way to say y have a rank of 200+ :slight_smile:
Illedan: AntiSquid, you lose vs me.. Fix it https://www.codingame.com/replay/460291553
Ken_Fool: you forgot the pound symbol ;)
eulerscheZahl: #in let's see who's beating AntiSquid
AntiSquid: ya see? i don't care, i know it's bugged lol
wlesavo: Illedan i actually have an ok winrate against you, but you are to far, only getting a games against #2
Illedan: You can't take the current ranking seriously. Too many players and too few games.
AntiSquid: now you sound like "i can't promote because i don't reach the boss" crowd, wlesavo
Illedan: Also, kovi pushed me very far ahead
wlesavo: AntiSquid i know :slight_smile:
Illedan: ValGrowth is beating most of the games..
Illedan: *me
tobk: just realized super-pellets are already known... so all my super-pellet-symmetry guessing was useless... :-(
Doju: Now i have a function that raises errors if debug and warnings otherwise. Thanks for the idea eulerscheZahl
wlesavo: but i actually cant promoute AntiSquid :disappointed:
eulerscheZahl: his secret is not getting eaten https://twitter.com/valgrowth?lang=en
Aitorcius: i change my code and i pass from 200 moves to 2 moves wowowo
AntiSquid: maybe if you wreck ille's bot hard enough you reach silver before anyone else wlesavo? give it a try just in case
njaber: Issou
wlesavo: tobk that sounds like a title of paper on M theory
jrke: hey is thereany problem if we continous submit
Astrobytes: SuperPellet Symettry hahaha
Astrobytes: *Symmetry
Astrobytes: P-branes = Pellet-branes
AntiSquid: there is no such thing as higgs pellet
eulerscheZahl: jrke is you spam submits, you will get captchas first, then it will be temporarily disabled
tobk: speaking of symmetry: anyone using the initial symmetry to guess opp positions?
eulerscheZahl: for up to 6h i think
jrke: K thanks
Illedan: ofc tobk
wlesavo: tobk sure
eulerscheZahl: i use it to remove pellets
eulerscheZahl: no tracking yet
eulerscheZahl: are you guys tracking aleady?
wlesavo: yeah, a little
thethiny: I implemented a system that detects if it's a trap or not! Does it work? Yes! Does it avoid the trap? No it just says "TRAAAP" before it dies.
eulerscheZahl: i'm like: if i can't see the opponent, he's not there
Doju: hahah thethiny
wlesavo: my tracking is bad, but it helps
Doju: that's hilarious
Illedan: I do some tracking, helps a lot
Chitti_01: Guys I just have this doubt the default code they gave for taking input is incomplete right???
tobk: in what way? guessing that there will probably be fewer pellets there, or for actually hunting pacs?
kovi: i started tracking today. no difference yet
eulerscheZahl: to avoid deaths? less useless paths for eaten pellets?
njaber: I'm working on a full tracking rn, currently times out after ~30 turns of not seeing the enemy, when I add optimizations, it should go for much longer, then I'll start actually using the tracking for something XD
eulerscheZahl: there's a discussion about giving dead pacmen in input
Chitti_01: Guys I just have this doubt the default code they gave for taking input is incomplete right???
wlesavo: i use opp positions in path estimation based on opp type eulerscheZahl
njaber: That'd be great
jrke: can our pac see back also
Illedan: ye
Doju: njaber wow that's pretty neat
Doju: maybe just add a limit that stops tracking once it's about to time out?
james1729: How do people display text above their pacs?
eulerscheZahl: MOVE id x y tet
eulerscheZahl: text
njaber: Yeah I'll probably do that, for now I'm still in testing mode
Doju: also that's a pretty decent idea imo
Doju: variable depth simulation
shashwat986: eulerscheZahl where's this discussion happening? Is it possible there will be rule changes when Silver opens?
eulerscheZahl: discord, private moderators channel :/
shashwat986: Chitti_01the default input code should be complete :|
Illedan: kovi -.-
wlesavo: that addition would be grate
wlesavo: just giving up all the pacs with visible flag would be the best, but to late for actually adding an input
Doju: hmm, why don't i actually just slap everything that's not input() into a try: except: thing
Doju: as a last ditch effort
njaber: that's... technically an optimization of your win rate
njaber: but it makes me wanna puke
Doju: hahah
Doju: why
njaber: because indiscriminate catching is bad
Doju: ermm
Doju: but it's for sure better than just getting an error?
njaber: In the specific case of optimizing your win rate, yes
Doju: if i throw my error handling function to the except part then i still get the errors when i'm debugging
AntiSquid: https://www.codingame.com/profile/f4a16eb714c49393f84132d59b35220e0585921 interesting username
njaber: Hey, wouldn't it be a cool start to camp in a corner where the enemy has few chance of seeing you/guessing you're here, and waiting for them to come to eat them
Doju: that would be a cool strat indeed
Uljahn: and than lose by points, ye great
njaber: I doubt it's efficiency tho
Illedan: Waste of pac move time
njaber: cool != winning
Astrobytes: AntiSquid it could translate to 摴睙桬す䩱穏湚䭩
Astrobytes: = Grace
AntiSquid: ?
Astrobytes: That username
AntiSquid: ah how ?
Astrobytes: I used GCHQ CyberChef
Astrobytes: 'Magic' algorith, depth 6, intensive mode
Aitorcius: https://www.codingame.com/replay/460309231
Aitorcius: why sometimes hapen
Astrobytes: Could be totally wrong too
Illedan: Aitorcius, your code crashes.
Aitorcius: always with the locally bot i had 200 moves but when i submit my code crashes many times
fatrujilloa: http://chat.codingame.com/pastebin/b591e504-7027-43cf-99b0-65182184a8b7
fatrujilloa: http://chat.codingame.com/pastebin/55e8567d-aff8-4be3-9a5f-29afa5c4b9d2
d0npr0n: is it possible to somehow debug in the ide and not the codin game ui?
fatrujilloa: .... I cannot copy and paste ?
fatrujilloa: WTF
MadKnight: fatrujilloa it just turned into a paste
fatrujilloa: Is there anyone having problems with the 'visible_pellet_count' ?
shashwat986: what sort of problems fatrujilloa?
fatrujilloa: Sometimes my code gets stuck in the loop to read the input
for i in range(visible_pellet_count)
shashwat986: that shouldn't happen
cegprakash: can I eat my own pacman
the_joker_100: lmao y do u want to?
cegprakash: I don't want to.. but it can be sometimes useful to save 1 pacman
cegprakash: when 2 are trapped
the_joker_100: probably not man
cegprakash: u eat one of ur own
cegprakash: and escape
the_joker_100: definitely not
shashwat986: XD
Astrobytes: Pacman wadas cegprakash :)
the_joker_100: maybe tryt to improve ur food search such that it is very rare that 2 of ur own pacs meet
cegprakash: go see wood2 bots and tell me how rare it is for 2 pacs to meet
cegprakash: it's pretty common
cegprakash: happens always
the_joker_100: kk
the_joker_100: idk then
shashwat986: cegprakash in case you aren't joking, what I've done to reduce collisions is make sure two of my pacmen don't go after the same pellet. That greatly reduces collisions
cegprakash: I don't go after pellets
cegprakash: I only go to positions
cegprakash: and score each position
cegprakash: it's like a search
anid: @shashwat986, this may reduce collisions but it will not eliminate them
anid: say 2 pellets are in a line, the pacs will each try to move towards one and will continually bump against each other
AntiSquid: anyone else experiencing a bug where they can't rank up to top 3 ?
Aitorcius: do you save your pacs with a if(mine)... or the game makes it?
anid: Me
the_joker_100: yeah
cegprakash: right.. shashwat986 what he means is if ur pacs have to cross each other to reach their pellet target u will still collide
shashwat986: true
cegprakash: but that may not happen if u go for closest pellet
shashwat986: i actually have logic explicitly looking at collisions and moving my pacs to ensure they go in different directions
cegprakash: but there is still a chance
shashwat986: but just sending pacs to different pellets reduced my collisions to maybe 5% of what they were earlier
anid: Another way would be to see if a collision happened in the previous turn so that it can be avoided later
kovi: antisquad, illedan and me managed a workaround vs. that bug
kovi: antisquid sorry
cegprakash: anid that's bad it's better to predict the collision few turns ahead
Aitorcius: if a do if(mine) to save the pacs the lenght will be 8, and if i do if(!mine) the lenght will be 4, you need to do this?
cegprakash: choose diff paths
cegprakash: but then I was serious about eating my own pacman
cegprakash: but just confirmed with referee that I can't eat
anid: Hmm, I dont use a BFS yet and this is enough for silver :)
shashwat986: kovi is it a simple workaround XD
the_joker_100: prob requires a lot of skills
shashwat986: cegprakash it mentions in the instructions that you can't eat
rogster001: what is the point of the 'shortest path' movement stuff? unless our pacs can see through walls or around corners then the pellets visible are always going to be in a straight line orthogonally from the pacs position
ltmoran: going to the super pellets?
anid: @rogster001 super pellets
rogster001: any pellets
rogster001: unless ive misread
ltmoran: THe big ones worth 10 points
shashwat986: Super-pellets are so bright that they can be seen from everywhere!
rogster001: right
rogster001: ok i get you
cegprakash: really? no line of sight for super pellets?
anid: :D cegprakash
shashwat986: nope. you see all existing superpellets
shashwat986: always
rogster001: i dont know - the perspective is not neccesarily the observers is it
CRVII: Hello, if I create a map of the area and want to print it, how do I make sure its not seen as a answer?
Scarfield: error print, whats your language?
cegprakash: "You can only see pacs and pellets that are in the line of sight of your pacs "
Aitorcius: how can i do the collisions? saving the last moves?
Scarfield: WOW
rogster001: right
Scarfield: are you reading statement seg :o
rogster001: so that was my point so why does it give you a movement which is the 'shortest path'?
shashwat986: cegprakash if you go down to the "The Pacs" section
shashwat986: "Your pacs cannot see through walls. On each turn you have vision on all of the pellets and enemy pacs that can be connected by a continuous straight line to any one of your pacs. Super-pellets are so bright that they can be seen from everywhere!"
rogster001: ok il read more throughly thanks
shashwat986: rogster001 because even if I can't see at point X, Y, I can still ask my pac to move there
shashwat986: at which point the judge looks at the shortest way to get there, and uses that route
rogster001: but i thought we were only given information about pellets in line of sight
cegprakash: thx @shashwat986
jke: does it give enemy cooldowns in the input?
shashwat986: for visible enemy pacs, yes jke
rogster001: originally i thought we would be evaluating by the amount of pellets in ANY area which place to head for
Astrobytes: If they are visible yes
shashwat986: rogster001 that's a good strategy, sure.
rogster001: basic one of course but was just assumption about game inputs etc
the_joker_100: https://www.codingame.com/share-replay/460329243
the_joker_100: guys i think there is a bug?
rogster001: so thats why the game inputs for single pac at least did not neccesarily seem to support that
the_joker_100: it says i got no pacs even though i have 2 still alive
shashwat986: where does it say you got no pacs?
the_joker_100: in the game information
Grrec: Why cant I play against the code of a friend? He is also Bronze, shouldnt I be able to find and add him? I can see @Eulersche ... but not my friend :D
Lulemair: the_joker_100 On my side it says you gave 2 instructions to your Pacman
Astrobytes: It gives the wrong ID for dead pacs sometimes
the_joker_100: Game Summary: Only Mazelcop still has pacs standing! Mazelcop wins with 215 pellets
Astrobytes: in the timeline bar that it
Astrobytes: *is
shashwat986: Astrobytes I thought the input doesn't give dead pacs
shashwat986: ah, ok
Derthek: Grrecc, you only see top 1000
Astrobytes: I think it uses the total pac count as id
Astrobytes: rather than your team pac's id
Grrec: @Astrobytes I was debugging 2 hours, to figure out that enemy IDs are same as mine. They collide and overwrite if you dont care about the "mine" value as well for separation.
the_joker_100: is it a bug then?
Lulemair: no ?
shashwat986: it's saying you gave invalid/no output in the last move
Lulemair: You have 2 instructions to your pacman
Lulemair: gave*
Astrobytes: Grrec yeah I know they're the same. But the ID given in the timeline bar when one pac dies is wrong sometimes
Grrec: @Astrobytes I was also tracking "dying" pacs out this was triggered everytime an enemy vision was lost.
Grrec: Mhh ok thats strange
the_joker_100: kkkk
the_joker_100: oh damn
Lulemair: On the replay it says you commanded Pac2 twice ^^
jkristof94: Hello everyone! Does anyone know if the referee will be available for this game as well? :)
Astrobytes: e.g: https://www.codingame.com/replay/460330059
Astrobytes: Look at the pac ID in the timeline when it crashes, and look at my pac ids
shashwat986: It could be an indexing issue. 0-index vs 1-index ?
avdg: pac ids move up if one dies
Lulemair: Astrobytes, the issue is about the destination I think, not his current position
the_joker_100: i have no idea how that is happenin
avdg: pac ids are not pac reserved
tomatoes: jkristof https://github.com/CodinGame/SpringChallenge2020
shashwat986: avdg i don;'t think that's correct
avdg: heard reports yesterday evening
avdg: but my bot doesn't depend on id's
jkristof94: Thanks tomatoes, exactly what I need!
Astrobytes: Look, I get that pac id's are unique for each team
avdg: it just sees pacs, gives them orders, so I don't have issues :P
ltmoran: Anyone else having issues with the input of the pellets?
ltmoran: i don't even know lol
avdg: pellets and opponents are subjected to fog of war except at the starter levels
avdg: you can always try to expand to unknown areas
Astrobytes: What I am trying to say, is that the ID given when a pac dies or crashes in the timeline does not reflect the correct id of the pac. Eg. the pac id you get when you hover over it
shashwat986: go back to the default code ltmoran
shashwat986: see if that takes input properly?
avdg: pac ids are just a list of known pacs
avdg: so no ids, just a list of pacs, that is what you get
Astrobytes: If my pacs are numbered 0 and 1, and enemy pacs are 0 and 1, why the fk does "Pac 2 (red) cannot reach..." get output in the timeline?
avdg: super pallets are always visible
avdg: astrobytes, you had pac 2 before 1 died?
Astrobytes: NO
Astrobytes: https://www.codingame.com/replay/460330059
Astrobytes: Sometimes you get pac 3, or pac 4
avdg: for that replay, it seems your bot crosses edges
Astrobytes: I think it's using the total pac count to ouput an ID when it should output the team-specific Pac ID
avdg: please mind the wrap
Astrobytes: YES AVDG, that is NOT THE POINT HERE
Astrobytes: IT was to illustrate the ID timeline issue
avdg: k, which turn?
Astrobytes: Look for the red bar in the timeline, says Pac 2 blah blah...
Astrobytes: Now hover over the Pacs and check the IDs
avdg: hover the red item
avdg: -1, 0 is unreachable
cegprakash: it'll be better if we also get how many enemy pacs are alive
Astrobytes: avdg THAT IS NOT THE POINT
Astrobytes: I KNOW it crashes
ltmoran: Would someone mind sharing their Python code which grabs the input? Mine doesn't seem to be working and I'm not sure how to reset it to the defaults
Astrobytes: LOOK AT THE DAMN ID
cegprakash: Id of what
cegprakash: oh
Astrobytes: Another example, gives me Pac ID of 4 - there is no Pac ID of 4 https://www.codingame.com/replay/460341476
cegprakash: to avdg
cegprakash: i thought fo rme
avdg: not sure where to look at
Astrobytes: No not you cegprakash
avdg: I only see the wrap issue, not the id issue
Scarfield: lol
cegprakash: id avdg
cegprakash: use pacman id
cegprakash: not index
Astrobytes: avdg Where it says Pac X cannot reach its target
tomatoes: hover event on timeline
Astrobytes: Then hover over the Pac IDs
cegprakash: yeah hover on the pacman
Astrobytes: The timeline event does not reflect a valid ID
Scarfield: maybe that part of the error output is just numbered from 1, instead of from 0 for the ids?
avdg: oh, that is just the error message...
Scarfield: does it have any impact on the code
avdg: for ai it's not a problem
avdg: for humans it's confusing
Astrobytes: It seems to reflect the index of the total pacman count rather than an id, therefore it's useless
Astrobytes: OBVIOUSLY avdg, it's rather annoying when debugging
avdg: if one looks at github, they might see a id + 1 I guess
avdg: fixed with pr
rogster001: is there any way of using more than one class file in the IDE?
avdg: I guess I crashed the world
avdg: totally not language being a problem here </sarcasm>
Scarfield: only one file in the IDE
rogster001: ok
avdg: use a compiler, upload with cg local?
avdg: depends on language and available tools I guess
muy31: you can make different classes though in the IDE
muy31: just no public
muy31: *not public
Scarfield: "Astrobytes 03:15PM What I am trying to say, is that the ID given when a pac dies or crashes in the timeline does not reflect the correct id of the pac. Eg. the pac id you get when you hover over it"
Scarfield: i guess this is the same issue then?
Scarfield: id + 1
muy31: the pacId stays the same no matter what
Scarfield: good :)
dbdr: I started to play (and lose) against Illedan, that's a good sign :)
Astrobytes: Must be Scarfield, I don't see any PR?
Scarfield: PR?
Illedan: dbdr, as long as you keep losing ;)
dbdr: I'll wait for the recalc to start winning, Illedan ;)
Astrobytes: pull request Scarfield, av d g said there was a PR on Github
Illedan: haha dbdr, never again
dbdr: :D
Scarfield: havent checked git myself, but i trust muy 31 has already been trough the issue, and knows from his statement :)
avdg: hmm super pellets are referred in the source code as cherries
Astrobytes: I never said anything about pac id's changing though? I'm talking about the timeline only. It's extremely annoying for debugging
Illedan: changing?
jrke: hey any suggestion my code time out
ltmoran: Would anyone mind sharing their Python code that gets the input with me? Mine is broken and I don't know how to restore the original
tomatoes: top right
jrke: restore button is above like refresh button or you can get your last submitted code from history in bottom left
avdg: Astrobytes: found the issue https://github.com/CodinGame/SpringChallenge2020/blob/754903f4a66fc4575ac988f7f15e7c85da0aa162/src/main/java/com/codingame/spring2020/Game.java#L374
Astrobytes: Illedan The ID given in the timeline is + 1 of the actual pac id e.g. when a pac dies or makes an invalid move
Astrobytes: Fix it avdg :P
avdg: no
Astrobytes: :D
avdg: no
avdg: I better patch terser again
Astrobytes: OK, that'll be a no then
avdg: or fix compiling vs code on my machine
Scarfield: oh it was avd g that said the pac ids were given as a list, got it mixed up
avdg: actually, pacs have an id and a number
avdg: id is used internal, number is used when passing to the ai
avdg: so the fix should be to return the number instead of the id
avdg: (I guess id is unique for all pacs)
avdg: ok I might fix this in github
avdg: and send a pr
Fosfen: Is it normal that a battle against a player has not the same outcome when I bring it to IDE ? The code is the same because I just submitted it and waited a few minutes to watch battles
Kukiss: Remember that the opponent might be using some kind of randomness for his moves.
avdg: fix is ready for merge
avdg: kukiss: or lack of randomness due to cooldown
Astrobytes: avdg: https://github.com/CodinGame/SpringChallenge2020/blob/d71009713f346163031ad2ad99198a0ef60f56a3/src/main/java/com/codingame/game/CommandManager.java#L115-L123
avdg: fosfen: happens if bots use random numbers
avdg: astrobytes: https://github.com/CodinGame/SpringChallenge2020/pull/3
avdg: getNumber is already used
avdg: but for that one case, getId was used
Fosfen: @Kukiss @avdg Indeed, even in the IDE each run isn't the same thank you !
rogster001: against a test bot? or your opponent?
avdg: my bot uses random numbers
avdg: but I changed that to a seeded one
rogster001: i doubt the IDE import knows about any seed used so you jsut have to deal with the randomness in dev
Astrobytes: nice one avdg
rogster001: i mean seed used in the game you played live
avdg: for js/ts is let seed = 1234567890; const rand = () => ((seed = (seed * 16807) % 2147483647) - 1) / 2147483646;
rogster001: yes but you cant account for opponent seeding
avdg: well, you have to help your opponent with that :-)
avdg: increases 1% chance debugability :p
rogster001: yer its just about narrowing it down for that use case
avdg: well, its still handy for testing
rogster001: yes i agree - at least you can force your bot to do a more predictable sequence
avdg: and still be unpredictable at first glance ;-)
avdg: well, it's not cryptographically strong
avdg: far from it
rogster001: i dont think we have to worry about that..
rogster001: are there any prizes in this competition or is it just the glory?
avdg: should be on the banner page
rogster001: ok ta
njaber: there's a Computer screen for First place I think
avdg: https://www.codingame.com/contests/spring-challenge-2020
rogster001: flippin hell i could do with one - sold out everywhere!
avdg: too many contestants
rogster001: unless you want one that cooks you dinner too
rogster001: thanks for the link - good prizes there, fun
ltmoran: I wouldn't get too enthusiastic lol
ltmoran: The top people seem to have it under lock and key
avdg: I'm quite confident I won't get top 10 even if I try my best :p
jrke: hey everyone is trying their best
muy31: i cannot believe this... https://www.codingame.com/replay/460094795
Astrobytes: All about the fun tho' ;)
muy31: guess ill have to fix my bug
muy31: Can I be the bronze or silver bot?
BenjaminUrquhart: anything is possible
avdg: muy31 mine does less like that even though my bot has some logics to prevent that
avdg: especially blind corners are making this game hard
muy31: yeah
avdg: if we replaced them with traffic and cars, we would be under lockdown for other reasons :p
muy31: :grin:
Astrobytes: lol
Fosfen: I just reached top ~700 !! That's not that big but I'm happy with it :D
shashwat986: It's big Fosfen, congrats!
avdg: welcome :-
avdg: )
avdg: so tomorrow we have silver club?
shashwat986: how many hours from now?
avdg: probably same time as contest opening
Scarfield: 26h ifaik
Astrobytes: around 26 hours
RockyMullet: gj Fosfen
njaber: It's not in 18h?
RockyMullet: contest usually starts the friday, I dont remember a contest starting on thursday
muy31: has anyone successfully implemented enemy location prediction yet?
Astrobytes: Think it was cause of VE day holiday RockyMullet
muy31: or are we all waiting till silver
njaber: I'm almost done
avdg: I have some logics, but my ai doesn't use it to its full potential yet
Scarfield: nope, thinking about how to do it, and how to use it though
njaber: And my AI doesn't use it at all yet
RockyMullet: oh thats a holiday in europe
RockyMullet: ok
Astrobytes: Yea
ltmoran: Are there always 4 superPellets?
avdg: it timed out my both yesterday evening because of having it
muy31: i see
avdg: though pathfinding was another cause
Scarfield: thats is hopefully not its full potential :p
eulerscheZahl: no holiday in Germany. But it is in France
avdg: but I get it fixed with few optimizations
muy31: so far, i haven't even recognized the fact that enemy pacs exist
njaber: Pthfinding is very light for me, 13ms at the start then almost instant during turns
muy31: that will probably be my next move
avdg: I don't measure
avdg: unless watching timeouts is a measurement as well
muy31: i do all pathfinds at the beginning
avdg: mine doesn't
avdg: situation changes too much
avdg: or I don't see a non-changing situation
RockyMullet: yeah all pathfinding from all cells to all cells at on first frame
avdg: you must have a special struct :p
avdg: or graph
RockyMullet: a distance and a direction to move
avdg: but in the latter, you still have to pathfind, albeit, less expensive unless you need to check tiles as well
Scarfield: is it really helpful in this contest though? if there is a pac in the shortest path between 2 cells, it will not be correct anyway?
avdg: rockymullet: works great on spirals ;-)
njaber: But pacs move
RockyMullet: I dont see the problem
Scarfield: collisions?
njaber: Pacs aren't obstacles, the real problem is not trailing a pac becaus in that case he would take all the pellets and leave you none
RockyMullet: oh I meant the spirals
njaber: Just eat pacs or something
avdg: s/aren't/not always
RockyMullet: but the precomputed paths can after be use to make a current path
RockyMullet: since tehre are multiple possible paths toward a position
njaber: No pacs aare not obstacles, you either flee them, try to optimize to take more pellet then them, or eat them
njaber: Considering them as obstacles is useless
Scarfield: sure, im just thinking it might not be that helpful in this contest?
avdg: I see too many bouncing pacs :p
RockyMullet: but there are still way l;ess possible paths when you at least all the possbiel paths to go there
avdg: but more often from blind corners
RockyMullet: well since you dont see the enemies most of the time
RockyMullet: to know shortest path without collision to a point is still really usefull
njaber: Yeah because people don't care about pacs at all, but counting pacs as obstacles won't make your bot better, if pacs bounce you are also keeping an enemy pac occupied
RockyMullet: this ^
avdg: pacs that are spread catch more pellets
avdg: in many cases
njaber: Oh you're talking abotu your own pacs
RockyMullet: my latyest change taht had a great positive impact, was to just ignore enemy collision and keep bumping into them
njaber: then just make pacs go towards pellets which are closer to them then they are to any other ally pac
njaber: and that's where the pathfinding is useful
RockyMullet: on the other hand, pathfinding helped me to not bump into my own pacs
avdg: seems your sinks are not great
RockyMullet: sinks ?
avdg: ideally, pacs move away from each other, or move in the same direction
avdg: unless you lock an opponent
avdg: sinks -> destination
njaber: I haven't update my code in almost 30 hours, of course it still has tons of problems
avdg: (gravitational version of destination, in context of target being lower of points than other results)
RockyMullet: rn the only thing I do to avoid collision, is that I "resever" the position of my first movement toward the pathfinding, so my others pacs check tehre first move too and wont go there is anohther pac is already there
RockyMullet: reserve*
RockyMullet: damn I cant write
avdg: reservation should be rarely needed
ZarthaxX: how do you know these?
ZarthaxX: i mean have you tested it
avdg: only known case if pacs have to cross when coming from different directions (and collide on a junction)
RockyMullet: around 73: https://www.codingame.com/replay/460377125
RockyMullet: my pac let my other pac pass instead of bumping
avdg: left pac getting right pellet and right pac getting left pellet is stupid
ZarthaxX: what a humble pac
RockyMullet: to be honest, my gathering suck and they shouldnt be both in that corner
RockyMullet: but at least it works haha
ZarthaxX: carne u made good pacs
ZarthaxX: they are gonna be great fathers some day
Astrobytes: The PacDaddy
ZarthaxX: sounds weird
eulerscheZahl: make pacman great again
RockyMullet: they dont eat enough pellets to give birth
avdg: lol opponent chases dead
Astrobytes: The PacFather
eulerscheZahl: The PacCifier
Astrobytes: oh dear :D
RockyMullet: first game of my submit against you euler
RockyMullet: and I LOST
Scarfield: maybe i should make my pacs humble: thinking:
RockyMullet: life's not fair
avdg: who won on first try?
eulerscheZahl: at least you tried RockyMullet
eulerscheZahl: i was wondering what you are doing in my last battles
RockyMullet: I actually stole something from your bot because I lost another match earlier lol
RockyMullet: I used to switch when stock on a collision with same type of pac
ZarthaxX: lmao
RockyMullet: but a lot of better bot (like yours) would jsut reswitch and kill me
RockyMullet: so I stole that hehe
eulerscheZahl: for a long time our last match was on par. but then you failed to find more pellets
RockyMullet: yup
RockyMullet: my gathering is by far the worst part of my bot
RockyMullet: it is mostly "go to nearest that another friendly pac isnt already going to"
RockyMullet: so yeah, it sucks
RockyMullet: it is also the first part I did, quickly on thursday lunch break, so it is already horrible ugly code lol
eulerscheZahl: i slowly start to dislike my codebase too
eulerscheZahl: and i found a bug in the MonoDevelop debugger :(
ZarthaxX: ¡?????
ZarthaxX: what is it
eulerscheZahl: running the code, printing error statements => i get the output that i expect
RockyMullet: why not VS community ?
eulerscheZahl: setting a breakpoint before that, inspecting the var: shows something else
eulerscheZahl: and then prints something else when i continue
eulerscheZahl: because VS community isn't for Linux
ZarthaxX: wtf
RockyMullet: ooooh
RockyMullet: ok
ZarthaxX: impossible to debug :(
eulerscheZahl: yeah, debugging the code sucks with that :/
ZarthaxX: weird that no one found that one
ZarthaxX: hits a core part
eulerscheZahl: and i can perfectly reproduce it
ZarthaxX: even worst
RockyMullet: ok this submit got me 44th, looks good, I made a small improvement to my gathering, not sure if I was lucky or it was actually better
RockyMullet: hard to tell with a 2.6k people league hehe
ZarthaxX: still spaghetti carne?
eulerscheZahl: i dumped my random search
AntiSquid: new number 1
eulerscheZahl: failed to find the big pellet too often
RockyMullet: yes, with stuff that doesnt belong on spaghethi, like chocolate and coffee
ZarthaxX: not longer doing random search?
ZarthaxX: :(
eulerscheZahl: correct
eulerscheZahl: but still a search
ZarthaxX: the toad dropping his preference
RockyMullet: yeah thats something I must change on my pacs, they are too tursty for big pellets
ZarthaxX: RockyMullet LOL
RockyMullet: even tho way too far to hope to get it before the enemy
ZarthaxX: chocooooooooolate
ZarthaxX: well "before the enemy" implies u somehow know where he is
ZarthaxX: tho initial positions tell you what to discard
RockyMullet: yeah my plan was to just "forget" about those big pellets
RockyMullet: if the closest is the enemy
RockyMullet: but it might make it worst against bad bots
ZarthaxX: u can try
RockyMullet: so I'll probably wait for silver to do that
ZarthaxX: just takes 1 submit to discard
ZarthaxX: yeah, the problem rn is matches count on submit
ZarthaxX: we need moar
eulerscheZahl: silver will be huge
eulerscheZahl: killing the website
avdg: my code is less than 800 lines and has lots of comments
ZarthaxX: half bronze or 1/3?
avdg: way smaller than other contests...
RockyMullet: yeah but I'm pretty sure most people go straight for big pellets at start
ZarthaxX: anyway ppl will get through easily
RockyMullet: just really bad bot that wont
ZarthaxX: RockyMullet like mine
RockyMullet: (╯°□°)╯︵ ┻━┻
RockyMullet: carne !
RockyMullet: what are you doing
ZarthaxX: :rofl:
ZarthaxX: didnt tell my bot to go for big pellet
ZarthaxX: he may go ocassionally
RockyMullet: its 10 points !
ZarthaxX: i got better things to do!
ZarthaxX: it may find that it's good to go for it
avdg: 🐛
ZarthaxX: gotta change some stuff so it goes more often carne
ZarthaxX: will do, promise
RockyMullet: put a bit of paprika on that spaggethi
eulerscheZahl: my code has a bit over 800 lines and has visual comments https://imgur.com/a/t6imroM
ZarthaxX: uhuhuh
eulerscheZahl: (removed parts of it)
ZarthaxX: love paprika, spread it everywhere
RockyMullet: nice
thibpat: Hi :wave: I'm streaming my progress on the Spring Challenge on Twitch https://twitch.tv/thibpat
ZarthaxX: cool :O
RockyMullet: hey thibault
ZarthaxX: dont get that eulerscheZahl
eulerscheZahl: get what?
ZarthaxX: that imgur
eulerscheZahl: is it blocked on your side?
Astrobytes: more pretty animations euler :)
ZarthaxX: nono
ZarthaxX: i just didnt get the "OR"
eulerscheZahl: 0 (=id) R (=rock)
ZarthaxX: ah ah
ZarthaxX: but what does this have to do with your visual comments?
eulerscheZahl: helped me to spot a bug. was resetting all pellets on cells visible to me or the opponent :D
ZarthaxX: hahaa
eulerscheZahl: as a reply to "my code is less than 800 lines and has lots of comments"
ZarthaxX: i found something related to that, i wasnt removing super pellets that had been eaten already
eulerscheZahl: not really a comment
ZarthaxX: ah ok
ZarthaxX: u use pijijs for the animations?
ZarthaxX: pixi
eulerscheZahl: no, i draw images with C# and for the sharing i generated a gif with imagemagick
eulerscheZahl: and thanks to the language update i have to use my own
- if VISUAL flag
eulerscheZahl: because .net core doesn't support the bitmap drawing
the_joker_100: just re wrote the whole thing
eulerscheZahl: so it would crash on CG
the_joker_100: fingers crossed
ZarthaxX: oh.. okey
ZarthaxX: that's super cool!
ZarthaxX: is there a lib for making gifs?
eulerscheZahl: http://chat.codingame.com/pastebin/8400a9c0-1501-4f3c-9e47-21f3ba838b60
ZarthaxX: imagemagick i mean
eulerscheZahl: that's all the code i need for the images and then from the command line: convert *.png replay.gif
ZarthaxX: so cool
ZarthaxX: makes it super easy
eulerscheZahl: i could set a delay per frame and such as well
eulerscheZahl: imagemagick is great. i even recolored the cars for the 2nd part of my space maze game in the terminal
ZarthaxX: so cool :O
AntiSquid: so cool to lose vs the frame limit -.-
AntiSquid: well my pacs are flawed but still
AntiSquid: https://imgur.com/a/2DignAd
eulerscheZahl: it's not even 200 turns as written in the statement
eulerscheZahl: it's 200 frames, which is less when speeding
avdg: so better write a bot that speeds up when winning?
njaber: That's not dumb
njaber: The best thing would be to speed when the enemy isn't
Doju: sorry whaat?
Doju: i'm printing commands but they're not doing anything
avdg: errors?
Doju: No errors
avdg: also mind all commands have to be written on 1 line
avdg: separated by |
Doju: Oh nevermind im just screwing the pellets up again
AntiSquid: what is best way to keep track of total frames ? lol
avdg: not sure, opponent might be speeding while you are not
AntiSquid: exactly the issue
avdg: and 2 pacs is enough to speed continuously
avdg: so best strat if frame counting is winning goal:
avdg: always have a pac speeding and always keep 2 alive
Quidome: hm, this is interesting, glad I was watching the chat :)
Quidome: So you only can know the exact ending of the match if you have at least 1 speeding bot all the time
avdg: other ai might die, or one ai might already have hit an unbeaten situation
avdg: so still not 100% there yet
eulerscheZahl: too early in the contest, probably not even legend level yet
avdg: s/legend/silver/
avdg: click the league above to see status
kovi: will game length be "fixed" for silver?
avdg: better track github
Doju: Will the submit stop if i don't watch it all the way?
Doju: or like wait for it to finish
avdg: it's a job that doesn't change once submitted
AntiSquid: you can submit today and check the result when contest is finished you want to doju
VSLourenco: What "Only pacs with the SPEED ability enabled can move" means?
shashwat986: Quidome <3 I love your profile pic
iFightLegends: Look at turn 31 - how am I supposed to kill them? https://www.codingame.com/share-replay/460424599
Hjax: huh, thats interesting
iFightLegends: looks like paper doesn't beat rock after all xD
iFightLegends: Even two papers together can't make it ;)
Hjax: its because you are colliding with his paper at the same time
ZarthaxX: the f is that
iFightLegends: But look here, when I try with scissors I die:
ZarthaxX: defensive strat 2k IQ
iFightLegends: https://www.codingame.com/share-replay/460457469
ZarthaxX: lol
eulerscheZahl: funny replay
Hjax: i guess you cant break that then?
njaber: If you are winning you could block access to remaining pellets to the enemy for trolling purposes :thonk:
ZarthaxX: well he lost time with those 2 there so better to leave
iFightLegends: I just don't know how I can make my code understand what's happening there :D
avdg: learn unit testing :p
ZarthaxX: just forget it lol
ZarthaxX: rare case
avdg: my bot had a draw
avdg: https://www.codingame.com/share-replay/460470185
avdg: and it seems that my perf tweak works
AntiSquid: https://www.codingame.com/profile/57640b35c62eceea153b5e0c688230477630382 euler clone :o
eulerscheZahl: oh, another topcoder player https://www.topcoder.com/members/Daiver19/details/?track=DATA_SCIENCE&subTrack=MARATHON_MATCH
eulerscheZahl: but i got my revenge and evaded their site recently
eulerscheZahl: invaded
WaRiOrOfCoDe: hey is visible_pac_count pac visible to pac or pac on screen?
avdg: still got 2 timeouts :/
NapTown: your pacs + enemies in sight of one of your pacs
WaRiOrOfCoDe: Hmm, then it would be hard to make my pac practice social distancing
avdg: I guess you want to infect your opponent :p
Doju: Exception: BUG
Doju: that's helpful, gj me
WaRiOrOfCoDe: na avoid infection in my own kind
WaRiOrOfCoDe: infecting other pac is better idea
shashwat986: Do you guys also have some games where it says I lost because of timeout, but when I copy the game to IDE, it works fine there
avdg: can be normal
avdg: ai may act different, but hardware may also be different or in a different state
avdg: most hardware these days are temperature throttled, but that is only 1 factor and weird for servers to have
avdg: or the hardware was affected by external interruptions
WaRiOrOfCoDe: if I may ask what is the role of hardware in AI? I mean logics are carried out even if machine throttled, If such things happen software would break down when machine throttle.
WaRiOrOfCoDe: sorry is I sound stupid but I want to know reasoning
WaRiOrOfCoDe: *if
Zenoscave: WaRiOrOfCoDe the reason is there are different specs on the hardware typically. If you timeout in league but not ide it means your code is hitting the 50ms
Zenoscave: but only barely
WaRiOrOfCoDe: oh that means constraints are given according to servers configuration
the_joker_100: https://www.codingame.com/share-replay/460483772
the_joker_100: stopping each other game
Doju: oooh
the_joker_100: i rewrote the whole thing again
the_joker_100: and this is just food search
Doju: since pacs can't see while speeding... maybe they're marking unseen cells as empty for some reason
Doju: wait no that can't be...
the_joker_100: i sometimes think that speed just too unreliable right?
Doju: that hypothesis of mine is luckily easy to test
CowZow: Is there a way to figure out which turns are ones where only sped up Pacs can move?
Doju: check where the distance to is 2?
the_joker_100: but the direction matters too right?
Doju: does it?
Doju: actually i'm not sure about that
Doju: maybe some experiments are in order
the_joker_100: weel if they moving away from each other then its no problem?
the_joker_100: well*
Aitorcius: for collisions do you use a thread or not?
Doju: I just can't find this damn vision bug
Doju: i think threading won't do anything Aitorcius
WaRiOrOfCoDe: does speed block vision
WaRiOrOfCoDe: did you check?
the_joker_100: yeah it just goes to where it went last time
Doju: I tried checking it but the bug is not caused by speed
Doju: so i'm not sure
Aitorcius: if the pacs are blocking for 0.5sec change the direction, but i think maybe i need to do a thread
Zenoscave: Aitorcius the machines you run on are non-hyperthreaded single cpus
Aitorcius: oh ok
Zenoscave: threading is pointless typically
shashwat986: also, this is a turn-by-turn game
Zenoscave: ^ this
Aitorcius: soooo, the easiest way to do the collisions are last moves?
Doju: It'd be really handy to output some kind of vision visuals from this
Doju: but i have absolutely no idea how to do that
Doju: or at least print something out without causing an exception
Doju: it's absolutely impossible to debug anything
Zenoscave: Aitorcius are you doing a simulation why do you need to handle collisions?
shashwat986: oh! no wonder you're facing so much of a problem debugging
shashwat986: I literally print the entire map every turn
Doju: how do you do that?
shashwat986: http://chat.codingame.com/pastebin/f8f8de72-fc3a-4b21-858f-587a846f9017
Doju: like, how do you print anything without the game freaking out
shashwat986: I compute it, and display it
shashwat986: oh, you need to print to STDERR
Zenoscave: You have to print to stderr
shashwat986: what language are you using?
Aitorcius: Zenoscave, because if a can avoid the collisions i can get in bronze
Doju: python
Zenoscave: Not necessary. No one avoids collisions in bronze that way.
Zenoscave: just do Breadth first search and stop if you would collide.
Zenoscave: don't calculate colliision reactions though
Zenoscave: print(..., file=sys.stderr)
shashwat986: print("text", file=sys.stderr)
Aitorcius: c# xd
Doju: ooh thanks shashwat986
Doju: i'll do that
Zenoscave: Doju just make sure sys is imported
Doju: i'll do that
shashwat986: ^
Doju: but im gonna go to the sauna, brb
shashwat986: Aitorcius I got into bronze by just eating literally everything i could, and running away from all pacs
Aitorcius: literally my mind blow and idk how to do xd
Aitorcius: i proof with methods for making random points when they are colliding but doesnt work
the_joker_100: rn im just searching for the best location to find food and going there
the_joker_100: and im at 1028
Aitorcius: you are doing your own map?
the_joker_100: kind Of
the_joker_100: yeah
AlluringChair: i got into bronze literally by selecting a random pellet and going there
Rabeeb: doing your own map means?
the_joker_100: i keep track of my locations basically
IAmNoob: hi!
the_joker_100: and where i have been there cnt be food there
the_joker_100: cant*
Aitorcius: well idk maybe i will delete all code and strat again because it is a kaos
the_joker_100: im doin that rn
the_joker_100: it feels so gooooood
the_joker_100: after u start to see improvement sman
Rabeeb: haha, u can improve more
the_joker_100: yeah i dont even have anything for combat and stuffs
Aitorcius: maybe i can code a method that finds the closest pellet for every pac
Rabeeb: @Aitorcius I kind of did that too
Zenoscave: Aitorcius that's called BFS
Rabeeb: I had code for one pac
Zenoscave: like I said earlier
Rabeeb: then all were going the same way lol
the_joker_100: maybe do a search where u can find the most pellets .i.e up, down ,left,right search and where the most pellet is go there
wlesavo: no collusion
Aitorcius: only one pac?
Rabeeb: it took a lot to change that
avdg: k, expanded my perf optimization a bit further, lets see what it does
Rabeeb: yeah, the wood league code
Aitorcius: copy paste the code for everyone and that is jajaj
Aitorcius: ou top 2 wood league perfect but not, i have the worst code ever xd
Aitorcius: yei bronze
ZarthaxX: gz
the_joker_100: k
the_joker_100: final submission for today
the_joker_100: they cant collide no more
Aitorcius: what a lucky hehe:cry:
the_joker_100: if u just reached bronze u should probably re write everything
BenjaminUrquhart: not necessarily
the_joker_100: well he asaid its chaos
Fosfen: I really love how we had the same strategy when it comes to eating enemies :D https://www.codingame.com/replay/460372613
the_joker_100: lmao
avdg: that lack of social distancing
the_joker_100: @BenjaminUrqhart
the_joker_100: https://www.codingame.com/share-replay/460517426
the_joker_100: i cant finally go to sleep with no worries
the_joker_100: did u see this @benjamin?
Icebox: vision loops arround map as well, right?
the_joker_100: prob not?
the_joker_100: i dont know man
the_joker_100: who knows?
the_joker_100: everyone has gone to sleep?
wlesavo: Icebox нуы
wlesavo: yes
Icebox: :ok_hand:
the_joker_100: gn then i goin to
IAmNoob: why you speak so?
IAmNoob: wlesavo
wlesavo: because i checked that
the_joker_100: they can see through the loops?damn need to revise something then
shashwat986: yes
the_joker_100: but not today
Aitorcius: sleep?
the_joker_100: yep
Aitorcius: what time is it?
the_joker_100: 10 54
the_joker_100: pm
Cappefra: does the ranking take into account crashes and like point difference or is it only just about win/
Aitorcius: three hours
Cappefra: win/lose?
IAmNoob: win/lose
Cappefra: I mean is losing 118-120 as bad as 20-130?
Uljahn: ye
Cappefra: ouch
Aitorcius: lose is bad and win good that is ahah
Uljahn: score difference doesn't matter
IAmNoob: yeah
Cappefra: it's a shame though
IAmNoob: all or nothing
WaRiOrOfCoDe: it does not matter try for draw
IAmNoob: draw dont matters too
WaRiOrOfCoDe: i have done draw
WaRiOrOfCoDe: it is hard
IAmNoob: it will rematch
WaRiOrOfCoDe: to keep same score
WaRiOrOfCoDe: no it did't happen
IAmNoob: it dont shows
AntiSquid: no there is no rematch for draw
Cappefra: it wouldn't matter much on like thousands of games, but having it like this on this kind of challenge means submitting twice the same code can make a huuuuge difference
Uljahn: sure
Doju: Okay time to print stuff
Doju: so glad i found out that you can actually do that
Doju: thanks for letting me know
AntiSquid: do what
Doju: actually print something in a way that it doesn't freak the game out
Doju: that doesnt*
Cappefra: I'm always so tense when I submit and I see my ranking float like crazy haha
cegprakash: ur rank floats?
cegprakash: (╯°□°)╯︵ ┻━┻
Cappefra: lol
cegprakash: mine sinks
shashwat986: a LOT
shashwat986: oh lol
Cappefra: I submitted at 480 and I saw 950-> 430 -> 630 -> 540
Cappefra: now let's see what happens
AntiSquid: i just submit and expect a random weird result that will force me to resubmit few times before i get an idea of how good the bot is
cegprakash: spammer AntiSquid
Aitorcius: i have a question, the decrement cooldown timers and all these stuff, i need to manage them?
AntiSquid: they reduced game count too much
cegprakash: Aitorcius not necessarily u can use the input
cegprakash: but u need it if u want to predict the future
AntiSquid: 70 games and 2.7k in arena, yea sure accuracy will be flawless on first try tright?
Cappefra: by game count you mean the number of battles to calculate your rank?
Cappefra: yeah ok
AntiSquid: Aitorcius you wrote atrocious wrong
shashwat986: Are there any youtube codingamers who work with c++ and stream?
AntiSquid: yes Cappefra
Cappefra: I'm so looking forward to the other leagues opening up
cegprakash: lol AntiSquid
AntiSquid: my submit ends at around 70 games
cegprakash: he is not atrocious
Aitorcius: any stream of c#?
shashwat986: AntiSquid any video?
shashwat986: *link
AntiSquid: of what shashwat986 ?
Aitorcius: Aitorcius xd
AntiSquid: videos of what ?
shashwat986: oh, crap
cegprakash: shashwat986 I streamed on first day of contest
AntiSquid: :/
shashwat986: i thought you replied to my comment with the name of a youtuber
AntiSquid: no
cegprakash: https://www.twitch.tv/videos/613937065 shashwat986
shashwat986: but you in fact said yes to Cappefra
Aitorcius: where is the list of streamers?
shashwat986: thanks cegprakash
Cappefra: fuck I lost ranks
AntiSquid: expected
Cappefra: I made some changes that I was hopeful about
AntiSquid: ah
AntiSquid: how many ranks did you lose?
Cappefra: like 40
Cappefra: I'm resubmitting
AntiSquid: that's nothing
AntiSquid: so basically your change doesn't do anything maybe
AntiSquid: or too few games to tell ?
Cappefra: yeah and I hoped to gain like 150
WaRiOrOfCoDe: once I lost 1000 rank when I submitted
AntiSquid: i timed out few submits ago and lost all
AntiSquid: won't matter, 7 days to go
WaRiOrOfCoDe: mine were not practicing social distancing
WaRiOrOfCoDe: and end up losing
whadk: i have the same problem
whadk: they all just stick together
WaRiOrOfCoDe: just like girls
AntiSquid: birds of a feather flock together
shashwat986: -.- WaRiOrOfCoDe
WaRiOrOfCoDe: you know you gotta separate the one from group
WaRiOrOfCoDe: to gain more points
AntiSquid: oh ya the cuckoos doesn't belong with the rest
WaRiOrOfCoDe: yup
shashwat986: do you guys use version control?
BenjaminUrquhart: put everything in master
BenjaminUrquhart: my version control is submit history :P
shashwat986: XD
AntiSquid: local version control, but the rustic way, copy to file
shashwat986: I'm thinking of rewriting a major component of my code :D wanted to be sure things don't break, so I'm considering it
JBM: but, you know, dumping the files in another folder is "one form" of version control too
Kellthazar: Howdy, folks. :)
rcar: spending 20 minutes learning git will give you a cleaner and easier type of version control than a bunch of copied folders
rcar: it's worth the investment
Kellthazar: #rcar is correct, you can save versions and switch from one to another easily. :)
Kellthazar: Now I'm refactoring my pre calc algo.
Jesus_inn_party: sup everybodeeeeee!
Doju: sup Jesus
Legitimacy: So I go up a league every time I defeat the boss?
WaRiOrOfCoDe: yup
Legitimacy: Does it usually take a while to move you up a league after defeating the boss?
WaRiOrOfCoDe: it happend with me so maybe yeah
WaRiOrOfCoDe: np
rcar: you need to submit your code and wait for it to play out all the matches
Legitimacy: against everyone in my league?
rcar: not everyone, but it plays a bunch of matches to make sure it has a good sense of your rank
RoboStac: yeah, it's not about beating the boss in a single game but ending up ranked higher than the boss at the end of your submit
Legitimacy: and now I'm wood 1 :sunglasses:
Kellthazar: Gratz
AntiSquid: for all those that posted wins vs me in chat, this is how you do it: https://www.codingame.com/share-replay/460552314 you post wins vs a top bot, not a low ranked one
Legitimacy: this is a pacatastrophe
AntiSquid: nvm it's a bad submit
AntiSquid: i can still pretend though
WaRiOrOfCoDe: nice
WaRiOrOfCoDe: gg
WaRiOrOfCoDe: lol my try
WaRiOrOfCoDe: https://www.codingame.com/replay/460559629
WaRiOrOfCoDe: but AntiSquid trapping is good tactic
BenjaminUrquhart: we might get 2k in bronze by tomorrow
BenjaminUrquhart: k here time to join the battle squid gang
https://www.codingame.com/replay/460561568
Quidome: you mean 3k?
BenjaminUrquhart: yeah that one
AntiSquid: you just did it again, i am relatively low ranked WaRiOrOfCoDe
AntiSquid: btw it's warrior with 2 R
WaRiOrOfCoDe: man how did you teach them to trap?
WaRiOrOfCoDe: my rank is way lower than yours
Quidome: 3,5k submits, wow
AntiSquid: there are 2700 in bronze already Benjonion
AntiSquid: BenjaminUrquhart
BenjaminUrquhart: I got corrected already
AntiSquid: no that guy is also wrong
shashwat986: Is there any way to increase the height of the console output?
AntiSquid: Automaton2000 is right
Automaton2000: what if there is any way to get the id of the site is down
BenjaminUrquhart: click the square
BenjaminUrquhart: but then it covers the replay window
shashwat986: yeah :)
shashwat986: :(
BenjaminUrquhart: what's the issue
eulerscheZahl: well, there might be 2k in bronze
eulerscheZahl: after silver opens
WaRiOrOfCoDe: @AntiSquid
WaRiOrOfCoDe: https://www.codingame.com/replay/460566027
WaRiOrOfCoDe: how about this?
WaRiOrOfCoDe: it took 3 try
AntiSquid: at least he is top 100
WaRiOrOfCoDe: yeah
WaRiOrOfCoDe: but it is hard for me to separate my pacs
WaRiOrOfCoDe: I believe if I am able to pull it off my rank will jump
Schneewittchen: Or this
Schneewittchen: https://www.codingame.com/share-replay/460568275
AntiSquid: lol Schneewittchen wrong person :/
Kellthazar: #eulerscheZahl, Are you using BFS to calc the distances between floors, right?
Schneewittchen: oh damn
eulerscheZahl: floor? if cell, then yes
eulerscheZahl: what a nice kill starting at frame 54 :) https://www.codingame.com/share-replay/460472631
WaRiOrOfCoDe: @Schnesewittchen
WaRiOrOfCoDe: https://www.codingame.com/replay/460570825
WaRiOrOfCoDe: nice game
WaRiOrOfCoDe: took 10 try
eulerscheZahl: but somehow still really close in points despite my lead by pacmen
struct: One question when pac has speed it seems it uses 2 turns instead of 2 frames
struct: is this right?
WaRiOrOfCoDe: he destroyed me at starting tries
Illedan: struct, it uses 2 frames
eulerscheZahl: yes
eulerscheZahl: shortens the game, magus reported it on the first evening already
struct: so 2 frames + 2 turns?
struct: ah ok
RockyMullet: damn non deterministic bots !
eulerscheZahl: hardcode them or fight them offline RockyMullet
Illedan: I'm fully deterministic
AyeshaMansoor: https://www.codingame.com/ide/puzzle/brackets-extreme-edition
Kellthazar: #eulerscheZahl Right, but are you pre-calculated then, or by demand?
AyeshaMansoor: can any one help me
eulerscheZahl: RockyMullet try this http://eulerschezahl.herokuapp.com/codingame/replays/reproduce/460472631
RockyMullet: Illedan exactly
eulerscheZahl: i precalculate the distance for each pair of cells in turn 1
RockyMullet: oh nice
shashwat986: what issue are you facing, AyeshaMansoor
cegprakash: hey if my 2 scissors and opponent's 2 papers try to enter into same cell in a turn, does both papers die or everything blocked?
shashwat986: everything blocked
shashwat986: (probably)
RockyMullet: ok after a couple of replay I got the same bug
cegprakash: makes sense
AyeshaMansoor: i don't knw how to code of this game
cegprakash: AyeshaMansoor what league are u in
jrke: which league
cegprakash: if u are in wood2 just print the last visible pac
cegprakash: that should take u to wood1
icecream17: 500th to 920th? awww
shashwat986: she's trying to solve a different problem altogether XD
eulerscheZahl: what does not make sense: p1 ROCK moves on p1 PAPER while p2 PAPER moves on p1 ROCK
jrke: hey last visible pellet not last visible pac
shashwat986: brackets-extreme-edition
eulerscheZahl: the rock moving on the own paper gets cancelled
eulerscheZahl: but p2 can't eat the rock
Illedan: huh?
Illedan: why?
eulerscheZahl: no idea, someone shared a replay a while ago
Illedan: Got the link?
cegprakash: oh a paper and rock crosses?
cegprakash: eulerscheZahl
AyeshaMansoor: i need code plz can someone gave me
MadKnight: what code
Illedan: public class Code { }
MadKnight: http://chat.codingame.com/pastebin/73d888b9-d0df-4837-ba67-adc37f1eddab
MadKnight: here's some code
eulerscheZahl: https://www.codingame.com/replay/460424599
Schneewittchen: What if paper, rock and scissor crosses?
Schneewittchen: Game collapses?
cegprakash: turn eulerscheZahl?
MadKnight: no Illedan u're supposed to give hime new Code()
Braykin08: If more than 2 pac crosses, noone moves
Illedan: That makes sense eulerscheZahl
eulerscheZahl: almost every turn cegprakash
eulerscheZahl: 48
Illedan: I see no problem on that one
AntiSquid: AyeshaMansoor there's a bunch of links on discord with streamers coding bots for codingame, watch those
eulerscheZahl: doesn't make sense to me but ok..
eulerscheZahl: i would expect the red paper to eat the blue rock
cegprakash: why it makes sense
Braykin08: Since the papers do not move into the tile with the rock, they do not kill it. They get blocked by each otehr first
eulerscheZahl: at least before there are 2 papers
Illedan: http://chat.codingame.com/pastebin/d3fb5539-345d-4546-b4f3-467fc3711b90
eulerscheZahl: at first there's only 1 red paper
eulerscheZahl: at 48 there is no allied collision
Adnmaster: guys i have a problem where the pacs move slowly, can someone help me?
Jay_Jayjay: what league are you in?
cegprakash: hey eulerscheZahl what happens when my paper moves right and opponent rock moves left do they cross each other
Adnmaster: wood 1
Jay_Jayjay: what language?
eulerscheZahl: why do you think that i know these edge cases?
Adnmaster: python3
eulerscheZahl: i don't
Jay_Jayjay: how many inputs do you have?
cegprakash: coz u rank top 5
Jay_Jayjay: and how many prints?
Waffle3z: managed to climb from 100+ to 26th when I haven't submitted in 13 hours
AntiSquid: hey euler i've update my bot a little bit
shashwat986: heyy Waffle3z
eulerscheZahl: that means nothing. i avoid collisions with my own units
Adnmaster: i have a lot of calculations but not many inputs
avdg: nice waffle
eulerscheZahl: thanks AntiSquid
Jay_Jayjay: you should have 5 inputs
Jay_Jayjay: and one output
eulerscheZahl: believe it or not the chat isn't even the worst
Jay_Jayjay: every game loop
shashwat986: I'm generally debugging against your bot, because your bot is incredibly passive, and great at pathing
AntiSquid: you get private messages eulerscheZahl ?
Adnmaster: i have more inputs than 5
eulerscheZahl: got a private message with someone asking to review his bot, full code as pastbin attached
AntiSquid: happened to me too
AntiSquid: he asked to help with c#
Waffle3z: my bot? yeah I don't do much combat stuff, I think if I get in a stalemate I'll switch after speed runs out but that's it
eulerscheZahl: you have a CG logo behind your nick
Icebox: you obviously reviewed his bot eulerscheZahl didn't you?
Icebox: like a nice guy that you are
eulerscheZahl: i didn't even open the link
Icebox: xD
MadKnight: hey cegprakash how's your bot ?
MadKnight: did u rekt AntiSquid ?
eulerscheZahl: told him that it's a contest
AntiSquid: i directed the guy to euler btw
Icebox: I mean I had something similar but worse
shashwat986: :D
eulerscheZahl: now i'm curious who it is...
Icebox: Some dude asked me to review his art and sent me furry hentai :upside_down:
Icebox: so yeah, idk
Icebox: Id rather get a pastebin of code tbh
eulerscheZahl: asked via PM, we are talking about the same user
MadKnight: did u like it Icebox ?
Icebox: MadKnight I can forward him to you if you're interested
AntiSquid: madk your rank is 10 times bigger than mine
Quidome: dbdr you there?
AntiSquid: madao kun fix it
eulerscheZahl: MK submitted? :o
MadKnight: your rank is 10 times smaller than mine AntiSquid fix it
anid: Is the ability cooldown for all pacs or is it for a single pac
AntiSquid: should i crash submit or what
AntiSquid: playing dirty mk, you ask ceg to fight your battles
dbdr: Quidome: yes
Icebox: I like it how 5 years later and I need to read "fix it" and I still already know who's writing the message
AntiSquid: and he is also low rank, mk
MadKnight: it's not just my battles, it's everyone's battles to beat AntiSquid
Icebox: some things never change huh
eulerscheZahl: fix it
AntiSquid: lol
MadKnight: my bot just goes to nearest drop
RockyMullet: fix it Maddy
AntiSquid: "drop"
anid: Can I switch 2 pacs in a single turn?
eulerscheZahl: it's spreading, became a running gag already
ZeroByter: Yes Anid
AntiSquid: MadKnight they should demote your bot to wood 5
ZeroByter: Each pac has his own individual cooldown
anid: Ok, thanks zerobyter
cegprakash: eulerscheZahl I pasted ur link on forum bugs
Illedan: Hi Icebox. Trying serious on this one?
MadKnight: fix your overly straightforward joke AntiSquid
ZeroByter: Also, I tried to implement a feature that would help my bot and it dropped my rank lol
AntiSquid: fix your bot madao
MadKnight: i will
MadKnight: but now i'm too sleepy
eulerscheZahl: found it cegprakash not sure if it will ever get read, 86 messages already :o and most of them just users not understanding the game
ZeroByter: man im bad at strategy
ZeroByter: is rank 700 considered good?
MadKnight: fix it is a local meme Icebox that's why we say that
Adnmaster: does anybody know how to convert python3 to javascript, or another language?
MadKnight: it's like F
AyeshaMansoor: where the these branch code
eulerscheZahl: 700 will get you to silver but probably not gold
ZeroByter: oh nice. i can prob manage ~700
MadKnight: Adnmaster try to find something via google
Adnmaster: ok
goolmoos: will all the leagues open tonight or just silver?
MadKnight: silver
ZeroByter: I think just silver, right?
Icebox: Illedan I kinda missed the first 3 days due to some real life stuff
cegprakash: is it possible to suicide into enemy position? like take my paper and go to his scissor position when he's not moving
Icebox: aside from that, yeah I think I'll try going for it
ZeroByter: Yeo
ZeroByter: Yep
Illedan: Nice :D
ZeroByter: Happened to me
ZeroByter: Not fun
ZeroByter: Why would you do that though cegprakash?
MadKnight: Icebox VS Illedan
cegprakash: I don't want to do that
cegprakash: that's why I need the condition
MadKnight: but u could
cegprakash: suppose he has a scissor and I move to him with a rock.. he decides to switch to paper
AntiSquid: MadKnight write a GA
AntiSquid: how's your GA MadKnight ?
cegprakash: in this case will I die?
Peudoki: yes ceg
cegprakash: damn
cegprakash: so chasing is a bad idea
cegprakash: when he has cooldown
wlesavo: cegprakash actually the rules are not particularly clear on this one, i would say you cant step on them if there are not moving, but i didnt check that
wlesavo: they are
struct: if they donjt move they will eat you
struct: or you wil eat them
struct: or you go back to prev cel
cegprakash: wlesavo oh
cegprakash: yeah that contradicts with eulerscheZahl's replay
ZeroByter: Doesn't matter who moves into who. As soon as there is a collision (regardless of who initiated the collision and who was standing still), who dies is decided by rock-paper-scissors
wlesavo: If the pacs are of different types, they can land on the same cell, but a pac can't cross the path of a stronger pac: it will be blocked.
MadKnight: this is not a meme AntiSquid u can't just say that
struct: the replay that euler posted is correct
wlesavo: this is unclear to me
cegprakash: why struct
jthemphill: > a pac can't cross the path of a stronger pac: it will be blocked
Why blocked and not eaten?
struct: because there are 2 pacs of same type that moved into a cell
struct: and their movement gets blocked
jthemphill: oh we're still talking about the two-player three-pac situation
struct: Think like this
cegprakash: oh
cegprakash: makes sense
struct: step 1: If 2 pacs from same player go to same cell their movement gets blocked
ZeroByter: Are we>
ZeroByter: ?
goolmoos: how do the ranks work? cause I haven't submitted in a while and I am still climbing
jthemphill: and then step 2 is two pacs of the same type get their movement blocked
jthemphill: right?
cegprakash: eulerscheZahl it makes sense
struct: step 2: if 2 pacs of same type disregarding player go to same cell their movement gets blocked
BlackOverlord: do we get information about ability cooldown of opponent's pacs?
shashwat986: if they're visible, yes
wlesavo: BlackOverlord yes
ZeroByter: Nice
struct: I think its like this
BlackOverlord: cool, thanks
struct: let me try 1 thing
struct: wait like 5 min i wanna confirm someting
AntiSquid: MadKnight is that your excuse to not write a GA? calling it a meme?
goolmoos: Can you tell when you kill a pac around the corner?
struct: no goolmoos
wlesavo: struct you right, this chain collisions could be interesting Cancelling a move may create new collisions. For this reason, the previous step is repeated until no new collisions are created.
ZeroByter: So frustrating
shashwat986: I think this submit, the RNG really likes me. I've lost only 2 of my first 20 games
Doju: I think I have to delve into the scary task of precalculating paths
Doju: with python
Doju: D:
shashwat986: yeah, my condolences
Uljahn: use numpy and scipy ezpz
Waffle3z: one problem I have is my own pacs having interfering paths. later pacs respond to earlier pacs claiming pellets but it doesn't go the other way
shashwat986: took me an entire day to do something that is still at-best an approximation
Beerus: does anyone know if its bad to call functions(that contains loops) on reading phase
Doju: Luckily you can optimize the cost to like a quarter of the naive approach
ZeroByter: ? why would that be an issue?
Doju: with a few super simple things
Beerus: my reading elapsed time is ~50ms sometimes
Waffle3z: the first pac I compute a decision for doesn't know what the rest of my pacs are going to do, the last pac does
Waffle3z: in some cases maybe they would have made a different decision
daanolav: why does it seem like other players always know which pellets I'v picked up, while I only know the ones I see / have seen?
shashwat986: i use layers of strategy for that
struct: okay Uljahn there is one step I missed
Schneewittchen: #daanolav Predict the position of your enemies
struct: https://www.codingame.com/replay/460597212
struct: See turn 15 or something like that
daanolav: but won't that take up too much time?
Schneewittchen: It depends on your implementation
struct: So if you move to a cell where a pac of yours was your movement gets canceled
struct: I guess
struct: pac of yours is*
FrankR: Schneewittchen: any good tips for how to do so?
daanolav: but even simple prediction will probably be better than none at all
Schneewittchen: Look up Particle Filters
Schneewittchen: For example
FrankR: interesting idea.. thankss
jthemphill: is particle filtering just keeping a list of all the possible places your opponents could be, like we did in sonar?
Schneewittchen: Then you cancel out the paths of your enemy, if you see him, so you could know where he went and what pellets are on the field left
Schneewittchen: #jthemphill Ya
jthemphill: neat
shashwat986: it was easier in sonar because you got to know the direction. here we don't know what an enemy has done
struct: not sure it was easier
jthemphill: oh but you need to backprop every time you see an enemy
Flodnes: Will they open up higher leagues or is bronze the max?
struct: Flodnes tomorrow silver opens
jthemphill: you see them now, and you know how many turns ago you saw them last
struct: There is still gold and legend after silver
jrke: silver wil open tommorow
Flodnes: Thanks
FrankR: struct: click on "Bronze League" and it'll show when the next one opens
Waffle3z: I assume pellets are still there until I can see that they're not
Waffle3z: oh there chat goes not scrolling again
eulerscheZahl: struct knows when silver opens
Quidome: schrodinger pellets
Schneewittchen: He owns silver already
Doju: Waffle3z that's what i'm doing as well
shashwat986: so, broadly speaking, what rank do you guys think the bronze>silver judge AI will be in today's leaderboard?
jthemphill: is this sidebar chat actually one of the discord channels?
Doju: it's pretty good for finding lone pellets in the endgame
jrke: hey my time out in nested loop
shashwat986: hey jrke
shashwat986: made progress?
Beerus: cin >> myScore >> opponentScore; cin.ignore(); this has elapsed time ~40ms , what the heck?
shashwat986: the opponent is playing in that duration
jrke: ya input also takes time
shashwat986: it isn't a problem. your move time starts after you've taken input
Beerus: oh damn
Beerus: ~50ms is move time
Beerus: i thought 100ms
Waffle3z: bronze boss difficulty just depends on how many people they want to throw into silver right now ig
Waffle3z: how does it usually work
shashwat986: oh, hmm
ZeroByter: Is it just me or are the bosses really easy this competition? They barely do anything, just roaming around randomly (atleast I think its randomly)
Waffle3z: wood bosses aren't supposed to be strong
ZeroByter: I mean all bosses
Waffle3z: there are only wood bosses
struct: There are only 2 bosses
ZeroByter: oh
shashwat986: so do they pick up the code of someone at the rank they want to cutoff at, or do they code a boss themselves?
Quidome: tommorow there will be a bronze boss if you don't make the cut
ZeroByter: i just thought they force the level of the boss to be what they want, regardless of how its actually doing
struct: boss is a bot from a playert
struct: they choose one to become boss
ZeroByter: mm ok
Quidome: normally the lowest player promoted
struct: and everyone above him gets instantly promoted
Doju: Now that's a peculiar situation https://www.codingame.com/replay/460604861
Doju: starting around frame 100
Quidome: I find this a really smart idea
Quidome: @Doju that's clever play
Quidome: :)
Doju: It's accidental but yup that'd be an interesting idea to implement
jthemphill: @Doju did red leave the super alone because eating the super would give their position away?
eulerscheZahl: jupoulton2 at rank 744 might be a good boss (CG likes to choose themself as a boss)
Doju: Not quite sure why it didn't eat the pellet
RockyMullet: not interested by those dirty big pellets
MonZtaDeluxe: is there already a referee available to downloadß
Quidome: https://github.com/CodinGame/SpringChallenge2020
MonZtaDeluxe: nice nice thank you
dbdr: I found a serial killer: https://www.codingame.com/replay/460610204
ZarthaxX: LMAIO
struct: yet you almost one
struct: won*
struct: my english rip
Illedan: Might be viable if executed perfectly
Neoncamouflage: I've debated designating one of the pacs as a sort of hunter/killer while the rest grab food. Not sure how it would work.
ashikujjaman: is this a problem or my misunderstanding?
video window doesn't showing anything....
shashwat986: dbdr that seems like a lot of bad luck :D two deaths on corners
Counterbalance: ashikujjaman where? Are you running the referee locally?
kovi: pentakill?
Doju: Wow, almost none of the top players are running python
Doju: are they actually utilizing all the time given?
AntiSquid: python is very slow
Doju: indeed
E_pur_si_muove: dbdr: why could red (id=0 type scissor at pos x=23 y=6) kill 2 blues, when the second one was a ROCK?. It is turn 11.
Doju: i'm not doing anything special and still have like 47 ms to spare per move
Doju: that's enough for a bunch of things
struct: E_pur_si_muove it only kills 1 blue?
E_pur_si_muove: oh. sorry. ur. 2nbd blue won. :(
ashikujjaman: my window showing only black screen
thethiny: control F5
thethiny: MaC: Command Shift R
Counterbalance: control-shift-R
shashwat986: Floyd warshall or BFS? my BFS is still timing out
dbdr: E_pur_si_muove: the rock survives, no?
dbdr: and the scissors die
E_pur_si_muove: dbdr:yes, 2nd blue won. :(
AntiSquid: which language shashwat986
shashwat986: ruby
E_pur_si_muove: anybody using CG-Local or CG-Sync w/ Chrome? None of them wants to work for me. I can't switch to local editor. ON cannot be selected.
eulerscheZahl: i like my copy-paste workflow
shashwat986: I've used the fact that the graph is symmetrical along X
Waffle3z: BFS once per cell
shashwat986: I'm doing that. It's taking too long
Counterbalance: bfs once per cell is the same order of complexity as FW
Abhishek_Saini: At what time today, silver league will open?
eulerscheZahl: no Counterbalance
shashwat986: yeah, but FW has a better way of storing paths, right?
eulerscheZahl: BFS is O(n). do that n times and you have O(n^2)
eulerscheZahl: floyd warshall is O(n^3)
shashwat986: hmm, maybe that's independent of the algo itself
shashwat986: wait, what?
Counterbalance: oh yeah indeed, eulerscheZahl
Waffle3z: keep a queue, remove from the front, add neighbors, don't add previously visited cells, repeat until queue is empty
eulerscheZahl: because it's a grid and only has very few neighbors for each cell
eulerscheZahl: floyd warshall doesn't know about this
shashwat986: @ Waffle3z and do this for every element in the map. Yes, I'm doing this
Waffle3z: maybe ruby is just slow
shashwat986: It works fine as long as I'm not storing the path
shashwat986: The moment I'm appending to all those arrays to cache paths, it times out
Waffle3z: I store the path, I keep a reference in each position to the parent and put the hierarchy into an array and that's the path
shashwat986: what do you mean by parent?
Waffle3z: {x = x, y = y, parent = last}
Waffle3z: the previous node in the BFS that it came from
shashwat986: oh, ok
shashwat986: i think I get it
shashwat986: thanks <3
Waffle3z: could also just store an array instead of a sort of linked list and duplicate it every time I expand a node
Waffle3z: since I convert it into an array in the end anyway
Waffle3z: oh I am already doing that
Doju: xD
PatrickMcGinnisII: darnit, i timeout on larege boards
tobk: hm, pac on speed getting stuck in deadend with one more pellet to go
eulerscheZahl: i've been there before tobk :D
tobk: wants to pick of the pellet, then go one step back, but game just interprets it as "no move" (which is understadable given the output)
eulerscheZahl: well, i only allowed targets 2 cells away. so i left the last pellet and returned later when the speed effect was over
Nerchio: i feel like my bot is so bad and its in top5 :s
eulerscheZahl: it's the frist weekend
eulerscheZahl: everyone has a bad bot
tobk: I get the best adjacent cell, and then the best adjacent of that when boosted (which then turned out to be the original cell)
Nerchio: i know but its only 10day contest its not like there is forever to fix it :p
avdg: and now its the time I find a terrible bug in my ai :D
Nerchio: tobk you can't do that
Nerchio: go back to your cell i mean in the same turn
tobk: yes, I know, but did not thought of it before. fixed now
wlesavo: Nerchio then fix it rn :slight_smile:
Nerchio: i will start improving my bot again when silver opens
eulerscheZahl: when silver opens, servers will be crying in pain
wlesavo: roughly 700 ppl rerun
Nerchio: who is usually the best java player? I thought it was valgrowth? or
Nerchio: ah, wala
Nerchio: similar nicknames :D
eulerscheZahl: nmahoud e is doing well too
wlesavo: walagrowth
AntiSquid: when silver opens everything freezes :D
Nerchio: lul
struct: So many hungarians near the top
wlesavo: as always
Nerchio: imagine if Antisquid started coding in Java that would be fearsome
eulerscheZahl: all from budapest even
AntiSquid: why java?
Nerchio: idk why not?
Peudoki: Hungarians are big brain people
AntiSquid: there's lots of new entries in the top actually
avdg: I guess https://github.com/CodinGame/SpringChallenge2020/pull/3 will not get merged today :P
AntiSquid: you ignore everyone else by saing that
kovi: i must say it is very random
AntiSquid: ya people go up and down like usually
Nerchio: i just wanted to ask do you guys think it's a little random atm
kovi: those who dont resubmit may stand
Nerchio: i think i had a top50 submit and the next ended top5
eulerscheZahl: i always climb a bit when i don't submit
eulerscheZahl: 70 matches isn't enough for my bot in that huge league
Nerchio: sometimes you can't do much about corner kills
AntiSquid: next contest: 10k bronze, 30 games per submit
struct: If contest had 10k in bronze would be very good
eulerscheZahl: i only got 10 battles vs current top10
Doju: How does the floating or sinking even work?
Nerchio: cg: battle royale rock paper scissors edition
eulerscheZahl: 4 of those against kovi
Doju: When someone battles your bot it also affects your ranking?
eulerscheZahl: not enough for a stable ranking
eulerscheZahl: yes Doju
avdg: contest of best random number generator? :D
wlesavo: Nerchio i think this is a main randomize factor rn, should be better with better tracking implemented
eulerscheZahl: (battle in the arena that is, not in the IDE)
hhhhhhhhhhhhhhhhhhhhhhhhhhh: hi
AntiSquid: no best, just pure random avdg
hhhhhhhhhhhhhhhhhhhhhhhhhhh: c++ for life
AntiSquid: fix your username hhhhhhhhhhhhhhhhhhhhhhhhhhh
AntiSquid: and avatar
eulerscheZahl: change the h into W, covers more space on the screen
hhhhhhhhhhhhhhhhhhhhhhhhhhh: :cry:
wlesavo: avdg we have an optim for that :slight_smile:
Nerchio: antisquid are you doing nn again thats why you are so far down
AntiSquid: no
ashikujjaman: can i submit solution multiple time?
eulerscheZahl: yes
AntiSquid: and who the hell wants to do NN in one week for a random contest, with varying grid size and other annoying factors Nerchio
Nerchio: i guess you're right :D
AntiSquid: i am lazy also
Nerchio: what are the annoying factors
eulerscheZahl: and fog of war
Nerchio: fog of war?
AntiSquid: i know what i need to do, i know how to add it, i don't feel like it
wlesavo: didnt re curse pulled that one time? i heard some legends
AntiSquid: so i slowly climb
eulerscheZahl: not in a real contest wlesavo
AntiSquid: i don't even have switch for my current version
eulerscheZahl: in an "inofficial contest" that was actually just a community multiplayer game
Doju: Taking other pacs into consideration is for noobs
struct: only on BR which wasnt official
wlesavo: oh, i see, still impressive
struct: had some similarities with CSB
mesavitae: Find fog of war only annoying for corner kills, but i mostly ignore the enemy and do my thing :D
wlesavo: what was the game?
eulerscheZahl: bitrunner 2048
struct: https://www.codingame.com/multiplayer/bot-programming/bit-runner-2048
wlesavo: thx
struct: Probably the hardest "gold boss" there is on CG
eulerscheZahl: i could easily reach legend with a single submit
eulerscheZahl: wood1*
ashikujjaman: http://chat.codingame.com/pastebin/0516623b-021c-4fd3-ae49-9cf24e8994e3
eulerscheZahl: just submit and it will go away
struct: ashikujjaman you need to wait until submit finished
struct: finishes*
ashikujjaman: How I will know my code is correct or better than other?
struct: so you get promoted if you are above boss
eulerscheZahl: you can submit again if it isn't any good
ashikujjaman: I have promoted to Wood 1 League:heart_eyes:
eulerscheZahl: that was quick
eulerscheZahl: the contest or another game?
avdg: 🎉
struct: its on contest
ashikujjaman: eulerscheZahl didn't understand.
eulerscheZahl: are you playing the pacman game or something else?
ashikujjaman: pacman spring challenge
AntiSquid: government model high school :thinking:
ashikujjaman: AntiSquid: So what?
shashwat986: Waffle3z I've just submitted my code based on the parent path storage. :fingers_crossed:
eulerscheZahl: see AntiSquid: others get updates too
AntiSquid: you're losing popularity or you have competition to fear
wlesavo: AntiSquid i added smth to my code
AntiSquid: thanks, don't let euler know from now on
shashwat986: did I not thank eulerscheZahl ? Dang it
eulerscheZahl: it's fine shashwat986, i don't need these updates ;)
AntiSquid: just post replays of how you beat euler and tag me in your replies shashwat986
shashwat986: :thumbs_up:
eulerscheZahl: https://www.codingame.com/share-replay/460649093 with a good (or even ok-ish) tracking i could avoid this death... :thinking:
ashikujjaman: My window still black. tried with F5 , ctrl+shift+R didn't work for me. what to do now?:sob:
Thiesjoo: https://www.codingame.com/replay/460650600 Not fair, my pac's are retarted.
struct: euler you saw him and still go to him?
eulerscheZahl: of course, i have no tarcking at all yet
eulerscheZahl: only considering currently visible opponents
struct: But wasnt he visible?
struct: A bit hard to tell on viewer
eulerscheZahl: was visible
eulerscheZahl: we both take single steps, not speeding
eulerscheZahl: but i really dislike that aspect of the viewer: you never know which is a keyframe
struct: So you completely ignore enemy?
struct: It was a bit strange that you just go to his position, you even know that he was there
eulerscheZahl: oh, now i got your question. at the moment of the kill he wasn't visible
struct: ah
eulerscheZahl: but i could see him going in that direction and assume him entering that path
struct: So viewer is a bit confusing
Thiesjoo: https://www.codingame.com/share-replay/460653232 AntiSquid you ask i deliver
Nerchio: euler i personally think tracking in this game will be much harder than ooc
Nerchio: but the top will surely need to implement it soon
eulerscheZahl: yes and i'm totally not in a mood
Schneewittchen: ^^
eulerscheZahl: but if i want to compete, it's a must-have
eulerscheZahl: and now i'm too far into it to stop
eulerscheZahl: (╯°□°)╯︵ ┻━┻
BenWo: Thiesjoo do your pacs know how to use the tunnel?
Thiesjoo: BenWo not yet, they also don't cooperate, so they all move in the same direction
Schneewittchen: ┬─┬ノ( º _ ºノ) nono
BenWo: yeah mine don't cooperate at all yet
Thiesjoo: Just enemy bullying for now
BenWo: I just have them pseudo-randomize their target based on their id
eulerscheZahl: Thiesjoo why me? :(
Waffle3z: I sort of have tracking, I expand everywhere an enemy might be by 2 spaces each turn, separately per-pac, reset it when I see one, and eliminate positions in line of sight. by the end the whole board out of sight is potential enemies so it's not very useful
Thiesjoo: Sorry euler, was 1 lucky win
Thiesjoo: First time for me beating someone in top 10
eulerscheZahl: but shows a bug that i thought i fixed already
tobk: how are the company/school rankings calculated, btw? just combined rank of top X coders?
eulerscheZahl: your first kill
eulerscheZahl: i'm not allowed to SPEED with an enemy in kill range
Thiesjoo: I have that, but not on first round
struct: I think its top 5 iirc
Thiesjoo: I get higher rank with always speeding in the first turn
dbf: attack/defence is a bit difficult here because of the same switch-speed cooldown :(
eulerscheZahl: but SPEED makes me vulnerable to that kind of kill
Nerchio: Waffle3z thats why I think the tracking system needs to be very delicate
Nerchio: to avoid whats happening to your board state ^^
eulerscheZahl: why do i have a copy of my own pacmen in the opponent pacman list?
dbdr: self hate :D
kovi: first turn copy?
Nerchio: damn i got smashed out of top10 :D
Peudoki: what are the typeIds of different weapons?
Illedan: nice ameler
eulerscheZahl: exactly kovi
eulerscheZahl: i mirrored the position after but not the position backup that i use to restore the state
jthemphill: Peudoki "ROCK", "PAPER", "SCISSORS"
Waffle3z: interesting, you can collide with an enemy pac you can't even see because it's around a corner
MSmits: well i finally have a monte carlo search working. It's not doing exactly what I want though
MSmits: sometimes one of the pacs stops... I guess it found a best solution where the first turn one of the pacs doesnt move or something
eulerscheZahl: i discarded the monte carlo idea already
cegprakash: my eval just spreads over the map and stops going towards pellets :D
eulerscheZahl: wasn't even finding the big pellets
MSmits: do you use beamsearch eulerscheZahl?
eulerscheZahl: not reliably
eulerscheZahl: i forgot what i do and go to bed now
MSmits: lol
Icebox: :wave: eulerscheZahl
struct: :D
MSmits: gn eulerscheZahl :)
eulerscheZahl: night
struct: nn
eulerscheZahl: jeez https://www.codingame.com/share-replay/460664372
AntiSquid: did you just submit euler?
eulerscheZahl: yes
eulerscheZahl: wanted to go to bed then but saw 1 loss
eulerscheZahl: why did i open it?
MSmits: fun :)
AntiSquid: euler https://www.codingame.com/share-replay/460665377 good night sleep well
Kellthazar: Okay, I' m losing my hair... I can't calculate all the distances between cells on 1000ms. What is the magic? My BFS algo seems fine, my graph structure too. I don't know where I messed up.
PatrickMcGinnisII: 2nd submit on pac
PatrickMcGinnisII: lets see if i get out of wood1
Doju: Kellthazar are you doing bfs from point to point for every cell
Nerchio: antisquid that looks like an unavoidable death
Doju: or are you doing a single bfs from every cell that returns paths to every cell
AntiSquid: was just wishing euler gn8, jeez, what's wrong with you Nerchio, overreacting
struct: what?
Nerchio: banter
Kellthazar: #Doju yeah, I run bfs from point A to point B
struct: :( already had my :popcorn: ready
Kellthazar: Skipped when is already calculated
Kellthazar: ex: point b to point a
Doju: Kellthazar don't do that
Doju: you're doing way too much work
Doju: if you do that for every cell for every cell
PatrickMcGinnisII: 11th in wood 1, darnit
Doju: because then it runs O(n^3)
Kellthazar: Yes, in my machine took 3 seconds
Kellthazar: to calc a 35 x 15 grid
struct: if you calculate distance from 0 0 to 1 1
struct: you dont need to calculate distance from 1 1 to 0 0
Kellthazar: I do that
ashikujjaman: My video window does not showing anything. Please help me some one.
Kellthazar: if the cell is a neighbor I skip as well
Scarfield: neither from 0 0 to 0 1, 0 0 to 1 0 i suppose
dbdr: euler broke my streak of 21 victories since beginning of submit :point_up:
Doju: so but hold on let me just make this clear
Kellthazar: I calc this before the game loop
Doju: you're doing something like this:
PatrickMcGinnisII: the most competitors in php I've ever seen
struct: which language Kellthazar?
Kellthazar: Kotlin
jthemphill: Kellthazar are you using Floyd-Warshall?
Schneewittchen: Why not Floyd Warshall in the beginning?
cegprakash: How do I debug Exception thrown: read access violation. other was 0x67360EF4.
Doju: for cell in grid: http://chat.codingame.com/pastebin/2c91668d-9997-47f1-bbef-1158c38e8132
cegprakash: void operator += (Point &other) { x = (x + other.x + BOARD_WIDTH) % BOARD_WIDTH; y = (y + other.y + BOARD_HEIGHT) % BOARD_HEIGHT; }
PatrickMcGinnisII: wow, got bumped to #2 in wood1, kewl beans
Doju: because that's incredibly inefficient if i understand correctly
Illedan: https://www.codingame.com/replay/460674063
Kellthazar: #jthemphill I read about it, but I dont use it
Illedan: wow, my pac just walks past the last pellet
Illedan: (╯°□°)╯︵ ┻━┻
Counterbalance: ceg: void -> Point &
AntiSquid: well once you reach bronze there's 2700 bots you need to defeat PatrickMcGinnisII
Counterbalance: and a 'return *this'
Nerchio: still 1st illedan :p
Kellthazar: Can I link a pastebin here?
PatrickMcGinnisII: AntiSquid well this is only 2ns submit in game for me
Illedan: Yeah, and this code is 1st
Illedan: hahaha
PatrickMcGinnisII: er 2nd
Scarfield: quote from euler: BFS is O(n). do that n times and you have O(n^2) floyd warshall is O(n^3)
dbdr: do you climb consistently Illedan?
PatrickMcGinnisII: Illedan you using a Munkres job assignment algorithm?
Doju: i think what kellthazar is doing is running the O(n^2) bfs for every cell
Counterbalance: Kellthazar yes, but you can also directly paste here - chat has a builtin pastebin
Doju: making it O(n^3)
Illedan: I kept this rank for a lot of time now
Illedan: Guess the randomness is bringing me some up and down
dbdr: I mean, on a new submit
Kellthazar: #Doju no, I do this calc before the while(true) loop
Kellthazar: Pre turn
jthemphill: Scarfield Kellthazar yeah the complexity is still O(n^3), but n is still pretty small...
avdg: just make the first node a big bigger and its O(1) again :D
Illedan: Didn't submit in 30 hours :P
dbdr: :D
Doju: I don't mean for every move
avdg: *bit
jthemphill: it shouldn't take 3 seconds to compute a distance matrix
Doju: Kellthazar are you basically doing the thing that i linked?
PatrickMcGinnisII: I hope i get a bump to bronze
dbdr: my code was 10th, made small changes, 80th, resubmit the same, 12th right now
PatrickMcGinnisII: Illedan or are you GA'ing?
Schneewittchen: #doju And you can cut it by half because dist(a -> b) == dist(b -> a)
dbdr: bronze is big
Illedan: Nope PatrickMcGinnisII
Kellthazar: #Doju, yeah, somethink like that
Kellthazar: https://pastebin.com/4MECjQ03
BenjaminUrquhart: dbdr same, except it's between 110 and 80
avdg: I made my code less clever and it's better
AntiSquid: bronze is bigger than a nearly finished 10 day contest
Scarfield: Kellthazar Schneewittchen typing #NewRoom creates a chat room, just the name to ping ;)
Schneewittchen: ☜(ಠ_ಠ☜)
Counterbalance: #oh #noes #does #it #really #do #that? #:)
Doju: Kellthazar so the thing is, you're running the bfs from point to point. You should be running it without an "end criterion"
Doju: and instead store all the created paths
Doju: voilà, there are your paths to every cell
AntiSquid: #)
Waffle3z: you're using bfs to find a path to one point when you can just let the bfs go to every point
Kellthazar: :scream:
Scarfield: xD
PatrickMcGinnisII: bumped to bronze, tx guys
Schneewittchen: Welcome to the matrix
Doju: What I imagine he's doing irl atm
Doju: (╯°□°)╯︵ ┻━┻
PiterYeh: Kellthazar you should be doing a flood fill, not a bfs
avdg: bumping to top 500 now
Kellthazar: Jesus Christ...
Doju: hahah
Kellthazar: Ill make something coffee after this
Doju: that's what i was initally doing to my pellets as well
Doju: until i realized that it's mega dumb
Scarfield: well floodfill is a type of bfs, so you are probably not that far of :)
Waffle3z: bfs is flood fill
Schneewittchen: Void
Waffle3z: well, I guess the context makes it not really a search anymore, so it's just called flood fill then
Doju: Waffle3z true
Doju: btw, i'm about to start doing precalc as well
AntiSquid: hey Nerchio i fixed a bug, euler is offline so i need to tell someone else https://www.codingame.com/share-replay/460678344
JBM: the FILL on most BASICs was documented as "flood", and it was anything but bfs
cegprakash: is there an assertEquals in c++? my assert function is working good and throwing assertion error but how do I find the actual value? I am using assert(expected==current) now as this fails I need this current
Doju: should i store the actual paths or just distances?
Scarfield: you can floodfill without bfs per say, go left then down then right
jthemphill: cegprakash you need to write your own assert_eq
Waffle3z: breadth-first floodfill
JBM: the actual value of what?
Nerchio: WHAT WHAT THE BUG ANTISQUID
Nerchio: I NEED TO KNOW
AntiSquid: wdym ? :p
Nerchio: you said you fixed a bug
Waffle3z: I store actual paths and distances. distance can also just be the length of the path
avdg: position 334 now
avdg: I guess my best position so far
Doju: Waffle3z yes true
Doju: i was just wondering if it's worth it to store the paths as well
avdg: *322 now
Doju: but maybe it's not that expensive since i need to create them anyways
avdg: mine doesn't store paths, but dunno if that's a good suggestion as it only applies to my code
AntiSquid: yes, hm i see i lost 2 bots vs you Nerchio, so i will have another bug that needs fixing :p
Thiesjoo: Does somebody have a really agressive bot? I need it for testing
avdg: I had to make calculations cheaper
Scarfield: there is the pathfinding from the ref, so i suppose you dont actually need the path
PatrickMcGinnisII: the manhattan dist to large pellets seems to do the job just fine
Thiesjoo: Yeah patrick works fine till rank 400 something
Cappefra: you don't see enemy pacs through warps?
PatrickMcGinnisII: I'm timing out on large boards with 5 pacs on large boards doing 5 floodfills
struct: you see Cappefra
PatrickMcGinnisII: wierd
Nerchio: antisquid the replay you linked is vs gbiebyuc xD
Cappefra: mh
Nerchio: i lost to you in this submit actually
AntiSquid: yes it is, but it showed your avatar initially
AntiSquid: also as i said euler is offline so i told you instead
jthemphill: AntiSquid why does blue 2 move west instead of north at t=41 in that replay? it looks like a sure kill to me
Derthek: at what time is silver releasing tomorrow?
avdg: did someone fought against my ai yet?
AntiSquid: jthemphill because i have a crappy bot
Scarfield: 18:00 paris time
jthemphill: :laughing:
BenjaminUrquhart: avdg https://www.codingame.com/replay/460688521
Thiesjoo: avdg https://www.codingame.com/share-replay/460689109
avdg: lol, my lazy pac
Doju: avdg https://www.codingame.com/replay/460688768
BenjaminUrquhart: Thiesjoo https://www.codingame.com/replay/460689676
BenjaminUrquhart: Doju https://www.codingame.com/replay/460690104
Thiesjoo: Thanks will fix soon
Scarfield: Scarfield https://www.codingame.com/replay/460690229
AntiSquid: avdg https://www.codingame.com/share-replay/460690443
BenjaminUrquhart: Thiesjoo Doju https://www.codingame.com/replay/460690654
BenjaminUrquhart: I'm done now
Scarfield: xD
Thiesjoo: https://www.codingame.com/share-replay/460689912 avdg what are your bots doing
BenjaminUrquhart: bet they're trying to eat each other
Waffle3z: Waffle3z https://www.codingame.com/share-replay/460691570
BenjaminUrquhart: AutomatonNN
AutomatonNN: eulerscheZahl is there a way to see the puzzle of the week section just to come back to the code and
solaimanope: reached top 50 :D
AntiSquid: not now, he is offline AutomatonNN
AutomatonNN: I'm not sure it was a good idea
avdg: standing in each other way to disobey social distancing?
Doju: gratz solaimanope
RockyMullet: euler, seems like you broken your bot
BenjaminUrquhart: I broke my bot too
AntiSquid: all you need to do is beat the noobs in top 50 and get the prize solaimanope
RockyMullet: well keep up the good work guys :P
PatrickMcGinnisII: darn, pellett visibility
solaimanope: Haha sure ;) AntiSquid
avdg: glad I'm 326th now
PatrickMcGinnisII: wth
RockyMullet: if you guys break your bot enough I'll gain ranks
Thiesjoo: Im gonna submit my half broken bot. It thinks it reached a pellet, but it actually didn't
solaimanope: I had to switch to java, because I was getting some weird RTE in C++. Wasted two days trying to find bug.
AntiSquid: RTE?
Nerchio: RTE is a kind of a IDK
solaimanope: I was getting some weird sort of error. Saying double free or something like that.
Nerchio: I dont know Thiesjoo :D
AntiSquid: RTE = real time error ? :o
solaimanope: Although I didn't use any pointers
solaimanope: Run Time Error
sanpas83: run time error :o ? :o
AntiSquid: run time environment
RockyMullet: dont anger the C++
BenjaminUrquhart: random tack ejector
ws1088: so we can trap opponents?
RockyMullet: you must tame the beast
AntiSquid: i get a lot of errors not knowing what they are, but i know how to look for them solaimanope
avdg: Don't c#
AntiSquid: in c++ i mean
RockyMullet: ws1088 define trap
avdg: if you know what I mean ;-)
avdg: I guess nobody knows ;/
RockyMullet: I... dont
solaimanope: AntiSquid I am not a good debugger :(
ws1088: in a path trap the opponents by putting my pac on each end
RockyMullet: ws1088 oh yeah, personnaly I only do it in dead ends for now
Zenoscave: Rocky you consider opp path?
RockyMullet: but it can achieved with 2 bots for sure
RockyMullet: but im lazy
josegomez: any idea what causes the game to stop when no "stop" condition is met? I keep getting stopped when there are pacs left a plenty and so are pellets
Nerchio: the point is if your cooldown is 0 your opponent can't really kill you efficiently
PatrickMcGinnisII: I'm close to top 2k, if so i can quit today, then the guys going to silver can get out of the way
RockyMullet: whats opp ?
struct: opponent
Zenoscave: opponent
cegprakash: this access violation is hard to debug
Nerchio: opponent
cegprakash: :@ :@
RockyMullet: ah yeah, I check if I can reach the shoke point before the enemy
AntiSquid: O++ new language
Zenoscave: what access violation
cegprakash: i get some junk values
ws1088: alternatively you can trap yourself!
Zenoscave: shoke point?
avdg: <++
cegprakash: even though I set all values in constructor
RockyMullet: my bot is a good killer, but I'm afraid to say that in front of eulerscheZahl
Astrobytes: RockyMullet "Whats shoke?"
Hvosten: I'm writing in groovy, bui it seems slow. I have to return to java :/
ws1088: trapping yourself is to fence off a region exclusively to youself
Zenoscave: thanks Astrobytes
RockyMullet: *choke point
Astrobytes: :D
RockyMullet: english is hard :cry:
PatrickMcGinnisII: choked by your mullet, shoked
Astrobytes: stop typing phonetically RockyMullet
PatrickMcGinnisII: shonuff
AntiSquid: chval point
RockyMullet: when everything fails, I guess how its written :P
Astrobytes: lol
RockyMullet: also its written "shoke" all over my code
RockyMullet: there's no turning back
AntiSquid: the only good thing about bronze you gets lots of easy win streaks, makes you feel less bad about your shitty bot
RockyMullet: self esteem is important
tobk: what's a good algo for choke/shoke points? I wondered since CoIaF
Doju: Okay i think i have my precalc function with 0 optimizations ready. Any guesses on how long it'll take? I'm running python.
BenjaminUrquhart: 2 hours
Doju: lol benjamin :D
jthemphill: tobk check out the tron postmortem https://www.a1k0n.net/2010/03/04/google-ai-postmortem.html
Scarfield: somewhere between 4 ms and a million years
Doju: i sure hope not that long
Waffle3z: at least 0
RockyMullet: tobk lol
Astrobytes: tobk think you wanna check articulation points
jthemphill: tobk see the bit about connected components
Counterbalance: 300ms
Doju: just fixing some bugs first...
Counterbalance: place your bets
Astrobytes: +what jthemphill said
Scarfield: -what i said
Doju: 900ms!
Doju: i'm super happy
Scarfield: :muscle:
AntiSquid: tobk you mean CIF ?
jthemphill: a whole 100ms to spare :grinning:
Doju: and that's on a large map with absolutely no optimizations
Doju: i bet i can squeeze that down to like 200
tobk: I meant Code of Ice and Fire, not sure what's the official acronym
PatrickMcGinnisII: ok 2124th, 3 total submits...200 lines of code...man I'm lazy
tobk: those were a big thing there (cutting of opponent regions), never really got a hang of them there
Astrobytes: The logical one is CoIaF but it was usually CoIF or CIF for reasons unknown
muy31: Kellthazar are you using an optimized technique?
AntiSquid: "of" "and" and other binding words are left out from acronyms afaik
tobk: thanks, "articulation point" really helped. is there a way to do the same for e.g. two nodes separating a graph?
AntiSquid: so CIF is most logical imo
Kellthazar: #muy31 No, I guess
muy31: just realizing i was reading a comment from over two hours ago...
PatrickMcGinnisII: voroni on pacman not really a great idea imho
PatrickMcGinnisII: djikstra still costly
Kellthazar: #Doju thanks, I think that #euller or another person told about the flood fill technique, but I dont gave the necessary attention
Zenoscave: Kellthazar you don't need the # in front of names to notify them
cegprakash: submitting my first sim version :D :D
Zenoscave: gl ceg
Doju: gl gl
PatrickMcGinnisII: flooding still the best unless you sim to a decent depth or munkres...anyone munkres I wanna see it
cegprakash: with no pellets tracking and depth = 1
Kellthazar: Oh, thanks Zenoscave
PatrickMcGinnisII: pew pew cegprakash
Scarfield: munkres?
muy31: yeah the "#" opens a new room w/ that name
cegprakash: aw it took two days to code this sim
Kellthazar: My pre calc works like a charm now... XD
Zenoscave: PatrickMcGinnisII Munkres means hungarian algo?
Doju: Nice to hear Kellthazar
PatrickMcGinnisII: yes Zenoscave http://csclab.murraystate.edu/~bob.pilgrim/445/munkres.html
Zenoscave: I thought that was for cost asssignment
PatrickMcGinnisII: well you can modify for benefit instead o min
Scarfield: it seems to be, just looked at i quickly
Zenoscave: Hmmm I fail to see how that would help
Astrobytes: tobk I'm no expert in graph theory but if there's two nodes separating two sets of connected components it's just a set of separating nodes/vertices rather than a single articulation point
Zenoscave: Astro you mean like Min Cut Max Flow?
Astrobytes: Don't ask me I'm a bilogist!
PatrickMcGinnisII: Zenoscave I guess I just was trying to figure out how to assign collection and attack tactics
Astrobytes: *biologist!
Zenoscave: Astrobytes do you work with nano bots ;)
Waffle3z: wouldn't it be two articulation points
tobk: a, that name rings a bell. probably read it during CIF but was too lazy to implement it :-)
Astrobytes: Zenoscave tobk was wondering about having two+ articulation points separating the graph. And no :D
tobk: and yes, I guess for two points, you could check whether the combination of each point with one of its neighbors makes a cut
ashikujjaman: why this error: has not provided 1 lines in time
Astrobytes: Yes tobk
PatrickMcGinnisII: whoever does the most sims usually does really well in these things...which I'm not gonna get...so decision-making alternatives need to be really fast
Astrobytes: So Zenoscave, yeah I think that would be min cut max flow
Zenoscave: I looked further. It would be mincut of the dual graph.
ashikujjaman: why this error: has not provided 1 lines in time:worried:
Astrobytes: Oh ok
PatrickMcGinnisII: timeout ashikujjaman
Zenoscave: an articulation point is a cut vertex. min cut deals with edges
Kellthazar: ashikujjaman timeout
Doju: ashikujjaman you didn't print a line fast enough. So that means you either have a bug or really slow code
Zenoscave: flip vs to es and you have it
Astrobytes: Right, gotcha
Astrobytes: I must refresh my graph theory at some point :/
Doju: and it's almost certainly a bug unless oyu have some fancy things in your code
PatrickMcGinnisII: darn, my ass hurts...yall have fun
PatrickMcGinnisII: ashikujjaman you could have an infinite loop
Astrobytes: PatrickMcGinnisII :o
tobk: ashikujjaman Maybe just some case you did not consider that makes your code not enter the printing-path? maybe no visible pellets?
PatrickMcGinnisII: i gotta rethink the visible pellets, that really threw me
cegprakash: I easily get 90000 simulations :D
PatrickMcGinnisII: but all the input is there to figure it out
cegprakash: it's so amazing to watch
Astrobytes: I was more concerned about your ass hurting PatrickMcGinnisII
PatrickMcGinnisII: oh, i need a new desk chair
ws1088: 90000 simulations per turn?
PatrickMcGinnisII: Astrobytes tx for your concern
Waffle3z: what's one simulation
cegprakash: yup :D ws1088
cegprakash: Waffle3z 1 random try
Illedan: 90k?
Astrobytes: Context is everything PatrickMcGinnisII, thank you for the clarification :D
AntiSquid: finally broke into top 100
PatrickMcGinnisII: 90k is impressive!
Waffle3z: MCTS rollouts?
PatrickMcGinnisII: uh oh got Illedan 's attn
ws1088: oh 1 random try without lookahead?
cegprakash: out off 90K may be 30K is valid sims
cegprakash: not sure
Zenoscave: cegprakash what league?
cegprakash: bronze ofc
AntiSquid: ceg being random
Illedan: I have 12 k sims in 4 ms :P
ws1088: a simulation is usually evaluating score based on move with lookahead
AntiSquid: ceg with 90k why still 1k rank ?
cegprakash: I need to add pellets prediction
cegprakash: like based on fog of war
Zenoscave: Easy. The sim is inaccurate because he didn't read the rules
cegprakash: that should definitely take me to top 100
Astrobytes: :D
Scarfield: xD
PatrickMcGinnisII: aren't all the boards full of pells?
Illedan: kovi, chill :scream:
Astrobytes: ceg's getting better at reading the statement now Zenoscave since we've trolled him so hard about it :)
Scarfield: ceg actually quoted the statement yesterday, im still in shock
AntiSquid: i just have a search, no sim yet, but seriously with a 90k sim i am sure icould get1st
PatrickMcGinnisII: ahh u can't see enemies either
Zenoscave: That is good to hear!
Scarfield: :muscle:
kovi: illedan, lets wait till the end
PatrickMcGinnisII: yall in top 600 need to get out of the way, I'll be back when silver opens
PatrickMcGinnisII: heh
PatrickMcGinnisII: g'nite
avdg: welcome to the club
Illedan: Yeah, but 50% progress and already at 2nd
avdg: I guess my bot is an amateur vs 2nd :p
Illedan: I'm hoping for you to beat me very much, so I get my motivation back :P
Astrobytes: Yo avdg, thanks for making the PR earlier and sorry if I seemed a bit grumpy :D
avdg: np
avdg: some people had such moods
avdg: I've seen both
avdg: people who were mad for few seconds
avdg: and people who are never happy
Astrobytes: I'm usually happy ;)
kovi: and with that i take my leave
Illedan: :tada:
Illedan: Sweeeeet, something to fight
Illedan: :nerd:
Kellthazar: gratz kovi
Illedan: 1.3 lead :D
cegprakash: Game Summary: Only pacs with the SPEED ability enabled can move: cegprakash: - Pac 0 moved to (13, 6).
cegprakash: what does this mean
kovi: probably lucky rolls, but definitely some improvement
Scarfield: when speed ability is activated, its basicly an extra move turn for the pacs with speed
Illedan: The important is to have a bot ready for testing when silver opens tomorrow to get a ton of games :D
Scarfield: i can never remember.. whats the usual % for bronze to silver?
Uljahn: around 40
Cappefra: also when will gold open_
Cappefra: ?
Uljahn: in two days after silver
cegprakash: Scarfield I understand that
cegprakash: but why does game summary say that
Astrobytes: Wednesday Cappefra
Cappefra: cooll!
cegprakash: I print MOVE 0 13 6
cegprakash: it moves
Astrobytes: OH Uljahn beat me to it
cegprakash: but prints that message
Illedan: Off to bed. Good night!
Scarfield: gn
Cappefra: who creates the bots btw?
Astrobytes: gn
Astrobytes: The bosses Cappefra?
Scarfield: a player bot is selected from the LB
Cappefra: yeah
Astrobytes: What Scarfield said
Cappefra: oh ok cool
Astrobytes: From Bronze+ that is
Scarfield: idk cegprakash, i just started with doing my own sim, havent even used abilities yet
Cappefra: so like if the player that writes the gold bot is selected, that guy automatically goes to legend?
Astrobytes: Wood bosses come from the game authors
Cappefra: and that's the cutoff?
Astrobytes: Yeah
AntiSquid: about 40-50% promote, but who knows
Cappefra: silver will also be overcrowded from the start more or less
AntiSquid: 2800 already
AntiSquid: plenty of time for 200 more ?
Cappefra: yeah that's crazy!
Cappefra: did ooc even get to 2800 when it ended?
thethiny: I'm gonna submit an aI that doesn't move
thethiny: see if I win
Scarfield: nope
avdg: otherBot crashes at turn 1
Scarfield: 2279 on ooc
avdg: loc?
avdg: 803 here inc comments
Scarfield: ocean of code
avdg: ah
avdg: 508th
Scarfield: nice
AntiSquid: i reached 600 somehow, but messy
Cappefra: I liked ooc, though I had a bunch of troubles with the tracking and checking whether the enemy hit itself and stuff
AntiSquid: i still hate ooc more than this game
avdg: its more complex
Cappefra: and also I was a bit stuck in silver
AntiSquid: hidden info and round the corner kill and RPS is annoying but ooc was more annoying
Cappefra: it was more annoying but more predictable
AntiSquid: nothing to do with complexity, just the hidden info and then should i use mine or torpedo, lots of tracking ... and other bs
Scarfield: bfs*
Scarfield: :p
AntiSquid: i mean in terms of what i disliked
Cappefra: lol
AntiSquid: were the mines more predictable ?
avdg: they are kinda hard to track
AntiSquid: i think it's easier to guess pac locations in this game than mines in ooc
avdg: esp when the opponent jumps
Cappefra: well, no... I guess everything up to mine avoidance
avdg: but otherwise you had to backtrack its moves
Astrobytes: I don't like this game much either tbh, that's partially due to my pain medication however :P
Cappefra: mine avoidance was a bitch. So much so that I didn't even implement it :D
Astrobytes: How I've coded anything at all is a mystery to me
Cappefra: when I made gold I was like k bye
avdg: (backtrack from all options)
Doju: Any people who know python here?
Astrobytes: Nope
Scarfield: yea, but havent used it for a long time
Astrobytes: Everyone knows everything except Python
Cappefra: not really a python guy
Doju: so i have __iter__ and __next__ methods in my grid class to loop over it by doing for cell in grid
Doju: but my generate_paths function runs in __init__
avdg: kinda beginner if it comes to the python language itself :p
Doju: and uses "for cell in self"
Doju: and it only runs once
Doju: except maybe sometimes it doesnt???
Doju: i'm so confused
Astrobytes: Welp. So am I after your statement.
Scarfield: hmm never really used classes in python, switched to c++ when i started learning that :p
Abhishek_Saini: Hey guys I have a doubt regarding pac vision. Do pac only see along the line it's facing, or it can see other line too. Like if my pac is moving in horizontal direction, can it also see along the vertical line ?
goolmoos: Doju, try to implement __iter__ as a genrator, it is mush
Cappefra: yeah Abhishek, there's a picture with the line of sight in the description
avdg: Abhishek_Saini all directions
Astrobytes: It can see in all directions Abhishek_Saini
Doju: umm, okay i'll do that
Cappefra: you'll see that the blue guy is in the situation you're describing
AntiSquid: people even ignore the pictures
ashikujjaman: what it means: Only PINKY still has pacs standing! PINKY wins with 286 pellets
Cappefra: that he killed all your pacs
goolmoos: ashikujjaman, he ate all your pacs
Scarfield: pinkys opponent lost all his pacs, and pinky has the most pellets
ashikujjaman: how can eat my pac? didn't found in statement or I mised it
goolmoos: are you in the wood league?
muy31: no eating till bronze
goolmoos: then he can't eat them yet
Scarfield: timeout maybe?
ashikujjaman: how can I give my games link?
tutubalin: 100 bytes in JS to exit Wood 2 :)
Astrobytes: ashikujjaman click the 'Replay and Share" button in the viewer
Scarfield: there is a "replay and share" button next to the settings in the viewer
Scarfield: arg
wi_lius: @ashikujjaman it's an immediate loss if you submit invalid commands (e.g. try to move outside the bounds, to corrdinates that are negative or exceeding width/height)
Astrobytes: lol tutubalin
wi_lius: @ashikujjaman try reading through "Console output" panel, it might have a description what happened
Cappefra: I just submitted a code with a syntax error lol
Astrobytes: Cappefra there's a reason for "You did not test your answer. Do you still want to submit your code?" :P
avdg: probably just rick rolling
Cappefra: thing is I thought I only changed a parameter but apparently I also deleted a parenthesis haha
Scarfield: btw doju, i guess you would need to loop over your grid by first the row, then the cells in the row. Supposing your grid is a 2D array of cells
avdg: I guess someone might do a great find if my ai still bumps together
Neoncamouflage: Submitted new code. Dropped 1400 ranks. Oh god >.<
BenjaminUrquhart: I have found bug!
AntiSquid: ping someone and tell them
avdg: Cappefra: is it normal that your ai has bad defence?
avdg: (my ai likes to do nothing when it finds nothing near on the other hand :p)
avdg: https://www.codingame.com/share-replay/460745484
Doju: Scarfield actually i'm trying to loop over it using the custom iterating thing that i made with dunder methods
avdg: I'm 3rd in my country atm :p
AntiSquid: UK leaderboard unusually crowded this time :p
AntiSquid: nearly 3rd
ashikujjaman: I have only printed some MOVE then why this? Has not provided 1 lines in time can I give my codes link?
BenjaminUrquhart: spot the bug https://www.codingame.com/replay/460748763
avdg: doesn't move on speed?
AntiSquid: ah nerchio you're still online, i fixed a bug btw :p
AntiSquid: 100 more bugs to go
avdg: you keep speeding
avdg: but didn't released the clutch
BenjaminUrquhart: pay more attention to the board
BenjaminUrquhart: you're seeing the results of the bug, not the cause
avdg: still an amazing way to win
BenjaminUrquhart: it's default AI
avdg: still, blind crash
avdg: don't get it
BenjaminUrquhart: it won't start moving until the last super pellet is gone
BenjaminUrquhart: guess who screwed up some logic :eyes:
MiniWall: Hi, anyone know at which hours league generaly open ? :D
Counterbalance: 6 PM CEST
avdg: you still got 3
BenjaminUrquhart: usually noon EST
AntiSquid: 18 hours from now
MiniWall: oh ok thanks
BenjaminUrquhart: close enough
Cappefra: @avdg I think both my pacs there died cause I already gave the move to the position they die at
BenjaminUrquhart: same game, bug fixed https://www.codingame.com/replay/460756311
Cappefra: like there's no way of stopping that without tracking opponents
InspiratioN: i am stuck in ascii
Cappefra: and at step 75 I switch to the wrong type cause I assume you want to kill me too :D but you didn't switch so I end up switching to the losing type
avdg: mine is slightly influenced by estimated opponent position ;-)
InspiratioN: i print manhattan but in new lines
InspiratioN: is it good this website to improve my basic python coding?
TheOnlyJoker: yes sure!
Cappefra: that is good. I don't think I'll try and track my enemies, I'd probably end up putting a lot of effort into it for minimal to none advantage
InspiratioN: any good place to guide myself to solve the puzzles?
Cappefra: not cause it can't be done but cause I'd probably mess it up
TheOnlyJoker: Cappefra 3000IQ
TheOnlyJoker: lmao
BenjaminUrquhart: Cappefra 3 blind deaths, still won https://www.codingame.com/replay/460759005
Counterbalance: if you want to brush up on rock-paper-scissors: https://www.codingame.com/contribute/view/4710b786c753584d29cfa21d0b5e7082667a
BenjaminUrquhart: why do you still have that link
avdg: its just 1 hover away without that link in chat
Cappefra: wow ben that is a fight to the last blood
Cappefra: cool game lol
Counterbalance: cause I thought it was cool ;)
avdg: barely won :P
o_imej: hey, why when enemy use speed boost it slow down my pac ?
Counterbalance: yes
Astrobytes: that was you BenjaminUrquhart? Or you re-upped it? RPS was cool
Neoncamouflage: It looks like it does, but they're just getting an extra turn
BenjaminUrquhart: Astrobytes that's the original one
o_imej: but i use it too and the enemy pacs won't slow down
avdg: o_imej it's because speed boost adds more steps to the game
MSmits: yay, back in top 100 :)
avdg: nice one MSmits
Astrobytes: I submitted in one, may have been a different user unless you had multiple versions. When was this?
MSmits: took me a while. These kinds of games are not so easy for me
AntiSquid: when were you in top 100 before?
MSmits: 2 days ago i think
AntiSquid: i saw you around 242 ... maybe i should play this more often
MSmits: today yes
MSmits: it got worse over the last 2 days, no new bot
AntiSquid: well done anyway, but seems like bot quality isn't that high yet
AntiSquid: i mean the leaderboard, not you
MSmits: mine certainly isn't. I finally got some semblance of a search working
MSmits: multi agent searching is not my thing
MSmits: well unless i can smitsi it
MSmits: but thats not possible here
MSmits: but I have a list... we'll see how far I get this time. My goal is legend
Astrobytes: 10 smitsi trees :love:
Astrobytes: :heart:
jthemphill: why is smitsi not possible here?
Cappefra: what's smitsi?
MSmits: thats what I did for PCR, could be more even. But you cant do it here because opponents block you
MSmits: and you even block yourself
jthemphill: Cappefra it's called smitsimax https://tech.io/playgrounds/36476/smitsimax
jthemphill: huh
MSmits: the idea about smitsi is that you have incoherent states. Nodes dont correspond to actual gamestates, they correspond to move orders
MSmits: as long as the same actions are always possible for each move order, it works fine
BenjaminUrquhart: it's clearly named after MSmits
MSmits: but in this case, sometimes a pac may be able to move in a direction and sometimes it cant, depending on what opponents do
Astrobytes: You need IS-Smitsimax
Nerchio: MSmits 26? nice!
BenjaminUrquhart: this submit is taking a while
jthemphill: MSmits but wasn't that true with CSB as well? pods block each other in that game
MSmits: lol, the search is pretty crap, it goes depth 6. It has problems finishing a game with far away pellets. This could be much better
MSmits: jthemphill yes, but you can still do the same moves
MSmits: you can still steer the same and use the same power
MSmits: in pacman thats not the case, if someone blocks "up", you cant do the action
Astrobytes: Filter out the invalid states, as in ISMCTS
jthemphill: ^
MSmits: hmm sure, you might be able to get something working that way, but there is also a "softer" problem of when the agents decisions are strongly dependent on eachother
MSmits: smits works best when they are weakly dependent
Astrobytes: Hm, yeah I see your point
MSmits: but it also depends a bit on how well the other searches perform. If they're all crap, well then...
Astrobytes: But I guess it also depends on how close you want your pacs to work together
MSmits: this is why it worked in XR when it shouldn't
MSmits: right Astrobytes
Astrobytes: I mean, theoretically they can work *almost* indeopendently
ZarthaxX: MSmits what are u doing?
Astrobytes: Or even independently
ZarthaxX: 25 gz
ZarthaxX: wtf
MSmits: thanks :)
ZarthaxX: smitsi?
MSmits: monte carlo, i said before
ZarthaxX: plz no
MSmits: my first monte carlo ever
ZarthaxX: random?
ZarthaxX: ok
ZarthaxX: nice
MSmits: well not counting my zombies default bot when not hardcoding
ZarthaxX: complex eval?
MSmits: nah
MSmits: eat pellets
MSmits: thats about it
Tyir: anything to avoid collision? better score for pellets away from other pacs?
MSmits: I was busy all day debugging. Because of collisions
MSmits: basically i just dont move when it causes a collision
MSmits: so it will reduce score
MSmits: the speed move turn makes things really hard to sim
Astrobytes: most importantly: bitboarded? :P
MSmits: 1 part of it yes, but a very tiny part, most is not
Astrobytes: :D
MSmits: now I wanna bitboard it to make it faster though :(
MSmits: seems hard to do
Astrobytes: But doable. Not sure you'd gain anything perf. wise tho
MSmits: I use a lot of pointers between cells and pacs
MSmits: Think i am going to skip bitboarding this. I already sacrificed a lot of ease of coding by switching to c++
Counterbalance: :nauseated_face:board ;)
MSmits: lol
Astrobytes: :)
MSmits: btw, did you encounter the phasing pac bug?
MSmits: in your bot i mean
Tyir: you do any tricks for guessing pellet positions?
MSmits: it happens when you have 2 pacs next to eachother and they move to eachothers position. Technically the move isnt blocked because the positions are free
avdg: assume all positions are pellets?
MSmits: it's an annoying edge case
MSmits: I dont do much about guessing yet
MSmits: it's on my list
jthemphill: MSmits how do you account for the simultaneous-choice nature of the game with mcts?
Tyir: i have some ideas; but i need to write some better base code
MSmits: oh jthemphill when i said monte carlo, i meant monte carlo
MSmits: there is no tree
icecream17: ceg has a hihger rank....
jthemphill: MSmits woah okay
MSmits: I just try a bunch of random :poop: and then pick the moves that led to the best result
MSmits: best result being eating more pellets
MSmits: I assume all opponents stationary atm
jthemphill: wait i thought you said you searched with depth 6
MSmits: yes only 6
MSmits: so my bot gets stuck when no pellet is within 6
MSmits: it starts to move randomly
jthemphill: but... isn't that a tree?
avdg: hmm mine does that too despite having an algorithm against that
MSmits: it just means i pick random moves 6 times
jthemphill: huh
MSmits: i dont save the information
jthemphill: ah
avdg: but I guess I know why...
BenjaminUrquhart: :thinking: https://www.codingame.com/replay/460776604
avdg: some functions are lying to my ai :p
MSmits: BenjaminUrquhart it might have thought there are pellets there
BenjaminUrquhart: is that why it froze in place?
MSmits: which frame?
BenjaminUrquhart: 23
avdg: turn 20: nothing to see here
MSmits: ah
BenjaminUrquhart: all the way until it gets eaten at frame 34
MSmits: no it was afraid to move
MSmits: your paper pac
BenjaminUrquhart: ah
MSmits: its a bug
MSmits: need to fix that
BenjaminUrquhart: cool
MSmits: basically my bot is blocked from going to places where you bot can reach
BenjaminUrquhart: ah
MSmits: but its not going right somehow... I thought i fixed it
MSmits: I'm gonna get some sleep. Have fun all.
berries: my code is giving me an error on a line that was part of the default code wtf
berries: is anybody getting that row might not have been initialized in java
MSmits: berries, thats possible if your input/output situation is not synchronized
MSmits: the game will be on a different turn than your bot is
berries: MSmits what do you mean
Counterbalance: no it's a compilation error, right?
berries: yeah its compilation
MSmits: ahh ok
MSmits: nvm then
berries: havent even got the pac moving yet ffs
muy31: nullpointer?
muy31: or what type of error
muy31: exactly
Counterbalance: line 18 - for (int i .. ) { String row = ...' } you probably moved String row before the loop and access it after the loop?
berries: it literally just says error, i might put it into eclipse to check
muy31: can you paste a snippet?
berries: of the error or the code that gave me it
muy31: the code
berries: http://chat.codingame.com/pastebin/14d88280-cefe-4cf4-b16f-1dc1353c3480
Icebox: "I use a lot of pointers between cells and pacs Think i am going to skip bitboarding this. I already sacrificed a lot of ease of coding by switching to c++" MSmits saaaame
MSmits: hi Icebox :)
Counterbalance: ah, row is not initalized.. String row[] = new String[35]; should fix it
MSmits: it says on the leaderboard your rank is 2,55 Icebox
muy31: row[] needs to be initialized
MSmits: thats between 2 and 3, good job
berries: okay thanks
Icebox: MSmits didn't submit yet
muy31: oh yah, its String[] row
Icebox: rewrote everything in c++ first
MSmits: nice
muy31: not Sring row[]
MSmits: i thought that was against the Icebox principle
Icebox: my current code is just a bunch of stars and ampersands derefferencing the complete pointer and iterator spaghet
MSmits: python only right?
Icebox: :)
berries: Standard Error Stream: http://chat.codingame.com/pastebin/c7f0f285-097b-4857-8a09-927a9b58e204
Icebox: times have changed
berries: anybody know wtf this means
MSmits: so it seems
avdg: your array is too small
muy31: yes
muy31: String[] row = new String[LENGTH];
muy31: LENGTH should be width
muy31: or heigh
muy31: *height
muy31: i think you are using height for yours
berries: okay
berries: http://chat.codingame.com/pastebin/49b4c0bf-bb08-4f6f-9767-c8db81d13025
berries: thats where its giving me the error
berries: that 2d array is just what im using to keep the pellet values
muy31: the width+1 and height+1 is switched around
muy31: cause if i is for height and j is for width
berries: ahh that fixed that part thanks
muy31: no prob
berries: should most of my arrays be [y][x] instead of [x][y]
muy31: yes
berries: alright time to go back through it all
berries: i appreciate the help
berries: im new to this
struct: its user preference
struct: either one is fine
Kukiss: Hello Icebox, any stream coming? I remember I enjoyed yours the most :)
muy31: it's all good, keep working on it berries
muy31: oh yeah btw berries you don't even need the " + 1" at your array initialization
Waffle3z: well my switch logic is working https://www.codingame.com/replay/460785619
Neoncamouflage: I must be blind, but how do I set the messages I see over some people's pacs
Neoncamouflage: I swear I've read this summary 15 times trying to find it
BenjaminUrquhart: put text after that pac's command
muy31: b/c your for loop is configured to go from 0 to height - 1 berries
Neoncamouflage: Thanks
BenjaminUrquhart: it's not officially in the statement but it's tradition for most CG contests to have the feature
berries: okay thanks ill change it back to that
muy31: :relaxed:
BenjaminUrquhart: Waffle3z is that switch logic in your submitted bot?
elderlybeginner: what was the shortcut for editor's extra options?
Waffle3z: yeah it has been
BenjaminUrquhart: https://www.codingame.com/replay/460789932
icecream17: what timezone is silver opening?
BenjaminUrquhart: doesn't work around corners
Tyir: waffle3z what is your secret sauce?
Waffle3z: it can't see you
struct: elderlybeginner what do you mean extra options?
BenjaminUrquhart: think about it for a second
BenjaminUrquhart: you don't need to see it
BenjaminUrquhart: ;)
Waffle3z: it doesn't know which pac it is or the type so it doesn't know what to switch to
BenjaminUrquhart: well clearly I can't see you either and I figured out how to deal with it
elderlybeginner: struct there was something like ctrl+; to open additional options for editor
struct: f1
struct: editor changed
elderlybeginner: oh, yea, I noticed but didn't know the shortcut was changed, thank you
njaber: How many hours till the league opens?
njaber: Nice, I should have time to finish my bot update before then
njaber: Yeah you're right, I probably woun't
njaber: won't*
icecream17: 987th! Yas
njaber: I still haven't finished the enemy possible pos/path calculator I've been working on for hte past 30h
njaber: Tho I'm starting to get some nice results
avdg: I've done it in few hours... but it only has a few features
avdg: though it had some complications when I implemented it
njaber: I'm working on an algorithm that gets perfect path elimination with the given info
njaber: But once I'm done this will prove very useful... I hope
avdg: hard thing is that you sometimes don't know you killed someone I guess?
avdg: dunno about blind corners
njaber: My algorithm shouldhelp me detect that in most cases
avdg: it's like, that is easy, oh nothing to see here (while you killed one on the previous move)
njaber: yeah but I should be able to deduce that a pac WAS killed given pellet info etc in most of the cases
BenjaminUrquhart: I want to be in the top 100 by silver opening and I keep landing just under that mark
muy31: why is the number of turns changing when i am just changing an error printout? there is no math.random and the outcome/moves dont change
BenjaminUrquhart: currently 103
avdg: mine works slightly more pessimistic I guess and wouldn't have to rule that out
njaber: JS?
njaber: muy31
avdg: though combining all the known information is kinda hard
BenjaminUrquhart: muy31 is your opponent random?
avdg: and probably not worth it
muy31: no
muy31: ill show you
Icebox: @Kukiss I might do one tomorrow :)
muy31: wait maybe
muy31: but the first half doesnt change
BenjaminUrquhart: my opponent detection is genius: if I don't see it, it doesn't exist
muy31: that's most of our detection though
Neoncamouflage: If you don't see it, it probably doesn't see you. So you're at least on equal terms
avdg: what if tp were added
Durkin: we must all be genius, muy
muy31: lol
BenjaminUrquhart: says the guy wiht camo in his name
BenjaminUrquhart: with*
njaber: But if he's been tracking you you'll get into problems
Neoncamouflage: My pacs still struggle to track a pellet 2 spaces away from them. They've already got problems. XD
njaber: I just want to finish my thing so I can surprise jumpa all your defensless pacs
muy31: Standard Error Stream: http://chat.codingame.com/pastebin/99725738-e2b2-40ed-9c12-8dcd15edb658
muy31: what's with this error?
icecream17: couterbalnce is only a few ranks above me but always wins
icecream17: hmm. i forgot many because i didn't work on it much yesterday, so i should track opponent then
Neoncamouflage: I'm waiting to see a couple days from now when people have pacs planning ambushes
BenjaminUrquhart: .
BenjaminUrquhart: chat relay died, cool
avdg: as long as pallets have more value...
njaber: I don't know if I was the only one having the problem
avdg: unless someone invented fun
njaber: I do'nt even see which of my messages got through
BenjaminUrquhart: chat is dying
njaber: Did my "chat is ded" message make it through?
njaber: I don't see it
Moonik: i don't see it either
Moonik: hello btw
Moonik: i'm new here
muy31: my issue right now is when i am in speed i cant go to anywhere less than two spaces away
muy31: which is annoying
cegprakash: I just added depth=3
cegprakash: :D
BenjaminUrquhart: cegprakash why so low on the leaderboard
cegprakash: leaderboard not updated yet
BenjaminUrquhart: you submit?
cegprakash: I am yet to add pellets tracking and exploration
BenjaminUrquhart: ah
icecream17: ceg i havent either
cegprakash: was just trying higher depth to check my simulations count
icecream17: simulation? when your stream was said to be unuseful for pros....
BenjaminUrquhart: muy31 your pacs go back and forth a bit https://www.codingame.com/replay/460809222
cegprakash: I never said unuseful
BenjaminUrquhart: that was a submit battle btw
cegprakash: may be I should try depth=5 for speed to be effective
struct: what search are you using?
struct: randoM?
cegprakash: yes
struct: how many turns simullated?
cegprakash: submitted bot is depth = 3
Doju: holy sht
Doju: i just troubleshooted a bug for like 2 hours on a discord call with my brother
Doju: who's been studying computer science a bit
Doju: apparently it's not a good idea to make custom iterating functions after all
Kellthazar: You are a problem solver Doju. XD
cegprakash: I need to add bonus score for capturing pellets at turn 1 though
cegprakash: :D
Doju: wanna hear what the bug was?
Tyir: of course; let us learn from your misfortune
Kellthazar: Sure...
avdg: I had a bug where I set a value to a fixed value before comparing it
Doju: So, in my grid class i had a custom iterating thing which let me iterate through the array like this:
Doju: for cell in grid
Doju: without needing to type this:
Doju: for row in grid:
for cell in row:
Doju: the iterating function's iteration was tied to a value in the instance
Doju: called self.iterator
Doju: now when iterated for each cell in each cell
Doju: the iterator value got set to 0 in the middle of the outer loop
JBM: i hereby revoke your licence to code
Kellthazar: The things we done just for avoid to write one more for loop
icecream17: i thought for loop are amazing
icecream17: so much less debug than while
Doju: for loops are not the issue
Doju: but custom iterations are
JBM: still so much more than no loop
JBM: custom iterations are fine
Doju: err
JBM: they just shouldn't share state with the iteratee
Doju: yeah
Doju: hmm
Doju: maybe you could remedy that with like self.iteration_index or something like that
Doju: but that'd get messy real fast
JBM: your iterator should be external
Doju: huh?
Doju: soo.. where do i store it
JBM: somewhere between "nowhere" and "where you use it"
icecream17: uh-oh. i put too many "errors" for debugging and the error stream doesn't show all the errors. what do i do?
BenjaminUrquhart: print less stuff
JBM: until you find out what's logging so much
struct: lol
BenjaminUrquhart: have less errors
icecream17: js doesn't have i/o really. so they made "console.error" for debug and "console.log" to output
JBM: errr... don't use js then?
njaber: Make a custom class that delays log to other turn X)
njaber: I hate auto emojies
icecream17: only language i know. except for a bit of python. and object oriented is hard to do, sint flexible
BenjaminUrquhart: but that's the point of oop I though
BenjaminUrquhart: :thinking:
JBM: oo in js istn't what i'd call "typical"
solaimanope: when will bronze league boss appear?
solaimanope: GMT?
SemChumboPT: Good luck Everyone !
solaimanope: uh ok
solaimanope: thanks
RockyMullet: hum, wanted to know what is the best move to do in a certain seed so test agaisnt Illedan, but then I won... I wanted to learn ! :rage:
BenjaminUrquhart: test against me, you'll win too
struct: Rocky I think its a bit harder to fight C# now
struct: arena code is on release mode
struct: ide on debug
CodingCarter: i feel like some of the questions on this game are too easy. Like, if it gives you the for loop and you only have to add a number squared to a total and print out the total, it's too easy!
BenjaminUrquhart: something something euler has anti-debug
RockyMullet: BenjaminUrquhart I did win too lol
struct: he doesnt have it anymore
BenjaminUrquhart: ah
RockyMullet: but I still learned something from Illedan, he started stronger and thats what im tryting to improve, my initial gathering
icecream17: should I start immediately with speed?
RockyMullet: struct what you mean about C# ?
BenjaminUrquhart: go for it
struct: C# was updated on C#
struct: its now on release mode on arena
RockyMullet: icecream17 yeah, if you handle moving twice, 99% of the time, speed o cd is the way
struct: but if you fight on IDE it isnt on release
RockyMullet: weird, why would they do that
struct: its same for rust
RockyMullet: seems more important to be on release in the arena
struct: its on releae on arena
struct: but on ide isnt
RockyMullet: oh, probably to have better errors
struct: yeah
RockyMullet: anyway I'm doing this with C++
Kellthazar: 500 loc after some cleanup
Doju: oh
Doju: welll
Doju: I just figure out i could do the same thing with this
Doju: for iterator in range(self.width*self.height)
yield self.grid[self.iterator // self.width][(self.iterator % self.width)]
Doju: the more you know
RockyMullet: my spagetthi monster has 2.6k lines of code now
Doju: dude what
RockyMullet: I just smash my face on my keyboard
RockyMullet: and magic happens
RockyMullet: tbh I need to refactoring my gathering, A LOT of copy paster involved in there
RockyMullet: I need to know how to write too, god, haha
Tyir: RockyMullet copy paste gets you wins
RockyMullet: yes !
RockyMullet: it's just a bit chaotic
seronis: newb here. won a little over half of my battles when i submitted but my rank still 2700s / 2800 in bronze. Whats the criteria if not win percentage ?
RockyMullet: depends on who you win against
RockyMullet: winning against bad bots doesnt help much
Tyir: first 10 battles are various ranks; and gives you an average ranking to get started in
Doju: RockyMullet " a bit"
Doju: i can't comprehend what's going on in my 499 lines
Doju: and you have 5 times as many haha
seronis: im honestly surprised my 120 lines did ANYTHING
Doju: i think you can get a basic bfs in 120 lines
Doju: or at least just closest by manhattan distance eeasily
Doju: that'll do you quite a bit
seronis: yeah i do a flood fill search so it grabs closest
Doju: wait... why do i have so many damn lines lmao
Doju: my code does nothing special
Doju: pretty much only bfs
njaber: I'm closing in on 1000
Tyir: i have no search :(
SemChumboPT: me neither
Tyir: i just pick a neighbor with a pellet; otherwise i use the default move towards the closest Manhattan distance pellet (no path finding, so it isn't 100% accurate)
BenWo: Doju you've been here chatting every time I've checked the last 2 days
Doju: BenWo i've been here coding every time i've checked in the last 2 days
Doju: seriously i've put like a solid 40 hours into this bot
Doju: however 40 hours only goes so far if you've only been coding for a few months
Doju: but anyways i reeeally need to go to bed
Tyir: i have some things i want to attempt; if you have a BFS i can give you some tricks to implement :)
Doju: maybe i'll come up with some neat optimizations to my precalc :p
Doju: umm
Doju: I seriously need to go but i'd like to hear your tricks so maybe later?
Tyir: k; im too lazy to implement them so i wanted someone else who already has a search algorithm to test for me
Doju: alright cya
njaber: I already have a Bfs, and I'm curious of what you're thinking, but I'm working on a big algorithm for my bot rn so I probably wouldn't test it for you unless it's really interesting
icecream17: why is my path function doing [ '26 5', '25 5', '27 5', '26 4', '26 6' ] i dont undertstand....
njaber: gn
seronis: icecream17, looks like a starting coordinate which then had its 4 neighbors added. thats how i do my floodfill
seronis: whats your problem with that ?
RockyMullet: 1000 ms is plenty of time to do a bfs from all positions to all positions
ongietorri: can someone explain how we are supposed to use the SPEED ability ?
ongietorri: when i use it on startup it seems if fails everytime
BenWo: that's the only command you can send for that id on that turn
ongietorri: I can't send a move on the same turn ?
BenjaminUrquhart: for that pac at least
jke: anyone know if enemy pacs block vision?
BenjaminUrquhart: they do not jke
TheOnlyJoker: Idk why whenever I use speed the pacman keep stoping
jke: awesome, thanks
TheOnlyJoker: this is the gameplay : https://www.codingame.com/replay/460828097
BenWo: what's with the huge link?
TheOnlyJoker: my bad xD
BenWo: just from watching, it looks like you're not giving them a new move command once they reach their destination?
TheOnlyJoker: no I do
TheOnlyJoker: when I dont use the speed everything goes good
BenWo: you're sending speed before the cooldown is over
BenWo: frame 7-11 are just speed commands
BenWo: cooldown is 10 turns, speed only lasts 5 turns
BenWo: it looks like your MOVE commands are also only targeting 1 cell away, so you're not actually getting any benefit from speed
cegprakash: wow changed my scoring function to double and it's performing lot better
BenjaminUrquhart: what happened to waffle
BenjaminUrquhart: he dropped a lot
BenjaminUrquhart: cegprakash submit when
cegprakash: just did
TheOnlyJoker: tnx problem fixed
BenjaminUrquhart: still not top 1000
BenjaminUrquhart: smh
cegprakash: just 10 games processed
cegprakash: wait for it BenjaminUrquhart
BenjaminUrquhart: oh ok
BenjaminUrquhart: no speed?
BenjaminUrquhart: also, this is some quality action https://www.codingame.com/replay/460836923
cegprakash: i removed depth
cegprakash: for now
SemChumboPT: ah ah I was only updating what i hate and i was behind the pellets the oponent already eaten !!
BenjaminUrquhart: nice
cegprakash: adding depth I am doing some zig zag as I'm not giving bonus score for taking the pellet now
cegprakash: like me it's lazy and decides to take the pellets in later turns when I add depth
cegprakash: I get 150K sims with depth = 1
cegprakash: :D
Kellthazar: Implemented a defensive move...
Kellthazar: if enemey cd === 0 and dist === 1, change to type who can beat my pac (counter-play to the enemy attempt to kill my pac).
Kellthazar: Interesting that this strategy can fail for more simpliest AI...
Kellthazar: Submitted... drop from ~ 300 to 400. Though still battling.
Kellthazar: https://www.codingame.com/replay/460837530
Kellthazar: pacs 3 blue and 2 red
BenWo: what do you mean 3 blue / 2 red?
cegprakash: bugs bugs everywhere lmao
muy31: kellthazar i wouldn't assume enemies would attack you unless they can already beat you
muy31: i wonder the dynamic here? turn 31-32 https://www.codingame.com/replay/460845826
BenWo: the 2 blue pacs both use speed
BenWo: so they're trying to move 2 squares, but collide on the first square move attempt
BenWo: then the non-speed red pac attempts to move and nothing else is currently moving into that square
muy31: yeah its kind of lucky, plus i didnt see the scissor pac
muy31: cause it was around the corner
Kellthazar: BenWo is right
BenWo: I'm not sure I understand frame 33, lol
BenWo: must be that blue pacs are colliding and red pacs are colliding
muy31: yeah lol
BenWo: there are definitely opportunities for insane tactics if your pacs cooperate
BenWo: actually, I'm not sure that whole situation would have played out like that if your paper Pac was a scissors instead
muy31: no it wouldn't have mattered
BenWo: since it was paper it had the potential to overlap with both the blue scissors or rock
muy31: nothing ever collided with the paper pac
Kellthazar: muy32, in that game I shared, the red pack ID 2 (SCISSORS) could kill the blue pac id 3 (PAPER), but changed anyways to counter-play the enemy move
SemChumboPT: The enemy can do the same...
cegprakash: Only pacs with the SPEED ability enabled can move: cegprakash:
cegprakash: why do I get this in log
cegprakash: plz help
SemChumboPT: you have to store that "behavior" for future encounters
Kellthazar: cegprakash, with speed enabled, they are a
Kellthazar: hidden turn
muy31: no kovi did the right thing, but your counterplay was the wrong one
BenWo: cegprakash: that's just letting you know that the following turn information is the extra move speed Pacs get
cegprakash: wait what
cegprakash: I spent 2 days on this.. I didn't know I'll get 2 turns
muy31: if you are going to be defeated, then counterplay
muy31: else kellthazar don't
cegprakash: so I read input twice in same turn?
BenWo: you don't actually get 2 turns
cegprakash: if I'm speeded up
BenWo: it just executes 2 turns
muy31: or kellthazar counterplay to beat the opponent
cegprakash: should I read input twice?
BenWo: so you need to tell your pacs to move 2 spaces to take advantage of the speed
cegprakash: in a speed turn
Kellthazar: This hidden turn is out of the player AI control
BenWo: no, the input isn't doubled
Kellthazar: It just to compute the new position for speed-up pacs
Kellthazar: Thinks as a slow motion
Kellthazar: muy31, Ill try to not do nothing
Kellthazar: Against the majority of cases, will be result on my death
Kellthazar: the pacs death XD
errata: which compiler and framework for C# is being used in the contest?
cegprakash: okay it's just a log
cegprakash: it scares me
cegprakash: I thought it's an error or something
muy31: kellthazar im trying to make a point here: see turn 32 https://www.codingame.com/replay/460851584
muy31: you win b/c you did nothing
muy31: whether intentional or not
muy31: i lost b/c i haven't developed my speed computation yet
BenWo: errata -> https://www.codingame.com/faq
muy31: in this case, however, kellthazar (literally the next run) on turn 54
muy31: https://www.codingame.com/replay/460852662
errata: @BenWo thanks!
muy31: here you should have counterplayed kell
Kellthazar: muy31, in turn 32 I did a movement
Kellthazar: I saw your pack, as paper with cooldown, so I change my pac to SCISSORS e send to your pac position
SemChumboPT: damm my bot is too bad..without algos this is dificult :)
BenWo: this is tough, but fun :)
muy31: rip i didnt see that ok Kellthazar you win
BenWo: rewriting my map data object
Kellthazar: turn 54, muy31, my bot made a bad decision
muy31: but Kellthazar if you would win a tradeoff, why would you switch to what would make you tie?
muy31: https://www.codingame.com/ide/challenge/spring-challenge-2020
muy31: im just saying, switch if you are going to lose, and switch to beat your opponent if you are going to win
Kellthazar: I made a correction now: https://www.codingame.com/replay/460855575
Kellthazar: my bot has a ROCK type and enemy SCISSORS type, both are cooldown equals zero.
Kellthazar: when the distance is equal ONE, I changed my type to the enemy' s type, to, at least make a TIE
cegprakash: or just run Kellthazar
cegprakash: :D
Kellthazar: Why not try to eat it?
cegprakash: sim that has full of bugs: rank 1100 :D sim fixed those huge bug : 998 rank
cegprakash: looks like heuristics dominating
Kellthazar: 308 right now
Kellthazar: Need to make my pacs more sparse on the board.
Kellthazar: I think that will be a great improvement to my algo
SemChumboPT: Every time I think I "improve" something I go down on table!!
Neoncamouflage: Glad I'm not the only one
Neoncamouflage: I finally broke 1k and I'm terrified to submit again
SemChumboPT: Bronze League here I go !!
Kellthazar: Hahahaha
BenjaminUrquhart: cegprakash I'm averaging #100 pure heuristics
Kellthazar: Nice...
berries: how long is peoples code
berries: i cant get mine running and i dont know if its too complicated and i need to make it more simple or if im missing stuff
ChrisOz: C# - 500 lines of ode
njaber: C# 1000 lines
SemChumboPT: Mine -> PHP (160 Lines)
SemChumboPT: many of them coments
BenWo: Python - 350 and rapidly growing
njaber: And you're probably missing stuff, unless your code is slow complexity isn't a reason it wwouldn't work, it would make it harder to debug though
berries: yeah im getting weird errors
berries: and i dont understand whats making them errors
berries: java
berries: Standard Error Stream: http://chat.codingame.com/pastebin/292e1702-b2b0-418e-837f-7ed9d540085b
NapTown: your list is empty
berries: oh okay ill take another look at it, thanks
Kellthazar: drop 200 positions after the last submit. XD
BenWo: sounds like you fixed it, lol
SemChumboPT: Keelthazar you improved.. just slower than your oponents
SemChumboPT: I like to think that way !!
njaber: Not it just takes time for your rank to update when you resubmit and when you have few battles your rank is lowered a lot, thsi has nothing to do with the actuall Quality of his bot
njaber: Gosh I'm so bad at typing
berries: yeah i have no idea why it's empty, it shouldnt be
BenjaminUrquhart: berries 758 java
BenjaminUrquhart: not like that matters
berries: yeah i dont think its how much, i barely have an algorithm right now i just want to get a bot that will eat a single damn pellet
Kellthazar: MOVE 0 pellet.x pellet.y
Kellthazar: Stonks
Neoncamouflage: Brilliant!
Neoncamouflage: Give that man a raise
berries: okay im an idiot and forgot to put the method i made to add the edges, in the actual main. but now im just timing out
njaber: then you method or a code situated after your previous error probably has an infinite loop somwhere
Kellthazar: berries are you doing some kind of distance calculation?
Jesus_inn_party: SUp EvveryBoDeeeeeeeeeee!
Jesus_inn_party: HEEEEEll o
BenjaminUrquhart: e
the_joker_100: sup?
BenjaminUrquhart: sky
the_joker_100: what u outside?
the_joker_100: its ceilingfor me?
the_joker_100: did u see the replay i shared last night?
BenjaminUrquhart: no
the_joker_100: my bot somehow beat urs man im at 1,190
BenjaminUrquhart: mine isn't all that great ok
BenjaminUrquhart: it's so dumb it outdumbs the smart bots
the_joker_100: lmao
the_joker_100: but u at 100 ?
BenjaminUrquhart: I was top 10 for a short amount of time
BenjaminUrquhart: so like
BenjaminUrquhart: I just haven't bothered to really change the way my bot works and everyone else has
the_joker_100: i am rewriting everything i landed at 700 with the previous bot
the_joker_100: and it waas just a mess
Jesus_inn_party: guys the next league will be unlocked soon
Jesus_inn_party: i am changing mine too
BenjaminUrquhart: it opens at the same time my AP exams stars
BenjaminUrquhart: start*
Jesus_inn_party: what time is it in your counttry
the_joker_100: damn it opens today?
Jesus_inn_party: yeap in one hour
the_joker_100: omg
Jesus_inn_party: i guess
the_joker_100: might pull my previous bot out just o get in silve rleague
Jesus_inn_party: the dude said 5 uk time
Jesus_inn_party: havent you beat the bot yet
the_joker_100: which bot?
Jesus_inn_party: although not so sure i have but
Jesus_inn_party: the bot that your suppose to beat to be able to go to the next league
the_joker_100: which one tho??name?
Jesus_inn_party: or not
Jesus_inn_party: i think iam wrong
the_joker_100: the bot might not b out yet
Jesus_inn_party: idk what the hell i am talking about
Donotalo: Should a DFS examining 8^5 states timeout 50ms on CG server?
Kellthazar: Did you test locally?
Donotalo: yes, testing for optimization
Donotalo: but wondering, should 8^5 states timeout or is it my code that's bad
Donotalo: i thought 10^6 states should easily pass 50 ms on CG server, am I wrong?
BenjaminUrquhart: cg servers are pretty good, but since it's contest time they might be a bit slower
Jesus_inn_party: why are some people 24hr online
the_joker_100: no idea man
the_joker_100: i just woke up
Jesus_inn_party: me too
Jesus_inn_party: :fist:
the_joker_100: i cant do stuffs if no sleep
Jesus_inn_party: yeap fell yo
Jesus_inn_party: *feel
the_joker_100: @BenjaminUrqhart how do u deal with speed blindness??
the_joker_100: my bots just go crazy if i use speed??
the_joker_100: anyone got anyidea?
BenjaminUrquhart: the_joker_100 my bot just doesn't care I guess idk
the_joker_100: lmao
the_joker_100: u got to have something right??
the_joker_100: i mean u dont get 93rd just goin randomly?or do u?
the_joker_100: hmmmmmmmmmm
fasil: hy
the_joker_100: just submitted my bot.....
the_joker_100: hopei get into 1000s
BenjaminUrquhart: "u dont get 93rd just goin randomly"
the_joker_100 there is only 1 source of randomness in my code and it's the iteration order of a set, which does not affect my movement
the_joker_100: kk but how do the bots go in such perfect positions even when usin speed??
the_joker_100: coz if i use speed my bots just go to the worst possible directions
BenjaminUrquhart: magic
the_joker_100: lmao
the_joker_100: kk
BenjaminUrquhart: no it just kind of happened :P
the_joker_100: happy accidents?
BenjaminUrquhart: 99% of this bot I threw together in wood 2 in order to promote
the_joker_100: i got to 889 by just searching for food
Neoncamouflage: I couldn't get past 1800 just looking for food
Neoncamouflage: Turned them all into hunter/killer pacs and that got me close to 1k. Now I'm trying to find a balance
the_joker_100: i did the same last time
the_joker_100: and it was a chaos
BenjaminUrquhart: the_joker_100 https://www.codingame.com/replay/460886847
the_joker_100: so i just focused on one thing for last day
BenjaminUrquhart: your collection is better than mine early game
the_joker_100: maybe
the_joker_100: ty
Neoncamouflage: How do you test against a specific person's bot?
Neoncamouflage: Just hope they show up in your recent battles?
the_joker_100: u delete the thing on players tab
the_joker_100: and add from leaderboard
BenjaminUrquhart: default ai sucks
the_joker_100: yeah
the_joker_100: u can win it if u just move to some square
MHavlovick: I assume pellets are visible where the tunnel wraps around to the other side? So, if there is no wall to the left of my pac, the pellets where the pac will come out the right side are visible until there is a wall?
BenjaminUrquhart: yes
BenjaminUrquhart: you can see across the wrap
MHavlovick: Thanks
BenjaminUrquhart: the_joker_100 888 https://i.imgur.com/nlcuYFT.png