Chat:World/2021-05-14

From CG community
Revision as of 12:06, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/63686149173768> UndercoverToad: i have a major bug in my move generator but when I fix it, scoring falls apart and all hell breaks loose :sob: <img src=/a/6368614...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

UndercoverToad: i have a major bug in my move generator but when I fix it, scoring falls apart and all hell breaks loose :sob:

UndercoverToad: I don't generate SEED after GROW from size 0 to 1

ZarthaxX: you beated me anyway

ZarthaxX: :(

UndercoverToad: beated?

NinjaDoggy: @toad

NinjaDoggy: don't worry it's not a bug it's a feature :)

UndercoverToad: oh, a doggy is near me

NinjaDoggy: i tell my bot not to generate seed from 1 cost

NinjaDoggy: oh i was like "i'm above toady :D "

UndercoverToad: getting in line before legend, aren't we ;)

NinjaDoggy: then i realized u just submitted :(

dbdr: nice unintentional pruning, UndercoverToad :D

NinjaDoggy: but yea i bought my ticket for the legend train :)

UndercoverToad: i was 13th when I woke up

NinjaDoggy: yeh u were around there the whole time

NinjaDoggy: u know what pushed my bot from ~50 - 100 to top 20?

NinjaDoggy: don't complete until day 12 :)

dbdr: just in line to be below the boss at opening ;)

NinjaDoggy: :( top 20 is legend :(

NinjaDoggy: don't jinx me :(

dbdr: that was for the toad, you'll be fine NinjaDoggy ;)

NinjaDoggy: ahhh thanks :D

Default avatar.png MADDY-1: hii

dbdr: even if you're below him. the gold boss moves in mysterious ways

Wontonimo: what's the "usual" cut off for legend? For Gold they did about 635. Has legend been real small in past competitions?

dbdr: 15-20

Wontonimo: *sigh*

Wontonimo: that's what i get for dragging my feet the first 3 days of the competition and taking shortcuts in my sim

dbdr: legend has no value if it's too big. it's an achievement to get in

Wontonimo: once legend opens, is there a gold boss that you can beat to get in, or is it locked?

dbdr: there's a boss

Wontonimo: thanks dbdr

dbdr: will be the target for many players

UndercoverToad: gold boss is nothing you want to be yourself. players will optimize their strategies against you

UndercoverToad: vlavv is probably a good candidate if legend would open right now

UndercoverToad: not c++ and in the right range

NinjaDoggy: why does not C++ matter?

UndercoverToad: i don't know. I just rarely see a C++ boss

UndercoverToad: what matters is the thinking time though

UndercoverToad: they want a fast boss, as it will get lots of matches

UndercoverToad: those C++ bots tend to be search-heavy

UndercoverToad: and the typescipt guy submitted some bogus I think

UndercoverToad: was higher before

NinjaDoggy: maybe bots have improved that much :P

UndercoverToad: he's next to my C# competitor around rank 30

UndercoverToad: that one hasn't submitted for a while and was in a similar range yesterday

UndercoverToad: and i think i could locate the source of the terrible smell in my room

UndercoverToad: it's coming out of the roof. i guess a mouse just died there and will smell in all eternity :(

ZarthaxX: sheez

ZarthaxX: nasty toad

dbdr: yeah, perl boss would be fun

ZarthaxX: plz dont submit you hurt my feelings and score too :rofl:

dbdr: with a non-search bot, there is a bigger chance of a cheese though. but probably not in this game

NinjaDoggy: toad

NinjaDoggy: why are you so nice to me <3

NinjaDoggy: 5-0 thanks!

UndercoverToad: :/

ZarthaxX: lmao

ZarthaxX: sucking his score

UndercoverToad: i should just quit once i reach legend

UndercoverToad: i hate this game

UndercoverToad: i hate all contest games after a while

UndercoverToad: but i started hating this one early

Marchete: you wake up so early

UndercoverToad: the early toad catches the worm

UndercoverToad: and i'm frustrated

Marchete: the toad doesn't catch the mouse

Marchete: and you are frustated by that too

UndercoverToad: that's a problem. I can hear them running under the roof

ZarthaxX: why do you hate it and you are so high

ZarthaxX: damn toad

ZarthaxX: sexy toad

UndercoverToad: i'm dropping. i even fear a rank below top50 :scream:

ZarthaxX: what?

UndercoverToad: at the end of the contest of course

UndercoverToad: after a hard weeekend

UndercoverToad: but tomorrow is codejam day

UndercoverToad: I hate that as well. for the 2nd year in a row the CG contest happens during codejam round 2

CouscousAgha: is it fair when top 50 players re-submit and obviously win against random people in top 300 and just make them de-rank 5 spots

PatrickMcGinnisII: silver boss is pissing me off, but I haven't submitted in silver at all

UndercoverToad: that's just how trueskill works

UndercoverToad: it's designed for human players. who might get worse and lose skills

aangairbender: I lose to random people al lthe time xD

UndercoverToad: so if you win against a noob you may have lost some skill. just not enough to lose the game. conservative estimation

aangairbender: but eventually system puts me back to top50

PatrickMcGinnisII: ok, 41st in silver, might as well shoot myself in the foot

ZarthaxX: aangairbender resubmit

ZarthaxX: UndercoverToad good luck in codejam!

ZarthaxX: beat touris t

aangairbender: I am trying new approach where I eval actions instead of states, UndercoverToad have you tried such approach?

UndercoverToad: thank, i'm happy if i reach top 1000

ZarthaxX: t shirt :D

ZarthaxX: how is the design

UndercoverToad: didn't check

UndercoverToad: also top 1000 qualifies for round 3

CouscousAgha: my 3 last losses 2 of them were vs top 50 and top 64

UndercoverToad: i have a bit of such an approach in my current bot aangairbender

UndercoverToad: but want to get away from it

aangairbender: ZarthaxX resubmitted, lets see

CouscousAgha: made me descend 10 ranks for no reason lol

aangairbender: why you want to get away from it? It seems interesting for me

UndercoverToad: how do you even get matches against much higher ranked players CouscousAgha?

ZarthaxX: aangairbender oh shit i thought you wouldnt do it

CouscousAgha: I guess when they re submit their code

UndercoverToad: ah

ZarthaxX: oh top 1k qualifies :O

aangairbender: ZarthaxX actually I submitted my version before last, it was a bit stronger (60%wr again last one)

UndercoverToad: because that's carrying some score history and I only want to rate the outcome

aangairbender: at least it doesnt lose to random guys until ~rank 150

DarkLord__28: hiii

Default avatar.png MADDY-1: Spring Challange is Nice

CouscousAgha: i got matched again vs a top 50 and descended 4 ranks again lol

CouscousAgha: im now below bots i mostly win against

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

DCoderOP: happy Akshaya Trtitya

DarkLord__28: happy Akshya tritya sir

ZarthaxX: aangairbender oh ok

ZarthaxX: meanwhile im getting smaehd :(

UndercoverToad: that's what I thought when I submitted. but it was the other polar bear

ZarthaxX: e.e

ZarthaxX: im a bit higher thanh im

PatrickMcGinnisII: lost almost 2000 ranks in submit

PatrickMcGinnisII: er 200

PatrickMcGinnisII: only 1.5 pts difference, close game

PatrickMcGinnisII: gn,glhf

CouscousAgha: gonna go sleep now

Marchete: now?

CouscousAgha: hopefully this game will stop matching me vs people above 50

CouscousAgha: because this is unfair lol

Marchete: In morocco the sun is rising...

CouscousAgha: yes

Marchete: :D

Default avatar.png MADDY-1: :smile:

CouscousAgha: it's 4:50am now

Marchete: good day? then

CouscousAgha: LOL

CouscousAgha: thank you

dbdr: CouscousAgha playing against top players happens to everyone, randomly, so it's fair

dbdr: in the worst case, resubmit ;)

padobranac: i need one more upvote for a challenge. Anyone care to check it out?https://www.codingame.com/contribute/view/6656a8357853e2d23c7dd53688f011ebe3ee

Smelty: sure!

Smelty: seems nice,upvoted

padobranac: thanks

Default avatar.png MADDY-1: hii guys

UndercoverToad: another Caesar Cipher?

Maliamnon: 1 in silver rn :grimacing:

Default avatar.png GareBearH: hey

Default avatar.png GareBearH: im looking for peers to work with

Default avatar.png GareBearH: i know all the basics along with a few imports and im a quick learner

Ajaiy2: Which language?

Default avatar.png GareBearH: python

Ajaiy2: Im C# and I know a bit of python

Default avatar.png GareBearH: forgot to specify, sorry :sweat_smile:

Default avatar.png GareBearH: how much

Ajaiy2: Till the simple mathematical operations like trunc, ord, ceil

Default avatar.png GareBearH: okay, and the built in functions too like if, print, input, yknow the really basic stuff

davilla: import horse

Ajaiy2: Yes, I know that and the ternary operators too

Default avatar.png GareBearH: k

Marchete: Let's see how LAHC works

Marchete: on the game

Marchete: I like it because it's as simple as MC to code

Marchete: http://chat.codingame.com/pastebin/fc027593-50bf-47fb-ada3-e208cdbaff21

Marchete: like a 9 lines algo

Ajaiy2: I have a beam search of width 1 and it works nice

Marchete: width 1? :D

Thienu: isnt that equivalent to a depth 1 bfs

Ajaiy2: Well, I only choose the lowest index

NinjaDoggy: no it's equivalent to a greedy strategy

Ajaiy2: Yes

NinjaDoggy: outputting a random move is equivalent to 1 iterations MCTS :)

Notter: Is it hardcoding to write an array just to convert from cell id to coordinates?

NinjaDoggy: yes, but it's ok to hardcode

KCrown: I swear with each new submission Im dropping in rank

NinjaDoggy: on average resubmits will be lower in rank

NinjaDoggy: if you don't change your bot, but other bots are(on average) improving. Then resubmitting will drop ranks

KCrown: still not very encouraging

NinjaDoggy: just reassuring you that you're not going crazy ;)

Default avatar.png MADDY-1: guys why codingame

KCrown: :P

KCrown: insanity

KCrown: I knew from the last 3 times I should have coded a sim

dbdr: gg kovi!

kovi: thx dbdr

kovi: found a major bug yesterday 50->top5

Ajaiy2: After few fixes, my code ends up with 12 fully grown trees

Ajaiy2: Which is shocking

KCrown: thats about the point where you notice this thing call nutrients ...

NinjaDoggy: Kovi nice!

Ajaiy2: mhm

NinjaDoggy: feels good when bug fixing doesn't make you go from top 50 to top 500 :)

KCrown: cause at that point ur tress is costing you more points to grow then to complete :P

NinjaDoggy: ok new bot beats old bot > 2:1 please don't drop

Default avatar.png MADDY-1: i am new coder in codingame

Stormalix: welcome c:

Westicles: welcome MADDY-1

KiwiTae: there is a contest? wow

KiwiTae: o/

KiwiTae: MADDY-1 are you MK alt? :joy:

Ajaiy2: Just need a slight tweak to beat the silver boss

Default avatar.png DamianS6: Well, yesterday evening I left my bot being sure I'd need to improve it to get to the gold (it was quite stable around silver 30-40) so I was quite surprised it got promoted and it's even not at the very bottom

Default avatar.png DamianS6: As for my 1st challenge, quite stupid if/else bot of 110 python lines I have to say I'm even glad of it :upside_down:

Bernard_Lowe: Anyone else getting error code (#14): submitted code is too big.

Bernard_Lowe: error code (#314)***

Ajaiy2: How much lines?

jrke: did you made code more than of 100k chars?

Bernard_Lowe: lol no. Only 2,400 lines.

jrke: 100k chars not lines

Bernard_Lowe: if I try to put last battle into IDE, I get this error too.

jrke: then your code is more than 100k chars

jrke: open any code golf puzzle

jrke: and see the code size

Bernard_Lowe: ok, I've never done code golf. I should be able to put last battle history into ide, it was working earlier.

Marchete: MADDY-1 is hiding his bot

raxkin: good morning!

dbdr: hey Marchete! are you hiding too? ;)

Marchete: I wish

Illedan: No NN for this Marchete?

Marchete: nope

Marchete: it seems hard to NNize

Illedan: I have ideas, but no time

Marchete: too much items going on

Marchete: yeah I haven't time with week

kovi: welcome back illedan

Marchete: so just sim + crappy search + crappy eval

Marchete: as usual

dbdr: anyone has this issue with the local ref? https://snipboard.io/Q6Wrxs.jpg

Illedan: :D

Marchete: I needed 7 days for the simulation ...

Illedan: I will try to rewrite this weekend if I get some time inbetween life

Illedan: *rewrite the code

Marchete: yeah, you dropped a bit

Illedan: I didn't submit in 5 days though

Marchete: you can do it

Illedan: Legend should be fine I guess

Marchete: beat the toad in C# :D

Illedan: Ofc

Illedan: No sleep until toad is beaten

Marchete: just remember him the mouse

kovi: ambitous goal

Illedan: anyway, work calls. cya in Legend

dbdr: watch out, gold boss will be in perl

Marchete: euler said that

Marchete: that CG prefers fast execution bosses

dbdr: and exotic languages

kovi: go and typescript still has a chance

solistice: Hi guys, I transformed most of my code to bitboards, but I am still still struggling with number of sims

solistice: is there someone who has some time today to go through what I did?

Marchete: sim or move generation?

Marchete: in my case movegen takes up to 74% of cpu time

solistice: you generate moves in sim, no?

Marchete: well, yes

Marchete: but it can be indepently done

Marchete: like if you have a hash

Marchete: maybe you can check it first

Marchete: to see if it's a duplicate gamestate

Marchete: so you won't movegen it

Default avatar.png Al_ir_eza00: how i can see solve this clash of codes?

mybk: what do you mean ?

itzluku: i need 2ms to gen moves by set width

itzluku: xD

itzluku: up to 2ms*

Marchete: 2ms per state?

itzluku: ...

Marchete: ahhh python :D

Marchete: gotcha

itzluku: i dont have a bitboard

Marchete: movegen is slow because of bitboards

Marchete: in my case

itzluku: sometimes even 3ms

itzluku: wtf

Marchete: simulate 30 times and pray

itzluku: i still need to add sun, pointdiff and probability normalization for depth

Marchete: pointdiff?

Default avatar.png NotSureWhyThisWorks: I am having trouble setting/clearing bits in the second half of a 64 bit integer with c++. Has anyone had success with this?

itzluku: yup pointdiff gets more important to the end

itzluku: if u have more points u win :D

Marchete: ensure you use (1ULL << shift)

Marchete: 1ULL is different from 1

Default avatar.png NotSureWhyThisWorks: oh ok. so shift can still be greater than 32?

Marchete: in uint64_t yes

Marchete: but if you use 1 the compiler can use uint32_t

Marchete: for shifting, and you won't get the expected result

Default avatar.png NotSureWhyThisWorks: ok awesome thanks I'll try it out

Marchete: :thumbsup:

Marchete: I'll be in chat instead of coding :D

Default avatar.png NotSureWhyThisWorks: it works!

pmor: are you sure why?

Default avatar.png NotSureWhyThisWorks: I spent probably an hour trying to figure that out and I couldn't before

Default avatar.png NotSureWhyThisWorks: Nah I'm still not sure why it works lol

Default avatar.png NotSureWhyThisWorks: but it works so who cares

pmor: :laughing:

Marchete: always ask on chat

Marchete: most of us had the same problems for hours

UndercoverToad: you mean you had?

Marchete: like me, at some point I tried to do some number % another

Marchete: and it seems that if any number was negative it goes reaaaally bad

UndercoverToad: try python, that has a modulo function which always returns a number >= 0

Marchete: int64_t is very different than uint64_t

Marchete: I learned the hard way when generating random numbers

Default avatar.png NotSureWhyThisWorks: I saw some people using unsigned long long online but it didn't seem to work for me (because I didn't shift with 1ULL I guess)

Marchete: I never use these naming conventions sorry

Marchete: uint64_t for me

Default avatar.png NotSureWhyThisWorks: well I can't be bothered typing unsigned long long all the time so uint64_t for me also

Marchete: you can also use UINT64_C()

Marchete: I don't use it

Marchete: for constants of uint64_t

Default avatar.png NotSureWhyThisWorks: ah ok

Default avatar.png NotSureWhyThisWorks: is it possible to calculate seed options with bitboards?

Marchete: it's the best option

Marchete: calc freeSpaces

Marchete: for each tree calc range

Marchete: range & freeSpace

Marchete: success

Default avatar.png NotSureWhyThisWorks: ok that makes sense

Default avatar.png NotSureWhyThisWorks: doing tree by tree means you have to loop through the bits in a bitboard right?

Marchete: yes

Marchete: most of use use either trailing zero count or leading zero count

Marchete: to get first or last bit fast

Marchete: trailing zero count = an operation on modern CPUs

Default avatar.png NotSureWhyThisWorks: and then once you find first or last bit you iterate bit by bit from there for the next ones?

Marchete: not a custom made function

Marchete: use bit, remove it

Marchete: find the last bit again

UndercoverToad: the toad is back :frog:

Default avatar.png NotSureWhyThisWorks: thanks Marchete

kovi: nice euler!

UndercoverToad: but you are hitting me hard kovi

UndercoverToad: you and bowwow are my only < 50%

UndercoverToad: too few games to be significant of course

Marchete: some new feature or just paramtuning?

Marchete: wow 3rd

UndercoverToad: i completely dumped my old scoring and started from scratch this morning

UndercoverToad: not completely but mostly at least

Marchete: nice

Marchete: good job

UndercoverToad: legend here I come \o/

Marchete: was it ever a question?

UndercoverToad: for me it was. now i'm growing confidence

Marchete: :unamused:

UndercoverToad: i was sure that i will make it. just not if my old bot would make it

UndercoverToad: Illedan 09:24AM Ofc No sleep until toad is beaten

UndercoverToad: this will be a long night

Marchete: weekend*

Marchete: also he didn't specify on what game

UndercoverToad: it's implied without him saying

Marchete: I'm trying to saving him from sleep deprivation

UndercoverToad: he didn't specify which toad either but we all know

Marchete: saying the toad will uncover you

ddreams: dbdr yes, the small graphics are included as a sprite, but apparently there's something that should split it up

ddreams: haven't looked into what's missing

dbf: UndercoverToad, nice improvement with last submit!

Nerchio: why are you undercover toad

allla: Hello World

UndercoverToad: thanks dbf, dumping some code was a good idea

UndercoverToad: Nerchio chat gets extremely laggy for moderators as every user on chat is visible

Nerchio: oh ok

Nerchio: i was wondering why they keep saying euler

Nerchio: when you were not in chat

Nerchio: i know, pretty slow thinking

Nerchio: :joy:

UndercoverToad: hover over my avatar

Nerchio: now i see

mybk: guys what are the reasons for timing out ?

UndercoverToad: taking more than 100ms for your turn

UndercoverToad: infinite loop,

UndercoverToad: crash

UndercoverToad: forgetting to print an action

mybk: I have a timeout and I don't think I have any of those reasons

mybk: the only think that I added is a lookup table for getPossibleMoves

UndercoverToad: any error messages?

Nerchio: depends on the language but sometimes its good to not to use full 100ms

mybk: no

Nerchio: i use 88 ms for my beam

mybk: I did try 10ms

mybk: and I have the same problem

mybk: "mybk has not provided an action in time. "

UndercoverToad: no crash report?

mybk: no

UndercoverToad: write the input directly to stderr

UndercoverToad: then test it offline with that input

Vaurtitoux: petition to set the max timeout to 5ms! NO MORE TREE ENJOYERS!

mybk: okay thanks I will try that

UndercoverToad: even with 5ms it's possible to do a bit of search and CodinGame has problems with random timeouts that would affect all bots

UndercoverToad: the SDK even defines a minimum thinking time of 50ms per turn

Marchete: hiding time, euler?

mybk: UndercoverToad I have no problem in offline, so it's related to CG...

UndercoverToad: maybe the last submit was just a fluke Marchete, I haven't changed much

Marchete: :S

UndercoverToad: mybk do you have a replay of the timeout, maybe we have an idea what could cause it then

Nerchio: top20 is pretty brutal

mybk: https://www.codingame.com/share-replay/554944362

Marchete: that either means the game is assymetric or unreliable

UndercoverToad: i disabled a feature where i'm uncertain about. maybe it was good after all

ddreams: the game is certainly asymmetric

Marchete: it must be that

UndercoverToad: and wider beam

Marchete: HS P3 again

ddreams: mybk it's likely a crash

ddreams: "the only think that I added is a lookup table for getPossibleMoves "

ddreams: make sure you don't go outside the limits here

UndercoverToad: key not found is what I read here

UndercoverToad: but should give an error message in the web IDE at least

UndercoverToad: do you clear that lookup after each turn?

mybk: no

UndercoverToad: if not, you don't have the same state online and offline (testing only 1 turn)

ddreams: usually I don't get any crash report in c++

mybk: I am using java

mybk: HashMap in java nor limited

ddreams: how do you test it offline?

Nerchio: you can still do map.get(nonExistent).doWhatever()

Nerchio: boom

Nerchio: but you should get nullpointer then idk

mybk: I copied the whole game (24 days) given to me, past it into a file and I am reading from the file rather than from standard input

mybk: I am testing before a get a value, if the hash exist in the Map

mybk: no I did test the whole game

mybk: and in offline I added more time to force the problem to appear (1000 ms)

akagami101: op

kovi: new candidate VB.NET

UndercoverToad: that's a resubmit of my #3 bot :/

UndercoverToad: not even top10 this time

MSmits: morning

UndercoverToad: lunchtime, see you

kovi: randomness 2-7 for me hello MSmits

MSmits: I went to sleep at 4 am, then woke up at 9 am because of package delivery. Then couldnt sleep again because of contest ideas

Astrobytes: morning!

MSmits: now rank 116 though :)

