From CG community
Jump to navigation Jump to search

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: 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: 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


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,

the_joker_100: lmao

the_joker_100: i have no idea man

Default avatar.png alexandreb09: Hey guys, Can I have some help about a puzzle, I don't understand the answer ?

Default avatar.png alexandreb09: Oups, i just figured it out, sorry

eulerscheZahl: dbdr we just got the reason on discord

dbdr: oh i see

Default avatar.png alexandreb09: How some people reach to finish Clash of Code in 14s ?!!

struct: puzzles repeat

struct: Some of them are solvable with one line

Default avatar.png alexandreb09: When I finished the game, I was first (nobody has sovle them yet) and now I see they have finished in 14s

Default avatar.png alexandreb09: They already know the answer, unpossible to solve it in 14s

Default avatar.png 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?

Default avatar.png alexandreb09: Me ?

struct: yes,

struct: I think like 20% of clashes can be solved in less than 15 sec

Default avatar.png alexandreb09:

struct: But there was a time that coc had many bots

Default avatar.png alexandreb09: Does that helps ?

eulerscheZahl: and there are some regular clashers who indeed know most problems already

Default avatar.png alexandreb09: I think so, it's obvious

eulerscheZahl: alexandreb09 the published solutions are only accessible to those who participated in the clash

Default avatar.png 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

Default avatar.png 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?


Default avatar.png alexandreb09: Yes this one

Default avatar.png alexandreb09: Oh my bad, they actually did it in 14min !!

Default avatar.png alexandreb09: Sorryyy!

Default avatar.png alexandreb09: I don't how to read min and s, need to back to primary school :upside_down:

Default avatar.png alexandreb09: *know

Default avatar.png cguzman: so many errors in this challenge puff

eulerscheZahl: name one of them

Default avatar.png cguzman: I configure the git in Eclipse and execute the 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

Default avatar.png cguzman: one in C#,

jacek: no C#

Default avatar.png cguzman: yes I can execute it in Eclipse, but it is not clear for me to execute my code in local.

Default avatar.png cguzman: Any help? is it possible to execute my code inside eclipse and see it with the 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

Default avatar.png 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: 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

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: 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)?


ChrisOz: 'time is not defined'

njaber: I think it's

njaber: That's what I used when I was using JS

njaber: I'm not sure of the precision tho

ChrisOz: I am trying, but the difference showing me is less than 10 and it still timesout...

thethiny: correct


thethiny: are you multiplying correctly?

njaber: 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: no need to complicate things

DollarAkshay: Oh okay

Default avatar.png md37: bye im going fishing

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 ?

Default avatar.png 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

Default avatar.png Janoxakes: Or would that be completely invisible?

thethiny: if you see it enter a corner

thethiny: go inside

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png Janoxakes: No, it just moves one turn toward the destination

njaber: Bastett No you need to issue a destination each turn

Bastett: well pooh

Default avatar.png 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: 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: 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

Default avatar.png 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: ^^

Default avatar.png 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: 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?


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

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

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?

Default avatar.png 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

Default avatar.png james1729: Thanks

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: 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: 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

Default avatar.png maddoggg: print("Hi")



Default avatar.png 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

Default avatar.png ltmoran: going to the super pellets?

anid: @rogster001 super pellets

rogster001: any pellets

rogster001: unless ive misread

Default avatar.png ltmoran: uh no

Default avatar.png 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

Default avatar.png 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?

Default avatar.png CRVII: c

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: 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

Default avatar.png 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:

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

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

Default avatar.png ltmoran: Anyone else having issues with the input of the pellets?

Default avatar.png ltmoran: Mine doesn't seem to

Default avatar.png ltmoran: i don't even know lol

Default avatar.png ltmoran: Whatever I do

Default avatar.png ltmoran: It doesn't run

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

Default avatar.png ltmoran: Yeah I'll try that

Default avatar.png ltmoran: bope

Default avatar.png ltmoran: nope

Default avatar.png ltmoran: still not working

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: 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

Default avatar.png 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


cegprakash: Id of what

cegprakash: oh

Astrobytes: Another example, gives me Pac ID of 4 - there is no Pac ID of 4

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

Default avatar.png 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

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:

avdg: fosfen: happens if bots use random numbers

avdg: astrobytes:

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


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

Default avatar.png ltmoran: I wouldn't get too enthusiastic lol