Astrobytes: grats!

MSmits: thanks :)

kovi: nice

aCat: close MSmits

aCat: Im #121 now ;p

MSmits: impossible, i am 121 now

MSmits: now 128

MSmits: dropping :P

jrke: so finally MS got an good eval

jrke: but i didn't lol

MSmits: I am really stupid this contest. Earlier I spent an hour or two puzzled at brutaltester, until I realized I read the columns for p1 and p2 as wr, instead of rows

MSmits: mmh this new thingy should give me 90% wr, why doesnt it work on leaderboard ?

Whatar: Do you got any problem running the game locally? I know get extremely low scores with my bot, 12 or so

Whatar: *did you get

jrke: because only you are not on leaderboard MS ;)

Codechaos: I'm using Java and have weird timeout issues. I save the current time right at the start of the while loop. Then again after the current day is transmitted. Sometimes just this takes more than 200ms so my actual game code doesn't even have a real chance to do much stuff.

MSmits: mmh no problems, but if you set nearly identical bots against eachother you will get mostly draws

RoboStac: Codechaos - you need to start timing after the first input (the server starts timing when it sends the input) or you'll include server processing time in your turn

Whatar: true, the problem is that at the end of the game I get exactly 12 points each bot

Whatar: if I simulate the game with the same bot against the same bot on the site I get 130-110 or similar scores

MSmits: Codechaos look at it like this: It's a while loop, so you'll go back to the beginning of it immediately after outputting. So you send output and then immediately starting the timer again, instead of waiting till server is done

MSmits: wait till at least one 1 is read (so first input_

MSmits: one line

MSmits: (wait RoboStac said with more detail)

MSmits: what... damn my typing sucks

MSmits: maybe because 5 hr sleep

MSmits: Whatar you must have a bug somewhere, how do you simulate your games?

MSmits: maybe confusing turns and days or something

Codechaos: That makes sense, thank you!

Whatar: I am not using cg-brutaltester yet, I am just running the refee with two instancees of very similar bots

Marchete: Smits vs his nemesis game

Whatar: the two bots run decently online

MSmits: this is actually a game i should be ok at, but i am messing up a lot, doing stupid sht

Whatar: but maybe there is a slightly difference in the local game that messes up with my spaghetti code

MSmits: yeah

Marchete: stupid as bugs or stupid as bad ideas

MSmits: bugs

Marchete: unit tests

MSmits: i did do more unit testing than i normally do, just no across the board

MSmits: some things i tested really well, it's the untested ones...

Marchete: untested like what?

MSmits: like nth element

Marchete: ahh

Marchete: ok

Whatar: the game starts with 2 trees even locally right? I am surfing the source code but I am not experienced with java

MSmits: well the referee is the referee

MSmits: so if you take it, you get the same game, supposedly

Marchete: I haven't used the referee this game

MSmits: scoring is included

Marchete: at all

Whatar: yeah in theory it should be exactly the same, input, outputs, everything

ddreams: depends on the league, Whatar

MSmits: at some point you do need to fit some params Marchete

ddreams: if you don't set the league, you start with tons of trees

Marchete: fit for openings?

Whatar: how do I set the league?

MSmits: for the game, eval parameters

ddreams: there's a -d option, I don't remember

Whatar: the -d should be for the seed

ddreams: I just removed the wood leagues from the code

Marchete: I'm too stupid for understanding it

ddreams: ok then :p

Nerchio: i agree with MSmits i can't imagine doing a search without some local mass games

Whatar: I can do that I guess

MSmits: Nerchio in some games it works ok and in this game it works ok too, aslong as your bot has maybe 2 or 3 params

MSmits: more than that and you need faster testing than a submit will give you

Nerchio: true i guess almost every search i make has many paramteres :D

MSmits: yeah

Nerchio: and well search is supported by other stuff

Nerchio: which can be changed too

MSmits: yup

ddreams: I never understood why when you tell people something they don't know, often they argue against it

MSmits: that makes no sense ddreams

ddreams: agreed

MSmits: they should reply: "knowledge accepted, starting integration..."

ddreams: exactly, looking forward to meet our AI overlords

MSmits: :)

Whatar: than you ddreams, there was a switch for game league and I just removed woods

ddreams: yw

MSmits: I remember doing kutulu contest and translating entire java referee to C# to write a sim

MSmits: never doing that again

Nerchio: :fearful:

ddreams: yeah, I was doing that for pacman for the collide resolution stuff

ddreams: not fun

MSmits: pro tip, dont use unsigned variables when you are subtracting things

davilla: unsigned arithmetic can still be checked

Nerchio: java fixes it for you there is no usigned types

Nerchio: :joy:

MSmits: that helps

alchemsti: "fixes"

MSmits: a lot of problems are prevented by not using C++ :)

ddreams: Nerchio what about "char"? :p

davilla: ddreams look up cognitive dissonance

davilla: to answer your earlier question

Nerchio: ddreams yeah.. the only one maybe from primitives but you can't use it with mathemathical operations easily

Nerchio: i mean you can but surprises await

ddreams: davilla yeah, might be an explanation

Nerchio: i hope i can make a lucky submit to legend in the evening

Nerchio: but yeah might be difficult

Chainman: good morning

MSmits: Nerchio it is possible that whomever is chosen as boss, has < 50% wr against you, even if they are ranked higher

MSmits: so spam submit will get you, and everyone above you, to legend

Nerchio: yeah atm breaking to top20 to 'secure' the spot seems difficult

MSmits: and in any case, you can refit your params, to beat it later

MSmits: it seems pretty certain you will hit legend before monda

jrke: or even luckily you can get pushed by spam submits of bots weaker than you

MSmits: that too

MSmits: i have gotten to legend before, while asleep

ddreams: Mr. Smits, the sleeping legend

jrke: MS i am still not having an eval still my bot is heuristic

MSmits: :grin:

MSmits: well tbh, if you dont solve every search bug you have, heuristic is gonna be better

MSmits: it's hard to get bots to do what you want in a search, for this game

jrke: yeah i tried many things but..

Nerchio: i had a search now i try to support it with heuristics and action override sometimes

MSmits: same

Nerchio: in case it sees too far into the future for things that dont exist ;)

Nerchio: "i will be rich if my enemy doesnt plant any trees"

Nerchio: thats kinda what my search sees sometimes

MSmits: makes sense

jrke: my current heuristic performs well in early game good seed planting then it gets bad

ddreams: not completing enough? completing too much? :p

MSmits: well the game becomes more unpredictable then and more flexiblity is needed

jrke: look at this i can't even make out what am i doing wrong

jrke: https://www.codingame.com/replay/555005373

Default avatar.png actualCoderTrevor: jrke why are you waiting to seed if when seeding is free?

Default avatar.png actualCoderTrevor: I can understand waiting till you have a level 2+ tree but you wait even longer than that

alchemsti: causes dormancy, want to seed further away, increases seeding cost

ddreams: too many level3 trees probably

Default avatar.png actualCoderTrevor: I'm just looking at the first seed action

alchemsti: (but those don't seem to apply, except perhaps dormancy, sorry)

Noyotens: any typescript guy

Default avatar.png actualCoderTrevor: jrke it happens again around turn 61 - you have no seeds on the board but wait until the next day to plant. Just an idea / observation on how you might be able to improve

Noyotens: j

jrke: thanks actualCoderTrevor

Default avatar.png actualCoderTrevor: You're welcome hope it helps :)

ddreams: also jrke, having more than 6 level 3 trees is very expensive

Default avatar.png lpellieer: hi guys, do you have any tips to get out of silver ? should i work on a specific algorithm or just stick to heuristics ?

Nerchio: well having more than 1 tree level 3 is already expensive and you are overpaying :D

ddreams: you're also growing to level 3 before cutting down another

dbf: lpellieer it is possible to reach gold without search algo

MSmits: possibly to reach legend. Depends on how good the heuristics are, right?

Nerchio: well you need simulation of the future turns but not search itself

Nerchio: imo

ddreams: the top 24 guy says he has no search/sim, just a move selector

MSmits: yeah you can do some loop over future days, but that's not really a search if you're not using some sort of tree of gamestates

alchemsti: Where did he say that?

Nerchio: ddreams who?

ddreams: typescript guy

alchemsti: I gotta say, I am impressed with that move selector

Default avatar.png lpellieer: ok thanks

Marchete: what move selector?

alchemsti: I do think this problem favors time on eval, BUT sometimes there are some time tradeoffs that it seems search can help you make the correct choice

alchemsti: The one that's getting the person to spot #24

alchemsti: :D

jrke: but the thing if you have a size 3 tree not in shadow it gives you 3 sunpoints = 1 score(/3)

alchemsti: My move selector got my to spot 900

Marchete: ahhh

alchemsti: So now I'm trying to move over to a beam type search

alchemsti: which is why I'm dead last in my league :D

Marchete: I'm there too, don't worry

MSmits: is this the same bot that was 200 ranked early on Marchete?

MSmits: you said it was heuristic

MSmits: right?

Marchete: yes

MSmits: have you tried a search?

MSmits: i'm sure you have

Marchete: I finished the sim yesterday or the day before

MSmits: ah ok

Marchete: exact sim

Marchete: I'd throw some ugly search and eval

Marchete: and not much more

Marchete: not gonna lie, I'm terrible at this

MSmits: well different contests require different skill

Marchete: at any contest

MSmits: this one is particularly heavy on the "watch games and tweak eval"

Default avatar.png lpellieer: you seem like you're doing alright lol

MSmits: it's relative lpellieer. There are other things on CG where Marchete is the best or at least top 5

Default avatar.png lpellieer: oh okay

jrke: MS your depth in BS is equal to what turns or day?

MSmits: it's 30 turns, but my bot takes an extra turn to determine if all states are waiting before moving on to the next day

MSmits: so i am guessing around 5 days average

aCat: yeah, got similar Smith

Marchete: I was targetting 8 turns, :S

MSmits: cool

Nerchio: that didnt work with my bot at all idk why

jrke: gtg bye

Nerchio: maybe because low width

Nerchio: like 700

MSmits: yeah, I have 2k, but there's so many reasons why high depth may not work

Marchete: but without enemy prediction a depth=30 must be unreliable

MSmits: some parts of it are yes

MSmits: but you are also making choices unrelated to opponent that have to be planned far into the future

MSmits: like tree placement, so you dont overshadow your own trees

MSmits: in hypersonic, 40 depth seemed best for me. But calculating to 70 depth gave the same result, it didnt hurt at all

Marchete: I did depth 12

MSmits: yeah, so it depends on a lot of things...

Marchete: 8 bomb time + some reserve for reacting

Marchete: but 30 on this game, with seeding in place...

MSmits: it's not actually 30

Marchete: I can't see it

Marchete: I'll wait for postmortems

Default avatar.png xk9c: anyone has some tips how to improve my programming skills? im doing clash of code the whole time but i cant solve many only some

MSmits: Marchete it's better to look at it in terms of days

MSmits: in my case it's 4-5 days

MSmits: the 30 turn is based on the slowest state of each depth level

Marchete: maybe you are right

Marchete: depth of days instead of turns

MSmits: i mean i dont cut off the beam after days, thats a bad idea I think, but it's a better way to discuss depth

Marchete: after days?

Marchete: what do you mean?

MSmits: yeah, i mean calculate all combinations of actions of a whole day

MSmits: then beaming

MSmits: that's too much branching i think

MSmits: need to beam during day too

Marchete: I'm going to do the simples algo

Marchete: random stuff

Marchete: then mutate

Marchete: keep better

Marchete: simplest*

MSmits: that's simple for you

MSmits: because you know it well :)

Marchete: LAHC loop is 9 lines

Marchete: then some function to do random moves

Marchete: and some "mutators"

Marchete: I was thinking like adding a WAIT, replacing by WAIT, swap move n and n+1

Marchete: etc

Marchete: then some eval

Noyotens: any ts guys

MSmits: could work, beam search is not many lines either though, if you just consider the search

Marchete: about sungain0 -sungain1 -suncost0 + rollouttoEnd

MSmits: no teamspeak sorry

MSmits: we have discord

Marchete: I was also thinking about reusing my heuristic functions

Noyotens: ok :cry:

Marchete: to do "clever" selection at random

MSmits: i was kidding, i assumed you meant typescript... you were actually asking about teamspeak !?

Noyotens: no

MSmits: oh ok :P

MSmits: yes there's typescript submits

Noyotens: i have ques

MSmits: you can search language on leaderboard

MSmits: they migth not be online

Noyotens: https://www.codingame.com/share-replay/555025503

Noyotens: i want win plz help me

ddreams: did you try the true and tried general strategy to win?

ddreams: simple: git gud

MSmits: Noyotens frame 15, dont place seed next to your own tree, unless there arent many other options

Whatar: You get to many shadoiws from enemy trees I think

Whatar: and also what ddreams sayd is true

ddreams: euler seem to often place a seed right next to his own tree

Whatar: you also get shadows from you own trees

ddreams: can't figure out why, but he's winning

MSmits: not in early game i bet

MSmits: you mean mid/late game?

ddreams: early

MSmits: thats odd

MSmits: but his bot may just be superior in other ways

Noyotens: i want try new strategy to win

ddreams: round 5

alchemsti: If it's short enough it doesn't hurt, and it blocks the enemy

ddreams: https://www.codingame.com/replay/555029302

alchemsti: From planting a shade-thrower

ddreams: I'd expect him to plant at index 9

Nerchio: yeah some kind of seed optimization is what i want to try

Nerchio: my search does it well but maybe it can be done better

ddreams: not 11

MSmits: ddreams his only other option was 24 from that tree

Noyotens: how u cheek if the tree is inline or not

MSmits: and its on the edge

MSmits: oh and shaded

VizGhar: hey MSmits nice to see you :)

MSmits: so he has no options

MSmits: hi VizGhar!

alchemsti: I agree the seed at 11 looks odd

MSmits: yeah but where should he have dropped the seed?

ddreams: 24 looks nicer

VizGhar: been waiting for you whole week :) heading to legend?

ddreams: bbl lunch

MSmits: ddreams 24 is shaded by big tree

MSmits: it's 3 hexes away

MSmits: so there are no real options

MSmits: VizGhar not sure, i hope to make it before monday

MSmits: probably not before it opens unless a miracle happens

MSmits: best rank so far was 130

VizGhar: you mean during other contests?

MSmits: no, then it's 2. I mean this one

VizGhar: wonder how many players make it to legend during contests... any historical data?

MSmits: 70-120 i think

MSmits: well

MSmits: sometimes lower even i think

MSmits: maybe thats between 1 st.dev

MSmits: usually it opens at 10 or 15 contestants

Default avatar.png Cjx_1: i had heard only as few as 15-20. Maybe thats just those who instantly get brought up?

Nerchio: i have a feeling this time theres going to be a lot of people

Default avatar.png Cjx_1: ah

MSmits: then someone lower than the boss, happens to have a >50% wr and pushes a whole bunch to legend

Zandy156: isn't it based on the total number in gold at first?

Noyotens: https://www.codingame.com/share-replay/555036872

MSmits: hmm not sure, it's always quite low though

Noyotens: guys ur the best :cry:

MSmits: gj Noyotens

Noyotens: MSmits thank from the heart

MSmits: that's the best thank :)

Nerchio: its kinda disappointing to promote in leagues without fighting the boss haha

MSmits: yeah, it's quite satisfying to fight boss and win

Noyotens: i am coming to gold YAAAAAAAAY

MSmits: except when you fail and contest ends, then it's very frustrating

Noyotens: MSmits YEAH

Zandy156: what's your legend rate MSmits? do you try for most contests?

VizGhar: It's so awesome to see early game improve itself just by changing tree to have nodes that represents DAY instead of TURN

VizGhar: but I'm timeouting right now. since I always let whole layer of tree be expanded

VizGhar: which is obviously dumb

MSmits: Zandy156 so far every time i took a serious swipe at legend i got in there

MSmits: some contests i gave up after a few days though, time issues and such

MSmits: then it;s probably silver or something

MSmits: i dont smurf so i have some abysmal contest results in my list :)

MSmits: you can check in people's profile

VizGhar: what is smurfing btw?

MSmits: using a different account, to start the contest

MSmits: if you fail, dont participate with real account

VizGhar: ah... just so somebody cant see you being too low in some contest? that seems weird...

jrke: i don;t think someone smurfs

VizGhar: not smurfing can actualy result in dropping in overall laderboard right?

jrke: maybe rare

VizGhar: all moderators :D since their chat is frozen

MSmits: nope

MSmits: not smurfing wont drop your rank

MSmits: i mean smurfing

VizGhar: if you submit poor code then it does right?

MSmits: bad rank >= no rank

Michael_Howard: Yeah, smurfing drops your rank.

RoboStac: only your top 3 contests count for global ranking

VizGhar: oh really MSmits didn't know that

MSmits: that's no longer true is it RoboStac?

Michael_Howard: Even a low bronze would get you a few points.

MSmits: isn't it last 10 contests or something, with decay?

RoboStac: it is - if you check the profile only 3 have *'s on them

MSmits: ok, so out of the last 10 contests, it keeps your best 3 with decay?

RoboStac: the only change was decay was added so people who did well 5 years ago didn't stay top

MSmits: ahh ok

DomiKo: contest is worth max 10K - 500 * number of contest after that one

MSmits: so anyways, no reason to smurf, unless you're afraid to have a rank 900 in there between the 5's and 3's

Marchete: or bot hiding

MSmits: or that

RoboStac: it's not even last 10 - you can still have a really old contest as your best, but the decay makes it unlikely

MSmits: ah ok

MSmits: yeah i have old contests as my best for sure

MSmits: my results were crap last 2 years, mostly

RoboStac: your best 3 are spring2020, OOC and ice/fire

MSmits: oh, wow

MSmits: thats not old

MSmits: so my early top 10 results dont matter anymore :(

MSmits: i guess your win at code royale doesnt either

MSmits: bit sad

DomiKo: Xmas is worth 6.5K only

Marchete: 3 top1 from 3 years ago == 1 top1 this year

RoboStac: yeah, my top 3 are spring/utg/pikapcha

MSmits: ohh yeah the puzzle contest, you did great there

Marchete: wait do you have top3? :D

MSmits: top 3 contests, not top 3 ranked

Marchete: jk

MSmits: well ranked too :P

Marchete: you guys are getting paid meme

MSmits: huh

Marchete: https://www.youtube.com/watch?v=P2vODYm3cyI

Marchete: you all talk about top10, top3, legend

Marchete: I barely reach top 50 :D

DomiKo: :joy:

MSmits: ohh ok

MSmits: sorry about that :P

UndercoverToad: the global contest leaderboard is useless, I only care about the leaderboards for each individual contest

Zandy156: dang my 3 best were spring 2020 ooc and ice/fire as well

UndercoverToad: OoC, spring 2020, fall 2020 a 4th place at Ice and Fire doesn't matter anymore

MSmits: i sprinted ice and fire starting wednesday after grading exams. Not my highest rank, but proudes achievement :)

UndercoverToad: :D

UndercoverToad: i have a hard time imagining you coding in a rush

MSmits: yeah, it was an exception

MSmits: it helped that I kind of liked the game

Astrobytes: Post-mortem: Yeah I didn't have much time so I wrote my bot on the back of my hand whilst on the train home then telephoned my wife and dictated it to her as she typed it out. Then I was legend.

MSmits: with the chaining of actions and such

RoboStac: I did badly on ice and fire, didn't make legend :(

UndercoverToad: i still remember hashcode where you thought about bitboard encoding for a 4h contest

Astrobytes: Didn't you miss part of that one robo?

MSmits: did you really fail though? Wasnt lack of time robo?

RoboStac: I think I was away the last weekend, but I put some effort into trying to have a decent bot

UndercoverToad: a legend without robo doesn't feel like a real legend league

RoboStac: I've usually managed to get into legend as it opens

MSmits: UndercoverToad I am both slow and bad at cooperative coding, I liked watching you guys go at it though

UndercoverToad: you left kutulu early too and almost got top20

RoboStac: now I just need to pretend I left this one on wednesday and didn't just get stuck trying to improve it :(

MSmits: 10th out of 7k is like 3 out of 2k

UndercoverToad: even submit results feel random again

Marchete: maybe not smits

Marchete: multi with 100 people are damn hard at top10 too

UndercoverToad: there are many new users. but on average I think they are less skilled/trained than CG veterans

MSmits: no, but then it could be either better or worse

RoboStac: there are quite a few new names in the top20 though

MSmits: could also be we drew from a source of good players, it only needs to be a few

UndercoverToad: just not the CG way of thinking how to squeeze the bot logic in the very generous 100ms

UndercoverToad: some new names, yes. but not scaling linear to the increase of the total player count

MSmits: in any case it's not easy to compare your current achievement with a 7k contest to one with a 2k contest. I'd say rank 10 is still pretty nice :)

UndercoverToad: the Japanese section isn't new to contests, just relatively new on CG

UndercoverToad: ok, we can agree on that statement MSmits

struct: hi

MSmits: hi struct

RoboStac: hi

Default avatar.png its.Arsh: hey, is there any in-built method in java to convert the hexdecimal to decimal?

resty-daze: parseInt("abc", 16) ?

UndercoverToad: a*16*16+b*16+c

UndercoverToad: a=10, b=11, c=12

UndercoverToad: a hexadecimal number

UndercoverToad: 0xabc

alchemsti: I know it's too early for a post-mortem

alchemsti: But I am somewhat disappointed by this contest (and/or with myself for this contest)

UndercoverToad: and i just wrote random stuff without reading anything but the last message

alchemsti: I guess when I hear of people's cool evals I may feel different

alchemsti: But currently it feels ... somehow arbitrary.

alchemsti: I think I'm just a bit frustrated with slow progress

kovi: i like global contest leaderboard as it is ...

UndercoverToad: arbitrary or arborary :thinking:

alchemsti: :D

Astrobytes: haha

Zandy156: Hey, how come we don't get to make our trees fight rock paper scissors style?

alchemsti: I guess it feels like to be successful with my eval form, I would have needed to tune a ton a factors (mostly around time decay)

Astrobytes: Trees don't fight.

alchemsti: THEY FIGHT FOR LIGHT!

Astrobytes: I suppose they gotta fight for the light to party.

Zandy156: but they don't fight, they sit there lol

Astrobytes: They play the slow game. Creeping.

UndercoverToad: my eval is just counting suns, avoiding to shadow myself and a reward for keeping trees and not selling them for quick points

UndercoverToad: whenever I try to make the eval more complicated, it gets worse

Marchete: keeping trees until some day*

Marchete: no?

UndercoverToad: just keeping

Marchete: ahh

UndercoverToad: and evaluate again the next day

UndercoverToad: the incentive to keep decreases over time

alchemsti: UndercoverToad interesting -- I'm fairly far along in a re-write, moving to beam search, where I'm just implementing the actual multi-day / beam part. My eval was like yours

ddreams: what's your incentive for cutting trees then?

VizGhar: those vectors are slow as hell

UndercoverToad: maybe i should make it dependent on the game score

Chainman: why is it that if you attempt an illegal move it ends your turn? I wish it didn't do that.

alchemsti: But SEEDing seemed so awful without a bit more of an eval (I know, I guess search will find which seeds grow well)

alchemsti: that now I'm spending time on that

alchemsti: Chainman -- otherwise you could do sneaky stalling techniques

Marchete: incentive on cutting can be to allow more cycles, seed->grow->etc

ddreams: Chainman you'd prefer a crash?

Marchete: cost management

Chainman: no, I'd prefer it to continue with my precomputed graph lol.

alchemsti: e.g. wait for your opponent to WAIT and then do 5 quick harvests

UndercoverToad: oh, i have a bonus for keeping trees that also a function of the number of trees of that size

alchemsti: but penalizes having too many, right?

UndercoverToad: not penalizing. just less rewarding

Marchete: yeah, an array for size[] bonus malus

UndercoverToad: and I get a reward (score points) for chopping

ddreams: UndercoverToad but what gives the incentive to actually cut trees?

ddreams: right

Marchete: too many trees of the same size => costly

ddreams: but why would your bot cut trees early?

ddreams: instead of waiting to the end

Chainman: Are you guys at top of the leaderboard, not using self-play to find the params?

Chainman: But still manually entering them?

Marchete: imagine your next turn the enemy will shadow your tree3

Marchete: maybe you prefer to cut it and start a new cycle

UndercoverToad: somehow offline testing didn't really help me this time

UndercoverToad: submit is my test

VizGhar: ddreams you might cut lvl3 tree if next 3 turns will be shadowed

Marchete: exactly

UndercoverToad: even got renamed to "test in arena"

VizGhar: by that time you can grow brand new tree :)

Marchete: shadowed and maybe that tree shadow others of your own trees

Marchete: let the eval decide

ddreams: well, I'm playing vs Euler often, and he's definitely cutting trees that does not get shadowed any time soon

Marchete: he probably doesn't know

Default avatar.png actualCoderTrevor: I really wish I'd made an offline testing. Being able to replay the same game from both positions alone would help me out a lot. Right now it's hard to now if my bot's improved until I submit.

Default avatar.png actualCoderTrevor: *to know

Marchete: he probably have a bunch of variables and weights

Marchete: and the best weights with more wins are kept

Zandy156: three reasons to cut a tree early, shade, too many large trees, bonus nutrients points

Zandy156: also maybe not enough places left to plant new trees

ddreams: do you intend to put your seed at 11 and not 24 here in round 5, UndercoverToad: https://www.codingame.com/replay/555029302

ddreams: just seems weird to shade yourself

ddreams: actualCoderTrevor you can do that with brutaltester, you don't need to code anything yourself

UndercoverToad: let me see

Marchete: Miyazaboss?

ddreams: oh, a gold boss

UndercoverToad: really?

Default avatar.png actualCoderTrevor: Thanks ddreams I'll check that out

Marchete: https://www.codingame.com/share-replay/555075803

ddreams: MiyazaBoss

UndercoverToad: indeed

Marchete: quick, agent ID euler :D

UndercoverToad: a python gold boss

Marchete: weird

UndercoverToad: that must be low, there is no high python :(

Marchete: 33th

Default avatar.png actualCoderTrevor: Oh did that boss just show up or am I just noticing it?

UndercoverToad: CG disappointing me agaoin

Marchete: maybe they are just testing

UndercoverToad: again

Marchete: damn elitists

UndercoverToad: let's stalk #fr

Astrobytes: :salt:

Marchete: let me in, let me iiiin!

dbdr: SophiaLegacy then?

ddreams: appears to be a big legend then

ddreams: I'm beating it and I'm 170

MSmits: oh, gold opened early

Marchete: they must be testing it

UndercoverToad: gold opened 2 days ago

MSmits: err i mean legend :p

Astrobytes: get some sleep ffs MSmits :P

dbdr: wait, why is that boss in my ide?

VizGhar: at least boss appeared

VizGhar: Those better than the Boss will be promoted to Legend League


VizGhar: its happening?

MSmits: no sleep till legend !

Marchete: why boss calc?

Marchete: not a direct promotion?

Chainman: Is legend open already?

Marchete: they want to make sure it's a good bot

MSmits: good idea

ddreams: I bet it's going to change

ddreams: this one is too easy

UndercoverToad: ddreams the game you shared is an IDE match. I can't see my error stream to tell you more about what I was thinking there. but cell 24 is in like with cell 1

ddreams: ah, right

UndercoverToad: and the self-shading on day 5 is on a seed => 0 sun gain in anyways

ddreams: that's even what msmits said, I just didn't understand it

MSmits: yeah, every option is shaded in some way

UndercoverToad: such a shady game

MSmits: very shady

ddreams: don't you guys be putting shade on this game

Marchete: that's tree

MSmits: moar puns

Marchete: I seed

Astrobytes: at least we got to the root of the issue

ddreams: can't spring puns on you on request

VizGhar: cut it off

Astrobytes: conversation seems to have branched off somewhat

ddreams: nah, this game is growing on me

Marchete: :sunny::evergreen_tree::new_moon::herb:

MSmits: growing weed under a tree?

Astrobytes: maybe fall contest will be ganja farming or something

UndercoverToad: boss at 186 right now

UndercoverToad: what are they testing?

Astrobytes: your patience?

RoboStac: should get higher, the bot it's copied from is #57

ddreams: see you all in legend :p

RoboStac: but even so thats a big legend

VizGhar: Even I feel like i can stand a chance

MSmits: gonna be 200-300 before monday

jke: how do you know who it was copied from?

dbdr: :scream:

RoboStac: debug messages are fairly distinctive

Clagus: :D

MSmits: and robo keeps tabs on everyone

AceTea: il est quelle place le bot gold ?

UndercoverToad: to #fr you go

UndercoverToad: VizGhar 02:33PM

 Even I feel like i can stand a chance

but that's not the idea of legend, or at least it wasn't in the past

ddreams: the idea of legend is to keep VizGhar out

Astrobytes: Maybe it'll be renamed The Fun League

ddreams: that's not a nice thing to say, toad

ddreams: underhanded insult

VizGhar: don't worry ddreams, i didn't get it :D

dbdr: there's actually a boss in the lb?? :o

ddreams: yes, it's Bernard_Lowe

UndercoverToad: but you have to scroll a lot to find it

UndercoverToad: 141 at the moment

AceTea: under which name ?

AceTea: I really don'T see it in the leaderboard

RoboStac: just set leaderboard to show computing (hast to be the ide leaderboard)

dbdr: https://snipboard.io/YPSdbZ.jpg

UndercoverToad: even illedan's Sunday bot will make it

kovi: i like that pic

ddreams: gj kovi :)

Chainman: 436 ms to create graph with 61 nodes, I'm done lol

UndercoverToad: finished at 100

kovi: legend now?

struct: I really need to make an eval

dbdr: ???

struct: its stil the eval from testing

dbf: yes, promotion is started

struct: already?

struct: what

UndercoverToad: you'll probably drift without an eval struct

ddreams: 55 in legend so far

dbdr: I think it's by mistake again

ddreams: 70 :p

aCat: something is strange

Nerchio: wait what

Nerchio: o.O

ddreams: 95

UndercoverToad: didn't look like a mistake, that boss was computing for 10 minutes

MSmits: maybe they went for coffee

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

struct: I was expecting the promotion to be later

ZarthaxX: wtf early legend???

MSmits: same

struct: I wanted to improve eval before it

ZarthaxX: what is this

aCat: and ore cutoff

MSmits: ore?

aCat: *more

MSmits: wrong game

ZarthaxX: so 100 cut off

MSmits: oh ok

UndercoverToad: that was the easiest legend since CSB multiplayer

ZarthaxX: damnnn

ZarthaxX: is this a bug or true legend?

UndercoverToad: it's true after all, CG is getting more and move inclusive

dbdr: a bug I'd say

struct: from 20 on last contest to 100 on this

Chainman: It said legend on 05/16/2021 yesterday.

UndercoverToad: legend used to be an achievement

UndercoverToad: Chainman when did you open the tab?

UndercoverToad: 2 days ago?

aCat: damn, sadly i ddidnt have few more hs to code

Chainman: probably just 1-2 days

struct: ok

struct: Legend or delete

ZarthaxX: i thought the same UndercoverToad

struct: with this big of a league there is no excuse

ZarthaxX: i mean based on number of participants its ok to promote more people

ZarthaxX: encouaring that its possible

UndercoverToad: others reported wrong dates as well Chainman. and they all had the tab open for at least a day

struct: My issue is not the date but the hour

Chainman: oh

struct: usually is at 5-6pm

Zandy156: didn't last spring challenge stat with like 50 in legend?

struct: it started with 20

UndercoverToad: maybe we'll read a blog post after the contest, where happy users get quoted how they managed to beat the final boss

Nerchio: struct maybe they want to go home faster today :D

ZarthaxX: its friday mah bois

Astrobytes: lol Toad

Astrobytes: The Happy Happy Joy Joy League

Gabbek: Hello dear friends! :)

Gabbek: How's the day going?

ZarthaxX: excellent

ZarthaxX: UndercoverToad true that haha

Astrobytes: Hi Gabbek :wave:

Gabbek: Good day Astro!

UndercoverToad: it's going legendary

gmessier: euler so we should now have a SuperLegend league

MSmits: Mythic league

dbdr: ^

gmessier: Only for the small Gods circle

UndercoverToad: not going to happen, CG has a hard time putting anything above legend. was discussed for CSB already

MSmits: with bossW00t heading up legend league

dbdr: league -1

dbdr: legend is 0

UndercoverToad: dbdr when legend? :smirk:

dbdr: :P

UndercoverToad: you submitted at the wrong time

gmessier: So maybe it will be better to add on the other side and keep the old ratios

gmessier: The current Bronze is almost a Wood 1 :D

Gabbek: My first gold league in contest, so happy :D

dbf: congrats, Gabbek

Gabbek: thank you!

aCat: now go legend ;-)

Meatly_Wheatly: no

Meatly_Wheatly: stop

Nerchio: its probably possible to get legend with 200 lines of code

Chainman: 368 nodes in 910 ms for first turn hahah

no-cat: idk what going on

no-cat: i cant beat the first code

no-cat: i think im broke

no-cat: the practise

UndercoverToad: the bork beetle got you

no-cat: idk

Chainman: wow improved lots of time by going to iterative as opposed to recursion for creating my graph.

no-cat: the teacher did

Chainman: went from 400-500 -> 100 ms for same number nodes.

Chainman: but still too slow.

no-cat: what does that mean

Meatly_Wheatly: yea i know its probably the connective interface of the javascript and mc

no-cat: yea hthat what i thogt\

Meatly_Wheatly: this is all easy work tho

linjoehan: So how do I get to gold? NOTE: I'm still in wood

no-cat: i codeded minceratf on tortila it dintd worc

UndercoverToad: https://www.codingame.com/contests/ghost-in-the-cell/leaderboard ghost in the cell also had a huge legend league (223 players)

Meatly_Wheatly: i know im in 1st grade but this is easy

Nerchio: so this is not a bug with legend yeah?

no-cat: IM NO GOOD at THis

Meatly_Wheatly: my other friend is like 2 and he already in champin

Gabbek: well about 100-120 legend atm

UndercoverToad: unlikely, CG getting inclusive now and pleasing casual players

Gabbek: sounds about right

XHelp: can I somehow fetch the engine for java, so I can run my algo locally?

ZarthaxX: UndercoverToad but the time for legend is weird

ZarthaxX: has this happened before? mhm

Meatly_Wheatly: kick me plz this is borig

Astrobytes: Yeah, it has. Don't remember which contest

UndercoverToad: GitC was early legend too, Friday morning

ZarthaxX: also dbdr is there a gold boss?? i dont see any in your last battles

Meatly_Wheatly: kick me

Meatly_Wheatly: kickme

ZarthaxX: oh nvm then toad

Meatly_Wheatly: kickme

Meatly_Wheatly: kick me

Meatly_Wheatly: kick me

UndercoverToad: yesterday was a public holiday for France (or most of Europe for the matter)

ZarthaxX: ah

ZarthaxX: that may expplain it

reCurse: 100 legend :rofl:

UndercoverToad: i guess they are pulling a short day today

SamPlamondo: haa u guys suck i coded byraft

UndercoverToad: more work for you Astrobytes

Astrobytes: It's getting ridiculous

UndercoverToad: the spammers or legend?

Astrobytes: haha, both

ZarthaxX: is there a gold boss?

ZarthaxX: i dont see it on last battles from people

Gabbek: how many people used to enter legend in the past? (quite new to contests)

ZarthaxX: 20

ZarthaxX: at the start

reCurse: Like 10 at opening, 100 or so at end

reCurse: Now it's 100 at start...

ZarthaxX: :D

reCurse: Used to mean something

Gabbek: oh :O

ZarthaxX: meme now :(

Chainman: :nerd: Maybe I am legend now

reCurse: Wouldn't be surprised to see 350 legend at end

aCat: yeah seems... weird

UndercoverToad: ZarthaxX there's your boss replay https://www.codingame.com/share-replay/555109272

UndercoverToad: 50.37 points

Chainman: What's a good amount of nodes to have in my graph?

Astrobytes: 42

reCurse: Huge league with crippled batches, this isn't cool

ZarthaxX: UndercoverToad thanks

Chainman: :joy:

ZarthaxX: oh true, why didnt they move players to legend this time :P

gmessier: Difficult to keep "casual" players if they can't have a chance to go further than bronze. But, not challenging for "hardcore" players if it's to easy to reach high leagues...

UndercoverToad: Chainman I can show you my numbers for comparison: https://www.codingame.com/replay/555110976 it's in my message buggle

UndercoverToad: bubble

Astrobytes: buggle sounds far better

reCurse: gmessier: Maybe I need to explain further

reCurse: Once you're in the top 20 or so, getting feedback from games is hugely important

ZarthaxX: astroooooooo

ZarthaxX: :*

aCat: there should be more lagues~~

aCat: !!

reCurse: You used to be able to run batches, so automate the IDE to play matches and get relevant usable results for you

reCurse: They crippled that

reCurse: So now all you have left are submits

Astrobytes: ZarthhhhaxX :kissing_heart:

reCurse: But in huge leagues, you get even less relevant games

ZarthaxX: howdy Astrobytes

reCurse: And more submits from people in legend with more games means very slow results

gmessier: Yeah, I just say that I guess they try to find the compromise, but it's difficult.

reCurse: In a nutshell, the competition is severely damage

ZarthaxX: true :(

reCurse: d

reCurse: Not that anyone cares I guess

aCat: all legend recomputes now

aCat: hahaha ;p

struct: its not fair for the competitive people

Nerchio: legend here i come

Chainman: really Toad, n>5k in t=12ms :0

Queuebee: wow legend is huge

Chainman: and that is only depth=3 though

annaproxy: Omg

delineate: I think the issue started because the wood bosses were too easy, very few people in wood now compared with past contests. I'm guessing they take the top X% as a cutoff for each new league. I noticed silver was larger than normal when it was started, same issue with gold, etc.

gmessier: I think it could be a good option to have Wood 3, Wood 2, Wood 1 (but Wood 1 is the final rules) and you open bronze after a couple of days.

UndercoverToad: others claim far more simulations in the same time

LLG: I made the most important improvement to my bot around this time yesterday

LLG: I made it rickroll the opponent

UndercoverToad: depth=3 means 3 days, not 3 actions in my counting

Gabbek: delineate seems to be the case, yes

reCurse: delineate: They always made an exception for legend

reCurse: Open with very few

Chainman: ohh, that makes mor esense

Chainman: sense

reCurse: Not anymore it seems

Chainman: And the nodes are computed for the entire day

aangairbender: wtf I am in legend

Chainman: or 5k nodes created in 12 ms

reCurse: Can't remember the last time a positive change was made :/

ZarthaxX: i thought the same aangairbender

linjoehan: So is wood just second action in the list?

UndercoverToad: we are equally shocked aangairbender

reCurse: Oh, allowing console to resize I guess...

ZarthaxX: :clap:

Default avatar.png Cjx_1: destined to unite the tribes

Astrobytes: I mean, the clue is in the name of the league...

Default avatar.png Cjx_1: grats dood

aangairbender: first legend in life during contest, ok I'll take it

RoboStac: the boss submit ended quite a bit lower than the bot it was copied from so it's possible they only intended to increase it to 50-60 (which would probably match percentage wise on the older 2000 people contests)

reCurse: But legend has never been about %

aCat: linjoehan yes

ZarthaxX: oh...

reCurse: At least it used not to be

UndercoverToad: Chainman that's generating 5k valid moves and scoring the outcome of each

reCurse: It was aiming to end with top 100 or so

reCurse: Regardless of participants

reCurse: Because of rerun etc

MSmits: depending on the game, a leaderboard can be very volatile. That means that even when you cut it off at 15, you can soon have 50. In this case it was far worse

UndercoverToad: rerun has been min(legend size, 100) for some contests already

Saelyos: That's really disapointing :/

Nerchio: so do we know whos boss it is

linjoehan: and done now I wait to get to bronze then the real game starts

Astrobytes: I have no idea why they just didn't move the top n and recomputed instead

Chainman: interesting

ZarthaxX: UndercoverToad what? when

ZarthaxX: Astrobytes same :P

RoboStac: https://www.codingame.com/share-replay/555081682 <-- probable boss based on debug

Chainman: Mine is way to complex then, I did too much

UndercoverToad: since BotG I think, they only put top 100 in the rerun and skipped the 2 or 3 remaining bots

gmessier: It's difficult to fix a hard limit when your gate is a specific bot. If you have more "good" players, you will have more people in the league. However this time the bosses are too easy.

reCurse: I don't think the best bots are a percentage

UndercoverToad: robo but the boss doesn't say "sleep". maybe they took an older version of that bot (just guessing)

reCurse: Add 100 million players to chess, should there be a lot more GMs?

reCurse: Anyway, pointless

gmessier: So you should not use a bot boss to set the league. Otherwise, the more bots are better than the boss, the more go in legend.

RoboStac: there would be a load more GM's if that happened as the cutoff is elo based

avdg: probably more logarithmic

UndercoverToad: a bot is a reasonable gatekeeper, setting same difficulty level for everyone to promote

gmessier: If 100 players don't submit their best bot and than when the legend league opens they all submit them. They may all go in the legend.

LLG: I just want Default to be my gatekeeper

MSmits: as long as it is strong enough and not beaten by some RPS effect

linjoehan: Actually if only under9's are allowed to play chess there would be a ton of U9s with a 2800 rating

reCurse: My point was getting GM is extremely difficult, but if you make it % based, then a lot of people who would have never qualified as GM in their lives would have automatically gotten it

reCurse: During the chess popularity influx

reCurse: So using % for top makes no sense

MSmits: depends on the distribution of the influx

UndercoverToad: there are always a few hiders that promote after the boss appears, that's normal. but with a higher ranked boss the league would still be smaller, no matter how many are hiding

MSmits: if it happens gradually, it's np

reCurse: You won't get GMs as influx, come on

linjoehan: though GM is not % only is it?

MSmits: no, not with a sudden influx

reCurse: It takes years of dedication and hard work

MSmits: but thats different from CG

MSmits: you could have an influx of high qualirt

MSmits: quality

reCurse: I don't believe a word of that

RoboStac: if all the people from the influx joined FIDE competitions you would get more gm's though - elo gets inflated with more players

gmessier: I don't know how they "select" the bosses

ddreams: GM title isn't elo based though

linjoehan: yeah GM is not just ELO based

MSmits: gmessier bot strength, calculation time used (preferred heuristic bosses)

gmessier: They use a "player" for the bosses or they create them?

MSmits: player

MSmits: except wood

MSmits: they create those

Astrobytes: From wood.

gmessier: That's the problem then. They choose a bots too weak this time

MSmits: exactly

linjoehan: Is a bot abe to see who he is playing?

UndercoverToad: no linjoehan

MSmits: well, unless you hardcode a way to detect playstyles

UndercoverToad: that would make abuse easy

struct: not even the sdk knows

UndercoverToad: which is reasonable

struct: yeah

UndercoverToad: I can change my nickname and the replays will show the new name

linjoehan: So bronze is last rule change?

UndercoverToad: yes

ddreams: I'm surprised that dbdr and Nerchio is still in gold

ddreams: waiting for 100% I guess

VizGhar: ++

dbdr: yes

UndercoverToad: dbdr is destroying the league right now

RoboStac: yeah, with the legend bots being resubmitted games aren't going fast

UndercoverToad: 8 points above the boss

dbdr: :innocent:

Nerchio: yeah i was trying to fix my bot for like 7pm legend league

dbdr: I have a stronger bot too, maybe I should resub now

Nerchio: messed it up and had to rollback now

Nerchio: when i saw legend open :joy:

Nerchio: i kinda expected this legend league to be easy though not sure why

UndercoverToad: MC at top gold. that's the one who created the Langton's Ant multiplayer

Astrobytes: Ah, the elusive MC

KalamariKing: anyone wanna look something over for me

KalamariKing: how do I keep losing

KalamariKing: https://www.codingame.com/share-replay/555020308

ddreams: well, you get a lower score than your opponent

ddreams: that's bad

KalamariKing: they had 0

KalamariKing: I had like 130

KalamariKing: That's a win

UndercoverToad: horrible seed right there

UndercoverToad: twice in a row

struct: you seed eraly

struct: early*

Astrobytes: You're timing out

ddreams: yeah, timeout or a crash

Astrobytes: scroll to the end

KalamariKing: Oh ok thanks

KalamariKing: That makes sense

UndercoverToad: you seed at short range. and you seed while having another seed on the board

struct: grow both trees before seeding

Nerchio: you probably are trying to sell non existing tree or something

KalamariKing: y'all know its a beginner strat right

KalamariKing: its nothing complex

KalamariKing: so thanks for the tips

Astrobytes: just re-check your logic

KalamariKing: that seed one is nice, thanks euler

JSboss: nerchio naked shorting ??

JSboss: :)

MSmits: why are we discussing Nerchio's fashion sense

Nerchio: lol kind of

ddreams: let's see if this 65.63% self play win takes me to legend then

MSmits: I have 80% all the time and then it does nothing =/

dbdr: MSmits you misread it ;)