Default avatar.png 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...

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

Default avatar.png 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:

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

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

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

  1. 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?


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


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?

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


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: and it seems that my perf tweak works

AntiSquid: euler clone :o

eulerscheZahl: oh, another topcoder player

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: 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?


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

Default avatar.png badboy7: hi

AlluringChair: i got into bronze literally by selecting a random pellet and going there

Default avatar.png 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

Default avatar.png 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

Default avatar.png Rabeeb: @Aitorcius I kind of did that too

Zenoscave: Aitorcius that's called BFS

Default avatar.png Rabeeb: I had code for one pac

Zenoscave: like I said earlier

Default avatar.png 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?

Default avatar.png Rabeeb: it took a lot to change that

avdg: k, expanded my perf optimization a bit further, lets see what it does

Default avatar.png 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

the_joker_100: lmao

avdg: that lack of social distancing

the_joker_100: @BenjaminUrqhart


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: 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?

Default avatar.png JBM: not wisely

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

Default avatar.png JBM: well it can't hurt

Default avatar.png 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

Default avatar.png Legitimacy: So I go up a league every time I defeat the boss?

WaRiOrOfCoDe: yup

Default avatar.png 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

Default avatar.png Legitimacy: Thankyou

WaRiOrOfCoDe: np

rcar: you need to submit your code and wait for it to play out all the matches

Default avatar.png 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

Default avatar.png Legitimacy: and now I'm wood 1 :sunglasses:

Kellthazar: Gratz

Default avatar.png Legitimacy: oh god theres 5

AntiSquid: for all those that posted wins vs me in chat, this is how you do it: you post wins vs a top bot, not a low ranked one

Default avatar.png 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: 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

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: :(

Default avatar.png AyeshaMansoor: i need help

BenjaminUrquhart: what's the issue

eulerscheZahl: well, there might be 2k in bronze

eulerscheZahl: after silver opens

WaRiOrOfCoDe: @AntiSquid


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


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 :)

WaRiOrOfCoDe: @Schnesewittchen


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

Default avatar.png AyeshaMansoor:

Kellthazar: #eulerscheZahl Right, but are you pre-calculated then, or by demand?

Default avatar.png AyeshaMansoor: can any one help me

eulerscheZahl: RockyMullet try this

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

Default avatar.png 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

Default avatar.png AyeshaMansoor: i need code plz can someone gave me

MadKnight: what code

Illedan: public class Code { }


MadKnight: here's some code


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()

Default avatar.png 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

Default avatar.png 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


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?

Default avatar.png AyeshaMansoor: discord mean

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

Default avatar.png 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

Default avatar.png 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: ?

Default avatar.png 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

Default avatar.png goolmoos: 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?

Default avatar.png 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: 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

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ß


MonZtaDeluxe: nice nice thank you

dbdr: I found a serial killer:

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.

Default avatar.png 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. :(

Default avatar.png 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

Default avatar.png 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

Default avatar.png BenWo: afternoon all

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 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)

Default avatar.png hhhhhhhhhhhhhhhhhhhhhhhhhhh: hi

AntiSquid: no best, just pure random avdg

Default avatar.png hhhhhhhhhhhhhhhhhhhhhhhhhhh: c++ for life

AntiSquid: fix your username hhhhhhhhhhhhhhhhhhhhhhhhhhh

AntiSquid: and avatar

eulerscheZahl: change the h into W, covers more space on the screen

Default avatar.png 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

Default avatar.png 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


wlesavo: thx

struct: Probably the hardest "gold boss" there is on CG

eulerscheZahl: i could easily reach legend with a single submit

eulerscheZahl: wood1*

Default avatar.png ashikujjaman:

eulerscheZahl: just submit and it will go away

struct: ashikujjaman you need to wait until submit finished

struct: finishes*

Default avatar.png 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

Default avatar.png ashikujjaman: yah thanks

Default avatar.png 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

Default avatar.png ashikujjaman: eulerscheZahl didn't understand.

eulerscheZahl: are you playing the pacman game or something else?

Default avatar.png ashikujjaman: pacman spring challenge

AntiSquid: government model high school :thinking:

Default avatar.png 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: with a good (or even ok-ish) tracking i could avoid this death... :thinking:

Default avatar.png ashikujjaman: My window still black. tried with F5 , ctrl+shift+R didn't work for me. what to do now?:sob:

Default avatar.png Thiesjoo: 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

Default avatar.png Thiesjoo: 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: (╯°□°)╯︵ ┻━┻

Default avatar.png BenWo: Thiesjoo do your pacs know how to use the tunnel?

Default avatar.png Thiesjoo: BenWo not yet, they also don't cooperate, so they all move in the same direction

Schneewittchen: ┬─┬ノ( º _ ºノ) nono

Default avatar.png BenWo: yeah mine don't cooperate at all yet

Default avatar.png Thiesjoo: Just enemy bullying for now

Default avatar.png Thiesjoo: Works fine for me

Default avatar.png 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

Default avatar.png Thiesjoo: Sorry euler, was 1 lucky win

Default avatar.png 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

Default avatar.png Thiesjoo: I have that, but not on first round

struct: I think its top 5 iirc

Default avatar.png 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

Default avatar.png Thiesjoo: True

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

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 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

Default avatar.png 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:

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


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


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

Default avatar.png JBM: what color is your bfs?

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

Default avatar.png 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

Default avatar.png JBM: the actual value of what?



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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png Derthek: thanks

jthemphill: :laughing:

BenjaminUrquhart: avdg

Default avatar.png Thiesjoo: avdg

avdg: lol, my lazy pac

Default avatar.png Thiesjoo: First try

Doju: avdg

BenjaminUrquhart: Thiesjoo

Default avatar.png Thiesjoo: Oh weird

BenjaminUrquhart: Doju

Default avatar.png Thiesjoo: Thanks will fix soon

Scarfield: Scarfield

AntiSquid: avdg

BenjaminUrquhart: Thiesjoo Doju

BenjaminUrquhart: I'm done now

Scarfield: xD

Default avatar.png Thiesjoo: avdg what are your bots doing

BenjaminUrquhart: bet they're trying to eat each other

Waffle3z: Waffle3z

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

Default avatar.png 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

Default avatar.png Thiesjoo: 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

Default avatar.png 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

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 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

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

Default avatar.png 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 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.

Default avatar.png 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

Default avatar.png 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 ?

Default avatar.png goolmoos: Doju, try to implement __iter__ as a genrator, it is mush

Default avatar.png goolmoos: much

Default avatar.png goolmoos: easier

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

Default avatar.png ashikujjaman: what it means: Only PINKY still has pacs standing! PINKY wins with 286 pellets

Cappefra: that he killed all your pacs

Default avatar.png goolmoos: ashikujjaman, he ate all your pacs

Scarfield: pinkys opponent lost all his pacs, and pinky has the most pellets

Default avatar.png ashikujjaman: how can eat my pac? didn't found in statement or I mised it

Default avatar.png goolmoos: are you in the wood league?

Default avatar.png ashikujjaman: yes

muy31: no eating till bronze

Default avatar.png goolmoos: then he can't eat them yet

Scarfield: timeout maybe?

Default avatar.png 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

Default avatar.png 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

Default avatar.png ashikujjaman: I got it thanks

Default avatar.png 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)


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

Default avatar.png 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

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

Cappefra: like there's no way of stopping that without tracking opponents

Default avatar.png InspiratioN: i am stuck in ascii

Default avatar.png InspiratioN: :(

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 ;-)

Default avatar.png InspiratioN: i print manhattan but in new lines

Default avatar.png InspiratioN: lol

Default avatar.png InspiratioN: is it good this website to improve my basic python coding?

Default avatar.png InspiratioN: i am beginner

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

Default avatar.png 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

Counterbalance: if you want to brush up on rock-paper-scissors:

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

Default avatar.png 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

Default avatar.png 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

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:

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


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:

Icebox: times have changed

Default avatar.png JBM: hiss hiss

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: 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

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


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?

Default avatar.png JBM: 17

njaber: Nice, I should have time to finish my bot update before then

Default avatar.png JBM: famous last words

njaber: Yeah you're right, I probably woun't

njaber: won't*

Default avatar.png JBM: who knows

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

Default avatar.png JBM: how nihilistic

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:

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

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

Default avatar.png JBM: or his

Kellthazar: Sure...

Default avatar.png JBM: not sure yet

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

Default avatar.png JBM: that's horrible

Default avatar.png 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

Default avatar.png JBM: still so much more than no loop

Default avatar.png JBM: custom iterations are fine

Doju: err

Default avatar.png 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

Default avatar.png JBM: no no no

Default avatar.png JBM: your iterator should be external

Doju: huh?

Doju: soo.. where do i store it

Default avatar.png 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?

Default avatar.png JBM: log more stuff

BenjaminUrquhart: print less stuff

Default avatar.png 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

Default avatar.png 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:

Default avatar.png JBM: oo in js istn't what i'd call "typical"

solaimanope: when will bronze league boss appear?

Default avatar.png JBM: in 16:15

solaimanope: GMT?

Default avatar.png JBM: from now

SemChumboPT: Good luck Everyone !

Default avatar.png JBM: "in"

solaimanope: uh ok

solaimanope: thanks

Default avatar.png JBM: around 1600UTC

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#

Default avatar.png JBM: wat

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)

Default avatar.png 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....

Default avatar.png BenWo: hah, 'nite Doju :)

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

Default avatar.png ongietorri: hi

Default avatar.png ongietorri: can someone explain how we are supposed to use the SPEED ability ?

Default avatar.png ongietorri: when i use it on startup it seems if fails everytime

Default avatar.png BenWo: "SPEED id"

Default avatar.png BenWo: that's the only command you can send for that id on that turn

Default avatar.png ongietorri: I can't send a move on the same turn ?

Default avatar.png BenWo: nope

BenjaminUrquhart: for that pac at least

Default avatar.png ongietorri: ok, thank you

jke: anyone know if enemy pacs block vision?

Default avatar.png ongietorri: i will try that !

BenjaminUrquhart: they do not jke

TheOnlyJoker: Idk why whenever I use speed the pacman keep stoping


jke: awesome, thanks

TheOnlyJoker: this is the gameplay :

Default avatar.png BenWo: what's with the huge link?

TheOnlyJoker: my bad xD

Default avatar.png BenWo: :thumbsup:

Default avatar.png 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

Default avatar.png BenWo: frame 7

Default avatar.png BenWo: you're sending speed before the cooldown is over

Default avatar.png BenWo: frame 7-11 are just speed commands

Default avatar.png BenWo: cooldown is 10 turns, speed only lasts 5 turns

Default avatar.png 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

Default avatar.png BenWo: np

cegprakash: just 10 games processed

cegprakash: wait for it BenjaminUrquhart

BenjaminUrquhart: oh ok

BenjaminUrquhart: no speed?

BenjaminUrquhart: also, this is some quality action

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

Default avatar.png BenWo: lol nice replay

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...

Default avatar.png BenWo: sneaky

Kellthazar: Submitted... drop from ~ 300 to 400. Though still battling.


Kellthazar: pacs 3 blue and 2 red

Default avatar.png 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

Default avatar.png BenWo: I think I get it

Default avatar.png BenWo: the 2 blue pacs both use speed

Default avatar.png BenWo: so they're trying to move 2 squares, but collide on the first square move attempt

Default avatar.png 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

Default avatar.png BenWo: sure, tricky

Default avatar.png BenWo: I'm not sure I understand frame 33, lol

Default avatar.png BenWo: must be that blue pacs are colliding and red pacs are colliding

muy31: yeah lol

Default avatar.png BenWo: there are definitely opportunities for insane tactics if your pacs cooperate

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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?

Default avatar.png BenWo: you don't actually get 2 turns

cegprakash: if I'm speeded up

Default avatar.png BenWo: it just executes 2 turns

muy31: or kellthazar counterplay to beat the opponent

cegprakash: should I read input twice?

Default avatar.png 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

Default avatar.png 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

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

Default avatar.png BenWo: errata ->

muy31: in this case, however, kellthazar (literally the next run) on turn 54


errata: @BenWo thanks!

Default avatar.png BenWo: np

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 :)

Default avatar.png BenWo: this is tough, but fun :)

muy31: rip i didnt see that ok Kellthazar you win

Default avatar.png 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: 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:

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 !!

Default avatar.png BenWo: :smile::thumbsup:

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

Default avatar.png 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

Default avatar.png BenWo: what language?

berries: java

Default avatar.png BenWo: what's the error?

berries: Standard Error Stream:

NapTown: your list is empty

berries: oh okay ill take another look at it, thanks

Kellthazar: drop 200 positions after the last submit. XD

Default avatar.png 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!

Default avatar.png BenWo: hi

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

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