Noyotens: https://www.codingame.com/replay/555132002

ntsd: hey I don't understand coord in the source code

ddreams: do you play both sides though?

MSmits: i did

dbdr: it's 20&

Noyotens: https://www.codingame.com/replay/555132002

MSmits: but it's still true now :P

dbdr: 20%

dbdr: :(

KalamariKing: Yep, timeout, thanks all

MSmits: i guess it depends on what you change

Noyotens: https://www.codingame.com/replay/555132002

LLG: made it further than last contest

none_: Is there bot that cuts of legend league? Or is is based purely on ranking (like first 104)? I would like to see how it plays, but all I see is both called Default, which is rubbish...

Noyotens: https://www.codingame.com/replay/555132002

MSmits: small param change is hard to test with self-play

dbdr: no first ten matches in legend?

LLG: was low gold, now high gold, legend looks very possible if I don't slack off on weekends

Astrobytes: I know KalamariKing: I saw it on your replay

ntsd: what is coords (x, y, z) of cell index 1, 2, 3

struct: the cuttof is rand()

KalamariKing: quick question what's radix

KalamariKing: its base right

ddreams: none_: MiyazaBoss

Astrobytes: base

KalamariKing: oh you're joking, the only reason its timing out is because I used byte instead of short and it was too large

KalamariKing: Ok thanks all

jrke: damn 104 in legend

jrke: what was the opening of legend?

UndercoverToad: byte to store the score?

UndercoverToad: yes jrke :(

Gabbek: it was about 95 players jrke, the same as it is now :(

UndercoverToad: 95 + a few with pending submits that finished now

ddreams: *sad elite player noises*

UndercoverToad: boss was between 103 and 104 when I got promoted

Uljahn: ^

UndercoverToad: i'm not an elite player. I'm a lvl3 noob

jrke: they should have opened for 15 only opening of silver and gold can vary like there prices do in real market but legends are always legends so i think they should have gone for 15-20

ZarthaxX: :rofl:

struct: maybe I can just wait instead of coding the eval

KalamariKing: Now that that's fixed Let's see how high I can get

ddreams: gl squiddie

KalamariKing: first 10, all wins

KalamariKing: Wow these are slow

Nerchio: now i started getting games vs the boss

Astrobytes: Drugs are not the answer KalamariKing :P

Nerchio: its 51.5 points now

Nerchio: it was 50 before :D

UndercoverToad: I remember last Sunday Marchete asked dbdr it his bot was legend level already. Both dbdr and me answered with no

UndercoverToad: I admit fault here

none_: well, there goes my motivation... I was reworking my solution, but right now I guess I am satisfied with rank 50... :D

UndercoverToad: 50 is 200 at the end

dbdr: we couldn't have known UndercoverToad

ddreams: oops, submitted with testing timeout of 60ms

ddreams: still way better than old bot

none_: well, if it's still based on bot position, I should be fine... :D

KalamariKing: oh we climbin

KalamariKing: we climbin bois

Default avatar.png Cjx_1: bout to hit gold this afternoon with nothing but if else loops, arrays, and a whole lotta moxie :P

jrke: they took python3 as a boss so maybe its heuristic

KalamariKing: oh what do the python3 games look like

Astrobytes: Lots of snakes and stuff

UndercoverToad: snakes and ladders

KalamariKing: wdym snakes

ddreams: check out pygame

aangairbender: turtles battle

KalamariKing: snakes of trees

Default avatar.png Cjx_1: mimics of the high level sims mostly rofl

UndercoverToad: snake = python

KalamariKing: oh lmao

Astrobytes: pythons are .... snakes

KalamariKing: im slow

Wontonimo: just logged on. how many people were promoted when legend first opened?

jrke: was the league opening early today?

ddreams: 95

Wontonimo: thanks ddreams

UndercoverToad: you missed it by 1 hour jrke

Default avatar.png Cjx_1: wow. gl to you champs <3

Default avatar.png actualCoderTrevor: I'll take my legend now, please and thank you https://www.codingame.com/replay/555142154

KalamariKing: god damn

Default avatar.png Cjx_1: almost gives me a sliver of a hope I can make it

KalamariKing: wiping the freaking floor over here

Wontonimo: that's good news and bad news. Good news, that it's really achievable. Bad news is now i'm gonna want to try

KalamariKing: only two people have been able to beat me

Default avatar.png Cjx_1: the competition in that bracket will be intense and varied

aangairbender: this time I had to beat only wood bosses:sweat_smile:

UndercoverToad: same

KalamariKing: not to brag but I'm coming for your ranks :smirk:

UndercoverToad: even reached silver twice

KalamariKing: I thought wood battles took forever how long until you know your rank

struct: and got the experience twice

KalamariKing: this is insane its been like 10 minutes and its only 30% done

jrke: KalamariKing there are 293 ongoing submissions so you have to wait

KalamariKing: the battles take forever

jrke: damn jolindien taking a big lead

jrke: nice

struct: now I cant practice vs default ai :(

jrke: make legend then

ddreams: submit the default ai code, then play against your code in the arena

none_: KalamariKing: after around 40% you are not going to rise much. The closer you are to end of executions, the more you are fighting people around your final position to compare with similar ranks...

aangairbender: struct submit empty bot and practice vs him

struct: nah Ill just use the test link :D

DomiKo: wait

DomiKo: 106 in legend

DomiKo: :rage:

ddreams: 107 when I finish my improvements :p

jrke: how will they gonna make rerun after end of contest in such a crowded legend?

dbdr: top 100

aangairbender: imo legend should have constant size every contest, around 20

Marchete: 106 legend?

Marchete: wth

dbdr: yes :(

aangairbender: codingame should create new leagues

jrke: wood 4

KalamariKing: or make them harder to pass

aangairbender: there are so many people nowadays

KalamariKing: there are so many people in bronze that don't know what they're doing

aangairbender: chilling

KalamariKing: this challenge isn't great in this sense because purely random moves can lead to surprisingly good outcomes

Nerchio: you can be in bronze just printing available actions

struct: I needed full sim for bronze

KalamariKing: after beating literally everyone in this league I really hope silver is better

KalamariKing: str​uct not anymore, unfortunately

uvBoss: @jrke u simulating?

jrke: not yet

jrke: i mean i am not having good eval

uvBoss: heuristics only?

creeperZnation4: Yeah, silver league is actually a little challenging coming from wood @KalamariKing XD

Marchete: gold is no sim, just pick seeds with little neighbours and growing trees that make shadow on enemy and not yours

jrke: so i am currently heuristic

kovi: maybe its too late, but now we can see who is doing search and who is doing heuristic

Marchete: like 4hrs coding

ddreams: kovi how?

ddreams: completion?

kovi: yes

uvBoss: im trying to implementing a simple search man im noob af

aangairbender: My search doesnt complete sometimes

uvBoss: free(): invalid pointer im getting this error but im not even using delete or free keywords

any C++ experts?

kovi: some false positives, those who search fast and those who heuritize slow :)

RoboStac: are you using a vector?

uvBoss: well yeah lots

uvBoss: xD

aangairbender: dangling pointer?

ddreams: probably two vectors deallocating the same objects

uvBoss: OMG memory leak

RoboStac: often means you have some memory corruption (eg writing outside of an array and when it comes to destroy your vector it tries to free the wrong thing)

kovi: rather indexing out yeah

uvBoss: i think i got it thanks guys

aangairbender: c++ is fun at such moments, when you get some random error like this and have no idea where to look

ddreams: it's also a bit dependent on the servers they run on, kovi

RoboStac: uvboss - try putting "#define _GLIBCXX_DEBUG" as the first line of your program

kovi: ddreans, yes but for this rerun it probably averages out

RoboStac: (remove it when you finish debugging - it makes things slow)

ddreams: what's up with your bot, Nerchio?

Nerchio: whats wrong with it

KalamariKing: its doing things

KalamariKing: spooky things

ddreams: oh, I guess you just resubmitted

ddreams: that's why you're at the bottom

ClosetAI: legends get job interview offer, they want more of them

KalamariKing: no you're joking

KalamariKing: resubmitting means you have to re-do all the battles

KalamariKing: even if you were at like 90%

ddreams: so? :D

struct: lol ClosetAI

KalamariKing: SO

KalamariKing: they take forever

UndercoverToad: they want more quotes like https://www.codingame.com/blog/spring-challenge-2020/ (at the bottom)

ClosetAI: I already got a new job, gardener at google

reCurse: Numbers!

reCurse: Big!

KalamariKing: wow python is popular

KalamariKing: did it have timeout issues on that challenge too?

UndercoverToad: no, only clojure

KalamariKing: ok so remember how I was doing really well and then resubmitted well now I'm doing... well, undefeated

KalamariKing: so its not all bad

KalamariKing: although I wasted a good half an hour

KalamariKing: I'll shut up now gb folks

uvBoss: can anyone help me with copying a game state?

KalamariKing: what about it

uvBoss: how? XD

ddreams: if you send it to me as a json file, I can copy it for you

uvBoss: -_-

uvBoss: i mean when calculating next possible states....how do u do it?

KalamariKing: by doing so

KalamariKing: are you using arrays and all that or bitboards

ddreams: Game nextState = applyMove(game, action)

KalamariKing: if you're moving the gamestate around a lot I would switch to bitboards

uvBoss: im using Objects with vectors

uvBoss: ok i have no clue what bitboards are so let me check

jrke: bitboards are strong integers representing a game state

Numby: Any tips on reducing the time it takes to find all legal moves? Is there a better way to store than just a list (Java)?

jrke: each bit represents a part of state

Numby: Does bitboard representation help with finding/storing the legal moves at a board state?

struct: its easier/faster to find

struct: also shadows are easier

struct: imo

DetoBot: yup he is right

Numby: But still need to loop through the board right? There will still be a loop 0 to 36 for each cell to find the legal moves?

struct: I dont need loops for shadows

Noyotens: how to get duplicates items in ts

ddreams: you do loop for seeds, right?

uvBoss: o(1)?

Noyotens: yes

Numby: Well for shadows I understand you can calculate with shifts but doesnt seem to be a bottleneck for me anyways

struct: I loop for seeds yes

ddreams: I still use my pre-bitboard code for seeds

MindController: Anyone has a good guide bitboards? Totally new thing for me and would like to learn more

struct: https://core.ac.uk/download/pdf/33500946.pdf

kovi: solid lead by jolindien

Noyotens: <_>

MindController: Thanks

Zenoscave: how many in legend?

Zenoscave: 100?

struct: it was like 100

Zenoscave: wow

UndercoverToad: https://jjj.de/fxt/fxtbook.pdf that one is on bit magic (among others)

ABIROOP-RP: 🥴

Zenoscave: thanks UndercoverToad I'll be reading

UndercoverToad: that's almost 1000 pages

Zenoscave: reading *sections

ZarthaxX: he will read them

ZarthaxX: trust

Illedan: Legend of 100?!

ddreams: sounds like a movie title

dbdr: I was going to say that even you got in, Illedan, but I see you didn't ;)

Illedan: Hahaha

UndercoverToad: remember Illedan, you goal was beating me and not legend

Illedan: Sure

UndercoverToad: i am your substitute boss now, as the real one failed

Illedan: 02D 17H 22MN 29SC

UndercoverToad: "no sleep till toad is beaten"

Illedan: I'll just fix my Legend rank

Illedan: Ezpz

Wontonimo: and remember UndercoverToad, you said you'd stop once you got to Legend

Illedan: You will wake up 1 day with me still awake above you

Marchete: lol

GhostManVC: how to seed location

Zenoscave: Is there a way to tell if your code is in ide vs submit in c#

Zenoscave: does #ifdef DEBUG or smth work?

UndercoverToad: no way that i'm aware of

RoboStac: I think they fixed all the easy ones

VizGhar: I wonder how you guys compute turns-in-day combinations... with 10 trees to grow 3 to complete and a huge amount of seed placements seems too big for me

UndercoverToad: try to print the size of the binary maybe

ddreams: Zenoscave you can easily set your own global variable in the IDE

Illedan: Submits slow?

Zenoscave: but I'll submit them on accident lol ddreams

RoboStac: legend got a full resubmit so there are loads of games being player

ddreams: Zenoscave oh no... anyway

Illedan: oh, why on earth would they need a resub now -.-

ddreams: figure out the ranking without all the games vs the gold scrubs

dbdr: well, scores were inflated

dbdr: 60+

UndercoverToad: http://chat.codingame.com/pastebin/c52a02da-f5a7-46b3-b39c-ddedeaa8fc74

UndercoverToad: that might do the trick @Zenoscave

UndercoverToad: at least to see if it's the same in IDE and arena or not

Zenoscave: Thanks UndercoverToad

Default avatar.png ashiknur: what will be cutoff for legend?

ddreams: beat the boss

UndercoverToad: legend is open already

RoboStac: theres no limit, just beat the gold boss before the end of the contest

UndercoverToad: 100

Marchete: when submitting: SIMS:259825

Default avatar.png ashiknur: wow, I didn't really see it.

Marchete: on IDE: SIMS:85775

UndercoverToad: :D

struct: same cpu?

Marchete: anyways it's dead slow

Marchete: CG

Marchete: CG server

struct: yes but they have different cpus

dbdr: yes, arena looked much faster to me too

Marchete: on my PC (coreI7) is completely different

UndercoverToad: I also had a feeling that i'm timing out in the IDE more often than arena

Marchete: 700k

Default avatar.png tyeir: whats up

UndercoverToad: the gold boss

Zenoscave: Yeah I cut my beam width in half and still times out on IDE

UndercoverToad: wait, no :(

Default avatar.png tyeir: yo cooking oil

Default avatar.png cookingoil: what

Marchete: do you see the same diff on C# simcount, euler / Ille?

UndercoverToad: did you try my code snipped on submit already Zenoscave?

Default avatar.png tyeir: im rich nigga

Zenoscave: About to

UndercoverToad: let me check Marchete

Illedan: Hahahaha, I had a property that I tweaked a lot. Never set it :sob:

miszu: good morning children

miszu: I see legend is open

UndercoverToad: random arena match: https://www.codingame.com/replay/555188006 same in IDE: https://www.codingame.com/share-replay/555193950

Default avatar.png Bogdan._.: CODE OF KUTULU

dbdr: that was random :D

UndercoverToad: arena seems faster stepping through the replay

dbdr: that sounds weird

dbdr: are you sleep deprived UndercoverToad?

Marchete: but it's not that different

struct: just pray you get the 2.4ghz machine

UndercoverToad: no, i'm squirrel feeding

struct: its the best one for me

solistice: I hope there will be good postmortems for this challenge

struct: The 3.1ghz machine is the slower one

solistice: I can't seem to figure out why my sims are so slooow

solistice: I give up :D

Zenoscave: Same sizes but pdb is missing in Arena

VizGhar: solistice same feelings here

UndercoverToad: and the diagnostics process?

Marchete: call itself?

Zenoscave: the socket? Yeah

UndercoverToad: also: that's an easy way to crash on purpose, isn't it? :imp:

Default avatar.png tyeir: jvfn

Default avatar.png tyeir: hey

UndercoverToad: "Yeah" = yeah it's there or yeah it's missing?

Marchete: do you have it working on .Net?

Zenoscave: It's there

Default avatar.png tyeir: yeah

Marchete: wher?

Marchete: where?

UndercoverToad: try to kill it?

UndercoverToad: wait, that's a file and not a process

Default avatar.png tyeir: you spelled where wrong

UndercoverToad: let's inspect processes

Zenoscave: ok I'll do that too

Default avatar.png tyeir: do you not see these messages

Default avatar.png tyeir: hey

Default avatar.png tyeir: ,gfifhu8j9h0aasg'jfegnv

Marchete: I don't know, maybe it's because the massive use of unsafe

Astrobytes: nice and fast there struct

Marchete: but IDE is 90k vs 300-400k on submit

struct: thanks

Astrobytes: Right, in gold now. Can I stop yet toad?

struct: thats very strange Marchete

ddreams: I'm rank 1 in gold now, with an unintentionally submitted 60ms max bot :p

Marchete: not really

struct: why?

ddreams: boss still higher tho

Marchete: C++ -O0 is dead slow

struct: true

Marchete: in fact C# in debug mode is really fast

VizGhar: How am i supposed to replace those vectors :(

Zenoscave: ddreams you know the flags?

ddreams: you mean #pragma GCC optimize("-O2,inline,omit-frame-pointer,unroll-loops")


Marchete: O2?

Zenoscave: -O3

Astrobytes: 3 or fast always

ddreams: right

ddreams: thought o3 was for size

Zenoscave: does anyone use -ffast-math

Zenoscave: it's a more aggressive optim that helps here

Astrobytes: enabled by default w/ Ofast isn't it?

jacek: its in Ofast isnt it

Zenoscave: probably

UndercoverToad: Astrobytes 04:52PM Right, in gold now. Can I stop yet toad?

legend is so easy this time, it's almost like the usual gold

Astrobytes: I've not even implemented anything about shadows lol

Astrobytes: Maybe I'll keep playing

dbdr: legend is the new gold

Astrobytes: That's just sad :(

dbdr: yeah

Gabbek: so that explains why I've reached gold this time and silver the last time... :D

solistice: 15.000ns for 1 sim

solistice: that seeems too slow

ddreams: 15k ns or 15ns?

solistice: 15k

ddreams: :p

solistice: 15ns would be godlike

solistice: I moved everything from lists and stuff to bitboard

solistice: I see improvement

solistice: but still a bottleneck

KalamariKing: solstice are you using freedom notation or not

UndercoverToad: so 1k sims in 15ms doesn't sound completely off

KalamariKing: 15.000 is 15 to me

Astrobytes: alright, afk for a bit, back later

ddreams: I just quadrupled my evaluation speed, but getting worse results

UndercoverToad: good idea, i'll do an Astro

struct: which language_

struct: *?

Michael_Howard: T-shirt will be the new Legend

ddreams: me? C++

solistice: woops, yeah 15,000

solistice: I'm using C#

solistice: btw UndercoverToad, that's local in debug, not on CG

KalamariKing: silver lets go

Default avatar.png WatchTower: whats a easy language for beginners?

KalamariKing: python

CodeDecodeDev: Python

KelvinAndHubbles: Python

ddreams: Snakeylang

Default avatar.png WatchTower: ok thank you!

jacek: fim++

VizGhar: Spanish

Ra777: anyone else seeing different positions(yourself) in LAST BATTLES view and in LEADERBOARD window?

ddreams: after page reload?

raxkin: the position in the LAST BATTLES view is the position in your current league. in LEADERBOARD its across all leagues

Ra777: yes after reload too.

Ra777: im in the gold league so possition should be the same. it is first time im seeing such a thing

solistice: how much turns you guys average per sim?

gmessier: Ra777 the legend league is open so that's why

solistice: any ballpark?

Counterbalance: 1?

Zenoscave: solistice 1 sim = 1 turn

Michael_Howard: :sob:

Michael_Howard: paavan@jsagroup.co.uk

Zenoscave: here that's the common nomenclature

Ra777: oh didn't noticed about legend

Michael_Howard: oops sorry

Michael_Howard: https://www.codingame.com/replay/555213893

Chainman: Can you get in gold with just heuristics looking at next move?

Numby: I had 2k games from start to finish with random moves before adding pruning if that helps (was rank 700 gold before messing my constants lol)

gmessier: Yes

Ra777: yes im in gold just with looking for next move

gmessier: My current bot is technically very "stupid" and is ranked 811. I apply some filters on action, but by example for grow I just take the first in the possible list after filtering...

solistice: wait Zenoscave, I mean by sim that I'm doing MCTS and a sim is one step in the MCTS (so 1 sim has x turns where x is the number to finish the random playout

solistice: is that wrong then?

gmessier: Still work on my beam search to replace the heuristics... without so much success yet :P

Chainman: yeah

Chainman: I went straight to sim/graph search, but it is having many problems.

Chainman: MCTS that's interesting

ddreams: how many times do you reach the end of the game, solistice?

solistice: about 800 times

solistice: which is not enough imo

solistice: to have good results

ddreams: yeah, you barely scratch the surface

solistice: so maybe MCTS is not the way to go

RoboStac: solstice - I think most other people would count 1 sim as 1 turn in the ide (eg both players doing 1 action) as thats more comparable across algorithms. I'd be surprised if anyone is doing random rollouts with any success

solistice: but I alwasy thought when you guys were talking about simming, that we were talking about the same thing LOL

struct: 1 sim = new state

solistice: then maybe i'm not slow at all

solistice: just using the wrong algorithm

VizGhar: sim = day or action?

TheBatMan_TM: any of y'all wanna use foreign modules in #coc?

TheBatMan_TM: use this import os os.system('pip install <module>')

TheBatMan_TM: *resend

TheBatMan_TM: import os os.system('pip install <module>')

Nerchio: life hacks?

solistice: was that a question for me, VizGhar?

VizGhar: for example yes

VizGhar: I've had 1 action = 1 node but I failed to evaluate it

gmessier: 1 node = 1 state

VizGhar: what is state?

VizGhar: now i have 1 day = 1 node and timeouting, because I cant compute possible days fast enough

jacek: baby dont hurt me

orangesnowfox: (don't hurt me)

gmessier: state = the board position (trees + score + suns)

Noyotens: ;_(

gmessier: An action by itself can be ranked. It's the result. The state of the game after applying the action

gmessier: *can't

solistice: beam search is a heuristic search, no?

ddreams: yes

solistice: are there good possibilities without heuristics?

orangesnowfox: Well, actions can be ranked by "likely best" which is useful for minimax...

ddreams: you probably need to think in this game

solistice: I hate thinking

solistice: makes my brain hurt

ddreams: exactly

ddreams: probably why so many don't like this game :D

ddreams: computer, think for me

solistice: that would be sweet

ddreams: isn't that how most of the AI competitions work?

VizGhar: sure gmessier but you can get to some state only by applying action... I want to know whether the action is single action (game turn) or set of actions where last is WAIT

gmessier: You can do both

solistice: it depends: the game defines a round as a day, where a day has multiple turns. A day ends when both players have waited (so ends whenever the last player says "WAIT").

VizGhar: but evaluating state after one day is much easier then after 1 action

gmessier: Yes but you can "simulate" a turn with all possible actions OR you can "simulate" a day with all possible list of actions.

MSmits: the branching you get by simulating full days is pretty extreme. You may need to do some serious pruning then

gmessier: It depends if you put limitations

MSmits: thats what i mean by pruning

solistice: wouldn't that eventually even out MSmits? It would have higher depth but eventually have same amount of nodes, no?

gmessier: The order of most actions are not important. You will have the same result if you GROW 1 then 2 or if you GROW 2 then 1.

MSmits: it would be far less gradual though

MSmits: you would lose some states earlier

none_: gmessier: not true

none_: if you already have tree of given size

MSmits: in other words, just grow 2 before you grow 1 :)

VizGhar: order is important

MSmits: yes

MSmits: large first, then small

gmessier: you are right none_... damn that's why... :P

none_: I feel like this game is primarily about these small things. I'm in legendary without even considering future moves.

gmessier: That explains why my day simulation was so bad :D

none_: there are couple things like that I picked from better players...:)

gmessier: But, I the end my point was, you can reject many possibilities to reduce the branching (by example, prevent to grow a smaller tree first)

KalamariKing: yes finally my dumbass bot did the thing I told it to :clap::clap::clap::clap:

none_: even that might be beneficial if you don't have enough to grow bigger...

none_: or sometime even if you have... for example bigger tree caught between his trees and small tree on nice sunny place...

gmessier: I don't mean don't grow at all a small tree. I mean if you can do both, to the big one first

none_: yep.

gmessier: But it's meanly if you want to calculate days and not turns. You can remove some possibilities if you already know that it will be less efficient.

none_: I still think that calculating whole day is big unknown. You can plan as much as you want, but you don't know what your opponent will do...

solistice: unless you try to add predictions

solistice: but then ur working on turn level again

solistice: and my sentence made no sense because of that

none_: yeah, but still they are predictions

ItsNotABug: @RoboStac. You're the only person in UK in legend. Good job

gmessier: I'm not sure I will take the opponent into account at all.

Chainman: Just ignore opponent, they don't matter

Chainman: :wink:

gmessier: Yeah that's what I think. It's not like for the last Spring Contest. Even the Fall Contest, it was not useful to check the opponent except in legend maybe...

gmessier: Computing an opponent AI reduce by half your time to check your best move.

therealbeef: Urgh, spent half the day debugging the code I wrote last night while drinking :'(

KalamariKing: lmao what a sentence

Lucky30_: hello everyone

Lucky30_: how is your day so far

Michael_Howard: Like this https://www.codingame.com/replay/555213893

ddreams: the rest of us debugged the code we wrote sober

Chainman: It's a wonderful day to rebug.

KalamariKing: its a wonderful day to write a bot that works perfectly and then tune its parameters but it doesn't liten

KalamariKing: listen*

Lucky30_: nice

alchemsti: Just took a long break, now would really like to make legend....Missed easiest time I guess (right after it opens)

Lucky30_: are all legends using simulations??

Nerchio: no

Lucky30_: oO

ZarthaxX: perl rank 16

Default avatar.png Cjx_1: I believe someone said last night that their was at least one person up there using pure heuristics and loops. Just the grapevine though

Lucky30_: meaning i still have a chance, a really really really small chance

ddreams: several legends

CouscousAgha: which rank should I get to play vs the boss to legend?

Lucky30_: currently even rank 1gold is not better then the boss

AlMualem: Greetings guys,i hope you are all doing great...this is a replay from a game vs silver Boss https://www.codingame.com/replay/555255130 any suggestions for improvement please?

KalamariKing: the little messages make it so much better

Chainman: Is it better to create a getter function in python or just return self.variable?

AlMualem: sorry mate

Default avatar.png JEDWF: should i learn python or c ++

KalamariKing: Chainman I would say just get the variable, the getter would do the same thing just with more overhead I would think?

KalamariKing: JEDWF personally, python is easier but c++ is so much more powerful

AlMualem: kalamari are you greek?

Chainman: yes I'm thinking that, maybe getter is just to make it more readable or creating an api.

KalamariKing: AlMualem no, why

Chainman: Learn python first might be optimal

AlMualem: because kalamari is the greek word for squid,and i thought you were

jacek: oO

Default avatar.png actualCoderTrevor: AlMualem sometimes your bot says "seed my little minions" but doesn't actually seed. Is that a bug?

Default avatar.png actualCoderTrevor: Because you pass up opportunities to seed for free when you have no seeds on the baord.

Default avatar.png actualCoderTrevor: So, either you are trying to seed with an invalid move or just aren't seeding when you could be

Default avatar.png JEDWF: Do I have to be good at math for coding?

ddreams: no

AlMualem: aaa just a string i forgot to delete during my modifications :/

AlMualem: oups

Default avatar.png actualCoderTrevor: Oh in that case you should seed when it's free to do so

Smelty: oh theres legend league now?

KalamariKing: someone explain how I wrote a bot that gets CRUSHED by the silver bot but I'm climbing the ranks rather fast

Smelty: lol

Smelty: my bot stuck at bottom of gold

Default avatar.png JEDWF: can you guys recommend me some sites that i can learn coding

Nerchio: KalamariKing i can crush some people and then get crushed next game

KalamariKing: JEDWF google

Default avatar.png JEDWF: google :sweat_smile:

Default avatar.png JEDWF: so tue

Keiysuke: JEDWF I've just reach the gold ligue for 1st time and i did not use any math method to do it. So it's possible to go far without maths :D

Default avatar.png JEDWF: true*

AlMualem: with my last submit i went from ~1,300th to 324(and keep going) ,but i need improvements for the god damn bot

AlMualem: :P

Chainman: multiply or add in the score function hmmm

Default avatar.png JEDWF: I learned coding for five months, but I can't think of anything

AlMualem: damn you silver boss :P

Chainman: I don't know how to decide

Smelty: o-oh my

Chainman: boosssooooot

Smelty: im losing to gold boss lol

Smelty: MiyazaBoss

Chainman: I hope to lose to that bot

ddreams: select it as your opponent in the IDE and try your luck

Smelty: lol

Chainman: That is only for those in gold lol

Default avatar.png GustafAdolf: go

Smelty: lol

Chainman: yes

AlMualem: @actualCoderTrevor i will include this feature you proposed (seeding when its free) and hope for the best

Smelty: bruh gold boss stronk

Default avatar.png actualCoderTrevor: gl AlMualem!

AlMualem: ty mate

Smelty: 1 thing thoguh

Chainman: Who going for silver bossooot?

Smelty: it wil make parent tree dormant

Smelty: so it isnt completely free

Hasuzawa: anyone send me a link to the chat of germany? trying to stay informed

AlMualem: @chainman me

AlMualem: @Smelty yes you are right....tests tests tests it is!

Smelty: rip me, looks like i'm ending in gold

Chainman: so many days left

Chainman: yes @AlMualem let's do this

Smelty: 2 days xD

Chainman: actually will take me probably 3 hours to get heurisitcs to compete against silver boss, now that I rewrote code from scratch.

AlMualem: if i reach Gold my task in the contest is done....i will be very happy (regarding my experience in coding)

AlMualem: So Lets do this!!!!!!!!!!

geppoz: hi, which is the class that contains the "main" method to be called by the brutaltester? "Referee" doesn't have it...

Counterbalance: you only need to run the jar itself; the main class is in the manifest.. (so: java -jar spring-...jar)

geppoz: no manifest there :(

Nerchio: i wrote you pm

Counterbalance: then you need to grab a fork; people are using https://github.com/LSmith-Zenoscave/SpringChallenge2021

Chainman: lol bossoot just plants trees 2 hexagons away from his trees

dbdr: https://www.codingame.com/replay/555280252 that battle for seeding 15 from frame 56 :D

VizGhar: lucrative cell :)

Nerchio: lol :D

Nerchio: nice

Chainman: amazing haha

Chainman: seeding till all dormant

KalamariKing: anyone wanna sit through my fortnite-themed spanish lesson with me

VizGhar: what?

Chainman: nani?

KalamariKing: help

Chainman: Que?

ScottytheHotty: why doesn't my code work?

ddreams: probably broken

KelvinAndHubbles: it's bad

VizGhar: its not getting paid :)

schachmatt: it's on strike

ddreams: taking a day off

Digginwings: wood 2 league is so easy

ScottytheHotty: its actually wood 1 league

Digginwings: it shows wood 2 league for me

KalamariKing: ScottytheHotty I would say there's an error somewhere

Chainman: y'all trolling him?

Chainman: I thought it was wood 2, but I don't remember

Chainman: Should be easy to check

Digginwings: it is wood 2

Default avatar.png aglaglaglagla: Hey, I'm having trouble running the brutaltester for this game. It only runs a single round (or so it seems) and then stops. Any idea how to fix this?

ddreams: paste your command line

ddreams: a single game or a single round of a game?

Default avatar.png aglaglaglagla: a single round

Default avatar.png aglaglaglagla: java -jar target/spring-2021-1.0-SNAPSHOT.jar -p1 "../../silver/target/release/silver" -p2 "../../silver/target/release/silver"

ddreams: do you get an error message?

Default avatar.png aglaglaglagla: yeah some warnings and a logger error

Default avatar.png aglaglaglagla: still runs though

Default avatar.png aglaglaglagla: "ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging."

ddreams: I think you have to fix it

ddreams: it's a warning, but any output from the referee makes it stop

Default avatar.png aglaglaglagla: Oh ok!

Whatar: its a fix you have to do to the pom.xml

Whatar: sorry, not true

Whatar: you have to add log4j2.xml to ./src/main/resources

Whatar: inside you past this

Whatar: http://chat.codingame.com/pastebin/2b78c7e0-87fa-4f0f-a90a-1c77f74307d3

Whatar: anyway you also need to find the switch that regulates the league inside the source code and delete wood 1 and 2 from the options

Default avatar.png aglaglaglagla: Ok this solves the Error indeed!

Default avatar.png aglaglaglagla: Nice it works!

Default avatar.png aglaglaglagla: thx :)

Digginwings: yay

Digginwings: this spring challenge is pretty easy im not going to lie

KalamariKing: my guy

Samzok123: hi

Digginwings: what

KalamariKing: its rather easy for some of you

Numby: I'm just happy there's no graph traversals

Samzok123: ok

ddreams: bronze will be harder

KalamariKing: its pretty hard for the rest of us this is my first time doing bitboards and search algos

Digginwings: ok

ddreams: wood leagues are the tutorials

ddreams: teaches the game and the rules

Digginwings: hmm

Digginwings: is it bad i barely know what you are saying

ddreams: not really

Digginwings: ok good

Digginwings: jk

Chainman: oh 114 - 125 against silver boss, maybe I'm getting there already

Chainman: I need more though

Zenoscave: Chainman do several tests. ! isn't enough

Zenoscave: 1*

Chainman: You are correct 131-101 haha

Zenoscave: 30 should be sufficient

Zenoscave: For silver ata least

Zenoscave: https://epitools.ausvet.com.au/ciproportion

Zenoscave: number positive = wins, sample size = total plays, use .99 confidence

Zenoscave: If lover 99% CL is above .5 you'll most likely pass eventually

Zenoscave: lower*

Aniboy: Hi Guys

Digginwings: if i beat the boss but fail a lot of battles will I still pass

Zenoscave: Digginwings depends on who you lose to and how often

Digginwings: ok

Zenoscave: and how bad you beat the boss

gmessier: you must have a better TrueSkill of the boss. Not beat it in one battle

Aniboy: Do you know how to check Validator 1,2 and all at the end of our code submission?

Zenoscave: ^

Digginwings: ok

Aniboy: I am getting validator 1 failed but dont understand why?

KalamariKing: because its wrong

KalamariKing: duh

KalamariKing: ok sorry sorry, which game?

Astrobytes: Right. This IDE play limit thing's doing my fking head in

Westicles: So many legends, I thought is was supposed to be 10 or so

Astrobytes: Clearly CG believe otherwise :/

UndercoverToad: btw Astrobytes you have my absolution to quit. i'm not motivated myself either

Astrobytes: I'll maybe do something tomorrow, I'll see

UndercoverToad: was that reverse psychology?

UndercoverToad: also: where did that Magu s suddenly come from?

Astrobytes: No. Just saying I probably won't in a roundabout way.

Astrobytes: Aren't you doing another comp this weekend euler?

K3K: random :rage: emote for the play limit thingy, don't mind me

UndercoverToad: codejam tomorrow afternoon

Astrobytes: Ah right

UndercoverToad: my motivation for this is higher than for CG

Default avatar.png asedrftgyhujasdrcfvgbhjnkmwsedrf: hello

Default avatar.png RDty: is there going to be another challenge directly after this one?

Astrobytes: No.

ddreams: hi asedrftgyhujasdrcfvgbhjnkmwsedrf

Whatar: there are 2 challens a here, one in spring on in fall

Whatar: *year

Astrobytes: There used to be loads every year. Well, quite a few. Now just 2 official ones.

Whatar: I didn't know that

Astrobytes: I think... 2018 was the busiest competition wise? 2019?

UndercoverToad: let's wait for their announcement after this one ends

Astrobytes: Yeah :/

UndercoverToad: i see some changes coming

UndercoverToad: 2018 had 6 contests

UndercoverToad: counting locam sprint+marathon as 1

alchemsti: !

Astrobytes: Yes I agree euler

alchemsti: 6 feels kind of excessive. OTOH, you don't feel as bad if you miss one

Astrobytes: We were really spoiled that year

Astrobytes: You still get a few semi-private contests from companies a few times a year too. They're variations of existing multis though.

RoboStac: 2018 was the year with the 3 good semi private ones too (thales/decathalon/amadeus)

UndercoverToad: the most exciting thing the website has to offer when there is no contest: community multiplayer games

Westicles: Changes? Surely they won't make them escape rooms?

Astrobytes: Yeah that too robo. That Amadeus one was great

UndercoverToad: was Amadeus the soccer thing?

RoboStac: no, that was decathalon

UndercoverToad: wait, the planet wars

Astrobytes: No, the graph one

Astrobytes: yeah

RoboStac: the soccer probably wasn't good overall but it was good for me

Astrobytes: lol, you won that?

RoboStac: if that had been more than a couple of days it would have got very messy

RoboStac: yeah

UndercoverToad: the bicycle that they decided to pay in money then?

Astrobytes: I did the other two but I missed the decathlon

RoboStac: yep, they gave me lots of decathalon gift money instead of a bike. I bought a bike

UndercoverToad: was the third one the email leak contest?

Astrobytes: hahaha

Astrobytes: No, that was Klee, codebusters one

Astrobytes: 4th that year? I don't remember the order tbh

RoboStac: didn't do that one so can't check when it was on my profile

Astrobytes: I signed up but didn't submit, I strongly dislike that game and all its variants

UndercoverToad: but what about Sopra? did you dislike that one too?

Astrobytes: Yeah. I didn't do it.

Astrobytes: The last one, the Amadeus Sofia Labs one was fun

UndercoverToad: so many contests without telling names

UndercoverToad: 3 player single-pod CSB with 360° rotation

Astrobytes: I was referring to it as SLSF2442

Default avatar.png actualCoderTrevor: Okay so I guess we're just not allowed to test code in the IDE anymore? "Some time" has become "a long time"

Default avatar.png actualCoderTrevor: Oh the error says "A period of time"

Astrobytes: The play limit threshold has been lowered. It's *extremely* annoying

Default avatar.png actualCoderTrevor: agreed

dbf: we need premium accounts with higher limits

Astrobytes: :D

Nerchio: i'd pay for that just to support cg if it meant more support for 5%

Nerchio: :joy:

ddreams: could pay for your own test/game server for the entire contest

Astrobytes: That could get real pricey, real quick

geppoz: :D

geppoz: depth:44 states to explore:10193 ms:79 ixTot=1146018

Counterbalance: 12 bucks? doable

geppoz: pruning random seems not best strat

geppoz: so fast but so bad

ddreams: surprised?

Nerchio: geppoz depth 44 with 10k nodes only

Nerchio: ?

Nerchio: or am i not understanding

geppoz: 1M states evaluated

Nerchio: ok that makes more sense

geppoz: 10k exploded at that deep

geppoz: but then i choose 2k rand

geppoz: never mind, so bad

Astrobytes: Noted for future reference: do not prune randomly ... :P

ddreams: does anyone know how to get the graphics working locally?

jrke: download referee and set it up ddreams

ddreams: I have it, but it doesn't split up the sprite image, so most of the graphics are missing

jrke: wht

ddreams: https://imgur.com/a/RKIGcgU

PatrickMcGinnisII: I had a misconception for days... I thought the use of a 2nd seed could like block the enemy from high value cells, but that 1 sun cost seed hinders my own expansion that I lose

jacek: oh my

PatrickMcGinnisII: i did so many tests for nothing

PatrickMcGinnisII: so after abandoning bad ideas, i should make gold today

PatrickMcGinnisII: i can't search deep enough

MSmits: heuristics can take you to legend apparently, but it's not easy

MSmits: i'm still 44th gold with a search

jrke: MSmits thats why i am still trying heuristic

MSmits: not a bad idea jrke

Wontonimo: PatrickMcGinnisII I had that idea also, and just didn't get around to testing it.

Wontonimo: finally have a sim bot that does better than my ifelse bot

Astrobytes: jacek: did you give up?

PatrickMcGinnisII: seed placement while optimizing growth curve is key

CouscousAgha: same, only using heuristic but now i feel stuck without figuring out the best cases for cutting tree

CouscousAgha: I thought figuring out where to seed was the challenge, but the real one is when to cut

jrke: me too

jrke: my problem is also when to cut

MSmits: I am convinced this is what is keeping me from legend also

jacek: Astrobytes contests are not my thing though this one best suits my interests

Astrobytes: So still trying then?

MSmits: what is it about this contest that makes it interesting jacek ?

jacek: maybe ill get t gold

Astrobytes: It's a board game!

jacek: its board, its hex, no fow

UndercoverToad: so jacek is the 95% that votes against contests in the survey?

MSmits: ah ok

Astrobytes: jacek: you don't even need to implement shadows for gold

MSmits: i'm curious to see what the real wording of that question was

jacek: the only thing i never mastered was simultant moves

MSmits: and the result

Default avatar.png slamo: I wonder how many in the top 20 are simming vs not simming

MSmits: jacek the only thing i know for that is smitsimax... I produced that brainfart because, just like you, I had no clue what to do

MSmits: duct works too

MSmits: never done that myself

Astrobytes: slamo: My guess is 19 vs 1

MSmits: in this contest it would be tricky to use either of those

UndercoverToad: Based on a survey we did several months ago (the small questions on the home page) and that get 166811 replies, the replies to « What do you expect from CodinGame? » show that only 1.64% of the respondants said « Compete against other coders » but 33% reply « Improve my skills by practicing » and 17% « Just have fun while coding ». This is why we begin to shift our communication around events to talk more about « practice » and « fun ».

Default avatar.png slamo: currently 22nd with only looking ahead to the start of the next turn, so here's to trying to be the 1

PatrickMcGinnisII: i'm pushing everyone up in top silver

PatrickMcGinnisII: smh

MSmits: UndercoverToad could you give multiple answers to this question?

Astrobytes: Nice one slamo!

MSmits: or was it 1 answer possible?

UndercoverToad: 1 answer

MSmits: thats bad then

MSmits: because people may want to have fun while coding and still appreciate a contest

UndercoverToad: as well as the voting power of each user. think about the school classes coming here for 1 lesson and then never returning

UndercoverToad: the school class has 20 times the voting power of a regular user

Astrobytes: Loaded question tbh, results can be intepreted as they see fit

MSmits: btw, i might have answered here: "Improve my skills by practicing"

MSmits: because it's true

UndercoverToad: i think i said "fun"

UndercoverToad: contest is a subset of fun

MSmits: yeah

MSmits: it's a poor questionnaire

PatrickMcGinnisII: anyone without an avatar should lose trueskill pts

Astrobytes: Highly unscientific.

MSmits: btw, I do this professionally, I design several of these a year

Default avatar.png slamo: ** goes to add an avatar

Astrobytes: Peers would give bad reviews.

Illedan: PatrickMcGinnisII, CG should generate images based on Nicks..

Astrobytes: hahaha

MSmits: I would get the same avatar :P

PatrickMcGinnisII: automatonIlledan generate my avatar

Illedan: Maybe that is my next project xD

UndercoverToad: how CG surveys and the knowledge of the outcome feel like https://www.youtube.com/watch?v=0maYbn8ED-A&ab_channel=delukxz

Astrobytes: omg

solistice: could someone try and explain me how simming works? Without heuristics, that is?

UndercoverToad: you generate all possible moves and resulting boards

PatrickMcGinnisII: solistice just apply moves by you and your opponent and eval the result

solistice: doesnt eval mean heuristics?

UndercoverToad: instead of trying to find an action that you like, you rate the outcome of each action

solistice: since you can never sim all moves?

UndercoverToad: eval = rating the outcome

solistice: maybe I just got my terms wrong

Astrobytes: Yes, heuristics are used in the evaluation function

Astrobytes: Also perhaps in pruning moves

MSmits: solistice when you do a search, you somehow navigate a tree of gamestates. At various points in this tree you may want to evaluate the gamestate

solistice: so minimax = simming?

Astrobytes: Any search algorithm means you have to simulate

Astrobytes: Looking ahead by any number of turns is simulation. Search is separate.

MSmits: yes in any algorithm for a game where you work with a search tree you will be simulating something

solistice: cool cool, then I got it right

PatrickMcGinnisII: not gonna make it out of silver, but whoever I pushed out..yourwelcome

MSmits: minimax is not simming though

solistice: huh wait

MSmits: minimax is the search type, the fact that you need to simulate things is a byproduct

Astrobytes: Simming is just simulating.

solistice: okaaaay, got it!

MSmits: you can also simulate without a search

Illedan: Siming is the act of applying an action to the Environment and updating the Environment based on the action.

Astrobytes: ^

MSmits: just try different actions to see what happens

MSmits: Illedan nice definition

MSmits: except when you say environment you usually also have agents. Those agents also need updates

Illedan: Those are parts of the environment

MSmits: allright then

Illedan: and those are usually the ones doing the action

Astrobytes: ^

solistice: maybe stupid question then: how else could you do contests like this? Just look at possible actions and chose according to that, regardless of what outcome could be?

MSmits: you could pick actions according to some rule

MSmits: without even seeing what the actions accomplish exactly

Westicles: There's a stimming joke in here somewhere

solistice: thanks MSmits!

MSmits: if (I can afford to grow a tree to size 3) do so

Default avatar.png slamo: solstice: you can code in rules that optimize towards something you think is important

Default avatar.png slamo: without having to check 1000s of states to find the optimal

Astrobytes: I believe the correct terms are reflex vs model-based agents

Astrobytes: There are other types but for the sake of simplicity.

UndercoverToad: "how else could you do contests like this?" there are detailed writeups for previous contests. search for "feedback and strategies" on the forum

MSmits: people using many different approaches in those

MSmits: some doing quite well with simple programs

Default avatar.png slamo: I need to practice my simming/search for next contest so that I can try for top spots

jrke: slamo you are 22 without sim?

MSmits: slamo it might be a while before you search better than your heuristics, since you are obviously quite good at those

Astrobytes: That's contest-specific, not all contests require it. Though it's certainly useful.

MSmits: the rest of CG requires search very often

MSmits: especially simple board games

Astrobytes: Ohhhh yes.

UndercoverToad: this contest is pretty search heavy in my opinion (as well as the last one with the witches)

Default avatar.png slamo: yes 22 without sim. I optimize for something very specific and it does really well

UndercoverToad: pacman was doable with some if-else to a certain degree

MSmits: personally i feel this one is more heuristic favored than pacman

MSmits: I find it much harder to get a search to do what I want my bot to do here

Astrobytes: Yes, heuristics can go far here but search-based was my initial opinion and that hasn't changed.

Default avatar.png slamo: oh I agree

Westicles: slamo, that's impressive

Astrobytes: I think the combination of the two is the approach MSmits

UndercoverToad: and the C++ block at the top confirms this

Astrobytes: Yep.

MSmits: UndercoverToad you forget the 100-200 players below that with beamsearches

UndercoverToad: :D

MSmits: I think I could still write a better heuristic bot than my current search one :(

MSmits: never happened to me in a contest

MSmits: i had a beamsearch in code a la mode :P

UndercoverToad: i see it coming: Sunday evening you get that one idea and WOOSH

MSmits: I guess I see why you would think that, but I have already thought a LOT about this game

MSmits: hopefully you're right

Astrobytes: Perhaps thinking less is better

ZarthaxX: smitooo go legend

ZarthaxX: :(

UndercoverToad: i'm always confident that you will make it even when I doubt about myself

UndercoverToad: that seems bi-directional

MSmits: we'll see what happens

MSmits: my main problem is this: https://www.codingame.com/share-replay/555384096

Magus: Sometimes, you can be top 3 by mistake

MSmits: see how my bot completes trees and is left with too low income near the end?

UndercoverToad: consistent mistake Magus?

MSmits: I think that is what is stopping me

ZarthaxX: Magus what haha

UndercoverToad: i submitted to #3 earlier today and then the same bot was 10th

Magus: UndercoverToad: To be honest, I submitted the wrong file.

ZarthaxX: :rofl:


kovi: top3 in the end?

UndercoverToad: :rofl:

aCat: :D

ZarthaxX: best ending

UndercoverToad: do you have some more files? I would take one

Magus: it was just a local feature, results were bad with brutaltester :D

UndercoverToad: what did you submit? your fantastic bits?

MSmits: lol

Illedan: I think you submitted my file.. Let me take a look

kovi: last 3 contests i have been top3 on recalc and always fell on last recalc

Astrobytes: People seem to be having less luck with brutaltester this time around vs actual submits

Magus: But kovi and jolin are hard to beat

MSmits: yeah, this game for sure has some overfitting

kovi: ^

UndercoverToad: you can only beat kovi in the recalc

kovi: overfit: especially when adding opponent prediction

Default avatar.png slamo: I was playing with the idea of trying to decide whether to continue to predict or not based on how accurate my predictions are for a current match

kovi: same :)

Default avatar.png slamo: well that gives me a little more confidence to try it :)

Default avatar.png slamo: at this points just trying to squeeze anything I can out of my hueristics

salmon: is score a win percentage?

UndercoverToad: it's according to the TrueSkill algorithm

salmon: ah, thx

UndercoverToad: score change for wins/losses also depends on the score difference between you and the opponent

UndercoverToad: in rare cases you can even lose a bit of points for a win

salmon: yeah, I'm familiar with algorithm

UndercoverToad: nice

jacek: oO

NinjaDoggy: you can lose points for a win? O.o

Default avatar.png xMistySenpai: wow that was easy to advance a league

MSmits: NinjaDoggy this happens when a player is much stronger than the players who are submitting

MSmits: there is a maximum rating you can be ahead

MSmits: i think it's +12 points or something

ClockSort: @ninjadoggy you inspired me to upgrade my MC to MCTS. it looks very promising -- 18 wins, 5 losses vs my old bot so far. Thank you!

ClockSort: it was not easy to write my first MCTS, haha

Illedan: Matches very slow?

Astrobytes: Extremely, yes

ZarthaxX: since beginning of legend

ZarthaxX: :D

Illedan: :(

Illedan: Damn Legend

Illedan: Let me inn

Astrobytes: Oh your weekend bot didn't make it?

Astrobytes: It was hanging in there like a champ for ages

Illedan: Nah, I changed 2 params and try a resub

Default avatar.png xMistySenpai: 18/26 battles, wew

Illedan: It was 10th when Legend opened -.-

Astrobytes: ah damn!

UndercoverToad: i'm surprised that legend is still "only" 108 players

Illedan: Let there be 109 :pray:

UndercoverToad: usually it goes up quickly because of ranking randomness

ZarthaxX: boss was a rank 60

ZarthaxX: so maybe there already was randomness

UndercoverToad: so that was teh ..

Nerchio: yeah the idea is that boss was better but ranked worse at first

UndercoverToad: yes

Illedan: hmm

ClockSort: compared to Fall2020, gold is huge, legend is only "large"

Nerchio: and now in gold are people 110+ vs boss rank 60

RoboStac: I think this was different because boss was submitted and ended low, whereas normally they just insert it with an inflated rating so it falls

RoboStac: so this boss gained points after the league opened - silver boss dropped quite quickly

UndercoverToad: that's why it's called Fall contest

UndercoverToad: this one is Spring

Astrobytes: :smirk:

Illedan: I'm as bad on selling tress as I'm at selling stocks when the market crashes -.-

Default avatar.png xMistySenpai: 26/30 BATTLES

Default avatar.png xMistySenpai: sorr for the capsy

jacek: eh https://fuckelonmusk.co/

ClockSort: my MCTS bot, vs my old MC bot: 36 wins, 13 losses, 1 draw. :sunglasses:

ClockSort: I'm now a believer in MCTS

MSmits: mcts on this contes huh

MSmits: surprising

ClockSort: @MSmits I just submitted it. I'll let you know where it lands

Dubluce: Has anyone else's game display seemed to have crashed? Mine's been a grey rectangle starting today

MSmits: does it play out till end of game ClockSort?

MSmits: as a random rollout?

ClockSort: after turn 7 then it rolls out fully.

alchemsti: grey screen -- all the damn time. I do chrome://restart and it's usually better.

MSmits: that's nice, then you can use the endgame scoring

MSmits: instead of some arbitrary eval

ClockSort: i really struggled to make a good eval

ClockSort: "most suns" just isn't cutting it :)

MSmits: no it really doesn't

Dubluce: Thanks for the chrome://restart tip!

MSmits: getting mighty tired of trying to test locally and then getting 5% WR when the bot does just as good on the leaderboard as the previous version

dbdr: that sounds really weird

MSmits: yeah

dbdr: maybe some overfitting? except reversed? >thinking:

dbdr: :thinking:

MSmits: it's overfitting yeah

MSmits: but that's a feature of this game I think

dbdr: underfitting

UndercoverToad: overstarving

Astrobytes: overfitting against himself

Zenoscave: undertale

MSmits: for example, someone can cut you off and take all the nutrients if they start completing just a bit sooner

MSmits: could be 1 param

jacek: overfatting

Astrobytes: undertaking

Zenoscave: don't let this man distract you from the fact that in 1998, The Undertaker threw Mankind off Hell In A Cell, and plummeted 16 ft through an announcer's table.

MSmits: how long have you waited for an opportunity to say this Zenoscave ?

Zenoscave: Years

MSmits: :)

UndercoverToad: since 1998

Astrobytes: lol, I think I'd stopped watching that wrestling a few years previous

Zenoscave: UndercoverToad gets it

UndercoverToad: oh, that's about wrestling

MSmits: ofc, he's the Undertoad

UndercoverToad: sometimes zeno writes something and I have no idea what that means

Zenoscave: it's a copypasta

Astrobytes: Legion of Toad

XeroOl: hi how are y'all doing

Zenoscave: Same thing but when Zeno writes zeno never knows what zeno means

Astrobytes: Hm. Well, my wrestling name is still Ultimate Worrier

Illedan: zenile?

MSmits: :grin:

Default avatar.png xMistySenpai: RANK 625 WEW

MSmits: ClockSort looks like your mcts has similar performance to my beamsearch

Lowz: Finally made it to silver! (I know I'm super late lol)

MSmits: grats

Astrobytes: nice one Lowz

UndercoverToad: now you can fight against Patrick

ClockSort: @msmits i expected 1st to 50th Gold... it's underperforming :(

MSmits: :(

Default avatar.png xMistySenpai: says i ned to be better ranked than the boss? who's the boss? cause boss 3 has no rank it appears

UndercoverToad: but a score

ClockSort: ooh i think there's a bug in my simulator that said it was so good

Astrobytes: Boss 3?

UndercoverToad: the boss is always at the top of the league

UndercoverToad: those who rank above will leave the league

MSmits: rankless

Default avatar.png xMistySenpai: well i find it funny im surrounded by level 5 and 6's

Astrobytes: Which game?

ClockSort: @Astrobytes spring challenge 2021 :D

ClockSort: j/k

Default avatar.png xMistySenpai: coders strike back, level 3

Lowz: No new rules/conditions from bronze silver? Is it the same case going from silver to gold?

Zenoscave: Yes Lowz

ClockSort: @MSmits ok it's doing better now, 200th gold and climbing

Lowz: :thumbsup_tone3:

Astrobytes: where were you at before the submit ClockSort?

ClockSort: 140th gold :P

Astrobytes: Ah :D

ClockSort: ok there is no doubt that the new bot is better

ClockSort: i think resubmits have a hard time climbing to the level that a 24-hour-old bot is at

ClockSort: is there a way that people test their new versions against their old? I've heard rumor of something called a brutaltester?

geppoz: y, but still not working for me

geppoz: it exits at first move

geppoz: as if my bots aren't giving output :(

geppoz: but I see their stderr in log of the first thinking, so they are running

Nerchio: you probably get timeouts which i had problems with too

Nerchio: usually need to make time longer in the referee

Nerchio: but thats why i kinda just run games in the referee not in brutaltester

geppoz: that happens also launching a single game

geppoz: without brutaltester

ClockSort: @msmits 100% battles complete. it landed at #87 gold. so it was an improvement after all.

7amasa: Anyone in legend with just heuristics?

ClockSort: anyone in top 3 with just heuristics?

MSmits: nice

DomiKo: 7amasa not me but yes

7amasa: thats pretty cool, thanks

ZarthaxX: ClockSort simultaneous mcts?

Magus: ClockSort: according to the time used by opponents, no one in top 5 is just with heuristics

Magus: Or maybe they used an heuristic that takes 100ms to return a result

Wontonimo: ( i'll add wait(.98) to my heuristic to make it seem like a sim )

Westicles: slamo at 24 probably the highest

Wontonimo: no

Wontonimo: (not no to you Westicles, no to my comment)

Magus: I can assure you that I'm not with just heuristics :D

RoboStac: theres a perl user at 19 who probably isn't a sim

Default avatar.png slamo: magus to confirm

Michael_Howard: Roast my bot please! Can someone tell me specifically what it's doing so horribly wrong? https://www.codingame.com/replay/555462322

Michael_Howard: I've had my head in technical details so much I've lost sight of the fundamentals.

Michael_Howard: Seems to come down to falling behind in sun earnings in mid game.

MSmits: poor seeding from frame 28

MSmits: next to your own trees

Noyotens: https://www.codingame.com/replay/555467971

RoboStac: you keep up pretty well on sun until day 12. The start of day 12 is horrible for you (5 sun vs 20 for him)

Noyotens: why my function work just in first round

RoboStac: and then you let him claim a lot of nutrient bonuses but still stay behind / equal on sun per day

Michael_Howard: MSmits thanks, yeah that's messed up.

Michael_Howard: RoboStac yeah he completes more because he's just building more because he gets more sun. Seems to be winning the shadow war but I'm not sure why.

Michael_Howard: Thanks.

Illedan: Shadows is the fow of this game :O

RoboStac: yeah, you basically just lose on start of day 12(frame 67) due to shadows

dbf: how are you able to catch an issue in replay in such details, I'm watching games and still can't figure out who is leading now and why...

Astrobytes: dbf: debug mode?

MSmits: poor seeding is easy to see unless it's poor because of shadows

RoboStac: downloaded the replay json and printed all the strings with 'collected x sun points' and then went to look at the days where there was a big difference

MSmits: seems like i have 50% vs boss, but I cant get to him :P

Illedan: Finally some chance

MSmits: nice one Illy, you're gonna make it

MSmits: if not in this life, then the next

MSmits: i mean submit, not life

Nerchio: :thinking:

Illedan: Should work and I can start on my new thing in peace

MSmits: your new thing?

MSmits: is this a contest thing or are you dropping the contest after legend>?

Illedan: Next contest algo

Illedan: this GA is not kicking it

MSmits: it's kicking the bucket

MSmits: my current submit won first 16 games

Smelty: yes lets go 1224/1292 in gold

MSmits: hope it's not a fluke

Smelty: lol

MSmits: lost 17th :(

Smelty: F

Magus: (I'm still amazed when I see Nerchio in a codingame contest .... :D )

Nerchio: :nerd:

Nerchio: its like people can do more than 1 thing in life :D

Illedan: ^

Illedan: Like I can drink beer and code

Astrobytes: I can drink beer and code. Very well in fact. I just never use that code.

theycallmedavid: Well if you already drank it

reCurse: Something something ballmer peak

Astrobytes: ^

alchemsti: ooh, iledan you are above the gold boss, I see

xMistySenpai: buncha moderators dang

Illedan: Correct

Illedan: Lose streak inc :tada:

PatrickMcGinnisII: on the cusp of gold

PatrickMcGinnisII: smh

Astrobytes: I'll give you a tentative 'looking good' on that submit Illedan

Chainman: Can't sleep till beat bossooot

Marchete: congrats ille

ClockSort: i can beat the boss 1v1 most of the time, but can't reach him :(

Michael_Howard: That means you're playing him too much.

Michael_Howard: You're overfitting your strategy.

Michael_Howard: Practice on other high-ups.

PatrickMcGinnisII: .08 ... smh

PatrickMcGinnisII: .04

Illedan: I guess allowing to use Seeds after round 14 helps :D

PatrickMcGinnisII: promoted, yeah!

ClockSort: congrats!!

Astrobytes: Illedan: you didn't allow seeds after round 14?

PatrickMcGinnisII: Illedan goes legend i c

Illedan: Nope

Illedan: Now I only allow to plant if there is 0 lvl 0 trees in play

Astrobytes: Seems sensible

PatrickMcGinnisII: free seeds

PatrickMcGinnisII: yup

jacek: round = day?

Astrobytes: yeah

Illedan: Ye

Astrobytes: Turn on debug mode, it's what they call them

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

Illedan: So many losses

Default avatar.png gameJammer10: Ive lost so many times

BrunoFelthes: what is the most important thing to win gold boss?

Illedan: Get the most points?

Illedan: Sun is about 33% as important

BrunoFelthes: but, get more sun points at the start is important?

Illedan: Get the most possible income as fast as possible

Illedan: and I dont allow any selling before round 12

lowzhao: Can we make more than 1 move in an iteration?

struct: no

dbf: depends on your definition of 'iteration'

lowzhao: because i see that the opponent can COMPLETE so many trees

lowzhao: what is the format of doing this?

lowzhao: print multiple lines?

jacek: print one action per loop iteration

jacek: the day isnt over until both players are waiting

pmor: 1 day = 1 round. There are multiple turns per round.

Astrobytes: ^

lowzhao: how to complete multiple trees at once?

jacek: he doesnt do 'at once'

lowzhao: oh

lowzhao: if you wait you loses the chance to play that round?

jacek: yes

Illedan: struct, you dragged me down :(

struct: sorry :(

lowzhao: thank you!

MSmits: drag me up

ZarthaxX: gogo structo

ZarthaxX: and Illedan :*

Illedan: 1 hour+ submit just for a broken dream

struct: lol

MSmits: maybe when you go to bed, you're legend when you wake up

Illedan: Don't give me hopes

struct: just resubmit :p

dbf: just setup a resubmit script once an hour

Illedan: And resub on 95 % every time?

struct: :pray:

struct: no battles vs the boss...

MSmits: I'm rank 24 now, just short of getting battles with it

MSmits: 22

MSmits: 19

MSmits: is it just me or do most battles seem really close

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

MSmits: vs boss, but also in top of gold

struct: I lost vs him

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

Illedan: I'll just wait here for struct to leave the building

struct: .05 away from not deleting

struct: :/

MSmits: you should just stay there struct

elderlybeginner: do you consider amount of neighors when seeding?

MSmits: yay

MSmits: it happened struct

struct: its done

struct: Thanks

struct: I think its my first legend on a contest

Scarfield: :muscle: !

MSmits: really wow, grats!

MSmits: first of many

Illedan: 0.03 :scream:

struct: thanks

struct: you got this Illedan

MSmits: it could be worse Illedan, it could be smaller than 0.01

Illedan: You won me 7!! times

struct: lol

ZarthaxX: lol

Illedan: Let's not go down that path MSmits. Don't want to open wounds

ZarthaxX: GZZ STRUCTTTT

Illedan: :D

MSmits: :)

struct: thanks

Illedan: FINALLY

jacek: struttt?

ZarthaxX: GZZZ Illedan

Illedan: Cya next contest

MSmits: grats Illedan

ZarthaxX: bai

Illedan: Jk, no sleep before above euler

MSmits: I think i am just gonna push everyone out of gold so i can get some games vs boss

struct: MSmits you also improved a lot on last few days

Marchete: congrats

MSmits: mostly yesterday, today, a little yes

struct: now you win Illedan

struct: lol

struct: grats

MSmits: but mostly by just randomly coding stuff and hope it sticks

Illedan: Stay down struct :P

MSmits: it's like this. Hmm somehow my bot likes to complete a whole bunch of trees at once. What to change to avoid this? It's so difficult to solve that sort of thing with a search eval

WolfDarrigan: what's wrong with completing them all at once?

MSmits: because then you have no income

MSmits: i mean like 5 days before the end

MSmits: or more

WolfDarrigan: oh, it is doing it early in the game, not at the end

MSmits: well not early

MSmits: it's just better to gradually complete them

MSmits: so you keep a steady income

elderlybeginner: if you are using scoring function you can add a factor for amount of 3 size trees

WolfDarrigan: I include sun in my scoring of a board state

MSmits: I do too

WolfDarrigan: hmm

MSmits: elderlybeginner sure, i have stuff like that

MSmits: it's just hard to tweak

Default avatar.png Rium: when debugging my code with console.error.writeline(), is there any way to get all the messages written? Currently it skips some in the middle during execution.

elderlybeginner: then change the factors and add a turn to complete, I cut more at the end

Scarfield: penalty on points gained above some threshold?

MSmits: Scarfield, i thought of that but seems messy, then you need to take into account when it was gained

MSmits: you also still need the score for endgame eval

Scarfield: ye

MSmits: also, as bots get better, it gets harder to actually see whats going wrong

MSmits: you fix one assumed error and cause another

ddreams: gz struct

MSmits: I remember being in this situation in ooc

MSmits: having a hard time getting out of gold

struct: thanks

MSmits: but there i had a todo list, every feature i added made bot better. Here I am grasping at straws

elderlybeginner: any idea for future shadow in scoring function for complete and grow?

MSmits: I have that

MSmits: calculate future sun income

MSmits: till end of game

MSmits: oh, i should try a decay

Illedan: I have reversed decay :D

ddreams: I've spent hours trying to make decay work... can't manage to improve

MSmits: Illedan huh? Why?

elderlybeginner: it's not static, so compuing till the end is useless

Enknable: I think you gotta create a [4*completedTrees - nextSunPoints(completedTrees)]

ddreams: maybe I should do that

Enknable: or something lol

Scarfield: points gained later means more suns to spend i suppose

Illedan: Nice to see other Norweigans around ddreams :)

ddreams: elderlybeginner definitely not useless

MSmits: I keep going up the leaderboard from other players submitting

ddreams: yeah, I you're in the Oslo area too?

MSmits: 8 now

pardouin: 21 python in legend :o

Illedan: Yeah

pardouin: most of them only with heuristics or very light simu

pardouin: I'm envious :'(

MSmits: I think it's cool that many approaches work in this game

pardouin: my heuristic "clever ideas" all fail miserably4

MSmits: just wish I knew what i was doing :)

MSmits: same pardouin

Westicles: Just read the chat logs for the last week, it is all clever and helpful analysis

elderlybeginner: I guess that the main difficulty in this contest is to find what's not working. I cannot find mistakes looking into board

MSmits: yea

MSmits: but also fixing the things that are not working :)

OlivierRivoyre: Since I fix a computation error on my program, it works worst ;(

MSmits: thats really annoying, happens rarely, but it's the worst thing

MSmits: being forced to keep a bug

elderlybeginner: any idea what's going wrong? I use only scoring function and no future shadow implemented https://www.codingame.com/replay/555515215

PatrickMcGinnisII: MSmits bewats me by like 6 pnts, but hes at top of leaderboard and i'm at bottom, this contest is close...like every little detail matters, but every detail cost time

PatrickMcGinnisII: bewats=beats

Astrobytes: I prefer bewat

reCurse: berates?

PatrickMcGinnisII: webats

MSmits: yeah it's all quite close

MSmits: elderlybeginner it's mostly shadows i think

MSmits: somehow he gets more suns

MSmits: but thats hard to spot

MSmits: so you need shadow prediction and such

PatrickMcGinnisII: I calculate who to grow by the current potential over the next min(23-days,6)

Scarfield: AstroBewats

PatrickMcGinnisII: w/ shadows

MSmits: yeah those are nice heuristics PatrickMcGinnisII, but hard to use in a search

MSmits: because a heuristic to choose an action is different from one to eval a state

Illedan: How is barely beating Gold boss top 40 in Legend -.-

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

elderlybeginner: you put "shadow points" in scoring every action?

MSmits: Illedan it's always like that

PatrickMcGinnisII: it's how I prune grows in midgame

PatrickMcGinnisII: seeds is a different matter

ClockSort: what do i put at the top of my c++ program in order to make it very fast? something like

o3 unroll loops

MindController: #pragma GCC optimize("-O3,inline,omit-frame-pointer,unroll-loops")

MSmits: elderlybeginner i dont score actions, i score states, but it's a search so thats different

Marchete: let's go JRFerguson!

ClockSort: @MindController thanks. do you know if htat works for MSVC++ too?

Zenoscave: to legend?

Illedan: Marchete close too?

reCurse: No, you control the compiler options in MSVC

Astrobytes: ClockSort: You set those in your project settings in MSVC

ClockSort: thanks

Astrobytes: ah, recurse got there already

reCurse: It's ok I still need my translator

ClockSort: i am using msvc++ locally and the differences are annoying :D

Astrobytes: And set to release

elderlybeginner: MSmith I'm purely on logic and evaluation of each action with minimal code

reCurse: Your hardware may not match CG's at all

Astrobytes: reCurse :D

MSmits: yes i know, it's quite effective elderlybeginner

ClockSort: I am seeing 3x speed improvement over not-using-pragma. is that typical?

ClockSort: (on CG)

reCurse: Yes

ClockSort: :O

Zenoscave: yup

ClockSort: hello Legend :D

Astrobytes: 100% yes

ClockSort: (maybe)

Astrobytes: It's compiled with no optimisations

Zenoscave: clock sort let me know when you submit. I want to test against

ClockSort: submitting now

Westicles: 10 minutes later... I made my code 3x faster and I dropped 1000 places

ClockSort: same bot that was #100 gold after a couple hours, but now with #pragma

MSmits: it's still mcts ClockSort?

ClockSort: yes, just 9000 rollouts from round 9 to end-of-game though

MSmits: wow

MSmits: so few!

reCurse: totoro search

pardouin: it seems that gold boss was actually a #30 player but his first run was especially bad and ~100 players made the cut

pardouin: so it's not surprising that people can jump form gold to top 30

pardouin: from*

abenner: are bitboards worth it for this game

ClockSort: what do you mean, "totoro search"

MSmits: it's mostly that gold boss tends to get boosted after a while in gold league

MSmits: meaning it takes more effort to pass it

MSmits: then when you finally manage it, your bot is strong

Noyotens: https://www.codingame.com/share-replay/555532292

reCurse: Whoever wins should name their algo totoro search

pardouin: ^^

Zenoscave: But beam search already has a name

Zenoscave: ;)

Zenoscave: not that beam will win ...

ClockSort: thanks for the help guys, let's see how 3x speed improvement helps MCTS.

Illedan: Beam wont win

ClockSort: seems like going from 3000 rollouts to 9000 would be really valuable since it's a low number either way

BrunoFelthes: what are you using illedan?

Illedan: GA

alchemsti: Why do you say that? I think beam would win

Zenoscave: Really ille?

ZarthaxX: when did agad e appear?

alchemsti: But it would be a fairly narrow one with a fairly expensive eval

Illedan: Ye

BrunoFelthes: wow...

BrunoFelthes: for you and your opponent?

Illedan: SGA to be precice..

Illedan: mhm

BrunoFelthes: but, when you change a "gene", you can invalidate the role game... no?

Illedan: Hence I evolve them at the same time

Zenoscave: Not if you don't make that a valid gene change ;)

PatrickMcGinnisII: elderlybeginner looks like u cut first tree too early, when cost to grow tree of size 3 > 10, then cut is great, but the 1 sun you are saving isn't worth it, cause your losing 9 sun over next 3 days... wtf do i know

Default avatar.png actualCoderTrevor: Illedan what's the "S" in SGA?

Illedan: simultaneous

ClockSort: SuperDuper

Default avatar.png actualCoderTrevor: ohhh thanks

BrunoFelthes: I'm really curious how to do it...

MSmits: Illedan that's like smitsimax isnt it?

PatrickMcGinnisII: i thought u said SCA Society for Creative Anachronism (SCA)

Illedan: Yeah, just worse and faster to write :D

Default avatar.png actualCoderTrevor: Illedan if you don't mind my asking how do you enforce the rules with GA? Just force your algorithm to choose one of the available moves with modulo?

PatrickMcGinnisII: who did an NN?

Illedan: Yeah

Astrobytes: Two contests in a row Illedan!

struct: true AI will win

BrunoFelthes: You have a population, play a game until the end, cross, 2 good choices, if it is not valid, you discard it?

Default avatar.png actualCoderTrevor: Oh nice

Illedan: It is never invalid

Illedan: 2 days x 4 actions. Each action a double Precalc possible actions and do val*actions to select. If not valid => "wait"

Westicles: GAimax w/ Prune Array is all you need

MSmits: Illedan i thought it was depth 4?

Zenoscave: PruneArrays are op

BrunoFelthes: it is only 2 days?

Illedan: My search yeah

BrunoFelthes: OMG

BrunoFelthes: and you are legend with 2 days search

BrunoFelthes: My search is a crap

MSmits: there are legend with 0 days search

struct: meanwhile im at 24 days

BrunoFelthes: really?

Illedan: Guess it took them a day to write the search?

MSmits: yeah many heuristic bots

BrunoFelthes: but, i really dont know how to eval what is the best board only 2 days after

BrunoFelthes: the board with the best sun?

Illedan: Least overlapping sun

BrunoFelthes: considering the first 15 turns

MindController: Incoming sun generation imo

BrunoFelthes: I will try it

Astrobytes: Yeah, she really killed it in '78

Astrobytes: woops

Astrobytes: wrong window

MindController: Also does anyone know why is there so much fights in gold?

MindController: 5h ago 90 fights were full sumbin

ZarthaxX: Astrobytes LOL

MindController: Now im 85 fights in only at 65%

Default avatar.png actualCoderTrevor: Woah but now my curiosity is piqued. Who liked what in '78??

Astrobytes: Donna Jean Godchaux

Default avatar.png actualCoderTrevor: I sense I'll never have the answer

Default avatar.png actualCoderTrevor: Oh I have half the answer

Zenoscave: you're a dead head

Astrobytes: Sang great with the Grateful Dead that year

Westicles: PMs about how much you Thatcher?

Astrobytes: Yes

Westicles: love

Default avatar.png actualCoderTrevor: Okay lol thanks

Astrobytes: https://www.youtube.com/watch?v=MnVCxqBFawQ

Zenoscave: cool

Default avatar.png actualCoderTrevor: I'm grateful to have my answer

Zenoscave: If I'm doing '78 I'm doing dire straits

Westicles: Astrobytes the gov't told us we can all toss our masks, and these people are still driving around alone with masks on

Astrobytes: And?

Westicles: I'm living with a bunch of crazy people?

Astrobytes: Zenoscave: Fair. I love the dead from beginning to about 77 mostly, but there's a lot of good stuff up to about '84

Default avatar.png actualCoderTrevor: The gov't said that if you're vaccinated, which only 40% of people are, and there's research to suggest if you're immunosuppressed the vaccines are less effective

Zenoscave: But we all rest in P.Funk right astro? ;)

Astrobytes: 100%

Default avatar.png actualCoderTrevor: ^

lastshamp: :poop:

Astrobytes: How anyone can claim this music as bad however is beyond me

Noyotens: :rage::rage::rage:

Zenoscave: I mean it's good, but it isn't N*SYNC good /s

SirLoxley: Does anybody know the stack size of C++ runtimes in codinggame? Do I get the full 700MB?

Counterbalance: stack is a few mb

Zenoscave: I doubt it's that large SirLoxley

Astrobytes: you can check it via bash

Counterbalance: heap = 768mb - stack - program size

SirLoxley: darn. I wanted to avoid putting stuff on the heap

Marchete: you can change stack on c++

Marchete: via code

Marchete: based on a true history

xMistySenpai: im disgusted with how most if not all example codes use var

xMistySenpai: let exists as a viable replacement

Marchete: https://github.com/marchete/RN_Explorer/blob/main/src/solorunner/RN_ExploDiv_7.cpp#L4703-L4724

JSboss: ive got no problem with Var, it's the "const" default in CoC that really grinds my gears

JSboss: because then if you need to change or increment an input in fastest mode, well gg

xMistySenpai: var is deprecated and garbage towards the engine'

JSboss: source lol ?

Stormalix: JSboss ikrr!

JSboss: yes it requires hoisting but it is also backwards compatability ensuring and deffo not deprecated

Astrobytes: Zenoscave: fungusuas goodasufugu seems remarkably on that PF wavelength

xMistySenpai: if you need backwards compatibility

xMistySenpai: then why use const

SirLoxley: wow. Someone wrote an essay on a coding-game problem. My respect

xMistySenpai: kinda lopsided

JSboss: i am arguing against the use of const as a default in CoC, not the opposite

Zenoscave: astro link? Can't find

Astrobytes: https://www.youtube.com/watch?v=MnVCxqBFawQ

Astrobytes: scroll up in the chat

xMistySenpai: ik but if const then why not let

xMistySenpai: thats my opinion

JSboss: ah yea i agree let would be optimal,

Default avatar.png actualCoderTrevor: You're both talking about the boilerplate code when you start a new contest / puzzle?

JSboss: yes exactly, in JS

Maliamnon: First gold this time around. Might try to crack top 500 this weekend if the weather isn't too perfect

Default avatar.png actualCoderTrevor: I guess that could be annoying in CoC

Westicles: You should try c++. By the time you tokenize the strings everyone else is gone

JSboss: :D

Astrobytes: heh heh not wrong

Zenoscave: or ruby and you can try winning more often

Zenoscave: or perl depending

JSboss: yes, js+ruby = top 20 CoC :)

JSboss: perl is too much for me

Astrobytes: cryptic ruby is harder to read than cryptic perl imo

Zenoscave: lol I write some real cryptic ruby

MSmits: so ruby is a natural obfuscation language?

JSboss: $_ and ~/$/ are favs

Zenoscave: chmod 333 *.rb

JSboss: also all this

JSboss: https://www.zenspider.com/ruby/quickref.html

Astrobytes: But can you write poetry in rb

MSmits: better use shakespear for that

JSboss: sorry screwed up the link

JSboss: https://www.zenspider.com/ruby/quickref.html#pseudo-variables this helped

reCurse: That guy writing a bot in perl is running into real risks of being disqualified for obfuscation

Astrobytes: MSmits you never read perl poetry?

Zenoscave: Is it actual perl or a wrapper?

reCurse: (or person, my bad)

MSmits: nope, i know you dont think I have a life, but, mmh nvm, show me

NinjaDoggy: oh my...

NinjaDoggy: I just found a tragic bug :(

Astrobytes: don't make me letmegooglethat for you

ZarthaxX: wtf NinjaDoggy lol

MSmits: aww right, i'll do it myself

NinjaDoggy: I'm running my new bot locally and it wins 70%+ against old bot

Queuebee: what do the scores signify in the leaderboard?

ZarthaxX: :D

Zenoscave: lmgtfy.com/?q=perl+poetry

ClockSort: how can you have a tragic bug and already be so strong?

ZarthaxX: what bug

NinjaDoggy: I run it on CG and it's < 40% ... wtf?

NinjaDoggy: turns out locally

NinjaDoggy: I don't generate sun for day 0

reCurse: Some legend says vorgons use perl as their language to write every program

NinjaDoggy: so it's basically playing with 1 less day...

NinjaDoggy: thus the constants are inproperly optimized

NinjaDoggy: i ran it for the whole night too T_T

ClockSort: hey, i might have that problem too lol

Default avatar.png natofp: hey guys how do you test your bots locally?

NinjaDoggy: I wrote my own arena thing

NinjaDoggy: but brutal tester is pretty popular

reCurse: Did I say vorgon, I meant vogon. Geez.

reCurse: Uncreative writers I swear

Default avatar.png natofp: can you elaborate? can i download this brutal tester from somewhere?

NinjaDoggy: um... I've never used it personally so someone else can probably help you more

NinjaDoggy: I can point you to the forums though :D

Zenoscave: https://lmgtfy.app/?q=codingame+brutaltester

Zenoscave: natofp

Zenoscave: first non-ad

NinjaDoggy: https://github.com/dreignier/cg-brutaltester

Zenoscave: https://github.com/dreignier/cg-brutaltester


Zenoscave: awe was about to not be snarky

reCurse: Not sure if it's been posted but you can find it at https://github.com/dreignier/cg-brutaltester

Zenoscave: Thx NinjaDoggy :)

NinjaDoggy: I tried your visualization and it worked :)

NinjaDoggy: first non ad :)

Default avatar.png natofp: thanks a lot :))

Nerchio: somebody explain why my rank doesnt fall

Nerchio: https://imgur.com/a/B7tq9Dw

Nerchio: when i have a match list like this

Zenoscave: TrueSkill *waves hands magically*

NinjaDoggy: lol

reCurse: The point curve is pretty stiff

reCurse: So you don't lose much from those

ClockSort: can you select agents from outside your league?

Westicles: ...ranking system developed by Microsoft

reCurse: Oh right, developed by Micro$$$oft, therefore it's garbage hahahahaaaaa...

reCurse: Never gets old

Nerchio: i see maybe i win vs the guys around my rank but lose vs everyone above

NinjaDoggy: lol

Zenoscave: I think trueskill is an improvement on many ranking system for it's purpose

Astrobytes: It's a meme that will sadly never die I fear reCurse

reCurse: Nerchio: Seems like that's what's happening, also top guys tend to submit a lot so they are overrepresented

reCurse: Top persons geez, gonna get fired at this rate

Astrobytes: :P

Westicles: The one girl here appreciates the effort, I'm sure

Zenoscave: fired from ubisoft?

reCurse: I dunno, maybe

Westicles: Except she got banned...

Zenoscave: * <--- the point


o <--- My head

reCurse: Worse has happened over less

Astrobytes: There are other girls too Westicles but you don't know them

Westicles: oh right, orange vixen

Astrobytes: Many others.

Default avatar.png actualCoderTrevor: #1 in gold is "Jessie" with a Princess Peach avatar, though I suppose that's not definitive

reCurse: Did you just assume something

Zenoscave: Several things I believe

Default avatar.png actualCoderTrevor: :O

Default avatar.png **actualCoderTrevor backpedals

Astrobytes: /cancel

**Zenoscave slaps Astrobytes around a bit with a large fishbot

Zenoscave: idk felt fitting

Astrobytes: What did I do?

Zenoscave: one

reCurse: Slap first and find something later

Zenoscave: Ah yes, the american aggressive greeting

Astrobytes: Do one Zeno! (I find it amusing how you've totally picked up this phrase btw)

PatrickMcGinnisII: Here, hold my beer

Westicles: They changed the definition of guy to be gender neutral, so you are okay

reCurse: That one flew over my head

Zenoscave: (I lvoe the phrase)

Zenoscave: I love it too

Astrobytes: :D

Westicles: used in plural to refer to the members of a group regardless of sex

Zenoscave: I that what was dudes

reCurse: Is it now?

reCurse: Is it also something I want to risk?

Zenoscave: reCurse not used by all.

Lysk: yeah that's all good until you ask "how many dudes/guys you slept with?" suddenly not so neutral for many

reCurse: lol

Zenoscave: only for direct reference preceeded by "you" i.e. What are you guys doing?

Zenoscave: y'all works better

reCurse: Aaaand that's why I'll stick to person

Zenoscave: ^

Astrobytes: we have 'youse'

Astrobytes: Always have

Zenoscave: how the hell do you pronounce 'youse'

Westicles: I used broads or chicks to be extra careful

Astrobytes: Terrible use of language but youse says it right?

Lysk: Astrobytes, that depends where in the usa you are

reCurse: That reads as dirty as it sounds like

Astrobytes: Scotland Lysk, lol. Said as 'yooz'

Astrobytes: it's "you's"

Zenoscave: Ah

Lysk: haha nice for the us there are so many versions: https://www.mentalfloss.com/article/12916/yall-youse-8-english-ways-make-you-plural

MSmits: Yousa might'n be sayin dat. Ye gods, whatta meesa sayin'?

Zenoscave: understood

reCurse: Is that scottish or jar jar

MSmits: jar jar :)

Lysk: lol

Smelty: combo?

Astrobytes: Scottish. Stop denying your heritage Highlander

Astrobytes: :P

Zenoscave: OUTLANDER

Westicles: Wee, sleekit, cow'rin, tim'rous beastie, O, what a panic's in thy breastie!

Astrobytes: MSmits: are you ill?

Astrobytes: Ah, tae a moose

Astrobytes: I always liked the puddock tae

MSmits: nope

Zenoscave: I've got nothing to add to weird soundin english

Zenoscave: I live in the Man'ains

Astrobytes: For clarity: Tae a Moose (To a Mouse) and The Puddock (The Frog) are both Robert Burns poems

alchemsti: Wee sleekit tim'rus Beastie

alchemsti: Oh what a panic's in thy breastie

Astrobytes: Who is somehow the Scottish national poet thing because .... a few good songs and poems, massively drunken, womanising arse though

alchemsti: I think he was one of the first to write poetry in commonly spoken Scottish

Zenoscave: TIL

alchemsti: Random trivia -- "Of Mice and Men" (Steinbeck, also a movie)

Astrobytes: I walked along a path somewhere up near Pitlochry (I think) and there was a stone sign in a bush that said "Robert Burns slept here"

alchemsti: is from that poem

alchemsti: of a mouse, whose house gets destroyed by a plow

alchemsti: with he line

alchemsti: The best laid schemes o' mice and men

Astrobytes: gang aft awry

PatrickMcGinnisII: he found ransomware in the bush and made $5M

Astrobytes: *agley

Astrobytes: same word

Zenoscave: who did PatrickMcGinnisII?

alchemsti: As you can see, I don't want to work on my stupid program

alchemsti: because it's broken in multiple ways

PatrickMcGinnisII: whoever, watching news about rusky pipeline

Lysk: between pipeline with no cyber security and social security & tax written in kobol, so many things can go wrong

Astrobytes: More concerned about a certain Middle Eastern conflict tbh, but still tweaking my bot

Astrobytes: PatrickMcGinnisII

Zenoscave: I need to find a reliable newsource. I don't have cable/tv

PatrickMcGinnisII: Gaza doesn't affect me much, but no diesel at gas stations 'cause every1 freaked out

Lysk: reddit is a very serious source

Westicles: waiting for the /s

Nerchio: a lot of discussion with chinese bots

Nerchio: sounds fun

PatrickMcGinnisII: "/r chubbychicks doesn't count"

Astrobytes: I generally use theguardian.com, opinion articles are from all sides of anything, sources are linked - if not you email them and get them

NinjaDoggy: I fixed my arena bug but my new bot(which performs worse) still beats my new bot 2:1 locally :(

CharmyRosewolf: How did I open up the game and suddenly I'm in gold :scream:

Zenoscave: good to know Astrobytes!

NinjaDoggy: guess it's time to look into brutal tester or something for sanity checking

PatrickMcGinnisII: I would trust you guys from other countries than my US news

Zenoscave: ^^^

NinjaDoggy: Zenoscave brutal tester works out of the box with this contest right?

Zenoscave: Nope. use magu_s fork of my fork

Zenoscave: https://github.com/dreignier/SpringChallenge2021

NinjaDoggy: ok thanks!

Zenoscave: mvn package. and you're good to go

Astrobytes: Zenoscave: It's a liberal-leaning (in the British sense - well the past British sense compared to right now) paper but takes and publishes articles from all side, I just repeated myself but I will console myself with nice music

alchemsti: So just resubmitted code from like 3 days ago because everything I've done since then has been broken or bad.

alchemsti: Such a shitty feeling

Astrobytes: Standard CG contest stuff, don't worry

Zenoscave: alchemsti I think I've got between 100+ submits maybe 10 different versions

MSmits: how do you target boss again with cg bench?>

MSmits: it's more convenient than ide anyways

Astrobytes: -1 id?

MSmits: i thought so, but not sure

reCurse: Careful not to hit limits

MSmits: i set 60 s

Astrobytes: been a while since I did that, you have the same limit anyway though so why bother

alchemsti: I don't mind so much the many submits, it's the frustration of having bugs / things not behaving as they should. I guess it's a lesson in not cutting corners. I have some basic verification tests, but should have more, I think.

MSmits: Astrobytes because it counts for me :)

MSmits: so i know wr, even if its poor statistics

Astrobytes: Why bother anyway?

Zenoscave: https://github.com/LSmith-Zenoscave/SpringChallenge2021/releases/download/v1/spring-2021-1.0-SNAPSHOT.jar IF you want to use a brutaltester ref but don't want to compile

alchemsti: Y'all have a good night!

Astrobytes: Sorry, jaded Friday

Astrobytes: There's a 5cm (about 2") mean black spider above my desk. It's been sat there for an hour.

pmor: spiderbro

struct: :scream:

Astrobytes: It seems pretty chill

struct: burn the house

ZarthaxX: it's a spy!

Astrobytes: It looks evil. I don't mind spiders at all but this one looks intimidating even to me.

struct: o.o

MSmits: i'm sure it's ok

MSmits: as long as you stare right at it and dont blink

Westicles: I had one that would rappel down from the ceiling and bite me every night. They ain't all bros

Astrobytes: It was up on the ceiling earlier

struct: nightmare fuel for me :(

Westicles: put on the hazmat suit before bed

Zenoscave: https://www.youtube.com/watch?v=ZvCI-gNK_y4

Astrobytes: Only time I ever had spider bites was when my ex came back from France and was complaining of bites. A few times over at her place and I was the same. Coming home on the subway one morning a very large brown spider comes running out my cardigan sleeve

Zenoscave: yeeesh

Zenoscave: that's terrifying

Astrobytes: Scared the actual bejesus out of several passengers, they stamped their feet - now tell me what did the spider do?

Zenoscave: live

Astrobytes: It ran up my fking leg!

Zenoscave: but instinct is instinct

pmor: ya'll need some wolf spiders in your life

Astrobytes: I've never thrown a spider as far as I did that time

struct: no thanks

Westicles: "It is estimated that there are up to one million spiders per acre of land on earth"

PatrickMcGinnisII: spiders lol

Zenoscave: We have brown recluse and black widows native to where I live

Astrobytes: I really like them. They can be disturbing but they are cool generally.

Astrobytes: Black Widows defo worse than Brown Recluse, though the latter bites can get infected and be pretty shit

PatrickMcGinnisII: I have lots of them, there are good spiders and bad spiders...we have brown recluse and black widows that can mess you up, but more common are the daddy long legs and wolf spiders which kill alot of bugs...I have no bugs other than spiders. Fl is full of bugs...this is mosquito and love bug season. Most of yall r prolly pretty lucky.

Zenoscave: We also have an annual fall tarantula migration

Queuebee: http://chat.codingame.com/pastebin/75e65d60-72c0-41a8-8d46-01f52ef43135

Nerchio: im fine with spiders just not the dangerous ones or fat ones xD

pmor: love bugs need to burn in hell

Zenoscave: Queuebee use 1ul not 1

Zenoscave: signed int vs unsigned long constant

Queuebee: but I need 64 bits from the beginning

Zenoscave: x |= 1ul << 31;

Queuebee: okayyy :O

Queuebee: 1l works too :D

Zenoscave: :+1:

Queuebee: thankyouuuuu :D

Zenoscave: for >> shifts does 1 work?

Zenoscave: 1l*

Queuebee: No clue, I'm not there yet Lol

ZarthaxX: UL or ULL?

ZarthaxX: i always use ULL

ZarthaxX: :thinking:

PatrickMcGinnisII: Queuebee looks like 2s complement, need unsigned long i think

pmor: 64b you would want ull

Queuebee: its c#

ZarthaxX: right

Queuebee: does that exist

Zenoscave: depends on ABI, no? This is above my paygrade

ZarthaxX: haha

Astrobytes: lol

Queuebee: my IDE goes brrrrrrrt on ull

ZarthaxX: f

pmor: c# i don't have much experience with.

pmor: they might do things differently than c/c++

Queuebee: actually Zenoscave using ulong the Conver.ToString(x, 2); breaks

struct: Zenoscave I see that you compiled the referee

Westicles: No telling what they do in C#... you know who came up with that

struct: How do I run it?

Zenoscave: java -jar no flags "should " work

struct: I see, thanks

PatrickMcGinnisII: http://chat.codingame.com/pastebin/3a7babc4-7639-49f8-8886-1bf1ff59572d

Astrobytes: Right. I'm out. I'll listen to the rest of this dead show and put my feet up

cegprakash: damn

Astrobytes: See ya all tomorrow

cegprakash: I get 5000 simulations at depth 1

cegprakash: too bad

ZarthaxX: depth 1?

ZarthaxX: day 1?

cegprakash: yep

cegprakash: day1

ZarthaxX: ah

cegprakash: let me see profiler to see if I can improve performance

ClockSort: 3x speed (pragma O3) made my bot drop 70 ranks. luck, or is there a downside?

Zenoscave: Accuracy of eval?

Zenoscave: Westicles you called it

ZarthaxX: lol

Wontonimo: Legend is up to 115 ... I'm starting to feel left out

cegprakash: my profiler is not collecting any data in visual studio 2017 not sure if I'm doing it right

Wontonimo: can't we all be winners?

ZarthaxX: nope

ZarthaxX: you are a loser wonto, im sorry

cegprakash: this is the report generated by my VS https://ibb.co/9VY6NTy no idea what I'm doing wrong.. does anyone use profiler?

ZarthaxX: legend isnt everything anyway

ZarthaxX: you learned a lot wonto :D

ZarthaxX: and will prob smash me soon

ZarthaxX: :c

Zenoscave: My IDE bot is 2x as slow compared to facing arena bot. Is IDE having issues?

Wontonimo: there is still time for smashing ZarthaxX watch your toes

ZarthaxX: i know

ZarthaxX: and you will prob do

ZarthaxX: i will just delete account before you get me ;)

Wontonimo: Winners never quit, and quitters never win, but those who never win and never quit are idiots

Wontonimo: oh ... just checked your rank ... you can rest easy ZarthaxX, my boots are no wear near your toes

ZarthaxX: my rank is a lie tho

ZarthaxX: legend is messy

struct: ZarthaxX hiding

ZarthaxX: right

ZarthaxX: i have a big fat bot here

ZarthaxX: will reveal it soon (?

XeroOl: hahaha I have completed my profile and got all of the certifications

ZarthaxX: good

Wontonimo: congrats XeroOl !

ZarthaxX: now delete account and do it again

XeroOl: lmao

Wontonimo: prestige

ZarthaxX: the struct way

ZarthaxX: :D

XeroOl: now I have to do all the achievements

Wontonimo: how long did it take you XeroOl ?

XeroOl: is there a way to know how long I've had the account?

Wontonimo: about april 8th

XeroOl: joined on 8th of april, yeah

Wontonimo: 4 u

XeroOl: so little over a month

Wontonimo: well, that's a speed run

Wontonimo: are you unemployed ?

XeroOl: lmao

XeroOl: I'm a student

XeroOl: and online classes suck

Wontonimo: i'm starting to question my abilities

XeroOl: please hire me thanks lol

Wontonimo: (Wonto repeats to himself "we are all winners, we are all winners")

XeroOl: meanwhile, I'm at silver in the competition, and I don't see any good hope of getting highe

XeroOl: ]r

xMistySenpai: range of 4 means a 9 including center, right?

Queuebee: why is everyone always talking about using unsinged thingies, is it faster?

alchemsti: it's generally nicer for bit operations.

XeroOl: how do you guys compute the distances for each tile

alchemsti: E.g. when you right shift signed things, you have to worry about sign extension

Queuebee: hmm

Queuebee: I dont have right shifts yet .__.

Queuebee: I hope it wont be hard to refactor all longs into ulongs when it comes to that

XeroOl: maybe learning rust and writing a sim at the same time is a bad idea

XeroOl: lol

Noyotens: i am dont want win but what is the prize

yyzl: 有人吗

Whiskee: are you ever really really proud of some piece of eval logic and then remove it just to check the performance impact and see that it made no difference whatsoever in the first place

Whiskee: worst feeling every time.

XeroOl: lol

Nerchio: pretty normal i'd say

XeroOl: the secret is that I never actually check performance

XeroOl: I just write code that "feels" fast

XeroOl: :(

reCurse: Secret to what

pmor: I'm still trying to get my valid actions logic performant :(. I haven't even begun to work on eval yet.

XeroOl: lmao I've given up on efficiency at this point

XeroOl: I just want it to work, and be a simulator

XeroOl: and be done before the comp is over

pmor: after day 15 i can't even sim 1 day.

XeroOl: time to look up a tutorial on beam search lol

XeroOl: I've got my sim code "finished" but completely untested

XeroOl: wait, beam search needs a heuristic

pmor: this is beam search :sob:

XeroOl: why does this challenge need so much heuristics !!!!!

XeroOl: I want to just not think today lol

cegprakash: wait wuut

cegprakash: I changed string to enum and I got from 5K sims to 82K sims

Numby: now change to ints gonna go to 150k sims lol

struct: you were using strings?

cegprakash: int is faster than enum? Numby

cegprakash: struct yes for Move types

Numby: I'm not sure for C++ but in java structs are bit heavyweight since they're objects and this can make a difference in some cases

Numby: I've seen Android developers avoid using Enums due to avoid memory bloat

Kukiss: Finally gettin closer to gold :) All evening was trying to make a use from my stored info about shadows

develoore: enums are true about android development

develoore: but in c++ they are basically ints

Numby: can c++ enums act as classes or they're plain enums same as C?

develoore: also unless classes/structs (they are the same thing) contain virtual functions they are pretty much just data containers on steroids (just a few pointers in them)

develoore: enums act like classes

develoore: but at compile time that info is lost

Numby: But I guess the issue is in java generally everything is pointer which is the issue. Like in C++ you can have an array of some class, in java it's all an array of pointers

Default avatar.png natofp: Anyone knows how to fix that in brutaltester? Error: 02:47:44,725 ERROR [com.magusgeek.brutaltester.GameThread] Problem with referee output in game1. Output content:WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.

develoore: well, it's more about having everything with virtual functions and having their types baked in

develoore: in c++ casting (dynamic cast) is really costy

develoore: in java not that much since the object's type is stored along the object in the memory

develoore: of course if you have a lot of small objects it will make a huge difference

develoore: but these are all premature optimizations and only matter when there's really nothing else one can improve on the algorithm itself :)

Lysk: which version of java are you using?

Numby: Don't think there's a choice. But should be at least java 8 (too lazy to look around the website , this info is somewhere)

Kukiss: probably https://www.codingame.com/faq :)

Zenoscave: They're running offline :)

Zenoscave: not on CG

Zenoscave: natofp that error is safe to ignore. it is due to The reflection library used in the engine. should not effect your games

Zenoscave: sadly it makes a lot of noise

Kukiss: then oops

Noyotens: i deafet the bot 10/10 and my rank is 58 and i am not in silver

Wontonimo: it's not about the bot, it's what between you and the bot. lots of different strats in there

Wontonimo: pick a few people who beat you and try your bot specifically against them

Bozo: Hi, in Bronze mode, what is the Cost for growing a tree from size 3 to 4 ?

Numby: can't grow past 3

Numby: once it's at 3 you can only complete it

pmor: 3 is the largest size, you can only complete the lifecycle for 4 sun points

Bozo: ha sorry

Bozo: thanks

Bozo: my mistake

Wontonimo: such a Bozo mistake

Wontonimo: (sorry, couldn't help it)

Bozo: i know :-D

elderlybeginner: anyone without sim in platinum?

Wontonimo: you mean legend?

elderlybeginner: yes, legend

Wontonimo: i think there are a few, a very few.

elderlybeginner: after gold should be platinum, thou :wink:

Default avatar.png Petrify36: Gold -> Platinum -> Diamond -> Master -> Apex Predator

Default avatar.png Petrify36: oh wait wrong game

Wontonimo: C -> B -> A -> S

Wontonimo: -> Saitama

NinjaDoggy: where's SS?

reCurse: SSS

CouscousAgha: so close to legend yet so far...

KelvinAndHubbles: yea, I mean I beat a silver player that evauntlly promoted to gold that once saw a higher gold rated player that was close to beating one of the top golden players that is similar in ranking to legend rank, so I'm in the same boat aswell

CouscousAgha: i make my player say 69ms on every action just to give the illusion im using sims

CouscousAgha: hopefully it will secretly buff my player

Default avatar.png CameronWatt: holy moly rolly polly

EnderWiggins: I am not able to Approve/Reject anybody's clash of code puzzle made even though I did 50 clashes. Can anybody help?

CouscousAgha: im top 16 now idk if i should re submit and attempt legend again or wait for people to push me up

Wontonimo: Better to look at you Score. How many points are you away?

CouscousAgha: 48.40 vs 50.78 for the boss

Wontonimo: you are about 2.5 points away, so probably not gonna get there with a push

Wontonimo: imho

CouscousAgha: yeah i thought so

Wontonimo: Can you squeeze any more performance out of your bot?

Wontonimo: play with some hyper parameters at least?

CouscousAgha: at this point I have no idea

Wontonimo: same boat

CouscousAgha: every bit of squeeze feels like a 70% win chance vs everyone near me

Wontonimo: what's your bot? what kind of search you using?

CouscousAgha: purely heuristic

Wontonimo: sweeeet !! Good job!

CouscousAgha: I started since day 1 of the challenge

CouscousAgha: kept adding and deleting stuff

CouscousAgha: and i felt like it was becoming messy

Wontonimo: my heuristic is a tower of cards

CouscousAgha: so I redid my code today with all the ideas and strategies on my mind

Wontonimo: and are you using brutal tester?

Wontonimo: vs your old bots?

CouscousAgha: took me about 4 hours but i went from top 190 to legend

CouscousAgha: i mean almost legend

Wontonimo: i was gonna say, you must have pissed someone off to get kicked out

CouscousAgha: yeah lol

CouscousAgha: man these guys who keep attempting to get out of gold are buffing the boss

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

Default avatar.png CameronWatt: python bros recking my linq c# skills in code golf in clash

Default avatar.png CameronWatt: ripperino

Wontonimo: haha ... doesn't quite work that way. it's more like they are making a wall of a variety of strats for you to also have to beat

NinjaDoggy: nah buffing the boss is real

Zenoscave: Wontonimo if you lose against the boss a bunch it does buff it

Numby: how is the boss buffed O.o

Wontonimo: its score increases, but it doesn't get smarter

NinjaDoggy: score is the only thing that matters though :/

Zenoscave: No but that score is enough

Zenoscave: quit beating me NinjaDoggy

CouscousAgha: well when u increases its score means u need more wins to get surpass it

Zenoscave: This isn't that much of a buff compared to some competitions though

Zenoscave: But it is iratating

Wontonimo: hey Zenoscave, i see you've been coming very close!

CouscousAgha: Zenoscave

Zenoscave: Not close enough

Wontonimo: i hear that

Zenoscave: yes CouscousAgha

CouscousAgha: come give some push to your pal here

Noyotens: guys i am at gold now YAAAAAAAAAY :stuck_out_tongue_closed_eyes:

CouscousAgha: congrats! welcome to elo hell

CouscousAgha: if you've ever heard of it

Default avatar.png Cjx_1: big grats <3

NinjaDoggy: sorry zeno :(

Zenoscave: lol

Noyotens: THANK YOU GUYS

NinjaDoggy: congratz on gold! :D

Wontonimo: congrats Noyotens !

Noyotens: thanks

Zenoscave: CouscousAgha I beat you in the current bot... like 80% of the time

CouscousAgha: are you sure

CouscousAgha: it was 3 to 2

Zenoscave: Not enough plays yet on this new submit but there's a big improvement

Zenoscave: 5/1 me in IDE

Zenoscave: Not enough to be confident but I think it's good

Noyotens: https://www.codingame.com/replay/555704411

Noyotens: u have error

Zenoscave: Noyotens was that in IDE?

Noyotens: no

Zenoscave: MAny bots time out in IDE currently

CouscousAgha: Zenoscave go easy on my 69ms heuristic bot

Zenoscave: "69ms"

Zenoscave: Nice buff

Zenoscave: ;)

NinjaDoggy: bluff*

Smelty: nice.

NinjaDoggy: ;)

Zenoscave: ;)

Smelty: ;)

CouscousAgha: yeah im almost positive making your bot say 69ms will buff it

Zenoscave: c-c-c-c-omb breaker

CouscousAgha: i think getting top10 in gold as a first timer without any sim is a good achievement

Zenoscave: definitely

jrke: can anyone gimme a better idea for heuristic?

Zenoscave: Don't

Zenoscave: there's the best idea

Zenoscave: ;)

CouscousAgha: ^

BrunoFelthes: jrke first move wait

NinjaDoggy: wait grow wait grow seed :)

Zenoscave: ^^

CouscousAgha: the amount of burnt brain cells to get a good heuristic is definitely not recommended

BrunoFelthes: wait grow wait seed grow

NinjaDoggy: debatable on the order :P

NinjaDoggy: i think grow first is better

BrunoFelthes: you can lose your spot if you grow first

CouscousAgha: wait grow2 wait grow2 seed wait grow2 grow1 seed

CouscousAgha: chad order

NinjaDoggy: you can counter seed if you see them do it first

Zenoscave: seed in better position. Plus same spot seeds are rare in first few day

BrunoFelthes: ok, grow first if you can lose the spot that you want

BrunoFelthes: cant*

Zenoscave: When is it more advantagous to not complete a tree and gather sun instead?

NinjaDoggy: zeno

Zenoscave: hm?

NinjaDoggy: you might as well ask what's the point of life

NinjaDoggy: with a question that hard :P

Zenoscave: no I mean in end game. When should you stop completing

CouscousAgha: Zenoscave if i figure that out I will be legend by now

NinjaDoggy: when it gives you more points than completing ;)

Zenoscave: A lot of my losses are I have more score but WAY less sun

NinjaDoggy: like it actually depends on a lot

NinjaDoggy: mainly on opponent

NinjaDoggy: and nutrients

Zenoscave: Gotcha

abenner: 'Compilation took too long and has been interrupted' woo hoo I love rust

Zenoscave: https://www.codingame.com/share-replay/555706781

Noyotens: guys anyone have any replay to how beat gold

Zenoscave: Like this crap

NinjaDoggy: tbh I haven't been doing too much heuristics stuff

NinjaDoggy: I made like 18 variables

NinjaDoggy: and have been running my 5900x non stop past 2 days to optimize them ;)

Zenoscave: christ

CouscousAgha: my god

CouscousAgha: thats p2w

Zenoscave: Paramfiddler?

NinjaDoggy: LOL

NinjaDoggy: p2w indeed ;)

NinjaDoggy: I see people asking how many threads max for brutal testers

NinjaDoggy: and i'm like lol... here I am running 20 threads XD

CouscousAgha: how much it took you to write it

Wontonimo: $5

CouscousAgha: LOL

Wontonimo: or 3 meters ?

Zaphus: 12 parsecs?

CouscousAgha: bro the bot just got +0.3 buff

Wontonimo: i've been taking notes of the boss over the day. 8 hours ago it was 52.29. 3 hours it was 51.81

Noyotens: this bot have 142IQ

Wontonimo: now it's 51.17

Wontonimo: so, i wouldn't say it's been going up today

CouscousAgha: i guess i will go sleep it's almost 4 am here

CouscousAgha: i get like 0.1 push every win and my winrate is kinda above 50

CouscousAgha: soon enough i might get to the boss myself

ClockSort: yess, a small change in my MCTS rollout made a big difference. #23 Gold and climbing!! fingers crossed for my first ever reaching Legend in a CG contest :metal: