Chat:World/2021-05-17

From CG community
Revision as of 12:07, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/5054547465724> ddreams: I do 3 shifts + 1 filter for 3-shadow, 2 shifts for 2, 1 shift for 1 <img src=/a/5054547465724> ddreams: it's just a single & tho <img sr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ddreams: I do 3 shifts + 1 filter for 3-shadow, 2 shifts for 2, 1 shift for 1

ddreams: it's just a single & tho

struct: probably similar ddreams

struct: I think

BrunoFelthes: is it better to use another kind of index?

struct: But i dont really need to filter

eulerscheZahl: https://imgur.com/a/FgBBsgb that's something I shared last week

eulerscheZahl: the idea is to have same difference of value in each direction

eulerscheZahl: you have a list of set bits. and you shift all by 7 to cast the shadow up-right

BrunoFelthes: nice

ddreams: I use this: https://www.redblobgames.com/grids/hexagons/#map-storage

eulerscheZahl: but for longer shadows you have to unset the bits that are out of the map

eulerscheZahl: struct found a way to avoid the unset

struct: you can share the pic euler

struct: if you want

eulerscheZahl: if i find it again

struct: https://imgur.com/a/RC6GgTJ

kovi: 37 pos < 64-3*8 so it is possible

eulerscheZahl: https://imgur.com/a/RC6GgTJ

PatrickMcGinnisII: i gave up with shadow maps

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

ZarthaxX: https://media.discordapp.net/attachments/634216430883045402/840214042987331594/unknown.png?width=564&height=701

PatrickMcGinnisII: i added a 37th cell

ZarthaxX: :P

PatrickMcGinnisII: and just compute only those i'm interested in

PatrickMcGinnisII: $shbydir=[[[1,7,19],[2,9,22],[3,11,25],[4,13,28],[5,15,31],[6,17,34]], http://chat.codingame.com/pastebin/284e7f45-3a3d-44f7-b7ad-b10eeed560f8

eulerscheZahl: you added a 37th? there are 37 already

PatrickMcGinnisII: [index][day][size]

ClockSort: struct did you get mcts going?

struct: I dont know duct mcts

PatrickMcGinnisII: ok 0-37, 38 of them

struct: so no

eulerscheZahl: 0-36, you added 37. which is the 38th cell

PatrickMcGinnisII: adding a simple day=(day+1)%6 makes it easy to estimate 'future' shadows for grow evals that are equal

PatrickMcGinnisII: i'm gonna resub for the final time

ddreams: huh.. I missed one separator bit

PatrickMcGinnisII: my depth 2 failed

ddreams: http://chat.codingame.com/pastebin/db7d18a7-0b45-4b9f-a8a7-ef44204f23b7

ddreams: that's why I have to filter

ddreams: though that single bit and is not what broke my bot :p

PatrickMcGinnisII: game isn't really memory intensive, just execution ... I use a couple shifts, but it's not worth the coding/encoding imho

PatrickMcGinnisII: php uses 4 bytes for an int...so 38*4=154 bytes...could store thousands of boards if i could get the darn tree to work

PatrickMcGinnisII: i can't multiply either

Wontonimo: it's not about saving space in RAM, it's about saving space on L1 and L2 cache

eulerscheZahl: you need 8 bytes for proper bitboarding

ddreams: and doing parallel operations

PatrickMcGinnisII: i gave it a go, but i still had to clear bits so it wasn't saving me time

Default avatar.png _Code_breakeR_: hi

Wontonimo: i tried packing instead of boarding... if you like your code to run 3x slower than the competition, I'd recommend it.

ddreams: I'll do another long shot submit... not really better locally, but let's see

struct: Sometimes is not worth to save bytes

ddreams: 3/10 .. almost certainly worse

PatrickMcGinnisII: i was 735th b4 this last submit, so i'll see how it goes and throw in the towel

PatrickMcGinnisII: the first 5 moves are pretty standardized

ddreams: ok, this is clearly worse

PatrickMcGinnisII: the first 11 moves are VERY patterned

PatrickMcGinnisII: my endgame sux

PatrickMcGinnisII: gl ddreams

ClockSort: do you guys use priority_queue<state> for your beam search?

struct: array

ClockSort: how do you run the beam? sort(arr.begin()+depth, arr.begin()+depthEnd) ?

struct: nth_element

ddreams: nth_element

ClockSort: :eyes:

ClockSort: thanks

pmor: nth_element is way better than sort in this situation

ClockSort: yeah, because you don't need to sort what you throw away

ddreams: and you don't need to sort what you don't either

pmor: you don't need to sort what you keep either

Counterbalance: :sweat_smile:

pmor: heh

ddreams: it's basically a partition

ClockSort: does c# have a function like this?

ClockSort: right on.

JohnCM: haha

ClockSort: you overload operator< on the state class to make nth_element work?

Wontonimo: gn all, and good luck

ClockSort: or just pass cmp

pmor: lamdba funciton

pmor: lambda function even :P

JohnCM: so exciting, ppl are resubmitting so much the ranks are fluctuating violently

ClockSort: nth_element is amazing, i'd never used it

ClockSort: thanks

Counterbalance: wow.. lost first 10 games in legend.. maybe top gold was better :D

ddreams: chat is distracting but also teaching

Zenoscave: how long are submits rn? Worth it or should I call it

Counterbalance: 37 minutes

PatrickMcGinnisII: 10 minutes=39%

Bernard_Lowe: Does anyone else feel that not pushing your code for awhile results in your rank doing better? Maybe it's just psychological for me.

ClockSort: @Bernard_Lowe it's true

Bernard_Lowe: After a submission from say a few hours earlier.

Zaphus: you are more likely to get a random game with someone resubmitting than with the ones around you - so makes sense

ddreams: yeah, I can't reach anywhere near my old ranking with the same code

PatrickMcGinnisII: It's usually harder the later in the contest to make any real substantial moves, but this game has tight scoring.

ddreams: and I'm pretty sure it's not because a lot of people have gone past it

struct: holy only 3:30 hours remaining

struct: and i didnt do anything

struct: I should just go to sleep

Bernard_Lowe: I definitely agree to that @PatrickMcGinnisll. I submitted new code recently and the ranks were much more difficult than 24 hours ago.

PatrickMcGinnisII: those that push when leagues open fair better in the long run imho

ClockSort: recurse lead is even more redic now

ClockSort: more than 5 trueskill pts

struct: 93% win rate

struct: decent

ddreams: back to my 13 hour old code, my last submit

ddreams: lol, decent

Bernard_Lowe: I heard recurse didn't submit any code until weekend. Why would he do that?

pmor: did he ever say what kind of bot it is?

ClockSort: because he is amazing

ddreams: so people would not be able to practice against him so easily

struct: batching has been nerfed

ClockSort: i think it's NN ?

struct: dont think its that

ddreams: well, NN with a search

ddreams: no idea really

pmor: in the fall challenge he had an alt account he used in the beginning

MichaelPu: probably some kind of NN, because he always wins just by a little bit

ddreams: the mcts algos can also do that

PatrickMcGinnisII: I watched a little, recurse didn't order the moves...like grow then seed...some went seed then grow... so probably some kinda mcts

Bernard_Lowe: @pmor is that fair to have an alt account? I guess he's a prominent player.

struct: why isnt it fair?

pmor: no idea. I just remember he had an acct that submitted a rust bot before he submitted a c++ bot a few days later

ddreams: because other top players are not in hiding?

Bernard_Lowe: If he copy/pasted code for 5 bots to all get top 5, that would be wrong. But I understand not wanting the attention.

Numby: when you don't submit you also can't test your code vs the top players so there's a tradeoff

Bernard_Lowe: I wasn't aware all top players are hiding on alts lol.

ddreams: but anyway, probably better for the game to have alts with visible fights instead of completely hiding until the weekend

struct: Also there is no proof that he hided

struct: There is a different from hiding and hiding while batching

struct: difference*

Numby: what's batching?

PatrickMcGinnisII: my last version failed, i hate deleting code

struct: testing vs other players

ddreams: he said he only tested using the IDE this time

ClockSort: @PatrickMcGinnisII I went backwards by hours of development time because i was making things worse. don't feel bad :)

PatrickMcGinnisII: oh i wasted days looking for combos

ddreams: I feel sleepy.. going to bed

ClockSort: struct what kind of bot do you think recurse used?

ddreams: gn fun playing with "youse"

ClockSort: cya ddreams

struct: i dont know

pmor: I look forward to his postmortem

PatrickMcGinnisII: but i'm remodelling a house of mine, so I've been pretty tired and zero 10 hour banging out code sessions...I even left CG open and fell asleep once...smh

Smelty: ye postmortem gonna be cool

Bernard_Lowe: @pmor where can you read his postmortem, or any of this tournament? Will it be on forums?

Smelty: lol i probably won't write a post-mortem, im at the bottom of gold

pmor: Yeah, it'll be in the feedback and strategies thread

pmor: Here's his from last contest https://www.codingame.com/forum/t/fall-challenge-2020-feedbacks-strategies/187846/81

Smelty: :0

PatrickMcGinnisII: give it a couple days, the OG gamers will give a little...but remember there is a game after the contest

Smelty: yes

Smelty: ill surf to gold in the game

PatrickMcGinnisII: i bet the bosses will be harder tho, huh struct

struct: what do you mean?

Smelty: hmm

Bernard_Lowe: Also, dumb question, but, what will this challenge be called?

PatrickMcGinnisII: silver boss won't get harder for after contest game?

Bernard_Lowe: The Plant Growing Groot Game :) ?

Zenoscave: probably spring challenge 2021

struct: nope

Zenoscave: they stopped doing names I think

PatrickMcGinnisII: I liked the games ebing named after movies

eulerscheZahl: soon we will know if the next contest will be an escape one

Zenoscave: escape contest?

Zenoscave: like first to finish wins?

eulerscheZahl: https://www.codingame.com/forum/t/solo-contests/1114/3

struct: I hate this :'(

Westicles: As the head of team NA, with my first pick I choose reCurse

PatrickMcGinnisII: there used to be old MOO games...is that what escape is?

eulerscheZahl: shouldn't me be the team head?

eulerscheZahl: he*

eulerscheZahl: bad typo

Westicles: maybe next time

Zenoscave: Also if it's only going to be a weekend do we still have to wait 6 months

eulerscheZahl: escape: you see a room and can click around to solve riddles

eulerscheZahl: follow clues, guess passwords to reach the next stage

Zenoscave: What coding is involved

eulerscheZahl: a little bit

eulerscheZahl: struct knows better

eulerscheZahl: you should have 1 coder in the team

struct: tr 'ACGT','TGCA'

struct: hard puzzle

eulerscheZahl: are you clashing?

struct: well its similar

struct: to a clash

struct: there is a clash like that

JohnCM: the escape rooms are pretty fun, i completed them all alr

struct: or there was

JohnCM: at least those that were released

eulerscheZahl: oh, that example is from the escape?

struct: yes

Zenoscave: Let me get this striaght. A competition. On a platform designed to be about coding competitions. is going to do a competition needing minimal coding

eulerscheZahl: not confirmed yet

Zenoscave: If they do I'm done

eulerscheZahl: just me being scared of the worst

struct: the coding difficulty has been on par with easy clashes

eulerscheZahl: and ClockSort even liked that forum post

eulerscheZahl: shame on you

ClockSort: ha

Zenoscave: shame ClockSort

Zenoscave: shameeeee

aangairbender: yeah that escape rooms are not about coding

PatrickMcGinnisII: beforre the internet, there were MOO servers that would drop you in a kind of maze... you had to run a dictionary and solve seemingly random things ... that only a computer crunching the english language could solve...it was hard...ran a few on university server in pascal. clues were sparse.

JohnCM: escape room coding level is easy

eulerscheZahl: maybe i'm completely mistaken. I hope so

JohnCM: you just need to do some for loop, and it's done already

ClockSort: i have some escaper-friends so we would love a team escape contest :)

aangairbender: I enjoy solving past multiplayers as 'solo' contests

eulerscheZahl: if they still do the coding contests and the other thing on top, i don't care

JohnCM: but i think bot coding is like fundamentally different from escape room

JohnCM: don't think it will clash

ClockSort: bot coding is different from a lot of things

ClockSort: i do competitive programming on codeforces.com and it's totally different from that

eulerscheZahl: like tech.io. the concept isn't even bad. but they failed to move their CG community over to the other platform. points of interest are too different

eulerscheZahl: i suck on codeforces

ZarthaxX: same

struct: I opened a puzzle and then deleted

ZarthaxX: :rofl:

eulerscheZahl: candidate master eulerscheZahl

ZarthaxX: your obsession with deleting is impressive

eulerscheZahl: a purple peasant

ZarthaxX: thats good eulerscheZahl

ZarthaxX: are you kidding lol

struct: 3 hours until delete :'(

PatrickMcGinnisII: did THE Toad do HashCode this year?

eulerscheZahl: yes, but my good rank is all thanks to Neumann in my team

struct: that is what top %?

eulerscheZahl: team DEIN, rank 78 i think

PatrickMcGinnisII: NICE

eulerscheZahl: again, not my achievement

ZarthaxX: nice one toad

PatrickMcGinnisII: does CG re-run everyone or just legend?

eulerscheZahl: top100

ZarthaxX: top 100 legend

ZarthaxX: aaaaaaaaah

ZarthaxX: but they start from actual position

eulerscheZahl: min(100, legendSize) to be precise

eulerscheZahl: but legend is huge, so...

ZarthaxX: isnt it a bit like boring tho

ZarthaxX: as everyone starts from actual rank

eulerscheZahl: I think i'm done writing my ante mortem

ZarthaxX: you already know the results

eulerscheZahl: i gave up

ZarthaxX: :rofl:

PatrickMcGinnisII: Maybe i'll get my DFS to work on the game after the contest

ZarthaxX: why not BEFORE patrick

struct: wow massive improvements

struct: i finally found it

Westicles: What are the odds a new #1 shows up? 1/12?

eulerscheZahl: less

ZarthaxX: 0

ClockSort: @struct what did you find?

ZarthaxX: struct?????????

ZarthaxX: PM ME THAT NOW

struct: 52% vs 48% massive

PatrickMcGinnisII: My brain is shot, too much physical labor lately.

ZarthaxX: ...

struct: MassiVE


ZarthaxX: this guy :P

eulerscheZahl: but only submits at 65%

struct: renting aws machine was waste of money

struct: lol

ClockSort: :question_mark:

cegprakash: eulerscheZahl if u have many CG T shirts feel free to give my address this time :P

eulerscheZahl: but having it isn't the same as winning it

eulerscheZahl: it won't make you happy

JohnCM: we should have a newbie shirt, for best 10 newbies who don't already have a cg shirt

struct: ok im not gonna give up yet

ZarthaxX: still owe you one, need to hit that top 20 some day

JohnCM: XD

ClockSort: what are you talking about

struct: We should have a shirt for testers

struct: /s

ZarthaxX: LOL

ZarthaxX: struct shouldnt you be sleeping rn?

struct: its only 6 am

ZarthaxX: only

ZarthaxX: :D

ZarthaxX: gonna stay until 9?

LLG: seems like I'm not hitting legend this contest as well

PatrickMcGinnisII: if I ever run into you guys at a comicon or some crap and i see a CG t-shirt...Imma rob you

LLG: capped out at 40 gold, anything I do make it worse

ZarthaxX: LLG try winning

ZarthaxX: :)

LLG: still an improvement from 400ish gold last contest

LLG: I'm trying ZarthaxX

LLG: my bot doesn't want to cooperate

PatrickMcGinnisII: who taught ZarthaxX??? he went from zero to hero in like a year

PatrickMcGinnisII: hehehehe

PatrickMcGinnisII: sry

ClockSort: legend is tough, don't feel bad @LLG

ClockSort: the gold boss is obnoxious to get past, too

ZarthaxX: LLG same, hate my bot

JohnCM: that gold boss...

ZarthaxX: try resubmitting tho :)

ClockSort: haha

JohnCM: i dunno what i need to do to win it

ClockSort: i

ZarthaxX: PatrickMcGinnisII what haha, a year? more like couple years :D

LLG: I had a bot that wins against the gold boss 7/10 times

LLG: but it somehow never made it near the boss

ClockSort: i'm #19 legend, a chance for a prize :sweat_smile:

JohnCM: overfitting then

LLG: probably a rock-paper-scissors thing

ClockSort: @LLG that was happening to me too! play against the #2 guy behind the boss and he seems stronger

eulerscheZahl: i don't want to discourage you ClockSort. but some are in submit, you'll always drop a bit. will be a close call

ZarthaxX: i was gonna say that toad

JohnCM: actually a lot of ppl are very strong in the top 100 gold league, they just haven't passed the gold boss yet

ZarthaxX: :D

struct: no way that ill resubmit unless 65

JohnCM: euler, how was code jam this year?

struct: against all my other versions

eulerscheZahl: :sob:

eulerscheZahl: 1194th, needed 1000

LLG: yeah I realized that too JohnCM

LLG: every fight in top 100 gold right now feels like a map RNG for me

eulerscheZahl: and short after the contest i got the idea how to solve a problem

LLG: I could technically win against any bot in top 100 if I get a map my bot is good on

JohnCM: man, better luck next year then euler. i'm probably joining next year too

JohnCM: now that i know how to code in c++

eulerscheZahl: codejam works with pretty much any language

ZarthaxX: you need to learn how to do it fast tho

ZarthaxX: true

LLG: I told myself after last contest I'd do c++ for this one

LLG: I ended up doing c# anyway

eulerscheZahl: for CG C++ is more important

ZarthaxX: :rofl:

eulerscheZahl: I did the last in C++ and switched back to C# for this one

struct: I use c++ as a wraper to not get bullied

eulerscheZahl: only to deny Zenoscave's language achievement

struct: I use D

LLG: you're good with your D huh

eulerscheZahl: https://discord.com/channels/466965651135922206/832610056604221481/839559980663308309

PatrickMcGinnisII: there's no CG players near me that i can tell

struct: 1 legend and 1 in gold from portugal

struct: :(

ZarthaxX: gn guys see you after contest ends

eulerscheZahl: we are all near you in chat

ClockSort: @eulerscheZahl yeah i expect ~25th by the end of it all. Anything 30th or higher i'll be happy.

ZarthaxX: :*

struct: gn ZarthaxX

ClockSort: see ya @ZarthaxX

struct: Maybe I should do pt stream

ZarthaxX: gl getting that top 20 ClockSort! will check tomorrow :)

eulerscheZahl: it's today for you already

eulerscheZahl: 2am, isn't it?

PatrickMcGinnisII: you know, if a couple of us actually sat down and had some BBQ in RL, we'd prolly be Billionaires

ZarthaxX: yes, exactly lol

ZarthaxX: well, in a couple hours..

ZarthaxX: toad always gets me

ZarthaxX: bb

eulerscheZahl: good night

struct: gn

Bernard_Lowe: @Clocksort GL winning the fabled T-shirts lol.

PatrickMcGinnisII: crap 1am... I gotta throw 10 gallons of paint tomorrow

eulerscheZahl: oh, the whale promoted

eulerscheZahl: did you change profession PatrickMcGinnisII?

PatrickMcGinnisII: nah, remodelling a rental house...so i can sell it...market is ripe for selling my rentals

Westicles: exciting race on for tops in objC

pmor: central florida housing market is insane right now.

PatrickMcGinnisII: i do like 3 different things for income...laser products, landlord, web, -- mainly.

PatrickMcGinnisII: oh where u at pmor?

pmor: winter garden

Nero39: lca

PatrickMcGinnisII: i know orlando a little bit

eulerscheZahl: PatrickMcGinnisII selling the house to pmor?

pmor: ha!

PatrickMcGinnisII: i got offers already and its not on the market yet

PatrickMcGinnisII: crazy stuff

pmor: house next to mine was on the market for 3 days

PatrickMcGinnisII: I have had this house for like 6 years, put in like 65k...gonna sell it for 165k...crazy profit

pmor: that's cheap compared to here.

PatrickMcGinnisII: I started seeding the lawn, people kept stopping and bugging me

PatrickMcGinnisII: buyers are hungry

Bernard_Lowe: @pmor can confirm, from Orlando as well. I'll never get a house.

PatrickMcGinnisII: yea, winter garden is more expensive

pmor: Family member just built a house. They had offers over 150k than they payed to resell it

PatrickMcGinnisII: I don't live in a 150k house tho...pfft

PatrickMcGinnisII: i bought a property unseen in colorado...sold it a week later for +10k

PatrickMcGinnisII: people r so wierd

Westicles: He says lasers and houses and people want to talk about houses

PatrickMcGinnisII: i'll talk about anything, idc

PatrickMcGinnisII: i'm excited someone on CG is in FL

cegprakash: interesting seed to test: seed=5610932785868666900


cegprakash: ^ might help ppl in gold

Westicles: Kids don't get excited about lasers and nuclear war like we did back in the day

Bernard_Lowe: I don't need a laser to live, but I do need a house...

Bernard_Lowe: I guess I could go homeless.

PatrickMcGinnisII: https://www.codingame.com/replay/557394033

PatrickMcGinnisII: I tell people..."I cut stuff with light... I'm like a Jedi and stuff" ... and then walk off. ;)

eulerscheZahl: https://www.codingame.com/share-replay/557394615

struct: oh amazon finally updated the charge :D

struct: the cost

struct: 6.27 EUR

eulerscheZahl: and that as someone who plays out of competition

cegprakash: my bot is in a rank that my bot can never reach if I resubmit ;P

cegprakash: anyone else feel the same? :P

ClockSort: @cegprakash same

Bernard_Lowe: Yep. The competition gets harder to climb each time.

dGrayCoder: I wish this competition was a bit longer D:

ClockSort: just hold still for 2 hrs 38 min.

ClockSort: @dGrayCoder 11 days not enough? :O

ClockSort: i'm fried, would prefer 7 days contest

Bernard_Lowe: you and/or delineate need to win a T-shirt. Make us americans feel good :)

dGrayCoder: Next game comes after half a year

PatrickMcGinnisII: as long as someone is kicking Miyaza's butt

Bernard_Lowe: 11 days for a competition is a long time. I felt burnout after 8 days.

eulerscheZahl: dGrayCoder we don't know yet.will be announced right after this contest ends

PatrickMcGinnisII: ClockSort can't do a NN in 7 days me thinks

PatrickMcGinnisII: ok i lost 90 ranks on last submit, throwing in the towel

ClockSort: @Bernard_Lowe my chance of top-20 is about 15% I think

PatrickMcGinnisII: i thought top 3 was the real goal

eulerscheZahl: i liked the shorter contests. in the past they started on Friday and ended on Saturday, leading to a total of 8 days

Bernard_Lowe: Why do you think your chances are so low?

ClockSort: because there are many smart people on earth

eulerscheZahl: and some of them are in submit

struct: so many smart and im not one of them

Bernard_Lowe: lol. Everyone at the top is submitting and adjusting every 10 minutes.

ClockSort: that's it for me. good night all! ggs

PatrickMcGinnisII: I've lost more brain cells than alot of Normies even have to rub together

eulerscheZahl: see you

PatrickMcGinnisII: heh

struct: cya

PatrickMcGinnisII: i g2g too

eulerscheZahl: you'll wake up a few times and check the leaderboard ClockSort

PatrickMcGinnisII: yall be good, and if you can't be good - be good at it

PatrickMcGinnisII: i'll celebrate top 1k tomorrow

1XC: I hate fast mode and I always get it

dGrayCoder: are game rules same for legend, gold and silver?

JohnCM: yes

struct: and bronze

Pick8chu: eulerscheZahl dang you got on 7

Pick8chu: congrats man

Pick8chu: undercoverToad

LLG: clocksort at 21

LLG: 🙏

Anzc: hello

dGrayCoder: can max number of days be different for every match?

pmor: no

cegprakash: for those who are not in gold yet quick tip: sort all possible moves by target index if they are same sort by source index and print the first valid move :)

LLG: quick tip: code a bot

struct: getting frustrated :(

nam4.nguyen: wow I got top 180 in gold league after modifying a bit

nam4.nguyen: that's amazing cause just a little change can improve that much

cegprakash: what did u change nam4.nguyen

nam4.nguyen: Just seed when there's no seed already

nam4.nguyen: and keep s3 = 4 for almost time

cegprakash: I thought 5 is ideal

cegprakash: anyway I think it depends on other parts of the code :P

cegprakash: let me watch a replay with u

cegprakash: I'm in the same range

nam4.nguyen: yeah there's so many params to do with

LLG: I did a singular change and it bumped my bot from 200 gold top 50 gold

LLG: what I did was load an old submit and resubmit it :^

LLG: to 50*

nam4.nguyen: it's true

cegprakash: LLG what did u change :o

nam4.nguyen: my old one got more point than new one

LLG: cegprakash like I said, just load an old submit lol

cegprakash: lol

LLG: basically I load the bot that doesn't look ahead 1 turn to check for optimal seed placement

cegprakash: so u have time traveled

LLG: it just maximize seed placement for the current turn

LLG: and uhhh it also didn't look at sequence of grow moves to evaluate

LLG: just evaluate each move separately

LLG: and it performed better

nam4.nguyen: I didn't even consider about sun direction and shadow

nam4.nguyen: that's why I doubt about my rank

cegprakash: Jon Arryn in Game of Thrones said "The seed is strong" before he died. True indeed.. Seed decides who wins

eulerscheZahl: Pick8chu 07:30AM eulerscheZahl dang you got on 7

thanks but way too early to tell. bots in that range are close

struct: Why do I still stay awake

struct: during final hours..

cegprakash: struct coz u believe in one magic number chaging ranks :P

cegprakash: like me

struct: one number wont do much

struct: I ran fiddler for 300k games

struct: didnt work

cegprakash: fiddler against urself?

LLG: nam4.nguyen I never considered sun and shadow either

struct: yes

cegprakash: against urself don't matter at all

LLG: I just make sure my bot doesn't plant trees that cuck themselves

struct: my current bot was only improved by fighting other versions of itself

struct: ofc it matters

MSmits: morning guys

struct: I dont think I ever tested against a player in the ide

cegprakash: buggy bots can perform better in most maps :P

struct: hi MSmits

struct: no bugs here

cegprakash: no bugs? literally no one ever

MSmits: I promised to share some sim stuff about this game, but gonna wait a bit to see if others will in their PM. Otherwise I don't have too much to add

MSmits: expecting to see plenty of PMs

eulerscheZahl: mine omits bit boards and such, struct can do that better

eulerscheZahl: chat is getting laggy agin

struct: im sure plenty of people did the same type I did

UndercoverToad: this is better

eulerscheZahl: my post mortem is long enough without

UndercoverToad: wrong chat

struct: But I did it first cant deny it

struct: I did it on day 2 or 3 of testing

Butanium: I have 2 hours of english class to finish my MCTS lol

MSmits: btw, in the end I think the legend boss was not too bad. They could have made it slightly stronger, but I had a hard time beating it and legend did not reach 300

Butanium: it's going to be hard

MSmits: gold boss i mean

MSmits: these contests are just getting really big

UndercoverToad: you already speak English, you don't need that class

struct: 1:50

LLG: I speak english as a foreign language, still didn't need english class

struct: its almost over

LLG: internet taught me more than any teacher ever did

Default avatar.png Kret111kret: glomm

dGrayCoder: how are some players able make their npc say words?

struct: seed 10 9 message

dGrayCoder: message function?

LLG: just a string

LLG: basically anything after your actual command gets printed as a message

struct: seed 10 9 anything you want

LLG: COMPLETE 3 Never gonna give you up

ddreams: Illedan gratulerer med dagen :)

ddreams: you haven't given up

struct: if I get <= 50 im happy

struct: its a decent result for 20+ days contest

ddreams: I'm really surprised that none of the changes I tried improved it... need to find a way to visualize the beam search

struct: I tried visualizing it

ddreams: must be buggy somehow

struct: I printed it to text file

struct: but good luck

ddreams: mm.. big data

cegprakash: submits stuck oh god

UndercoverToad: no, leaderboard is still moving

UndercoverToad: just > 300 submitting again

Pick8chu: dang..

Default avatar.png TootiFlooti: they extended deadline??

Pick8chu: sad that i won't be able to get in legend league

Pick8chu: idon't think so they did?

UndercoverToad: no, it ends in 1.5h as planned all the time

Default avatar.png TootiFlooti: idk I remember i checked last night and it was supposed to end at 8PM pacific time.

Default avatar.png TootiFlooti: oh then i just saw the wrong time

Default avatar.png TootiFlooti: Will this software be available for practice after the challenge. I dont think i can get past gold tonight but i would like to continue working on it tomorrow

UndercoverToad: you can keep playing the game

UndercoverToad: will be unavailable for a bit. sometimes it comes back the same day, sometimes you have to wait 1 or 2 days

UndercoverToad: you will also keep your position on the leaderboard and all the submit history

Bax533: What happens if my submit won't finish fighting before deadline? Will it still count if i submit before deadline?

Default avatar.png TootiFlooti: dope!! This is the first time I tried a challenge a friend of my introduced me to it and I have had a lot of fun so I look forward to more challenges in the future

UndercoverToad: all submits will finish. that includes league promotions

UndercoverToad: then top100 will face a rerun to reduce ranking randomness

Pick8chu: Hey UndercoverToad

UndercoverToad: hi

Pick8chu: you got on top 7

Bax533: Great thanks

Pick8chu: nice job man

UndercoverToad: there are still some stronger players in submit

UndercoverToad: i'm happy if i can stay in top10 but it's really close

Pick8chu: aha

Pick8chu: dang..it's just crazy that you made it that far

UndercoverToad: but thanks, i'm satisfied with my result overall

Pick8chu: So you used best first search?

UndercoverToad: beam search

UndercoverToad: i made some writeup already, will post after the end

LLG: looking forward to that

Pick8chu: Oh that'd be awesome

LLG: couldn't get my beam search going so I went with a pure heuristics approach

Pick8chu: I really wanted to learn how you did it haha thanks

UndercoverToad: you will be disappointed by how little i have inside my bot

struct: :/

struct: I also have little I guess

Pick8chu: I'm excited

Default avatar.png TootiFlooti: the top scorers all are using c++ and C#

Default avatar.png TootiFlooti: what are you all using

struct: im using chokudai

UndercoverToad: for this game it's a crucial to get several thousand actions simulated. that makes it hard for python at the top

Pick8chu: I'm using C++ but i'm not even legend

struct: Its beam search but it expands beam width

UndercoverToad: didn't try for this contest. but Neumann says he got pretty much the same result with beam and chokudai

struct: yeah

struct: no gain

UndercoverToad: but no loss either

Pick8chu: is chokudai algorithm too?

Pick8chu: haven't heard of it

Pick8chu: can't find anything on google

UndercoverToad: not that commonly known, named after a user with that name

Pick8chu: Ohh..

UndercoverToad: the idea is to have a fixed search depth. you start expanding in a best-first manner

UndercoverToad: then you go back to the start and expand the 2nd best

UndercoverToad: and keep going to make the search wider while keeping the same depth

UndercoverToad: until you run out of time

Pick8chu: I see

UndercoverToad: no witchcraft involved

Pick8chu: what's the differences with beam? it has unlimited dept?

Pick8chu: *depth

struct: but not width

UndercoverToad: chokudai = fixed depth, dynamic width beam = fixed width, dynamic depth

Pick8chu: Oh...I se

Pick8chu: e

UndercoverToad: and both lack opponent handling, better suited for a single player optimization problem

struct: ok I give up

struct: its time

Pick8chu: lol

Pick8chu: you did great tho

Pick8chu: top 30 aren't you?

struct: no

struct: top 50

struct: for now

Pick8chu: impressive enough

Pick8chu: I'm top 700 or something lo

Pick8chu: gg

dbdr: Illedan spam submitting magic constants? ;)

UndercoverToad: the classic Illedan

UndercoverToad: who hasn't seen him doing this?

ddreams: autosubmitter

UndercoverToad: no, he does that manually

ddreams: parameterfiddler with autosubmit, clearly

UndercoverToad: even managed to play > 1000 games in IDE last contest. by hand

struct: MSmits does that on his sleep for yavalath

UndercoverToad: cat woke me up at night and wanted something. My first thought was like "i'll let the search finish first, maybe she's still sleeping at higher depth"

dbdr: noobs, seeing it for the first time :)

UndercoverToad: i wish I was kidding

struct: lol

ddreams: the tetris effect

solistice: hmm, should I try to go for legend? :D

solistice: 1hr to go

solistice: :')

UndercoverToad: "legend or delete" is a popular game here

dbdr: you need to give your account password to Blaise, he does the deleting

struct: I feel like I missed something obvious on eval

UndercoverToad: do you have suns? :P

dbdr: not sure anything is obvious in eval :)

dbdr: I considered counting suns negatively ;)

struct: o.o

UndercoverToad: because you didn't spend them?

dbdr: yeah

UndercoverToad: i have a factor > 1/3 for suns

Pick8chu: lmao legend or delete

UndercoverToad: this is struct's 3rd account

Pick8chu: LMAO

Default avatar.png NotSureWhyThisWorks: thoughts on the game?

UndercoverToad: https://www.codingame.com/multiplayer/bot-programming/yavalath Yavalath - by an anonymous CodinGamer

UndercoverToad: that's from struct

struct: actually i dont have suns on eval

struct: o.o

ThunderbirdOne: Toady!

UndercoverToad: i hated the game on the first weekend already

UndercoverToad: wow ThunderbirdOne, haven't seen you for at least a decade

ThunderbirdOne: haha, sure feels like it

UndercoverToad: or so it feels

UndercoverToad: :D

ThunderbirdOne: saw someone stream the comp last night

ThunderbirdOne: and i was like 'oooooh shit'

Default avatar.png NotSureWhyThisWorks: It seems like success is just found by making random changes to the eval or heuristics

ThunderbirdOne: so i spent 2 hours getting to bronze :')

Default avatar.png NotSureWhyThisWorks: imo

UndercoverToad: you are in the upper 90% then, congrats

ThunderbirdOne: it's something

ThunderbirdOne: haven't implemented a seed method

ThunderbirdOne: but eh, then i'd have to implement some distance thing with hex

ThunderbirdOne: no thanks

ThunderbirdOne: not in the final hour

UndercoverToad: took me a bit of time as well to set it up properly

UndercoverToad: so the early lead went to dbdr this contest

ThunderbirdOne: also have a digital conference today and tomorow

struct: good thing it fitted on an uint64_t

UndercoverToad: i used a signed one

dbdr: at least I had those days of lead. two episodes :)

UndercoverToad: wasn't sure how x & -x would work with unsigned

Marchete: signed? madness

UndercoverToad: and casting to ulong for popcount

UndercoverToad: no Marchete facepalms

UndercoverToad: now*

Marchete: x ^ y is faster than x & ~y ? I use the former

UndercoverToad: no idea. I also use the xor

UndercoverToad: note that I wrote x & -x

UndercoverToad: minus, not tilde

UndercoverToad: and x, not y

UndercoverToad: to get the last set bit

UndercoverToad: as a bitmask

Marchete: 1UL << 63?

dbdr: UndercoverToad, do you have the link at hand for that SDK change to increase the timeout?

Marchete: anyways signed and bit operations can be deadly

UndercoverToad: probably here dbdr https://github.com/counterbalance

Marchete: reCurs_e said what he was using?

UndercoverToad: no

Marchete: I'd bet for either NN with only value output

Marchete: or any kind of UCT forest

dbdr: I see referees there. I mean remove the 30s constraint

UndercoverToad: i know. counterbalance did that

UndercoverToad: i can link you my contribution where i also removed the 30s

struct: I think he means your demo euler

UndercoverToad: https://www.codingame.com/contribute/view/614074c4f45bc5120d6d04e98ee334347d54

UndercoverToad: https://github.com/Counterbalance/FallChallenge2020/blob/cli/engine-timeout.patch

UndercoverToad: we did it in a different manner

dbdr: thanks!

dbdr: I suppose you do it without modifzing the engine, if it's uploaded on CG?

jrke: i think reCurse's lead will increase a lot in final re run

solistice: when can we expect reCurse's PM?

Marchete: I hope so!

UndercoverToad: i replaced parts of the engine by my own and modified the maven import

Marchete: he plays so differently

UndercoverToad: my time limit is set to 60s but can be completely removed of course

struct: well its over for me

struct: im going to rest now

struct: cya later

UndercoverToad: bye

derjack: so we can exploit cg server even more? :imp:

UndercoverToad: i shared my thoughts on discord and julien read about it :(

dbdr: src/main/java/com/codingame/gameengine/core/GameManager.java: private static final int GAME_DURATION_HARD_QUOTA = 60_000; got it :)

UndercoverToad: make it larger. make it a long

dbdr: :D

dbdr: and set to the heat death time of the universe, just to be sure

cegprakash: I finally have a bot which can beat gold boss 50% of the times

cegprakash: but I need to get to him :P

Ajaiy2: I guess I am finally ending in Silver, but this is the first time I cam this far

Ajaiy2: *came

cegprakash: Ajaiy2 do u sort by treeIndex and seedIndex?

Ajaiy2: Sort for what?

Soumyadarshan: i want the solution of clash of codes

cegprakash: sort all valid moves by seedIndex.. if equal tree index and process them 1 by 1 and choose the first best move

cegprakash: Ajay that gets to gold

Soumyadarshan: its very confucing code with integers

Ajaiy2: What's the question?

Default avatar.png lionandmouse: First time for me in Silver as well. Simple Action scoring function developed with genetic evolution. Didn't expect it to work so well.

Westicles: I am impressed with cegs gibberish suggestions

Soumyadarshan: The game mode is REVERSE: You do not have access to the statement. You have to guess what to do by observing the following set of tests: http://chat.codingame.com/pastebin/ba2ddd97-afc9-43cc-a885-06cf078c9057

EnderWiggins: https://www.codingame.com/contribute/view/67310a4d13f79f87c325dacc14d80da08177

dbdr: http://chat.codingame.com/pastebin/f40cdc4a-5a09-4320-800d-8db5265ad06f

dbdr: and I won't send it

Marchete: 55% is too little diff, can be noise, no?

UndercoverToad: i still don't know how to read this grid. I stick to the numbers in the line above

UndercoverToad: how many games?

dbdr: 200 games

Marchete: I hade some bash for calculating it

Marchete: had*

UndercoverToad: that's too few

dbdr: 55/43.5, there are some draws

Marchete: p1W/(p1W+p2W)

dbdr: I don't think it's noise, but it could be overfit

Marchete: last minute submits are risky

dbdr: indeed, that's why

delineate: 200 games is nothing in my opinion. so many times I've had a good start after 500 games but since it been worse or breakeven after more

Marchete: statistically speaking you are right

dbdr: yeah, that's 55.8% marchete

dbdr: delineate you do swap positions?

dbdr: sorry, it means 400 considering swaps. 200 pairs of matches

delineate: yes, I do play both sides, that helps a lot

delineate: ah okay

dbdr: 200 is the param to brutal :)

delineate: that's not bad then, especially with that %

Marchete: all sample size calculators set 385 as a good sample for infinite population 5% margin error

dbdr: and yes, more is better, it just takes time. esp with 100ms timeout

UndercoverToad: does the swap still work? i thought -s is server mode (viewable replay) now?

Marchete: p1 is always at left side or it's random?

dbdr: that's the referee argument -s

UndercoverToad: so you have a fixed list of seeds instead?

UndercoverToad: oh, wait

UndercoverToad: got it

UndercoverToad: referee -s and brutaltester -s

dbdr: no, same random seed twice

dbdr: yeah

Marchete: referee have that prepared?

Marchete: I remember tweaking something about -s long time ago

dbdr: no, brutal calls referee twice

UndercoverToad: it was me who added -s to the brutaltester and made a PR, yet I got confused :D

dbdr: lol

tobk: 30 minutes left. Time for a last panic submit! :-)

Marchete: yeah I remember some PR about that

aCat: woriking on it tobk

dbdr: Illedan at 0% as usual :D

UndercoverToad: when you are at the bottom, you have nothing to lose on a last minute submit

struct: :praying:

struct: oMG

UndercoverToad: :praying_hands:

UndercoverToad: no?

dbdr: what struct?

struct: https://i.imgur.com/uyhJvFK.png

Marchete: :praying_,mantis:

Pick8chu: :pray:

Marchete: also no?

dbdr: :pray:

struct: why did i terminate the machine

struct: WHY

UndercoverToad: you need more games

struct: YES but i closed the aws machine

struct: fck me

Marchete: aws machine?

Marchete: you guys are pros :D

struct: yes i rented

UndercoverToad: now you don't even know the params you tested?

struct: for 12 hours

Marchete: I rented some for NS too :D

dbdr: wow

UndercoverToad: is it still in the s3 bucket? or just in the EC2 which is gone now?

jrke: i just noticed that battles in gold are faster than legend

UndercoverToad: a very cheap rental :rofl:

dbdr: nice stats struct! you lost the code? :O

Marchete: use spot machines

Marchete: much cheaper

struct: it probably was luck

struct: not enough games :(

Marchete: also in Azure, batch jobs were really cool

struct: what is spot machines Marchete?

UndercoverToad: Neumann coming

dbdr: haha, nice timing Neumann

Marchete: https://aws.amazon.com/es/ec2/spot

Neumann: -_-

UndercoverToad: no ablo espanol

Marchete: sorry

UndercoverToad: is that the server auction thing?

Marchete: they are VM without any guarantees

Marchete: they can shut them down at any time

Marchete: but you save up to 90%

Marchete: Gcloud as them too

UndercoverToad: or give it to someone who offers a higher prize

dbdr: https://i.snipboard.io/FEM1hB.jpg

Marchete: Preemptible VM instances

dbdr: keep this bot Neumann

UndercoverToad: evil Neumann

jfaixo: you may have EBS snapshots, even if you terminated the EC2, check it ;)

UndercoverToad: oh no, looks like i won't win Germany :(

Marchete: poor Illeda_n , he won't sleep anymore

cegprakash: bot with better win rate not climbing rank

cegprakash: so I guess settle with older bot

jrke: bye i am not gonna make anymore submits :(

dbdr: bye jrke

jrke: and grats reCurse on winning contest

Marchete: we must wait the legend recalc (/s this time)

azriel1rf: Might it demote (such as legend -> gold) at the system test (judge after contest)?

Marchete: ?? only top100 legend recalcs

azriel1rf: ah, ok

Marchete: and they usually don't disqualify

azriel1rf: thanks

CouscousAgha: what's the gold boss rank?

peerdb: 1

CouscousAgha: i mean the score

Pick8chu: https://www.codingame.com/share-replay/557451312

kovi: argh, lost to illedan at the worst moment

Pick8chu: stage 24 why does the red get 7 sunpoints?

Marchete: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849

Pick8chu: isn't it should be 6?

Marchete: I need PM to read!

struct: 2*3+1?

UndercoverToad: already there with contest still going?

UndercoverToad: that's weird

UndercoverToad: i'll wait with posting

Pick8chu: what's PM?

Pick8chu: what's PM?

UndercoverToad: no details about fall challenge yet

cegprakash: no Pick8chu

cegprakash: 3*2 + 1

UndercoverToad: PM = post mortem

UndercoverToad: strategy writeup

Westicles: is that generic artwork?

Pick8chu: I see

CouscousAgha: can anyone tell me the score of gold boss?

Pick8chu: Oh I was looking at blue, thanks guys :)

UndercoverToad: yes, always the same cover art

struct: ok i go to sleep now

struct: ill read pms when I wake up

struct: I hope I get 50th

mybk: 46.55

mybk: MiyazaBoss score

Marchete: don't you sleep that night?

struct: i didnt sleep no

Marchete: some of you submitted really early, or late

struct: i didnt sleep and didnt submit ...

Marchete: ....

struct: no improvements at all

Marchete: then?

Marchete: ahh

Marchete: ok I get it

Marchete: nah, I just failed miserably with eval

Marchete: and dropped it

Marchete: I think I have the right idea

Marchete: but somehow it doesn't normalize or whatever

UndercoverToad: and of course Magus will be the first with his post mortem again

Magus: My PM are most of the time simplier than others :p

UndercoverToad: mine is ready. but i wait till 10am

UndercoverToad: no spoilers

Marchete: lol

Marchete: in 10min to recode test and submit

aCat: yeou should write code not postmortem euler ;p

Noyotens: is 7:28 in mine

Marchete: german people is german

UndercoverToad: i give a short code snippet on beam as that was asked several times on chat

Magus: UndercoverToad: I'm writing it directly on the forum. It will not be finished before 10am, don't worry.

Marchete: I pruned a lot, and I think it makes sense

Marchete: like not complete moves before X turn

UndercoverToad: not if i can successfully distract you

Marchete: if before X turn all seed are priorized to a tree3

Marchete: and only 1 tree3

Marchete: etc

Default avatar.png BoBot: lol, managed to write in a new language (Scala) without NPEs or needing nullable values till the...last 20 minutes of the contest...

DaNinja: 5 mins, enough to work on a legend bot!

cegprakash: going with a risky last minute submission

cegprakash: lets see :P

Marchete: 5 min

cegprakash: 1 loss in first 11 games

VizGhar: wow didnt look for about 2 days and i dropped like 300 places :D

UndercoverToad: you wasted your weekend

cegprakash: VizGhar u can still improve in multi

DaNinja: 175 computing in gold

cegprakash: multi's open pretty quick

Marchete: wow, that's a big strecth

Marchete: weekend with family, sun and going out it's ok too

UndercoverToad: i'm trolling

Marchete: me too

UndercoverToad: :rofl:

cegprakash: 225 legends is just too many legends :P

JohnCM: haha i just resubmitted

Whatar: gg

Marchete: yeah, too big legend this time

cegprakash: last 2 mins!!

Default avatar.png BoBot: oh well, my last hour shadow code had some bug somewhere, the last submit shouldnt matter..

cegprakash: last min submitters go fast :D last 2 mins

peerdb: yep im hitting test in arena

Tiramon: stoped completing 0 score trees this morning improved my rank by 400 ;)

Marchete: save any code before they close the IDE

JohnCM: i just hit test in arena without even checking my code lol

JohnCM: ran out of attempts

UndercoverToad: try not to complete size 1 next

UndercoverToad: oh, score 0, my bad

UndercoverToad: still, score 1 is bad too

UndercoverToad: 4 suns = 1.33 points

JohnCM: gg

UndercoverToad: 10s

Dr-D: That IS a useful check I never though about =D

Tiramon: yes only completing score > 1

Marchete: ok 10:00 german time right now

Marchete: lol euler :rofl:

Marchete: come on

UndercoverToad: posted PM before magus for the first time :trophy:

aCat: the closed my IDE :(

Marchete: 0.01ms after it's 10:00am

aCat: got error :crying_cat_face:

Magus: UndercoverToad: you are euler :D

VizGhar: It's done, it's over

Astrobytes: well done all

JohnCM: wow recurse's lead is amazing

UndercoverToad: yes magus, chat got laggy under my main account

VectorXz: I'm on battle progress, will it continue to calculating final score?

UndercoverToad: yes

UndercoverToad: even promotions will finish

Dr-D: Thanks for the nice challenge!

VectorXz: Glad to hear that

Anhrc: can we still see the battle progress ?

UndercoverToad: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global for those who lost the link

Zandy156: thanks

VectorXz: it gave me 504 Error on that link, anyone?

CarbonBlack: same

CarbonBlack: clash crashed ig

UndercoverToad: 473 computing, will take a while

JohnCM: thanks for the fun times everyone! see you all next challenge

TobiasA: wait it's over?

Marchete: your scoring seems pretty simple euler

TobiasA: bruh

TobiasA: who won

Whiskee: I was thinking, the last contest had 50m turns instead of 100 (and FAR fewer turns iirc)

UndercoverToad: it is. disappointingly simple complicated didn't work for me

TobiasA: where is my prize

Whiskee: no surprise it's grinding to a halt with everyone submitting at the last second

Zandy156: same toad

Marchete: don't you have cost related scoring, euler?

UndercoverToad: i have suns

CouscousAgha: is it gonna take a long time?

UndercoverToad: maybe 1h to finish pending submits

UndercoverToad: then 3-4h for the final recalc

Marchete: sun as suncount or sungained?

UndercoverToad: current suns

Noyotens: #reCurse working in Ubisoft

Noyotens: ??!

Tiramon: why not?

VizGhar: he can work anywhere he wants with such a bot

UndercoverToad: someone has to work for unisoft. or they run out of business quickly

cegprakash: I got 34 points in gold.. does that mean I'm rank 4 if I were in legend :P

Marchete: hmm Magu_s is sequential MCTS, why not simulating at even depth?

B4tiste: Is the site laggy for y'all too ?

Whatar: yes my friend

dGrayCoder: When is the fall?

Dr-D: At least for me: yes

Noyotens: yes network status 504

UndercoverToad: far-fetched ceg :D

UndercoverToad: that's normal in the minutes after the contest ended

Tiramon: no cegprakash

Marchete: damn, your evaluations seem so simple :unamused:

Whiskee: yes, massive calculations in progress for end of the spring challenge (in case you were doing something else) :)

UndercoverToad: i had a more complicated one. then i deleted it as it wasn't working

UndercoverToad: and the stupid opponent prediction did surprisingly well compared to what I had before

Zandy156: I usually don't finish huge changes to my bot at the end. I don't know if I like this feeling of not knowing if its good enough or not.

Magus: Marchete: I never tried to force only even (odd in my case) depths. So I can't say if it would be better :D

Default avatar.png rohrokz: https://www.codingame.com/clashofcode/clash/1756337521c8ecd38b88b3f4f0e77711c411d71

Magus: When I am at an even depth (so I have a selected action but not my opponent), I just use the rollout to select his action.

UndercoverToad: oh, old CodinGame is back already

Noyotens: CODINGAME FALL CHALLENGE 2021 \

UndercoverToad: clashes

Marchete: ok, but I always thought that sequential MCTS can be tweaked to only sim when both players have their moves in the gamestate

aCat: :P

Default avatar.png maddenvvs: I want to thank CodinGame community and chat especially! You guys are very inspirational and I learned a lot from you! Thanks for the competition!

RoboStac: but if it's doing full rollouts that doesn't really make any difference

Noyotens: CODINGAME FALL CHALLENGE 2021 Guys see u later

dbdr: eulerscheZahl, how do you enforce the move constraints (Complete first, etc)? I look at the previous action of the day for that

RoboStac: I guess it depends exactly what the sequential mcts does about conflicting moves (seeding same spot / taking same nutrient bonus)

Marchete: Magus, a question, how many rollouts in your MCTS?

Marchete: per turn

UndercoverToad: same dbdr. I also have an Expanded bitmask so I don't go back

UndercoverToad: that is if i have 2 trees of same size, I do GROW 1 | GROW 2 but not vice versa

cegprakash: my final eval look like this: http://chat.codingame.com/pastebin/18a800b4-cadd-4c7f-acd8-9cb972140dcc

Marchete: grow1 | grow2 is filtered with hashing too

Marchete: no?

kovi: hash is not free here

UndercoverToad: yes but still generates a state on the first hand

UndercoverToad: ceg no opponent in your eval?

kovi: i also prune early

cegprakash: I use same function for opponent UndercoverToad

UndercoverToad: you want to cast shadow on your opponent

Marchete: ahh

UndercoverToad: ah, ok

Magus: Marchete: my IA output the number of expand/rollout at each turn (the first number)

cegprakash: playerId = 1 means opponent 0 means myself

Magus: the second number is the score of the node

Magus: (the selected node)

Marchete: :thumbsup:

cegprakash: UndercoverToad I reduce recovery of opponent

cegprakash: meaning it takes care of shadowing

cegprakash: I think

Marchete: rollouts skyrocket at endgame :D

Westicles: TestAccount11515 coming after you guys

Donotalo: there is far less online contests in CG now :(

Marchete: it seems nobody mirrors inital moves on the enemy

Donotalo: now the date isn't defined for next contest :(

Marchete: almost all players did the same at start (except Recurs_e)

Zandy156: lol I think I know who's account that is

Marchete: he seeded from tree1, had more than 1 seed on the game, planted seed next to trees at first turn

Marchete: completely weird moves from "normal" evaluation point of view

UndercoverToad: because he understood the game. or his NN did

Marchete: I think so

UndercoverToad: the rest of us is playing as mere mortals

CouscousAgha: STOP THE COUNT

Marchete: I got stats from some top players

Marchete: most others had some kind of strategy

Marchete: very similar replays

Marchete: but not him

UndercoverToad: and then there is the chaotic good

Marchete: chaotic evil?

Tiramon: do we have a confirmed NN in the contest?

Marchete: I'd say either a super weird eval or NN

dbdr: UndercoverToad, you wrote "finished around 15th"

Marchete: moves aren't logical on short horizon

RoboStac: I can confirm my bot is (though it looks like I'll only manage around top 30)

Marchete: NN robo?

UndercoverToad: when I wrote that, i was 10th with some others in submit

RoboStac: yeah

Marchete: congrats

UndercoverToad: will update later dbdr

kovi: :o

Marchete: both policy and value?

RoboStac: yeah, usual alphazero style stuff

Marchete: policy seems hard to me

Marchete: wow

RoboStac: sequential mcts based

Marchete: 3000 inputs and 2000 outputs :D

UndercoverToad: i'm impressed that you got it somehwat working robo

Marchete: me too

kovi: yeah, well done

UndercoverToad: just someone else stealing you the show

Marchete: convolutional RoboStac?

RoboStac: nah, didn't seem like that would work here

Marchete: why?

cegprakash: sometimes I lose games coz of bad sunlight not because my bot is a noob

RoboStac: position is too important

Marchete: but you have rotations, that leads to the same state

RoboStac: but rotations break under sun changes

UndercoverToad: sun is a problem to all of us

Marchete: I mean if you "rotate" the board to always be at left

UndercoverToad: top left starting position has the advantage according to my observations

ItsNotABug: makes sense. By the time the sun gets there unobstructed the trees are grown

Marchete: how many inputs?

RoboStac: 534

Marchete: wow :D

sprkrd: What are the input features (at a glance), may I ask?

Marchete: I'd like to read a PM about all that, seems so interesting

FAngelo94: Hi all, for Spring challenge 2021 finished about 1 hour ago is it possible to see the code of AI implemented by people? In particular by the firsts in the leaderboard

Marchete: no

UndercoverToad: i saw robo typing on the forum already

UndercoverToad: don't distract him

Marchete: the challenge will be a multi

RoboStac: yeah, I'll do a pm rather than type it all in chat

Marchete: thanks!

sprkrd: nice

derjack: one-hots encodings?

RoboStac: mostly

derjack: who taught you that monstroity

Marchete: yeah, it seems board games goes better with one-hot

RoboStac: score worked better as a value

Marchete: a tree2 isn't better than tree1

Marchete: there isn't a gradient between them

Marchete: I mean it seems that tree3 isnt 2*tree1 or 1*tree

derjack: how many outputs in policy

sprkrd: But I'm thinking cardinal inputs could work too

Marchete: he'll write a PM

sprkrd: Like, how many trees of size X in cells of type Y for player Z

derjack: every input 'could work', but youll need much more hidden layers

Marchete: in 100kb including bot code...

sprkrd: Where the type of cell can be corner, edge, middle ring or center ring and dead center cell something like that

Marchete: I don't know, this game seems positional

sprkrd: There are other features that can take into account position

sprkrd: like average sun income for 6 days if all trees are fully grown

cegprakash: register for the next fall challenge :)

cegprakash: I just registered

derjack: what will be the theme of fall challenge?

sprkrd: I tried to use that kind of numeric features without much success with linear regression, but maybe a larger, non-linear approximator could fare better

Jokras: Is the next challenge also an AI challenge?

derjack: all challenges are AI challenge

Marchete: they used their NN bots (alphazero like) at another games

Marchete: like oware

Dr-D: And that is the beauty in it =)

Marchete: one-hot encoding performed much better

Marchete: and trained faster

sprkrd: I'm always hesitant to go the NN route because I haven't found a good way to do that within 100KB of code

Marchete: you can do some "tricks" to encode weights as unicode

Marchete: and fit more weights

Marchete: also quantization or float16

sprkrd: (And deep down I want the humble linear approximator to topple the mighty NNs :) )

Marchete: jace_k and robosta_c had great success with that

Marchete: top1 in many multis

sprkrd: Sure, I'd like to have a go on that some day

sprkrd: Just haven't got the time

Marchete: error 429 at forum...

derjack: it works for meh

Marchete: don't refresh then

aCat: 85% and 60-40 wr

aCat: :D

aCat: #85 i meant

Michael_Howard: 51% and 19% in gold

Michael_Howard: pleasepleaseplease...

Michael_Howard: #19th*

Michael_Howard: Has anyone got Swift into Legend before?

UndercoverToad: where did that testaccount go that was destroying silver?

Zandy156: just started gold

UndercoverToad: oh, just started, nvm

UndercoverToad: was gone a a short time

UndercoverToad: and starting with 11 wins in gold

Zandy156: its only like a rank 40 gold

Astrobytes: testaccount? Hider?

Zandy156: don't worry

Astrobytes: oh

UndercoverToad: we don't know

Default avatar.png ashiknur: can someone give me your code who coded with monte charlo tree search algorithm or any AI algorithm?

UndercoverToad: no sharing of full code

UndercoverToad: just ideas as on https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/

derjack: oh agad had NN too

UndercoverToad: that part doesn't surprise me at all

derjack: but he somewhat failed

UndercoverToad: let's see if he'll keep working on it in the multiplayer

Astrobytes: I didn't even notice he was playing

CouscousAgha: is there a way i can see my own source code?

UndercoverToad: https://www.codingame.com/contests/finished

UndercoverToad: "view report"

UndercoverToad: you can see the full submit history later when the multiplayer opens

cegprakash: after the contest results are published yes CouscousAgha

CouscousAgha: thanks guys!

UndercoverToad: i still have to fix my file bundler, has some encoding issues

UndercoverToad: http://chat.codingame.com/pastebin/fb23aa15-af2b-456f-ae17-701be57bc531

UndercoverToad: but it compiles, shrugs

cegprakash: it's actually visible now itself CouscousAgha

cegprakash: in the link shared by UndercoverToad

UndercoverToad: the 2nd using System line has an odd character before

UndercoverToad: as i said, the most recent submit is visible. the full history isn't yet

aangairbender: UndercoverToad you can try to use mine https://github.com/aangairbender/cg-singlefile-bundler-csharp

UndercoverToad: oh, some real code. mine is like 10 lines of python

Marchete: Ille bundler also worked fine, it keeps updating the file as you work

UndercoverToad: i'm not convinced by that design, having a process running in the background

UndercoverToad: just add it as a build event and run it when needed

aangairbender: I uploaded it to GitHub 3 days ago, but the code is a year old, so I am not sure about it. Btw I am looking forward to make it super cool for everybody

Magus: For CG I always work with a single file :D

Magus: a bad habit I suppose

aangairbender: Magus using multiple files + bundler can raise your efficiency

ItsNotABug: lol, the feedback page gave a 429 stats - too many requests

ItsNotABug: lol, the feedback page gave a 429 status - too many requests

Marchete: I've read Agad_e PM, it seemed like I would do the NN, just eval because policy seems overly complicated

solistice: where to find PMs?

derjack: i never did policy, so :shrug:

ItsNotABug: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/5

ItsNotABug: But its dead for me

aangairbender: I didnt get very high with simple beam search, so I implemented mcts duct, it didn't work well either

Tiramon: yes site has a bit high load right now, guess it will get worse when the legend recalc starts ;)

Marchete: I think DUCT and similar are hard to tune and make it work

RoboStac: ok, posted far too much information on how I didn't get my nn to win

CouscousAgha: 395 computing and going down

ItsNotABug: Surely legend recalc is easier as its only 100 compared to current 400?

Marchete: your policy seems cool RoboStac, I neve thought about that way

Marchete: never*

aangairbender: maybe there was not enough iterations for duct showing good results

UndercoverToad: Magus do you use git for your bots at least?

aangairbender: I used same eval as in beam search

Magus: Yes I use git

UndercoverToad: something at least

RoboStac: yeah, I spent a while trying to work out how to get the number of moves to a sensible value

aangairbender: oh, I've read your PM, euler. My beam search code is exactly the same (but in rust)

aangairbender: and pruning approach

UndercoverToad: minus the timeout. i omitted that for brevity

Marchete: it's really cool, I like it

derjack: sequential mcts, so it is like paranoid minimax?

RoboStac: yeah

Marchete: Gamestate was only updated after both players had chosen a move

RoboStac: the enemy is responding to the moves I made (even if they didn't see it on the gamestate)

Marchete: ahh

RoboStac: just due to how it works on a treesearch point of view

Noyotens: https://www.codingame.com/clashofcode/clash/17564252ad8a76000ea17d6a45bd2897b6cdda4

derjack: oO

UndercoverToad: no

Astrobytes: Post that in #clash channel Noyotens

aangairbender: Magus why you think MCTS DUCT didnt work? not enough iterations?

Magus: Less performances, yes

Magus: (less rollouts, less expands)

Magus: I think that with equal performances, DUCT is better.

Magus: But I never found a way to make DUCT as fast as sequential MCTS

aangairbender: mine does around 3k iterations on the 2nd input

aangairbender: and sim alone can handle around 300k in 100ms

aangairbender: 300k full roullouts to the end I mean

Anhrc: elca

Noyotens: https://www.codingame.com/clashofcode/clash/17564330bffb6d751a27d7b01452d9b63592400

Noyotens: plz

Marchete: 300k full rollouts is a lot

Marchete: are you sure?

aangairbender: let me test it once again

pb4: RoboStac : what do you call "sequential MCTS" ?

Noyotens: ;-;

pb4: How does it handle for exemple two players completing "at the same time"

RoboStac: basically just turn based mcts rather than trying to do anything about simultaeneous

Noyotens: who's kick me

RoboStac: thats where it gets awkward

Astrobytes: Noyotens: me. Stop posting clash links here and post them in #clash channel.

RoboStac: in training both would get full nutrients, but I found it better to disable that on my submitted bot

Marchete: seed is the only problem, complete should work ok, is sim is done when both players chose moves

Marchete: if*

RoboStac: the issue was it would basically always just assume they would complete too if I did

RoboStac: to not lose out on nutrients

Marchete: ahh

pb4: ok

Noyotens: Astrobytes ok i am sorry

RoboStac: so I found it better to be slightly innaccurate in the sim for that

Astrobytes: Noyotens: no problem

VietAnhTong: when will the spring challenge be converted to bot programming?

Astrobytes: Later today or tomorrow most likely.

aangairbender: Marchete you were right, it was total simulations, not total rollouts

aangairbender: btw my latest code does 3.6k sims, but my code 3 days ago was 300k

aangairbender: (I added 2nd player handling to simulation for MCTS DUCT)

aangairbender: its weird anyway, 100x slowdown

Marchete: 300k rollouts, with about 30 moves per turn would be like 9M sims/turn

Marchete: per rollout*

AntiSquid: Are CG forums dying? "too many requests"

RoboStac: yeah, I had to try a few times to get my edit to to work

UndercoverToad: congrats on legend BorisZ

BorisZ: UndercoverToad thx euler :sweat_smile:

eulerscheZahl: i think i can switch back now

eulerscheZahl: hm, still laggy

DomiKo: still too many?

eulerscheZahl: https://imgur.com/a/I67qrxb

eulerscheZahl: getting better

derjack: hint: if you ban all these people in the list youll get less laggy

Astrobytes: lol

eulerscheZahl: and mod rights will be revoked for ultimate speedup

eulerscheZahl: i think i can script that

none_: so, where is my legendary achievement? I spent whole weekend in legendary league and still nothing... :D

eulerscheZahl: wait a day or 2

RoboStac: scores are still being calculated

RoboStac: achievements / coding points will turn up at some point after that

eulerscheZahl: achievements over night i think

derjack: unless they are shadowed

none_: I though so, but I was quite surprised that I've got XPs right away

eulerscheZahl: for promotion? that's another topic

derjack: hmm yinsh got 30+ players last week

eulerscheZahl: was puzzle of the week

eulerscheZahl: until contest started and no one cared

kurnevsky: @Magus hi, what do you mean by tree reuse in your PM? Not very clear from the description :)

RoboStac: between turns he keeps the tree from the previous turn and just changes the root to the new state

RoboStac: (calculates what the enemy did so he can navigate his tree)

Nerchio: is recalc happening or?

eulerscheZahl: still waiting for it

eulerscheZahl: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global?column=SCORE&value=INPROGRESS

eulerscheZahl: 24 submits have to finish first

eulerscheZahl: now it's 20

kurnevsky: > between turns he keeps the tree from the previous turn

And why it needs to be kept?

eulerscheZahl: it saves time

eulerscheZahl: if you don't recompute it

RoboStac: it makes your future turns more accurate as you already have stats on moves

RoboStac: eg if you do 1000 simulations on turn 1 and 200 of them end up in turn 2 state you already have 200 simulations of data for turn 2

Nerchio: so recurse has an NN going or?

eulerscheZahl: and some nodes with valid actions generated depending on how you implement the tree

kurnevsky: So it's like amaf/rave?

RoboStac: no, it's dealing with real states

RoboStac: you go into turn 2 and already have a mcts tree with 200 nodes in it (instead of starting from 0 nodes every turn)

kurnevsky: Ah, now I got it, thanks.

derjack: but is tree reuse worth it with so many actions here?

Default avatar.png putibuzu: This was fun, GG WP everyone! :)

RoboStac: no idea - I didn't bother (especially since I didn't generate all possible seed actions I decided not too)

peerdb: gg's my push to legend fell short but it was a lot of fun

peerdb: thanks for hosting

BeardedJotunn: {

ItsNotABug: How did someone resubmit 5 mins ago in gold?

RoboStac: promoted from silver

Astrobytes: they most likely promoted

therealbeef: in theory you can submit in wood 2 at 9:59 and go all the way to legend ;)

therealbeef: and have the love of everyone

ItsNotABug: damn. came to watch recurse squash the other legends :P

Marchete: that's already done

CouscousAgha: gonna happen again in few minutes

Marchete: waste of cpu

peerdb: cpu is free real estate

CouscousAgha: :popcorn: waiting for re run

Nerchio: so much processing is wasted on mining cryptocoins we might as well spend a few cycles on our fun right

CouscousAgha: and NFTs

Marchete: bad + bad isn't a good

Nerchio: so in the end 230 ppl in legend

Nerchio: quite a lot i guess

Marchete: a lot

Nerchio: but considering the amount of people in the competition maybe its not so bad

peerdb: it mostly seems like gold is way bigger than last times or maybe my memory is faulty

CouscousAgha: do we have data of how many participated now vs the previous event?

Twelve0: yes : https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global?column=SCORE&value=INPROGRESS

Twelve0: https://www.codingame.com/contests/fall-challenge-2020/leaderboard/global ops

darkhorse64: 7142 for this contest

AntiSquid: i see 6867

darkhorse64: I summed the leagues

Twelve0: you don't have to it's in details page

CouscousAgha: i think 7142 who registered

Twelve0: 16,882 registered

CouscousAgha: damn

darkhorse64: calc is better

AntiSquid: maybe some alts were removed ?

CouscousAgha: anytime now...

GreatTux: why is the gap between registered and participants so big?

AntiSquid: i see daiver (euler's alter ego) is still there though

KelvinAndHubbles: a lot of people registered, but not everyone remembered it started

CouscousAgha: GreatTux my guess is many registered months ago and didnt participate

CouscousAgha: just like now you can register to the next one that will occur in fall

Astrobytes: Also, people may not like the look/idea of the game so don't bother.

Twelve0: https://www.codingame.com/contests/fall-challenge-2021 you can register in the next challenge

peerdb: whooo Twelve0 i registered!

AntiSquid: heh astro, damn right, was at first like "oh damn a hex game, but luckily i can port bits and pieces from my pengu bot" and thought i slap a sim on top and done, but then the eval wrecked it :/

peerdb: btw Twelve0 why is 42 morocco (1337) so good? :cold_sweat:

We struggle to keep up with you

Twelve0: are we really ?

AntiSquid: the entire day - turn cycle with fog of war disguised as WAIT and the board game rules kinda ruined it

CouscousAgha: peerdb why not? :D

peerdb: almost as good as Paris, and we are 9th (42 amsterdam) so yeah

peerdb: CouscousAgha fair game, gg man, next time we try to beat you again (and fail again)

Twelve0: aah you're from codam

CouscousAgha: we believe in you peerdb

Twelve0: how's life there peerdb

peerdb: yep, life is a little bit lockdown-y still Twelve0, how about there?

peerdb: at least my internship rn isnt remote

Twelve0: it's getting better, still we can't study at night yet

peerdb: yeah same here I guess. Our country is slow with vaccines tho so it will be at least till august like this

CouscousAgha: peerdb good luck <3

peerdb: thanks CouscousAgha you too :heart_eyes:

CouscousAgha: everyone waiting for the last gold player

Default avatar.png natofp: when will we get final standings?

CouscousAgha: natofp the last submission is at 94%

DomiKo: after recalc

CouscousAgha: and then a rerun of top 100 in legend

CouscousAgha: it's starting anytime now

eulerscheZahl: submits finished

eulerscheZahl: let the recalc start

CouscousAgha: can we watch it ?

eulerscheZahl: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global?column=SCORE&value=ALL

eulerscheZahl: just started

Twelve0: ohh

CouscousAgha: wait

CouscousAgha: it's more than top 100?

eulerscheZahl: they do whole legend?

Twelve0: everyone in legend

Twelve0: cool

eulerscheZahl: i'm equally surprised

CouscousAgha: yeah

peerdb: oh funky

CouscousAgha: EVERYONE... GET IN HERE

CouscousAgha: this is gonna get bloody

peerdb: more chance for 1337 to beat 42

peerdb: lets get those baguettes

CouscousAgha: peerdb i doubt it

Twelve0: hahahahahaha

Twelve0: nah ir's hard

CouscousAgha: but thanks for the support x)

peerdb: haha np

codingWhale: This reCurse guy seems to have a lucky streak :P

eulerscheZahl: :D

AntiSquid: ya just pure luck

Twelve0: hhhhhhhhhhhhh

CouscousAgha: LMAO

eulerscheZahl: ping nmahoude

eulerscheZahl: "performance wise, I have around 40k actions in 50ms"

we had 100ms in this contest

AntiSquid: ouch

Default avatar.png natofp: how many games are going to happen per player?

eulerscheZahl: about 1000

eulerscheZahl: but don't trust me, i also announced a recalc for top100 only

nam4.nguyen: So recal only for legend league?

CouscousAgha: yes

nam4.nguyen: oh so if I was out of legend it's mean that is final rank?

DomiKo: yes

Noyotens: CODINGAME SPRING CHALLENGE 2020 who remeber this

peerdb: pacman was dope

AntiSquid: back when emotes inside messages worked

KalamariKing: How'd the end of the contest play out

ItsNotABug: pacman was great, this one was decent. And i just didnt enjoy autumn at all

AntiSquid: autumn one was for sim fans :P

this one was weird for me, not sure who it was aimed at

Nerchio: idk but a lot of post mortems have different approaches

Nerchio: so it seems like it was pretty good

kurnevsky: > autumn one was for sim fans :P

I'd rank myself among those :)

Nerchio: i think if they upped the character limit for easier NNs it wouldnt be too bad

derjack: then NN guys would take it all

sprkrd: I think that, if CG wanted to support NNs, they would switch to a completely different submit system

salmon: NN?

sprkrd: Neural nets

jrke: NN -> Neural network

salmon: ah

AntiSquid: there's virtually no ML support at all . other sites have it so why not CG is the question

eulerscheZahl: completely switching isn't that easy, technical debt

sprkrd: I'd say because CG is not really an AI side

sprkrd: site*

sprkrd: it's a programming site

nmahoude: eulerscheZahl yes I know but i fixed the depth of my BS to 6 (something I didn't tell in my PM) and I rarely used the 100ms

eulerscheZahl: they even store each of your code. no diffs like you know it from git

sprkrd: ultimately it's about we programming better

eulerscheZahl: i see nmahoude

Nerchio: thats what i mean, character limit seems like a pain for NNs and it shoudn't matter that much

AntiSquid: it doesn't make sense to completely switch, but offering more support is always possible and better compared to offering no support

eulerscheZahl: i get 40k in 80ms btw

RoboStac: Most of the time the way to get a good bot is to make the NN as small as possible so it's quicker - the character limit doesn't often get in the way

eulerscheZahl: with an expensive eval

sprkrd: not about minmaxing contests with brute force and hours of CPU/GPU usage :)

Hasuzawa: there is only so much to do and learn on this site, there are many more technically superior site out there

derjack: given one-hots inputs, the space if more of issue than computation size

Nerchio: RoboStac ok good to know but every time someone talks about NN character limit pops up :D

sprkrd: then the person with the biggest computer and the most resources would always win

RoboStac: well, it's something that does limit the options available a bit

AntiSquid: not really sprkrd

RoboStac: but whether the other options would ever work due to cpu limitations etc is a different question

Nerchio: sprkrd you can see some very experienced people tried NNs here and it didn't work like you say it works

derjack: sprkrd not really. crappy designed NN will be crappy even given millions $$$ of cpu/gpus

sprkrd: sure thing, but there's other factors to consider

AntiSquid: even for ML focused challenges on ML focused sites you get folks that get 1st place with something like C++ inside python code so ...

RoboStac: eg convolution networks tend to hit code space limits quickly but also tend to be very slow

sprkrd: the current format limits the size of the networks, and the available options

Nerchio: AntiSquid lolz

sprkrd: if you allow to submit code projects rather than a single source file, then people will switch to tensorflow, keras, pytorch or whatever

Nerchio: i have to try an NN once on codingame would be nice if it could play in gold at least :D

peerdb: I would love to be able so split up my cpp file here

sprkrd: there would be no longer any ingenuity exercise on coding a NN in a small source file

Tiramon: Oware is a nive simple game to try a NN

RoboStac: I wouldn't recommend this contest as a starting point Nerchio :)

Tiramon: *nice

Nerchio: peerdb you can use bundlers

AntiSquid: it's pointless painful overhead sprkrd

Nerchio: RoboStac yeah i thought about Oware

peerdb: oh i didnt know about bundlers Nerchio

peerdb: thats pretty cool

E_pur_si_muove: where can I find post mortems' of the spring challenge?

eulerscheZahl: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/

jrke: i am not sure what NN does exactly, so is it used for getting value of a state?

RoboStac: yeah, owares a good choice (i found it easy to get started and had good results, though I know some others have struggled)

E_pur_si_muove: thx

eulerscheZahl: try again tomorrow and there wil be some more

sprkrd: I guess I'm just not a supporter of supposedly programming contests dominated by NNs

AntiSquid: i imagine NN would be favorable here since a lot of the contest was focused on evaluation

Tiramon: my NN in oware is only suck in some states .. .i will have to train it again ;)

eulerscheZahl: you mean stuck?

AntiSquid: :joy:

Tiramon: yeah ... stuck ...

Tiramon: my bot in oware can't handle it if opp side is getting empty

Tiramon: guess i need to seed some training situations like that to the NN

derjack: again with the seeds

derjack: i would start with training value network only

ThunderbirdOne: man, Code Golf in C#... not the best :')

Hasuzawa: wait until you use Java

AntiSquid: how's the fullstack life btw ThunderbirdOne?

eulerscheZahl: will get better with C#9

ThunderbirdOne: same it has always been I suppose :P

eulerscheZahl: consultant

ThunderbirdOne: I got Don't Panic to 445... but i'm out of ideas

ThunderbirdOne: my base algo was prolly not super efficient either

ThunderbirdOne: what improvements do you see with C# 9 btw eulerscheZahl?

eulerscheZahl: you can write code outside of class and main function

ThunderbirdOne: ah right

ThunderbirdOne: top level statements

ThunderbirdOne: i do have some hacks to shorten stuff :P

ThunderbirdOne: like

ThunderbirdOne: namespace System{using static Console;using static Int32;class Q{ static string[] r => ReadLine().Split(' '); static void Main(){

eulerscheZahl: the standard tricks

**eulerscheZahl is totally not into golfing

KalamariKing: why can't you get rid of the spaces before and after the =>

ThunderbirdOne: also made

ThunderbirdOne: Func<string,int>p=Parse;

ThunderbirdOne: to swap all those out

KalamariKing: I haven't done c# in a while so il

KalamariKing: idk*

TobiasA: hey KalamariKing you've been out for a while

KalamariKing: just the weekend

eulerscheZahl: var p=Parse?

ThunderbirdOne: think you could var that?

TobiasA: noice

KalamariKing: and UGH I can't do python anymore, been using Java too long

eulerscheZahl: i don't see a reason against it

TobiasA: haha

B4tiste: Does someone know how many challenges are available in clash of code .

B4tiste: ??

eulerscheZahl: https://eulerschezahl.herokuapp.com/codingame/puzzles/?q=&category=CLASHOFCODE&title=on&statement=on&tests=on&comments=on&tags=on&author=on

eulerscheZahl: 1166 clashes

B4tiste: ty

VizGhar: aaah :) CoC questions are back

KalamariKing: yeah lol

VizGhar: funny how I have strategy similar to postmortems except I was too slow + scoring was (just a bit) off.

KalamariKing: Speaking of, where ARE the postmortems

KalamariKing: I assume they're not on cg

sprkrd: forum

sprkrd: feedback and strategies

VizGhar: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/2

KalamariKing: K thanks

VizGhar: python 40LoC :O

sprkrd: League of Cards?

AntiSquid: LCM, legends of code and magic

VizGhar: Lines of Code

sprkrd: (I know, it was just a joke :) )

AntiSquid: well you'll have to adapt your acronym otherwise i'll interpret it as LCM

sprkrd: When I read Lo+Something my brain automatically interprets it as League of Something

VizGhar: hmm https://en.wikipedia.org/wiki/Source_lines_of_code

VizGhar: well we probably shouldn't use acronyms at all :D

derjack: y

sprkrd: I think there's a special beauty in minimalist bots that get that far

Marchete: lol

sprkrd: Not saying necessarily golf (I despise golf), but doing as little as needed to perform good. I think elderly's has one of my favorite bots because of that. However, bear in mind that he says 40 lines + starter

Marchete: full legend resubmit?

Marchete: why?

eulerscheZahl: ask saiksy or whoever did that

eulerscheZahl: i'll just sit it out

eulerscheZahl: now he have to wait a bit longer to finally know who won

kurnevsky: Don't we know it already? :)

DomiKo: ofc we don't :sweat_smile:

KalamariKing: code golf is awesome idk what you all are on about

eulerscheZahl: bot contests

KalamariKing: yeah but you all are saying code golf sucks

sprkrd: it's just me saying that it sucks

sprkrd: it's not the general feeling :D

KalamariKing: hmm interesting

KalamariKing: I'm skimming pretty hard

Astrobytes: It sucks. Change my mind.

KalamariKing: see theres two

sprkrd: i didn't know about the second one, sowwy :(

DomiKo: ofc it sucks

sprkrd: Ok, there's consensus, nevermind

DomiKo: why cares about three less chars in your code?

KalamariKing: astro I'm not gonna be able to, but I think its pure beauty because I do stuff with, like, boot sector games and very small roms and stuff

KalamariKing: like microchip programming

AntiSquid: it depends on the individual

KalamariKing: so using a modern language, but really freaking compressed, that's just cool

AntiSquid: but don't think it fits in with rest of the site

KalamariKing: idk

KalamariKing: it really doesn't I'll give you that

sprkrd: KalamariKing I'd argue that's not necessarily golfing

Astrobytes: ^

KalamariKing: Microchip programming? its not

Astrobytes: It's about being clever

Hasuzawa: true, it is not even properly advertised like other sections

sprkrd: (the thing about boot sectors and all that)

KalamariKing: Yeah ik

KalamariKing: But using a modern language in the same way is, in a way

KalamariKing: If any of that makes sense

Astrobytes: Nope.

AntiSquid: how about a "represent everything in bitmasks" section instead of code golf? :D

sprkrd: I mean, if there's hardware restrictions, there's art in doing things with lest instructions, less cycles or whatever

RoboStac: thats just bot contests

Astrobytes: That's the board game section

sprkrd: but being performant with modern languages doesn't necessarily amount to golfing

AntiSquid: solo i meant

Astrobytes: optims

sprkrd: in a lot of cases i'd argue it makes the program even less performant

AntiSquid: optims don't count compression

ableflyer: does anyone know when will the fall competition starts

sprkrd: In the fall

ableflyer: like at the start of school?

ThunderbirdOne: YouDontSay.jpg

sprkrd: Which I think starts around tomorrow

ThunderbirdOne: fall is autumn... its later this year

peerdb: ableflyer the exact day isnt known yet

ableflyer: oh

sprkrd: I was clearly kidding :D

KalamariKing: but were you

sprkrd: >.>

AntiSquid: grilled kalamari . bmp

elderlybeginner: which puzzle is good for learing minimax, mcts or any other simulation algorithm?

KalamariKing: all of them except that one

eulerscheZahl: 2048 for beam search

sprkrd: the ultimate tic tac toe one I'd say

eulerscheZahl: UTTT isn't a puzzle

eulerscheZahl: or does it qualify for you too elderlybeginner?

sprkrd: I assumed he meant competition, because I don't see any use of minimax in a puzzle

elderlybeginner: i don't know what uttt is

AntiSquid: type in the search bar at the top see what you get

eulerscheZahl: ultimate tic tac toe

ThunderbirdOne: I liked Code vs Zombies for a mcts

eulerscheZahl: https://www.codingame.com/multiplayer/bot-programming/tic-tac-toe

eulerscheZahl: vanilla MCTS with enough sims gets you into legend

elderlybeginner: I mean any puzzle, bot, optimatization - it's about learing an algoritm of that kind

eulerscheZahl: https://www.codingame.com/multiplayer/bot-programming/bandas another MCTS

BrunoFelthes: how many is enough?

KalamariKing: a l l o f t h e m

eulerscheZahl: 20-25k rollouts in early game

BrunoFelthes: i tried very hard mcts with java and bitboards, and it was not enough

eulerscheZahl: i switched from C# to C++

AntiSquid: https://imgur.com/a/3RAD9SR elderlybeginner

sprkrd: elderlybeginner btw, I praised your bot for the spring2021 contest ;)

eulerscheZahl: the games even have tags. i just don't always trust them

sprkrd: Read your PM at the forum

eulerscheZahl: e.g. connect4 says minimax. feels more like MCTS to me

elderlybeginner: AntiSquid thanks, that's helpful

BrunoFelthes: I do 1000 rollouts, at ttt, to low...

eulerscheZahl: not even close

eulerscheZahl: even my C# got around 10k

elderlybeginner: sparkrd You didn't see it, thanks for credit :joy:

JohnCM: i used MCTS for tic tac toe in python, got silver

JohnCM: if i adapt it for C++, it should be gold

sprkrd: Connect4 is a solved game, with minimax, can it be fully solved in CG too in the time you are given...?

eulerscheZahl: connect4 on CG has a larger board

derjack: connect4 on CG is 9x8

JohnCM: connect4 to solve it with minimax, haha

BrunoFelthes: no, it is 5000, but it is to low

derjack: err 9x7

eulerscheZahl: isn#t it 9x7?

JohnCM: you'll need a really good heuristic as you can't search the depth fully

sprkrd: Ah, I see, didn't know 'bout that

derjack: also it has steal rule

eulerscheZahl: Onitama for Minimax (jacek will tell you NN and that's "the easy game")

derjack: onitama is tutorial game

eulerscheZahl: Tron is anohter good one for minimax

sprkrd: I'd say Amazons would be a good candidate too (haven't done that, but I saw the Numberphile video about the game)

derjack: amazons, the easy game?

sprkrd: not easy

sprkrd: a good practice for minimax

sprkrd: and mcts

Astrobytes: Most of the board games are good for minimax

eulerscheZahl: jacek only calls it easy because he's first

Astrobytes: and all extensions

eulerscheZahl: jacek == derjack

derjack: :O

sprkrd: Ah, OK

sprkrd: I thought the "the easy game" was sarcastic

Astrobytes: MCTS is less painful than minimax for Clobber though

sprkrd: Like, "you really think that's a good starting option?"

derjack: i mean, the arent even tyrin

derjack: trying

Arez-Vater: Obama have dick

Arez-Vater: Arez ist ein Hurensohn

derjack: amazons may have tricky eval and has big branching factor, over 1000 in first turns

victor_1111111: Arez ist fett

eulerscheZahl: :D

Astrobytes: that time of day again clearly

eulerscheZahl: DJSilentComet_8010 has been banned by Astrobytes.

sprkrd: May I ask, why do some of you have two accounts?

eulerscheZahl: who was that one?

Astrobytes: I only banned Arez, that happens sometimes. Donno why

sprkrd: Like jacek = derjack and eulerscheZahl = (UndercoverToad I think?)

Astrobytes: I have an alt for testing games and contest chats if it's busy. I don't use it for anything serious.

derjack: I? for the trolling

eulerscheZahl: yes, i'm undercoverToad

eulerscheZahl: chat got laggy for me during contest

eulerscheZahl: now it's better again

eulerscheZahl: still a bit slow

Astrobytes: The bar is getting bigger

sprkrd: of course, too many admirers writing private messages to you in your private account :joy:

sprkrd: of course it's laggy

Astrobytes: No, moderators get a huge list of all users in chat

sprkrd: makes sense to create an alt, then

eulerscheZahl: not if your task is to moderate the chat :D

eulerscheZahl: can't have both

Astrobytes: :D

KalamariKing: two computers :thinking:

eulerscheZahl: i used chromium for competing and firefox for chatting

Astrobytes: I keep this account open on my left monitor and the alt on the right one

eulerscheZahl: i'm still on firefox for chat, it has higher tolerance before it crashes

Astrobytes: just in case I need to kick/ban

eulerscheZahl: astrohydes?

Astrobytes: Yeah

sprkrd: may I ask, do you do this on your free time or is it a job?

eulerscheZahl: free time, unpaid

Astrobytes: Free time, as and when

sprkrd: big part of your daily entertainment, then

eulerscheZahl: we even create games like this in our free time (shameless advertising) https://www.codingame.com/demo/8758470df0f4ccc4ad5c774d20935cf59c7698

sprkrd: must feel like a job sometimes coming up with all the games and puzzles you've created

derjack: :notebook: :soccer:?

B4tiste: WAn we report clashcode challenge that are wrong in the statement ?

B4tiste: Can*

eulerscheZahl: you can tell us here, maybe someone will edit it

eulerscheZahl: not me, i don't have the permission for clashes

Astrobytes: I don't either

derjack: yet you are chat moderators :thinking:

itzluku: that dice game looks cool :)

Astrobytes: Yes. I chat often, I never clash :P

eulerscheZahl: editing clash requires 300+ participations

eulerscheZahl: i can edit puzzles

Tiramon: hm only 122 participations ...

Hasuzawa: I actaully study good answers from other players in CoC so maybe I learn more from CoC than puzzles

Tiramon: maybe i should increase that so atleast some mod can fix clashs ;)

eulerscheZahl: you will get captchas

derjack: oh dice duel ready for approval eh

eulerscheZahl: a bold move from me, i'll see what happens

Default avatar.png actualCoderTrevor: Woah 3D graphics :O nice!

Tiramon: at clash a day keeps the captcha away ... or something like that

Tiramon: *a

Astrobytes: A noble sacrifice indeed :P

derjack: is it me or dice duel demo suddenly stops and i cant resume it

elderlybeginner: What has changed that there are less contests now then it was a few years ago?

derjack: $$$

Default avatar.png actualCoderTrevor: derjack that seems to happen to me too

Astrobytes: Yeah derjack. Not sure if it's intended to stop there or not

eulerscheZahl: it resumes when you do something to update the viewer (like fullscreen)

eulerscheZahl: it's part of the SDK. i could get around it but it's a feature

derjack: oh, normally the click would works

eulerscheZahl: you don't want that flashy animation while reading the statemetn

Astrobytes: It also resumes randomly by itself

eulerscheZahl: click is captured by 3D library

eulerscheZahl: for rotation

Astrobytes: Oh man, I didn't see the landscape etc

Default avatar.png actualCoderTrevor: Ohh you can change the view ! :O

Astrobytes: Nice touch euler

derjack: eulerscheZahl boldly of you to assume someone would read the statement though

Default avatar.png actualCoderTrevor: Double rainbow!

eulerscheZahl: huh? there should only be 1 rainbow

Astrobytes: It looks nice, just leave it

Default avatar.png actualCoderTrevor: Nope. It's clearly doubled. What does it mean?

Default avatar.png actualCoderTrevor: I like it :)

eulerscheZahl: let me check

ZarthaxX: hey

gmessier: double rainbow!

Astrobytes: HeyrthaxX!

derjack: eeyup, double rainbow

eulerscheZahl: oh that. that's part of the asset

Tiramon: hm that dice duel looks kind of fun =)

KiwiTae: omg ZarthaxX o/ you brought back the bear

eulerscheZahl: somehow i tought you have 1 in front and one behind you

gmessier: It's new that we can build 3d games ?

eulerscheZahl: https://opengameart.org/node/36621

Default avatar.png ABC123: Do you join clubhouse?

ZarthaxX: KiwiTae i brought it for you man

ZarthaxX: :D

eulerscheZahl: you always could since the SDK exists and you can upload your own stuff

ZarthaxX: you just didnt see it in time

KiwiTae: :heart_eyes:

Astrobytes: hey hey KiwiTae

eulerscheZahl: it's just not documented and you have to get creative

eulerscheZahl: some javascript to kill the original viewer and inject your own

KiwiTae: Astrobytes heyhey

gmessier: We are programmer... we can do anything :P

ZarthaxX: astroooooo

ZarthaxX: contest is finally over for you astro hehe

Astrobytes: hehehe yeah, fixed a small bug this morning and gained a whole 100 ranks :P

ZarthaxX: :o

ZarthaxX: nice

eulerscheZahl: ClockSort had a funny bug: small trees could cast shadow on bigger ones

eulerscheZahl: from gold straight to legend #20 yesterday

Marchete: people don't test enough

ZarthaxX: btw, i dont get this, i win some games but my score keeps decreasing

Astrobytes: hehehe that's an *epic* bug

ZarthaxX: why does trueskill work like this :/

ZarthaxX: maybe im seeng score with delay

ZarthaxX: eulerscheZahl but he also allowed in his sim to seed everywhere

ZarthaxX: intended bug that works better

Marchete: with a good simulator you can guess endgame score if you play against yourself

ZarthaxX: i dont get it yet lol

Marchete: I did and it worked nicely

ZarthaxX: nice Marchete

nitekat: had lots of works to do these days, have no time to fix my code, finished in gold, so sad... :disappointed:

Astrobytes: No legend Marchete?

Marchete: lol no

Marchete: more like 1400 gold

ZarthaxX: :(

Marchete: my eval wasn't working in mid game

Marchete: and I just give up

sprkrd: did you do beam search too?

Astrobytes: I finished 1409 gold. Sad

Marchete: without a proper eval is irrelevant

eulerscheZahl: i'm sure you will beat us (except for one) in the multiplayer

sprkrd: but beam search, right?

Marchete: I don't think so

Marchete: but if I do, I'll try what recurs_e did

Marchete: probably NN :D

derjack: oO

Marchete: I was sure Beam Search wasn't the best algo

Marchete: so I refused to do it

sprkrd: heh, I evaluated all actions but with depth=1

Marchete: in fact I think my submitted was the heuristic

Marchete: probably 3 hours of code on top of the starter bot

jacek: where do you see your rank

Marchete: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global

sprkrd: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global

sprkrd: ah, you beat me

jacek: oh my

eulerscheZahl: and everyone beats me, i'm dropping :(

eulerscheZahl: nap time, i'm tired

Marchete: I think robo gave very good ideas about NNing the game

sprkrd: I mean, he was faster than me posting the link

Marchete: they are really interesting

sprkrd: Actually my bot seems to be a bit better :)

Astrobytes: Afternoon nap-time for Old Man Euler :D

Marchete: when do you get up euler?

sprkrd: What I don't understand about robo's NN is why he encodes the sun points as a OHE input

Astrobytes: 4 or 5 am iirc Marchete

Default avatar.png actualCoderTrevor: How long before we can revisit this contest? I was never happy with my bot.

sprkrd: isn't that a clearly numeric feature? Why the trouble of a 1-hot?

Marchete: I saw his submit time at 4:30 am

Marchete: that's why I'm asking

BrunoFelthes: actualCoderTrevor, maybe some hours

derjack: apparently 5 sun points is much different than 6 sun points

Default avatar.png actualCoderTrevor: Oh cool :)

sprkrd: shouldn't the NN pick that up even if encoded as a numeric input?

derjack: now when i showed him one hots are really hot, he uses them everywhere

Marchete: maybe sun points matter for move selection

Marchete: and the NN will know better what actions are valid

sprkrd: I assume it does, but I cannot clearly see the benefit of the one hot here

derjack: NN maybe could figure it out, but 'preprocessing' inputs makes the NN to understand it better with fewer hidden layers/units

Marchete: yeah

Marchete: like on oware

sprkrd: a threshold in a numeric feature is something a NN can clearly do with just a layer, with a sigmoid or a relu

Marchete: Robo said earlier

Marchete: his oware bot trained 10x faster

sprkrd: It's a whole art this thing about designing a NN :sweat_smile:

Marchete: when converting all to one-hot

Marchete: https://www.codingame.com/multiplayer/bot-programming/oware-abapa/leaderboard

Marchete: I'd listen to him

Astrobytes: a black art at that

Astrobytes: Almost witchcraft

sprkrd: so that's oware

sprkrd: I didn't have a clue of what you were talking about

Marchete: oware is oware abapa

Marchete: a game about seeds

Astrobytes: :D

derjack: and spring challenge is about seeds too

sprkrd: Yeah, I didn't know about the game

Marchete: well, each position can have 0-N seeds

Astrobytes: What a description Marchete

Marchete: they encoded as one-hot

sprkrd: I thought you were talking about some obscure NN thing

sprkrd: The oware architecture or something like that

derjack: people called me a madman when i said i use one hots

sprkrd: It's the only thing natural language processing people uses, right?

sprkrd: They see a number other than 0 or 1 and the go all crazy

sprkrd: they*

derjack: its off/on

derjack: its faster to calculate

derjack: and for some board game, even faster because you only calculate the difference

ThunderbirdOne: anyone know when c# 9 is coming to CG ?

derjack: i.e. NNUE for chess

RoboStac: even if you don't do NNUE you can massively optimise it by skipping the 0 inputs

peerdb: not NN, but I was wondering how I could have made my gamestates as small as possible, I saved all the trees in a map<int, Tree> (C++), because I didnt know how else to save a variable amount of trees. Is there a better way?

Astrobytes: They just did a languages update ThunderbirdOne, so probably not for a while

Marchete: skipping zero inputs?

Marchete: ahh

RoboStac: it's just a big matrix multiply so if the input value is 0 you don't need to calculate 96 lots of 0xweight

Marchete: I get it

sprkrd: peerdb I did it using four uint64_t numbers

derjack: peerdb bitboards?

sprkrd: the state has a constant size this way, very easy and fast to calculate hash (should you need that) and very performant equality check

sprkrd: another bitmask for ownership, and another bitmask for dormant status

sprkrd: 6 uint64_t in total for a state

peerdb: can 4 uint64_t's save 37 trees?

derjack: RoboStac but you still used python framework for training?

peerdb: interesting

sprkrd: yes

RoboStac: yeah

Marchete: and richness outside the state

Marchete: as static

derjack: used sparse vector something?

Marchete: we all did the same :D

peerdb: how many bytes was your total gamestate sprkrd

RoboStac: no, the training just takes it as a dense vector without optimising it

HakamGo: Are they gonna rerun the Tests for all Leagues now?

sprkrd: 8*6=48bytes

peerdb: for 1 gamestate? jeeez mine was 208

RoboStac: but it's run on the gpu so fairly quick

Astrobytes: peerdb: https://core.ac.uk/download/pdf/33500946.pdf

derjack: hmm

Twelve0: no HakamGo just for legend

sprkrd: I started with map too thinking it wouldn't matter that much

peerdb: thanks Astrobytes im gonna read that one, I'd never heard of bitboarding before this contest

Astrobytes: also check chess programming wiki

HakamGo: Twelve0, hahahah are you sure??

Astrobytes: Just for legend HakamGo

sprkrd: when my first MCTS was capping a ~70 simulations in the first turn, I decided it was time to upgrade to bit boards

iggy12345: good morning

sprkrd: then I dropped MCTS anyway and did evaluations with just 1 depth of moves :)

sprkrd: seeing the success of Magus, I should've pressed on MCTS

peerdb: when doing beamsearch, how many moves should you at least be able to look forward (as rule of thumb) ?

sprkrd: nice read Astrobytes :)

Astrobytes: Yeah, it's a great paper

derjack: dont spoil the ending

Astrobytes: lol

sprkrd: If I had found that paper earlier, I'd have done my shadow calculations with bit shifts instead of using look-up tables

Astrobytes: Did no one link it during the contest?

Marchete: i did all with shifts

Marchete: it was natural to do it

sprkrd: Didn't occur to me organize the cells in a way different from the numeric index

sprkrd: I mean, it's natural if you don't put cell 0 in bit 0 of your number and so on

Marchete: it's natural when you read about hex bitboarding :D

Marchete: what I found slow is move generation

sprkrd: That's what I was missing, never worked with hex boards earlier

Marchete: 70% of the time for me

Marchete: (well, also the eval)

sprkrd: Astrobytes probably, I wasn't around very much in the chats/forum

Astrobytes: ah, gotcha

Marchete: #es forum is usually silent, if you were looking there

sprkrd: No, not at all

Marchete: ah

sprkrd: I wasn't around in any chat/discord/forum

Astrobytes: It's usually good to read the chat, even if you're not chatting, during contests - you can pick up a lot of good info

sprkrd: Was going full autistic for the contest :joy:

sprkrd: Astrobytes yes, will consider that in the future

Astrobytes: then when you've had enough, ?disableChat

Tiramon: hm easy score in coc today ... so many people using c for shortest ;)

eulerscheZahl: doesn't sound like a smart idea

eulerscheZahl: and how many real people and how many bots?

Tiramon: afaik no bots ... at least not the bots i know of

Marchete: you guys are doing coc?

Tiramon: i do some to get rights to edit clashs :) at least one mod should have rights to do it ;)

Tiramon: still the same bots according to leaderboard, so yes quite low amount of bots =)

Marchete: 125, that's "normal"

Marchete: https://www.codingame.com/leaderboards/clash/global?column=clashescount&value=DECREASING

Tiramon: right

Marchete: wth, 130000 clashes?

Magus: sprkrd: there is more successful than me in MCTS

Marchete: bots, no?

Magus: jolindien is better :D

Marchete: yeah, bot

Tiramon: those with > 10k games are the bots quite easy to filter ;)

eulerscheZahl: and these with > 40 score points in the contest too

Marchete: struc_t is a tryhard CoC'er

sprkrd: Magus: didn't know he used MCTS

Marchete: 3800 clashes

sprkrd: Now that's my new milestone

eulerscheZahl: https://forum.codingame.com/t/spring-challenge-2021-feedbacks-strategies/190849/22

eulerscheZahl: "My strategy is based on … surprise … MCTS."

sprkrd: I'll confess I skimmed very fast through the post :)

sprkrd: this zobrist hashing thing caught my attention

sprkrd: sounds like a cult

sprkrd: the zobrist hashing cult

sprkrd: of the zobrist church

Astrobytes: Zobrist cult :rofl:

Default avatar.png StevenV: I really like this challenge, as bot simulator is not the only way to looking for :D

Magus: I had zobrist hashing at first, but I had far too many cache miss

Magus: So I removed it

Marchete: ahh, weird

eulerscheZahl: is that what the game is about? https://www.codingame.com/multiplayer/bot-programming/cultist-wars

Marchete: lol

sprkrd: Hell, Kodle also used a hash map for MCTS? why the hell was I getting so few simulations then?

Marchete: pragma?

sprkrd: I thought the reason I was getting so few simulations was because of the hash map, instead of using a tree of pointers

Marchete: pragma O3

Marchete: yes

sprkrd: doesn't CG do that too?

sprkrd: in the FAQ page they say they compile the code with -O3

Marchete: give us your 3 first lines

Marchete: really?

Marchete: that's new

sprkrd: it's been there a few years I think :S

Marchete: then no

Marchete: https://www.codingame.com/faq

Marchete: said nothing about that

Astrobytes: g++ 10.2.1 mode C++17 With the following libraries ‑lm, ‑lpthread, ‑ldl, ‑lcrypt

sprkrd: what the...

sprkrd: really?

Marchete: ofc

Astrobytes: Hence the pragmas ;)

derjack: use Ofast [solved]

sprkrd: My brain filled that there for no reason

The_Auditor: when will spring challenge convert to multi ?

Magus: Ofast is like O3 with fast-math. It can improve speed if you use a lot of double/float.

sprkrd: So, the reason I got so few simulations and get so poor performance in general is because I miss a pragma?

Marchete: congrats, you were baptized in CG's C++

eulerscheZahl: probably today or tomorrow The_Auditor

derjack: Magus aka NN stuff

sprkrd: I'm gonna update all my bots immediately

derjack: youll probably get 3x speedup

sprkrd: My UTTT bot was in legend and wasn't using O3

sprkrd: I wonder what that will do

peerdb: damn sprkrd I had the same last contest, I didnt know how pragmas worked and had them below my #includes

derjack: :scream:

derjack: keep in mind #pragma must be as first line

sprkrd: yeah yeah

Marchete: welcome to CG

sprkrd: my first current line is an include from the std

derjack: #pragma GCC optimize "Ofast,unroll-loops,omit-frame-pointer,inline"

  1. pragma GCC option("arch=native", "tune=native", "no-zero-upper")
  2. pragma GCC target("rdrnd", "popcnt", "avx", "bmi2")

MSmits: hi there

Astrobytes: :D

peerdb: derjack can I have a comment above my pragmas?

sprkrd: I've been around for so many years and didn't know this

Astrobytes: Yes

MSmits: comments are ignored

sprkrd: I thought CG was doing the sane thing and compiling with -O3

Astrobytes: Hi MSmits

Vry: About prgma : https://www.codingame.com/playgrounds/283/sse-avx-vectorization/first-avx-code-sqrt-calculation

Vry: *pragma

RoboStac: the pragma just has to be before any code you want optimising (including templates in includes)

peerdb: oh okay lol cus CLion automatically put a comment there and I never thought about it

MSmits: hi Astrobytes, contest done finally.

Astrobytes: Indeed :D

derjack: eeyup

MSmits: glad i got into legend, but didnt improve after that

sprkrd: Thank you, thank you all

sprkrd: Indeed the chat is useful

Astrobytes: ;)

Marchete: I think the no-zeroupper got it wrong

sprkrd: never used pragmas to indicate compiler options, should I do it like in the first line of the code you sent for vectorized sqrt, Vry?

Marchete: sometimes I saw no-zero-upper, no-zeroupper

derjack: dunno what no zero upper does, just copy pasted mindlessly

derjack: as all the things i do

Marchete: but I think it's no-vzeroupper

MSmits: contests used to have two brackets. The search guys at the top, below that, heuristic, more or less

Marchete: anyways that has little impact

Marchete: I'd say none

MSmits: they now have 3 brackets :)

peerdb: this contest heuristics got into legend too

Astrobytes: 3?

MSmits: yes, i meant generally

Marchete: I know derjack, I put the no-zero-upper somewhere and got copied

MSmits: with some mixing

Marchete: because I keep seeing it

MSmits: the 1st bracket will soon be NN's astro

MSmits: like how it is in boardgames

Astrobytes: Ahhh yeah, gotcha

MSmits: and csb

Marchete: also these pragmas were for that test

RoboStac: afaik no-zero-upper was a problem on original avx implementations but on most cpus doesn't really do much

MSmits: search guys complaining nn's are unfair are now in the same boat as heuristic guys complaining search is unfair :)

ItsNotABug: battle for 3rd is looking close

Astrobytes: The One True AI

RoboStac: as an nn guy who's below the search guys can I complain the other way? :)

sprkrd: I don't think NNs are unfair

Astrobytes: hehehe

MSmits: did you do a NN for this contest RoboStac?

Astrobytes: Check the PMs MSmits, some really good ones

RoboStac: yeah

MSmits: havent had time yet. been teaching, omw home now

Astrobytes: ah I see

derjack: omw?

MSmits: well RoboStac, i still think it's ballsy to try it

Astrobytes: on my way

MSmits: good job

eulerscheZahl: i don't see a reason to complain. in theory everyone can build a NN and dominate

eulerscheZahl: it still requires a lot of work and skill

Astrobytes: Yep

eulerscheZahl: but equal changes nontheless

MSmits: eulerscheZahl i agree, i am just saying the complaining is equivalent

eulerscheZahl: right, those evil searches ruining my heuristic bot

MSmits: though when someone counterbooks a NN though...

Astrobytes: Heh heh heh

eulerscheZahl: also ban C++ it's unfair. and give me 1s for python

ItsNotABug: eulerscheZahl You've taken back over top German

MSmits: not a problem in contests ofc

MSmits: too random

MSmits: lol yes languages

eulerscheZahl: that will go on for a bit, i'm not even watching

eulerscheZahl: final results in 3-4h maybe

peerdb: allow assembly and watch new dominance unravel

MSmits: 1 thing would be fair to complain about, if a contest somehow requires loads of expensive local calculation time

MSmits: i kinda liked my 8 x brutaltester

MSmits: didnt make me do better though, but was convenient

Marchete: ban brutaltester too

Marchete: it's unfair

MSmits: could have written my own :P

Marchete: banned too!

MSmits: was pretty easy this contest

eulerscheZahl: i had a bigger problem with fantastic bits tbh

MSmits: oh Marchete

eulerscheZahl: physics game without public referee

MSmits: we had this discussion about beam width right?

MSmits: beam depth sry

eulerscheZahl: so there were those few hardcode-CSB players that could quickly write an engine

MSmits: i accidentally set my beam_width as depth (1000 turns) and my bot performed the same :P

eulerscheZahl: and for the rest of us it was out of reach to adapt that fast

reCurse: Good morNNing

Marchete: weeeee

eulerscheZahl: good afternoon

MSmits: morning reCurse

VizGhar: aaah confirmed :D

Marchete: automatonNN is here

Astrobytes: hehehe

eulerscheZahl: congrats, a massive win

reCurse: Oh there's even 2 Ns in afternoon, missed opportunity

reCurse: Thanks

Astrobytes: Yeah, well done

derjack: and evening

MSmits: thanks for motivating me even more to learn this nn stuff reCurse

Marchete: he hasn't said anything, no?

Marchete: about NN

reCurse: NNo

Marchete: lel

MSmits: doesnt need to i think

Marchete: yeah

derjack: nneed

Marchete: after seeing his first move

MSmits: but sure, i could be wrong

Marchete: in some replays

Marchete: I was thinking, wth!?

VizGhar: we are waiting for that post mortem :)

reCurse: I briefly considered renaming to Totozero :p

Marchete: so I assumed NN

MSmits: missed opportunity

Astrobytes: lol

olifozzy: NN is the new GG

eulerscheZahl: on a scale from 1 to 10, how exhausted are you this time?

reCurse: Um

MSmits: who?

eulerscheZahl: reCurse

reCurse: A bit over the first half: 11

reCurse: Last few days: 6? 7?

darkhorse64: overheated maybe ?

MSmits: once it works, it works eh?

reCurse: My allergies are killing me

reCurse: So probably mostly that

eulerscheZahl: so no BotG-like PTSD to expected this time

reCurse: Most of the work done was outside the contest eh

eulerscheZahl: right, that's clear to me

MSmits: oh and will you just be back for contests reCurse? Earlier people were saying you left CG

reCurse: I took a CG hiatus for over a month before contest

MSmits: yeah

reCurse: Considered leaving CG yeah

MSmits: well it doesnt have to be a all or nothing thing

MSmits: plenty of people come here just for contests

reCurse: Just too frustrated with the direction this site is going

reCurse: But contest is always that magical time of the year

ThunderbirdOne: I haven't been here for a year either

ThunderbirdOne: it's fine

ThunderbirdOne: though i'm not a mod of course :P

ThunderbirdOne: i am missable

eulerscheZahl: you used to be a missile

MSmits: reCurse maybe just focus on the part that is fun for you however small it is. No need to be involved in big picture stuff. I don't

davilla: what direction is that?

reCurse: Well here's the thing, wasn't sure if I was going to disclose it but

reCurse: Whatever

sprkrd: reCurse what is it you don't like about the site?

reCurse: I'll be switching to human learning in a month or two

eulerscheZahl: less contests, less competitive direction

reCurse: :P

reCurse: So who knows after that

MSmits: wait, do you mean becoming a teacher?

reCurse: Father

MSmits: ohhh

ThunderbirdOne: oh congrats!

eulerscheZahl: oh, congrats

MSmits: awesomenes

Astrobytes: Oh wow, congrats!

ZarthaxX: cognratzz

MSmits: congrats

ZarthaxX: amazing man

Kellthazar: gratz

Wontonimo: Congrats, a new NN in the family

ZarthaxX: lol

Astrobytes: :D

Wontonimo: it learns in real time

MSmits: human learning lol... forgive me for misunderstanding that one :P

reCurse: I finally get the legitimate right to dad jokes

MSmits: yep

reCurse: Not gonna let that one go to waste

reCurse: Thanks everyone

Astrobytes: hah!

davilla: wonder which human will be learning, him or the kid

reCurse: So yeah it's been on my mind

MSmits: both

reCurse: Whether I have time for CG at all after that

MSmits: depends on your family

MSmits: every family is different

MSmits: I still get a lot of spare time

Wontonimo: the first 2 years of my kids life is a complete blur

MSmits: but yeah first few yrs, a lot less time

Wontonimo: but there are pictures that prove it happened and in every one of them I look like someone just woke me up

Astrobytes: lol

MSmits: lol

reCurse: I'm still going to do tons of machine learning stuff, just the competition stuff tends to pull away way too much of my focus

MSmits: my daughter was born 3 months after i started teaching for real

derjack: so, teaching gives you babies?

eulerscheZahl: pb4 is also competing occasionally. and then skipping a contest again

eulerscheZahl: you can still play like him

reCurse: I'm an all or nothing kind

MSmits: eh no, Astrobytes please explain how much time babies need to grow

Astrobytes: :D

derjack: 3 days

reCurse: It bothers me to think of "what if I had 100% dedication" etc

eulerscheZahl: all on 1 contest and nothing on another?

MSmits: yeah I can see why that would bother you, it would even bother me, so i imagine it would be worse for you

reCurse: shrug

Wontonimo: it's a new variable for the contests

reCurse: I don't know what to expect at all tbh

reCurse: Kinda nervous

reCurse: So playing pessimistic

ThunderbirdOne: it'll be fine ;)

ThunderbirdOne: just enjoy the ride

reCurse: Will do

MSmits: sleep when you can :)

Wontonimo: yes

ThunderbirdOne: nothing wrong with siestas, dont let anyone tell you otherwise :P

MSmits: i should not complain, sleepless stuff only lasted a couple days for me

davilla: your other half is probably complaining then

MSmits: she was, sure

kovi: gratz recurse and gratz

reCurse: She's very understanding, I'm blessed

reCurse: Thanks

Wontonimo: reBlessed

Astrobytes: Peaceful baby = terrible toddler Terrible baby = anyone's guess :P

MSmits: biggest problem we had is bottle took 45 mins each time

MSmits: soooo slow

davilla: I'm guessing, also terrible toddler

reCurse: So I definitely killed this contest talk eh :p

CouscousAgha: damn the fights are still going

reCurse: I should not have read PMs, now I want to start over

MSmits: yeah it always takes most of the day

Astrobytes: A refreshing change of topic tbh reCurse :)

eulerscheZahl: you are even the cause of some japanese tweets

reCurse: Yeah I saw :)

Astrobytes: Finally! You're big in Japan!

derjack: japanese tweets?

Wontonimo: MSmits, sometimes a long time drinking is a break from crying. My second cried from the time she woke up to the time she went to sleep for the first2 years

eulerscheZahl: the extraterrestrial

MSmits: oh right, thats true Wontonimo

MSmits: apparently i was one of those ones

MSmits: not my daughter though

davilla: interesting

MSmits: I'm guessing, it was because I had no tablet like the kids do now

MSmits: i would have been such a happy child if i had one

MSmits: :jealous:

Marchete: why sometimes the CG chat goes bugged and the scroll bar stopped working?

Wontonimo: I have to admit, I had a lot of fun poking the chat when I noticed you were curb stomping the gold boss reCurse ... it was fun to see the chat explode

CouscousAgha: wait

CouscousAgha: how old are u guys

reCurse: I was watching :)

reCurse: Just didn't want to be too distracted

MSmits: CouscousAgha 40

reCurse: I honestly wanted to fix those losses

Wontonimo: HAHA

CouscousAgha: im 23...

MSmits: oh, i will watch my language then CouscousAgha

eulerscheZahl: i woke up at 5am, full of motivation to add a new feature to my bot after an idea I had at night

Wontonimo: you've convinced me, it's time to build out my NN for CG tooling

Astrobytes: I'm 38. reCurse is the oldest guy here, he's over 50 you know :P

eulerscheZahl: opened the website, quick look at the leaderboard

reCurse: What no

reCurse: I'm 37

derjack: huh

eulerscheZahl: and then i was completely distracted

Marchete: my first contest was with my 3month old toddler

Marchete: nights are long

MSmits: did it help any eulerscheZahl?

ZarthaxX: CouscousAgha same here

Astrobytes: I know. Remember kovi's assertion that you were older than him?

eulerscheZahl: Astrobytes did you think of kov i?

Wontonimo: i may be oldest here

Zaphus: I doubt it

eulerscheZahl: yes, MSmits. it was my stupid opponent grows everything at once assumption

eulerscheZahl: gave me 58% winrate vs old bot

Astrobytes: eulerscheZahl: kov i thought re Curse was older than he was

eulerscheZahl: and translated well to arena

eulerscheZahl: oh, i forgot about that again (or wasn't around)

MSmits: ohh ok i tried that, was 50%

eulerscheZahl: i know that he's approximately as old as my sister

Wontonimo: look at my picture Zaphus, don't I look old?

MSmits: might be poor implementation, or didnt synch well with rest of eval

kovi: who is older: my guess was based on ambigous chat comments

ZarthaxX: Wontonimo you cant fool anyone lol

Zaphus: Nah, Wontonimo - thats just hard living :-)

Astrobytes: Too many tacos!

Wontonimo: never

Astrobytes: :D

reCurse: Dealing with school kids loose on the chat does make me age

Astrobytes: I feel that.

cegprakash: as always weird leaderboard and matchmaking.. not enough games in my rank range : http://cgstats.magusgeek.com/app/spring-challenge-2021/cegprakash

Marchete: parent chats :D

CouscousAgha: yes what your language elders

Astrobytes: Oh, bi-annual ceg moan incoming

CouscousAgha: my 23yo ears cant handle tough language

CouscousAgha: watch*

MSmits: cegprakash thats just because you move up the ladder, it doesnt show all of it. If your bot is good enough it will get out of gold

Astrobytes: I refuse to participate. It's the same conversation every time :rofl:

MSmits: i did many submits to get out of gold and all of them in top 10 until 1 got out

cegprakash: 60% win rate

cegprakash: not enough to climb?

eulerscheZahl: the only winning move is not to play

Marchete: no

MSmits: cegprakash no its not

MSmits: mine is almost 100% till it gets neae top

MSmits: near

eulerscheZahl: you get 70% at the beginning and 50% at the end

MSmits: very roughly, yeah

Marchete: it's true that trueskill goes grazy with ties, but overwall it's good

RoboStac: cegprakash - looking at the stats there you have won 8 games and lost 15 in that range so you should be going downwards

Marchete: a good with a lot of ties can put you at bottom

CouscousAgha: cegprakash if your bot has 50%-60% in a specific rank means it belongs there

eulerscheZahl: :popcorn:

Astrobytes: lol

MSmits: someone else wanna pile on?

davilla: is that meme that well known, now?

ZarthaxX: :rofl:

davilla: doesn't even need a subtitle

Astrobytes: :D

reCurse: My doctor has recommended me not to participate in those conversations

ZarthaxX: this problem with ceg always arises heh

Astrobytes: ZarthaxX: Every. Single. Time.

eulerscheZahl: and don't tell him to read the statement

ZarthaxX: :rofl:

ZarthaxX: talking about statemen

cegprakash: I was rank 200 in gold

peerdb: cegprakash i win 65% of the matches and it put me on rank 309 (82nd in gold)

peerdb: so it seems fair

ZarthaxX: have you seen nmahoud e pm?

cegprakash: resubmit with improvements bang..

cegprakash: rank 400 in gold

eulerscheZahl: yes, iread nmahoud e

ZarthaxX: he mentioned amount of actions in 50ms, i think he didnt notice the 100ms

MSmits: they are not improvements :P

ZarthaxX: :/

eulerscheZahl: i pinged him on it

MSmits: anyways, train arriving, ttyl

eulerscheZahl: he has a fixed depth of 6

reCurse: :wave:

eulerscheZahl: which is about 50ms in most cases

ZarthaxX: did he saw the 100ms tho?


Wontonimo: later

Astrobytes: later MSmits

ZarthaxX: ahh okey

cegprakash: my old bot had 50% win rate and was in rank 200

eulerscheZahl: see you, good bye

ZarthaxX: bye MSmits

peerdb: the level of play rises each hour ceg

kovi: full heuristic bots are finished already

Wontonimo: well, i'm kinda sad suddenly because I know that mostly the chat is going to be dead in a couple days. It's been great, and hope to see everyone around from time to time before the next competition

Astrobytes: Damn, I forgot to write my PM explaining to anyone that didn't yet see it that I didn't like the contest and euler made me do it :P

kovi: all others are cheating and doing search in script language ;)

cegprakash: peerdb or u get caliberated bad because u had 2 bad games in the first 20 games

Astrobytes: Wontonimo: some of us will still be around ;)

reCurse: Don't forget to close with "not knocking over this contest"

cegprakash: I used minimax and my bot is well tuned against top players

cegprakash: especially boss

Astrobytes: reCurse :D

aCat: legendary bpss recurse ;p

kovi: we still wait for my bot is nn and trained against top players...

Wontonimo: i can count on you Astrobytes!

Astrobytes: :grin:

kovi: that is when the real hiding starts

reCurse: Speaking of hiding

reCurse: Honest question

reCurse: If I submitted that wednesday, do you think it would have been more fair? Better?

derjack: its fine

derjack: i dont mind hiding :v

Wontonimo: it's not hiding, NN take time to train

derjack: and less chance to counterbook you eh

kovi: this time we would have no chance for sure and it may not force me thinking to switch to duct instead of beam cause it was obviously nn

reCurse: I was legitimately scared people would spend the next few days finding flaws

Wontonimo: than you played it well

kurnevsky: Anyway almost everyone have an opponent he can't beat :)

aCat: oh ythey would ;p

eulerscheZahl: would have tried at least

aCat: that was great coming out recurse ;p

aCat: fun to watch

kovi: reasonable point recurse

reCurse: Well it's also that

reCurse: If I was slower, I would be less penalized

reCurse: So makes no sense to me to early submit

Wontonimo: in some other contests you only get to stay on if you are in the leading league. not the case here, so it's legit okay to come in last hour

Default avatar.png rohrokz: https://www.codingame.com/clashofcode/clash/175691105515427ec9bd4c8d0fb9aae5188a9bb

eulerscheZahl: share that on #clash

sprkrd: Did the pragma thing with my UTTT code, went from 2000 simulations to 10000 with my MCTS code, and went from depth 6 to depth 8 with my minimax :D

Marchete: it's noticeable

sprkrd: (I had both a MCTS and a negamax bot laying around)

sprkrd: Quite a bit, yes

_Royale: congrats to all and thanks for the PMs :-)

struct: hello

golyshevskii: hello, guys)))

davilla: can I get someone to volunteer a comment here? https://www.codingame.com/training/medium/bijective-numeration/discuss

eulerscheZahl: surprised not to see you higher this contest. little time?

derjack: sprkrd so how many ranks up?

_Royale: eulerscheZahl: little skill :(

sprkrd: derjack I don't know until full eval, but so fat I've climbed ~80 ranks in legend

sprkrd: so far*

derjack: oh my

eulerscheZahl: oh. sometimes there's just the game that you don't know how to play

ZarthaxX: and struct is 44 rn :o

sprkrd: I was at the dead bottom of legend because my bot timed out sometimes. I'm greedy and I want my full 100ms :joy:

struct: :pray:

Astrobytes: nice

Marchete: you people don't sleep...

struct: I just woke up

Marchete: 4 hours?

struct: 5+-

Wontonimo: i had commitment issues and waffled the first 3 days if I was even going to play, then 3 days of ifelse not thinking I'd write a sim. Greatest enemy in this game was myself.

Wontonimo: and reBless

eulerscheZahl: i'll answer the sleep statement with https://imgur.com/a/CgW11GB

Wontonimo: and really everyone in legend

ZarthaxX: :) you are welcome wonto

Astrobytes: Error 4:04: Sleep Not Found

ZarthaxX: love making your life harder

ANJACE_Z: r u the undercover toad?

eulerscheZahl: yes, eulerscheZahl = UndercoverToad

ANJACE_Z: big fan haha

eulerscheZahl: chat got too laggy

Marchete: and your evil twin?

davilla: nevermind, I guess Discord will have to do

eulerscheZahl: is at rank 41

Astrobytes: geheimKröte

struct: No one wrote about the same bitboard I used yet?

struct: Do i need to do it?

eulerscheZahl: https://forum.codingame.com/t/spring-challenge-2021-feedbacks-strategies/190849/13?u=eulerschezahl

struct: not the same

struct: that one doesnt have 3 bits padding

reCurse: Who knows if we don't know your bitboard

darkhorse64: Koddle also wrote something

reCurse: I used bitboards

struct: reCurse I just meant

struct: Nobody wrote about it

eulerscheZahl: so you have to do it struct

Astrobytes: Immediately.

struct: Im sure some people did it in a similar way

ZarthaxX: like me that i copied you

eulerscheZahl: collect some likes, get the philosopher achievement

reCurse: I just literally kept this on my second monitor to do bitboards https://www.redblobgames.com/grids/hexagons/#map-storage (click hexagon)

eulerscheZahl: do you have to unset bits for longer shadows?

eulerscheZahl: if yes, struct wins that round at least

reCurse: Mask with map mask 3 times

eulerscheZahl: i had that too

eulerscheZahl: structs layout doesn't need it

reCurse: But do you get neighbors for cheap

eulerscheZahl: he does too

reCurse: Without indexing?

sprkrd: This is a minor achievement, my first recorded victory against euler :D: https://imgur.com/a/CLaPPTL

eulerscheZahl: shift my 1,9 or 10 depending on the direction

sprkrd: It's somewhat diminished by the fact that he won immediately before, but still :)

struct: http://chat.codingame.com/pastebin/d97e25c5-691f-464d-b4d1-32e423d46f85

VRtheKing: alex = apalepex

VRtheKing: what is this

reCurse: Variable shifts :scream:

eulerscheZahl: sprkrd is that UTTT?

VRtheKing: nope I mean the input is alex and output is apalepex

reCurse: I could be completely wrong here because predicting low-level perf is hard

reCurse: But I think this is slower than straightforward

sprkrd: eulerscheZahl yes

eulerscheZahl: one of the legends i struggled the most to enter

eulerscheZahl: that and wondev woman

reCurse: But it was so huge

eulerscheZahl: i'm terrible at fast code

eulerscheZahl: in most games i can compensate to some degree with eval or search algo

struct: maybe its not faster, I havent benched other ways

eulerscheZahl: but UTTT is mostly about speed

jacek: to this day i keep win against reBless in UTTT as 2p https://www.codingame.com/replay/536825365

eulerscheZahl: you could still do 3 sequential shifts without the unset part

reCurse: I don't think saving an and masking is worth it

reCurse: It's literally already in the register too

reCurse: shrug

eulerscheZahl: fair enough, more of academic interest

OldJohn: @struct you can replace *2 by << 1 btw to help readiness

derjack: oO

Wontonimo: lol

struct: :D

davilla: thanks, Old John

OldJohn: You are welcome

cegprakash: omg eulerscheZahl had bugs in his sim

cegprakash: nutrient bug

cegprakash: that hurts

eulerscheZahl: i have?

cegprakash: "I made my simulation incorrect by not decreasing the nutrient on each cut tree. Instead I decrease it by 1 on each WAIT action."

eulerscheZahl: it's intentional, made it easier for me to score states

cegprakash: I see

Marchete: I don't understand that

cegprakash: it's minimax concept

cegprakash: u assume opponent completes first

cegprakash: that way u can play a safe move Marchete

Marchete: on each WAIT?

eulerscheZahl: if i reduce the nutrient, the other tress are worth less

eulerscheZahl: so i don't want to sell them

CouscousAgha: the scores wont change even after a win or loss?

eulerscheZahl: because my sim is wrong in the first place and I give every tree the full score

eulerscheZahl: which is stupid but i felt like not bothering with it

reCurse: Definitely not unusual to make simulation not work the same

struct: Are you going to write a pm?

Wontonimo: I'm looking forward to reading the PMs

cegprakash: eulerscheZahl u used the same scoring for opponent?

miszu: good morning children

Default avatar.png CaptainTraveller_2e82: Hi everyone!

PatrickMcGinnisII: Spring Challenge 2021 report for PatrickMcGinnisII Rank 857/6867 I suck

miszu: PatrickMcGinnisII it's good man!

miszu: where can I get my report?

PatrickMcGinnisII: https://www.codingame.com/contests/finished

miszu: nvm found it thanks!

miszu: 680/6867

OldJohn: @Astrobytes I'm 55 and I know olders here !

davilla: Young John it is, then

Astrobytes: OldJohn: Yeah, there are quite a few actually!

E_pur_si_muove: OldJohn: that's only your halftime result :)

PatrickMcGinnisII: Oh another OG, great

davilla: Original Gangster?

OldJohn: I am old enough to know Ken Thomson, the Spracklens, Richard Lang, Richard Greenblatt... So you probably understand on which game I was competing

Lysk: Original Gontest?

eulerscheZahl: cegprakash 04:34PM eulerscheZahl u used the same scoring for opponent?

minus the eval of tree count and positions. i can't change it anyways

OldJohn: I forgot Claude Shannon also

E_pur_si_muove: Aristotle?

Astrobytes: Chess. Nice

olaf_surgut: could someone downgrade my rank to 2137?

Astrobytes: What do you mean olaf?

derjack: such a nice number

eulerscheZahl: just submit some bots that are worse than your current

ZarthaxX: he is into something Astrobytes

derjack: and we have chess on CG

olaf_surgut: in poland its meme

OldJohn: @derjack I saw that but I want not to infer with successfull memory in the 199x...

Astrobytes: ah ok olaf_surgut

davilla: Urban Dictionary to the rescue

HoangH7: @olaf ask Elsa.

derjack: i doubt it will be on urban directory

derjack: or dictionary

eulerscheZahl: Time when pope John Paul II died.

Astrobytes: OldJohn: I think you should try it anyway ;)

derjack: pepe?

derjack: dbd still 1st on othello :unamused:

BrunoFelthes: why high legend take more time to process?

BrunoFelthes: bigger games?

Astrobytes: Most are using the full time limit for a start

reCurse: Personally I turned off my solver because I suspected a bug with it

Astrobytes: And thousands of games

BrunoFelthes: hum, make sense

reCurse: So it still takes 100ms at the end

reCurse: RIP

BrunoFelthes: reCurse, do you start your tree using 1s at the first turn?

reCurse: Roughly

reCurse: Sometimes it stops at 700ms for boring technical reasons

BrunoFelthes: and do you reuse it for next turns?

reCurse: Yes

BrunoFelthes: nice...

reCurse: Well, sort of

OldJohn: @Astrobytes Chess is too serious. I need to be full time on it as I used to be. So only in 5/7 years with retirement

BrunoFelthes: do you reuse with hashtables or just jumping into the choose tree state?

reCurse: Hashtable

Astrobytes: OldJohn: Ah. Yes, that's fair enough!

xMizar: Hi all. Sorry for the stupid question, but which delay on the first turn are you discussing here?

reCurse: First turn gets 1000ms

reCurse: So you can compute more stuff for later use

Wontonimo: is there a way world-chat-only page or tool ? (other than hacking html)

BrunoFelthes: so, each turn do you start a new tree, but this time it is faster because do you have some hashes calculated at the previous turn?

reCurse: Wontonimo: suggested that years ago

reCurse: I start a new tree each turn

reCurse: It's a godawful stupid idea btw

reCurse: Only realized it costs me much perf too late

reCurse: Entire turns spent rebuilding tree from cache heh

BrunoFelthes: but, for rollouts, do you use cache too?

reCurse: Cache all the things

Wontonimo: gotta go, work calls

ZarthaxX: cya wonto

PatrickMcGinnisII: where's the final leaderboard, i'm dumb this morning

reCurse: https://www.codingame.com/contests/spring-challenge-2021/leaderboard/global

reCurse: +6.66 achieved stopppp

PatrickMcGinnisII: tx

reCurse: Nevermind I still can't math

PatrickMcGinnisII: oh it's still running the rerun?

peerdb: almost done

PatrickMcGinnisII: well congratz to the top coders!

PatrickMcGinnisII: worktime

Default avatar.png AeroFufel: reCurse, which hardware did you use to train NN? I'm a bit sad that one needs to pay money to be competitive... kind of. Participants with an access to server power have advantages. What do you think guys?

reCurse: I didn't pay servers

ZarthaxX: no lol

reCurse: Just my own computer

reCurse: i7-8700k with RTX 3080

jacek: at this level paying for training NN isnt neccessary

Default avatar.png actualCoderTrevor: Testing my new avatar...

Default avatar.png AeroFufel: got it, well, still ))

Default avatar.png actualCoderTrevor: Fail lol

struct: no advantage

struct: I rented and didnt move

reCurse: Stuck on 12 cores because I don't like AMD and on the fence about 11th gen

reCurse: Also stock issues

struct: just wait for 12th gen

struct: 16 cores

reCurse: I guess

jacek: and here i am stuck with AMD's ryzen 7 5800x

VizGhar: I can see my ranking already

ZarthaxX: how did it go VizGhar

Counterbalance: 20 threads but didn't use them :(

VizGhar: ah poorly... I came up with beamsearch in first 2 days and haven't worked on it properly after

VizGhar: so just first half of gold :) I'll do better next time, just have to train this kind of code-writing

KalamariKing: jacek did you just say STUCK WITH

OldJohn: So reCurse, so you use NN and search... like aplhazero ?

reCurse: Totozero

reCurse: But yeah pretty much

jacek: KalamariKing in sacrastic way

VizGhar: let him write the post mortem :P im sure he will answer everything there

reCurse: Oh god

OldJohn: OK then...

VizGhar: or has he already?

reCurse: I still need to write this

VizGhar: :D

reCurse: Why did you remind me

OldJohn: and some info about totoZero ?

VizGhar: :zipper_mouth:

reCurse: Just a lame joke with totoro, it's mostly alphazero

jacek: with a policy?

reCurse: Policies

OldJohn: OK then. So in you PM you'll have to focus on the NN inputs and outputs

jacek: robo wrote about NN inputs and outputs

OldJohn: BTW in Othello do you use NN also ?

reCurse: Yes same pipeline except version "2.0"

OldJohn: @jacek It may be different

VizGhar: inputs and outputs are not that hard i suppose... I fear the training

reCurse: "2.1" is this contest

reCurse: Comes with small bug fixes exclusive to this contest

reCurse: Like it does not throw away 95% of training data anymore \o/

reCurse: (True story)

OldJohn: @reCurse ok fine ! my own othellozero implementation is not at your level. Congrat

Astrobytes: 95% !

ZarthaxX: VizGhar pretty good anyway!

reCurse: Yeah I was livid when I found that bug

jacek: what happens to the other 5%?

ZarthaxX: i meant your performance

VizGhar: TY ZarthaxX

reCurse: I am actively repressing the thought of what it would do to my uttt

jacek: :scream:

Astrobytes: :D

jacek: yeah, detronize karliso

VizGhar: mg... now everybody will try to learn NNs before next contest...

reCurse: Circle of life

Default avatar.png AeroFufel: that's right... and sad

DomiKo: will try - that's a good word

MSmits: i would love to see your uttt improved reCurse

OldJohn: Just follow my courses :-) Sorry only for my collegues

jacek: :thinking:

MSmits: I still want to try to find a route for p2 to force a draw, dont think it exists, but a better bot can maybe find it

VizGhar: Hmm I want to know how big is such NN code in codingame.

reCurse: Smaller than you think

VizGhar: shouldnt be that big right?

jacek: code is small, weights are big

VizGhar: just hardcoded weights and there you go

jacek: i use 1 char per weight, resolution a little less than float16

MSmits: reCurse if you throw away 95% of the training data, doesn't that just mean it takes 20x longer to train? Or was the thrown data not uniformly distributed?

reCurse: Distribution problem

jacek: and my typical NN is in range 20k-75k weights, rest is the code

MSmits: aha

Marchete: maybe it's better a PM than random chat questions

jacek: a bug in buffer queue?

MSmits: jacek might as well use 32 bit floats, or would that affect performance (simd etc.)

reCurse: I don't know, the questions help me figure out what I should talk about

reCurse: (I hope)

Marchete: ahh

VizGhar: 75k... for which contest? sounds scarry

reCurse: I started something yesterday, then I read the PMs this morning and decided to start over

jacek: multiplayer games

MSmits: reCurse I know the most important question

reCurse: I never learn

MSmits: dreadylein wonders this also

VizGhar: uhm in general ok

MSmits: how did you structure the input

jacek: MSmits i dont use avx/simd (explicitly), its just for storage. they are floats anyway

MSmits: ah ok

Marchete: inputs layers, outputs, how it's the training pipeline, what kind of data (i.e. value+policy) do you export for training, rollout numbers

MSmits: well yeah i guess output also, if it has policy

reCurse: I am still extremely uncomfortable with giving too much details

reCurse: Not a rational reason

Marchete: ahh ok

jacek: we'll give you cookie

MSmits: no, it's ok to keep it to yourself, just throwing out options here

OldJohn: I have to make a oneapi NN example for the work, maybe I'll use a game for that !

jacek: try oware

struct: amazons

reCurse: Why oneapi and not cuda? Just curious

reCurse: And what's your line of work if you don't mind me asking

reCurse: OldJohn

OldJohn: because I have to use Intel next GPUs

Marchete: I'm always puzzled about what to export ( policy == visits? value = NN result of value or endgame 1/0)?

reCurse: Oh interesting

OldJohn: And with oneapi you can use the GPUs of your 8700k

reCurse: But is it really as fast as nvidia cuda optimized libs?

OldJohn: NDA, sorry

reCurse: Ok np

reCurse: You work for/with intel?

OldJohn: Nope but I have to benchmark V100, Mi100/mi200 and future ATS/PVC and I have to be ***fair***

reCurse: That sounds fun :)

reCurse: What's your line of work

OldJohn: yep, that is the fun part of the work

jacek: do you mine crypto in free time with those

OldJohn: @jacek I can't sorry

jacek: right, I believe you

Default avatar.png Chara98: hello

xMizar: Sorry for the stupid question, but did i understand correctly that you implemented NN here, then export some data after each round and then tweak your parameters and weights using that output?

Default avatar.png Chara98: I am noob how can i be good at problem solving?

jacek: perhaps I should try exploring those fancy libs, i made my NNs from scratch only and theyre simple

reCurse: No, the NN is exported offline to be part of the code

reCurse: Then it's used during the game

Default avatar.png bociricsi: Chara98, never stop trying

Default avatar.png Chara98: ok

OldJohn: @reCurse yes it is a good idea to use tf or pytorch and then generate the good C++ code, there are plugins for that

jacek: Chara98 try easy puzzles first https://www.codingame.com/training/easy

reCurse: Generate C++ code?

jacek: welp you only need forward here

xMizar: Wow, i just wrote stupid algo here, without NNs :)

reCurse: NN is very new on CG

KalamariKing: I was gonna write a nn, since I've got experience with those, but I decided not to

xMizar: It's my first game ever

KalamariKing: Contest you mean?

xMizar: Yes

KalamariKing: Hey same

Marchete: you need to code the inference engine

Marchete: you can't just import tensorflow

OldJohn: You can generate the inference part in c++ with a plugin

OldJohn: without using TF libs

reCurse: That's interesting, never heard of that

Marchete: plugin of 8BM probably

Marchete: MB

Marchete: or how's the size?

Marchete: even tflite was big

reCurse: They usually don't optimize for source code size :P

TBali: funny: in the leaderboard right now only #6 is recalculating. Who is it battling with then?

Marchete: TFLITE - good for embedded -> 20MB

cegprakash: #clash

Marchete: wtf

reCurse: Matchmaking is one-sided

reCurse: Just like submits

OldJohn: We used that in numerical simulation code where NN is doing some kind og interpolation of a complex function

TBali: I see, thx

OldJohn: keras2cpp for example

reCurse: Anything for pytorch? Not big on tf myself

OldJohn: So you add to code the game in Python first reCurse ? I did not have time for that myself

OldJohn: But you can let that in the PM :-)

reCurse: ? You don't need to run the self play in python.

OldJohn: Ok then !

nmortfeus: python is goat

OldJohn: I still wonder if https://github.com/deepmind/open_spiel is usable by students ?

jacek: python is reptile

Marchete: yeah that keras2cpp seems very slim

reCurse: I have the same relationship with python as with pythons. Stay away as far from it as possible, and when I have to it usually involves strangulation.

OldJohn: I have the same feeling with Python, so I use Ruby as script language and play Othello !

reCurse: I think I'll die with C++ myself

jacek: othello in ruby? :scream:

ThunderbirdOne: I've played with Python... I get the appeal... you can build stuff pretty quick... but man =/ it just doesnt click for me

Default avatar.png AeroFufel: @reCurse Did you touch Rust? I had so much hope in it and C++ still wins for some reason

OldJohn: So enough *work* for today, time to go home !

reCurse: Bye

OldJohn: bye all!

reCurse: I briefly looked at Rust

Default avatar.png AeroFufel: bye

struct: cya

reCurse: I don't see anything that compensates for the enormous loss of momentum, tooling, familiarity, legacy, etc

Default avatar.png AeroFufel: true true

reCurse: Not that it's not good, but the cost is just too great

ChadThundercode: most of the contest I was improving my C# code, and got a boost when I translated it into D :thinking:

reCurse: If I was worried about security like I'm writing a browser though, for sure

Default avatar.png AeroFufel: understood

miszu: which bot game should I go next? Othello or yavalath?

reCurse: Time to hide

MSmits: whats you goal miszu, what are you looking for in a game?

miszu: well I want to practice a bot game where eval function is simple

MSmits: Othello has some well known eval features

MSmits: you wont be nr 1 with them, but should do well, maybe top 10

miszu: and it's all about coding the best heuristic that takes leverage on eval

miszu: othello is just # of your pieces

miszu: so easy eval

MSmits: remember, to win at almost any board game these days, you need NN or similar

miszu: but there are some small traps

MSmits: but you can be top 5 without NN

reCurse: That's a strange way to misspell opening book

miszu: you did NN?

jacek: othello isnt about piece count

MSmits: I can be nr 1 with opening book if i want to, i am trying to leave it out of the discussion reCurse :P

reCurse: But that's factually wrong

reCurse: To win you need opening book

MSmits: sure sure

miszu: at least in beginning for sure

MSmits: unless noone does it

MSmits: and almost noone does

miszu: I'll look it up some opening books about othello and hopefully gain some ranks

miszu: alright othello it is

MSmits: you will notice i still have not reactivated my othello one

miszu: you're #7

reCurse: Part of therapy is not to look at those leaderboards

MSmits: yes, with a simple eval miszu

struct: you can always try amazons

struct: jacek has NN ready for it

miszu: oh jesus

miszu: NN

MSmits: miszu honestly dont worry about NN

reCurse: This is gonna fall on deaf ears

reCurse: NN this year is going to be the GA of 2018

MSmits: become good enough with regular search algorithms and then if your progression is blocked by NN, then worry about it

reCurse: Mark my words

MSmits: you need a search for a NN anyways

miszu: I took ML class in uni. I didn't even understood 30% of the math but finished with A- in the class

MSmits: it's not like they just look up the move only

DomiKo: reCurse yeah, but is this good or bad?

DomiKo: will we have NN battles?

reCurse: I don't know

jacek: yeah, for now i have simple eval in amazons

reCurse: I don't care

MSmits: DomiKo i am not certain if it even mattered this contest

MSmits: reCurse might very well have won with a normal algo

MSmits: he certainly did other times

reCurse: Oh you weren't there?

reCurse: I said totozero

reCurse: That's it, this is the official name of pipeline now

MSmits: no you misunderstand

miszu: btw, I assume C++ is the way to go with othello

MSmits: i meant

MSmits: if you had done a normal search

MSmits: you might have won also

MSmits: because you did before

DomiKo: no, doubt

MSmits: and other people tried NN

MSmits: Agade and Robo

MSmits: these guys are experienced NN players

jacek: miszu you can learn a lot about bitboards for othello

DomiKo: Agade and Robo know what they are doing

MSmits: and they failed and semi-failed

MSmits: (compared to their normal results)

MSmits: I like the bravery of trying though, NN is very hit and miss

miszu: jacek I know some bitboard due to UTTT. But I guess the best question is how to leverage on it

miszu: to simplify calculations

reCurse: Oh I see

struct: I tried to find NN for dummies during testing

reCurse: I don't know my patience for hardcrafting evals is nowhere near where it used to be

MSmits: understandable, it does get old. The fact that the contests are time limited at least makes you stop

MSmits: locam was painful for this

fenrir: I did an NN too but not the same algo (a policy gradient A2C like but with complete episode) but clearly not the same result than reCurse ;)

reCurse: Yeah I saw that's very cool fenrir

reCurse: Model-free is certainly impressive

MSmits: nice one fenrir

reCurse: On a board game

fenrir: it's very close than the one I have done for CSB

Default avatar.png slamo: did recurse post how they did it?

reCurse: If this chat was vs code

fenrir: for CSB I did try AlphaZero but got nowhere (dunno if its the algo, my code, bugs ? ...)

reCurse: I'd be done writing the PM

reCurse: eh

reCurse: Takes me forever to get in the flow

fenrir: and so for this game I decided to not retry AZ, might have been an error ;)

TheBatMan_TM: hey guys

TheBatMan_TM: I need help

reCurse: I think model-free when you have the model available is a mistake personally

struct: "It's not impossible that a 3rd event happens during the year." Please dont give me hope

TheBatMan_TM: can any of y'all suggest a good REPL for MERN stack dev??

DomiKo: 3rd contest :open_mouth:

fenrir: you do some kind of AlphaZero, righ ? but here I am unsure how to handle the silmutanous part. a DUCT ?

reCurse: Yes and yes

TheBatMan_TM: which supports multiple terminals? online

fenrir: or you serialize maybe ...

fenrir: ok, so it should also work on CSB

fenrir: but I failed largely on it

reCurse: Reinforcement learning is mostly about failures

MSmits: fenrir your nn on csb beats every non-NN

fenrir: I will retry on this game then, as now you are 'proof' it can work

fenrir: th CSB bot is not an AZ but a policy gradient

MSmits: oh you meant you failed AZ

fenrir: (the bot I submitted I mean)

MSmits: i see

fenrir: yes, I failed to make AZ work on cSB

fenrir: using MSTC + DUCT + NN value/policy

fenrir: but so many part with potential bugs ;)

reCurse: You don't say...

MSmits: ah yeah

miszu: for othello just for the lolz I submitted a random bot. It is sad to see I am able to beat some players.

MSmits: oh, thats one thing that was nice this contest, I ended with 600 lines!

MSmits: normally 1500-2000 :P

fenrir: I will also need to add the unicode trick to nearly double the size

MSmits: hmm larger network also makes it slower right?

fenrir: (and CSB seems easier, always the same actions)

fenrir: yes, but at inference time, for a policy only one, time is not an issue

fenrir: my bot answer < 1ms

MSmits: ah ok

MSmits: wow

MSmits: why not search a little deeper?

reCurse: Policy only

fenrir: but a MCTS + NN, that's another story

MSmits: oh, it's ply 1?

MSmits: a policy only?

MSmits: oh right

reCurse: Model-free

MSmits: you cant backprop anything

fenrir: yep, policy only, that's the drawback, I cannot exploit the extra time

MSmits: yeah, would be better with a bigger network

MSmits: can encode policy better and use more time

Lysk: my latest attempt with A3C on CotC, the boat was moving in circles...

reCurse: My uneducated opinion is muzero is a far superior approach

reCurse: When you don't have the model

fenrir: with policy gradient, also, it's quite tricky to not have the policy converge very fast tome something suboptimal, that's my main problem

MSmits: when you dont have the model, azero isnt an approach at all is it?

reCurse: No because you don't know s'

dreadylein: 80 % of reeinforced approaches are failures, but when it works they get realy strong fast, at least in my experience

reCurse: from (s,a)

MSmits: right... azero is better than muzero when you do have the model though. It takes less time to get the same results

reCurse: It's debatable

MSmits: which makes sense

reCurse: It's entirely possible it learns a model that's more efficient to use for search

MSmits: that's true

MSmits: i find it amazing that within the search it's considering illegal moves :P

MSmits: if they can even be called moves

MSmits: and it doesnt matter as long as it leads to a good final decision

reCurse: It is remarkable yeah

Marchete: like seeding from tree1 in a neighbour

reCurse: I'll surely get curious to try it at some point

MSmits: yeah that

Marchete: I just don't understand these moves

reCurse: But on CG it's nonsense

MSmits: might not be nonsense for these contest or ex contest games

MSmits: some of them are weirdly complex

fenrir: reCurse: for your PM, it you accept: I would love to know the number (order of magnitude, is it 10, 100, 1000, 10000) of iteration you do when you compute a node

reCurse: Iterations to compute a move you mean?

dreadylein: did you disclose which approach exactly you used ? Sorry if you answered it allready, just came ;)

reCurse: Totozero

reCurse: Everyone coins terms so it's my turn

Marchete: you aren't doing it correctly

fenrir: reCurse: from memory, in AZ they used 2000. I am searching for the name

RoboStac: but it doesn't have your name in it

Marchete: it should be totomax

RoboStac: so it can't be a real algorithm

reCurse: :(

MSmits: RoboStac :grin:

fenrir: but basically the number of time you traverse the tree for update it's root value I think

The_Auditor: people a mentioning reCurce's PM

reCurse: Yeah iterations to compute move

The_Auditor: where can i find it ?

reCurse: It's in the 4 digits

dreadylein: i think they just called it rollouts in the papers

fenrir: reCurse: ok, thanks

dreadylein: to keep the term inline with the mcts part

reCurse: That literally makes no sense :P

dreadylein: :D

Smelty: so contest is over?

dreadylein: 1000 upwards mhh howmuch processing power did you use ?

reCurse: i7-8700k with RTX 3080

reCurse: Office was a sauna

The_Auditor: hi reCurse , where can i find your PM ?

dreadylein: half precission interference ?

dreadylein: hehe

eulerscheZahl: you find it halfway finished in his text editor

reCurse: Chat is more fun than writing a PM as usual

The_Auditor: ^_^

reCurse: Happens twice a year where the chat is actually riveting

eulerscheZahl: apart from clash invites

jacek: or escape

The_Auditor: except i have to work . . . and then chat is gone

Marchete: euler, jace_k, smits and robo are usually in chat

kovi: recurzero?

fenrir: cool now, I will have to redo my AZ implementation and understand why it was not working :)

Marchete: they have interesing chats from time to time

struct: How long did it took you to get rank 1 bot?

reCurse: I did not run batches so I don't know for sure

reCurse: But it felt like I had a hard time finding losses by wednesday if I recall correctly

Marchete: 6 days to code and train?

kovi: not enough games with 8-10 blocks

reCurse: Went hardcore on thursday

fenrir: for my AZ I used only one NN with 2 heads, maybe it is better to have 2 NN (still undecided)

reCurse: Then started getting results um... monday or tuesday I think? They weren't that great though.

dreadylein: do you think you the model maxed out ?

reCurse: lol no

reCurse: Every time I think that

reCurse: I do something and it gets +30elo

reCurse: So I learned to stop thinking that

dreadylein: impressive work :)

reCurse: Thanks

reCurse: I did not even put the final version actually

reCurse: Shipping instincts

fenrir: yes, it is impressive :)

dreadylein: i always have the feeling the zero approaches are reeealy delicate :D they like to not converge to anything hehe

reCurse: If it got tested enough and it works

reCurse: Why risk it

dreadylein: at least for me

KalamariKing: King_Coda ping

dreadylein: eh no way something bad happens pushing 5 minutes before the deadline ^^

KalamariKing: King_Coda pong

DomiKo: "Every time I think that" I guess we all got that feeling when we think that you impressed us so much, and then you impress us even more

Astrobytes: :D

reCurse: My best version has +50 elo over the arena version

reCurse: :blush:

King_Coda: STOP KALAMARIKING

DomiKo: so you can go +10 score in leaderbord?

reCurse: No

reCurse: That's elo

eulerscheZahl: trueskill has some cap

reCurse: 50 elo is like 57%

dreadylein: i wouldnt even be suprised if a higher iteration count would increase its elo as long as it doesent hit cellings

eulerscheZahl: good, was about to look taht up

DomiKo: hmm ok

reCurse: I stopped using winrates entirely

jacek: huh

KalamariKing: King_Coda ping

KalamariKing: King_Coda pong

KalamariKing: King_Coda ping

KalamariKing: King_Coda pong

jacek: kick

Astrobytes: stop it

struct: stop spamming

Smelty: stahp

King_Coda: KalamariKing cease this instant

eulerscheZahl: even at kicking reCurse beats me

Smelty: o.O

Astrobytes: :D

jacek: he made NN for that

DomiKo: :joy:

jacek: oh, a new rule in dice duel at new league

Smelty: wait it says i got 0 codingame points for the contest?

delineate: Really impressive win. If you don't mind saying, what was depth/plys for the duct search part?

eulerscheZahl: yes. sum of old and new die = 7 to capture

DomiKo: Smelty you have to wait

Smelty: k

reCurse: I actually have no stats for that delineate

reCurse: Would have to code it

MSmits: duct does not have a fixed depth like mcts

MSmits: afaik

DomiKo: Can we have mirrored games in Bot version of the contest?

MSmits: it's not like minimax

struct: there isnt ept duct?

reCurse: CG permanently crippled batches, I don't think they'll add more charge

jacek: mcts doesnt have fixed depth o.O

MSmits: ept still does not have fixed depth

MSmits: no jacek thats what i meant

struct: so on smitsimax you dont have fixed depth?

jacek: hmm that sentence was ambiguousous

MSmits: yeah was ambiguous

MSmits: struct well, it depends on how you code it

MSmits: duct is different though

struct: so you cant code duct to have fixed depth?

struct: ah ok

struct: i dont know what it is

MSmits: i havent coded duct, but basically you take all states combined from choices of both playes

KalamariKing: why does mcts use random playout? wouldn't it make more sense to choose moves at least a LITTLE?

casmith789: it uses random because otherwise how do you know which are good?

MSmits: so it's smits with a coherent state representation (nodes always correspond with the same states)

dreadylein: you can do it, but the mai point behind classic mcts is that you dont need domain knowledge aside of the rules

reCurse: Random playout is terrible

dreadylein: *main

KalamariKing: casmith789 true

reCurse: They need to stop teaching that

Uljahn: vanilla mcts uses random but there are heavy playouts as well

Marchete: then what? MCTS is based on zero domain knowledge

reCurse: It pretends to work with zero domain knowledge

reCurse: For me it's in the same line of thought as

reCurse: Maybe if I keep trying random solutions I'll find the perfect one

reCurse: In theory it will

reCurse: ...

dreadylein: technical correct, the best kind of correct ^^

Marchete: then remove Monte Carlo for the name

jacek: it still can be random. just bias some moves or prune them

Marchete: NotSoMonteCarloTreeSearch

Marchete: j/k I agree with the domain knowledge

kovi: wow, i wanted to optimize vs. him, but it was more luck recurse vs. kovi 82%

reCurse: I wonder if euler kept all the matches this time too

eulerscheZahl: nope, not a single one

reCurse: aw

kovi: and interesting not all on 8-10 block maops

kovi: you changed something today? i had no chance before on open maps

reCurse: I put the saturday night version back

reCurse: Wasn't sure my fix did anything good

kovi: i c

reCurse: I know some things go wrong but fixing them without interfering other legit ones is...

reCurse: Usually difficult

reCurse: With a NN? kill me

kovi: yeah

reCurse: I feel like trying a new architecture to fix it

reCurse: But

reCurse: Might just be the contest leftover energy that usually dies out soon after

reCurse: I just wasn't going to restart a training on last day

MSmits: Gonna be a long time before someone beats it anyway

jrke: congrats reCurse

reCurse: Thanks

reCurse: It's not even about #1 I just want to know why it's not working

jacek: *5 years later*

reCurse: Throwing won games is rage inducing

jacek: ragequit

kovi: 8th,12th,6th,4th,10th,18th what is next?

reCurse: ?

fenrir: what's not working ?

jacek: kovi is this clash

kovi: last 6 contest for me

jacek: oh

reCurse: It had odd games where it either plays like crap

TBali: you don't like odd places

reCurse: Or it throws games that are won

reCurse: Need better tooling to debug this

fenrir: do you normalize your input ?

jacek: i once saw it timeouts when both players seed the same cell.

reCurse: Yes

fenrir: because I had an issue with that

reCurse: The timeouts are all server hiccups

reCurse: No crash

fenrir: I used stats on previous run

Marchete: you had some games with 5 seeds in the game, like wth?

fenrir: but they were not symmetrics

Marchete: I parsed some replays

Marchete: must be somewhere

fenrir: and for some games the NN was not playing right

reCurse: I may have given too much freedom in some situations

reCurse: No explanation for the excessive seeding

fenrir: (mine I mean=)

Marchete: it was a loss

Marchete: so I imagine it doesn't matter

reCurse: fenrir even if you're not perfectly normalized as long as you're close enough to it, should be fine

reCurse: In my experience anyway

fenrir: yes it should but I meant that my cell 1 was not normalized with the same coeff than cell 2 (with large difference)

reCurse: Ohh.

reCurse: That's a problem :)

fenrir: because the stats collection phases was poor

fenrir: it was just in cases (I saw it very late, no time to retrain but it explain for my bot why some maps play poorly)

jrke: oh fenrir you ended 21st missed t-shirt by 1 ranl

reCurse: I noticed large imbalance in some map

fenrir: :sad:

reCurse: Game starts and it says 20% winrate... ok...

struct: o.o

Default avatar.png zhoubou: How do I get my rank in contest by language?

reCurse: Use the filter columns on leaderboard

Default avatar.png zhoubou: Yeah, but it doesn't show my rank by that language specifically

reCurse: Oh.

reCurse: Don't think there's a way to fix that sorry

gmessier: Count each lines :P

Default avatar.png zhoubou: Ah, too bad. Thanks anyways :)

Default avatar.png zhoubou: gmessier Lol that will take a while

gmessier: (or pages)

Default avatar.png zhoubou: There are no pages (?)

gmessier: Oh yeah, they are only in the main leaderboard I think... not in contests

Default avatar.png zhoubou: I would use JS but it seems it's dynamically loading the rows

Default avatar.png zhoubou: :/

reCurse: You could query the API and count it in the JSON

Default avatar.png zhoubou: Oh, there's an API?

karliso: reCurce Just 91% winrate? You gotta be dissapointed :D

reCurse: I just want to know why it loses :( :P

reCurse: API is a big word

gmessier: The front call a back API

reCurse: More like open the web inspector and network tab

reCurse: Have fun

Default avatar.png zhoubou: Oh lol. Cool :P

delineate: I was happy to get one win against you recurse, haha. lso, one game which blew my mind while testing was this one https://www.codingame.com/replay/557327036 check out moves 9 and 22, crazy "defense"

delineate: Also*

reCurse: Haha nice

reCurse: Personally I was just impressed when it started doing knight moves like the others by itself.

reCurse: You need to set the bar low in RL

Lucky30_: reCurse when are you planning to start streaming

reCurse: I've retired

struct: lol

Lucky30_: nooooo

Lucky30_: can i be you student

jrke: so you did RL reCurse?

Lucky30_: *your

reCurse: Yes

reCurse: To jrke

reCurse: MSmits is a teacher maybe he takes students

Lucky30_: :(

Lucky30_: ok i will ask him later

MSmits: hey, happy face, maybe i iwll

Lucky30_: :)

jacek: :upside_down:

struct: step 1 get top 10 on csb -> step 2 do NN

MSmits: depends on how much time you're asking and what you want to know

struct: Those are your tasks

fenrir: btw, if not secret, on CSB, more or less the same or not ?

fenrir: (for reCurse)

Lucky30_: can i be your student*10e30

Lucky30_: i want to know everying to be top 10 next contest

jacek: notice me senpai

pardouin: :hugging:

Lucky30_: senpai reCurse said you will teach me if i manage to get to top 10

MSmits: if you have specific questions i will mostly answer them :)

GreatTux: Congrats reCurse, a league of your own really... very impressive

MSmits: but if you find out how to get top 10 next contest, do tell me as well Lucky30_

Lucky30_: nooo

Lucky30_: ok what about top 50??

jrke: bi-directional teaching

MSmits: Lucky30_ i can mostly reach that these days, not this time though

Astrobytes: quid pro quo jrke ;)

jrke: lemme google 'quid pro quo'

jrke: oh latin phrase

jacek: quidquid Latine dictum sit, altum videtur

jrke: a favour or advantage granted in return for something.

Lucky30_: fine by me, just teach me enough to get to top 100, and sempai reCurse would do the rest

ClockSort: Lucky30_ i made 26th place, it was a simple matter of breaking my brain to build a simultaneous-move mcts which took 30+ hours (first time for everything is slower)

ClockSort: took 3 days to build MC, then 4 days to upgrade it to MCTS

ClockSort: next time will be a lot faster :)

Lucky30_: ow my god

Astrobytes: Well done ClockSort

MSmits: ClockSort isnt this duct?

ClockSort: yes it's DUCT but i didn't discover that until afterwards :D

Lucky30_: i only managed gold ~700 with heuristics only

MSmits: ahh ok

jrke: i failed to get minimax working due to eval

MSmits: the idea of the enormous branching always puts me off

jrke: and ended up with heuristic

jacek: MSmits practice on amazons

jacek: :v

MSmits: amazons duct :P

MSmits: its sequential so wont work

ClockSort: @MSmits i pruned all seed actions. if you have no seeds you must seed, otherwise you can't. that reduced branching to about 50 states per depth

MSmits: oh right you mean to get used to branching

jacek: :smirk:

MSmits: thats not bad ClockSort

ClockSort: 7 for p1, 7 for p2, each combination makes 49 states

Lucky30_: you guys are soo coool

MSmits: ClockSort what if they both seed at the same time?

MSmits: couldnt that be 20x20?

AntiSquid: are you really writing a guide on Mbits magic? MSmits ?

ClockSort: when seeding i required you to minimize the number of trees that could shade you if they were large trees. so the number of seed locations was typically 1-4. so taht's even fewer states (4x4=16)

MSmits: AntiSquid yeah, summer soon, so will have time, if you can wait a month or two

ClockSort: note: number of own-trees, not all-trees.

AntiSquid: congratulations reaching legend in that mess btw MSmits

MSmits: yeah thanks :)

eulerscheZahl: mess = his code?

AntiSquid: the game

ClockSort: yeah congrats MSmits. getting out of gold is an achievement for sure.

MSmits: actually my code was never more neat than this time in a contest :)

MSmits: it just wasnt very good

struct: what is the logic for next gen on intel cpus, 8 cores + 8 cores but 24 threads

AntiSquid: i didn't call your code messy, have no idea what it looks like apart from bit manipulation

MSmits: only 600 lines euler

MSmits: well if i removed the sim debugging stuff

ClockSort: this was my first CG event using C++. It was much better than using C# last fall! Nice to not think about GC.

eulerscheZahl: 765 lines for me

eulerscheZahl: with some dead code

kovi: so heur<beam/mcts<mcts-duct<mcts-duct-nn

eulerscheZahl: you win this golfing contest smits

MSmits: you had some nice ideas in your beamsearch i wish i had thought of eulerscheZahl

MSmits: yes :)

kovi: gratz clocksort!

kurnevsky: @kovi you forgot minimax :)

jacek: and posted another approve~

kovi: oh sorry

kovi: heur<beam/mcts/minimax<...

ClockSort: 1200 lines for me, but 400 of them were huge arrays to make calculating range and shadows easy.

eulerscheZahl: definitely a large variety of approaches in top20

eulerscheZahl: that's unusual

AntiSquid: about 600 if i don't count the commented lines

Lucky30_: guys did you share anything from your codes?? at least the structure..classes/function names.. general logic...?

MSmits: well it seems to me that if heuristics works, every search works too, because you can just work the heuristics in there to get the same result

kovi: i also liked dp idea...at some point i was thinking about it

Default avatar.png Chara98: hi

ClockSort: @kovi congrats on top 10! That was really close, you were slipping a little in the last day. Very impressive.

eulerscheZahl: i didn't even get a notification on your approval jacek. thanks though :)

jacek: i managed to create legal moves

jrke: yeah approval messages are bugged i think cause i didn't get for mine also(1-2 months ago)

AntiSquid: heuristics were quite high in this contest though so ... lol

ClockSort: i think this contest was really good, the one thing i didn't like was sometimes-unfair start positions

MSmits: were they really unfair?

MSmits: because of sun direction?

ClockSort: sometimes the sun is going to shade you first, and it can't well be avoided.

eulerscheZahl: when i was analyzing losses and asw that i was at bottom right, i instantly skipped it

Default avatar.png AeroFufel: @reCurse Btw, do you use VS still or CLion? (Watched your videos, you are cool!)

MSmits: hm ok

reCurse: Visual Studio

Default avatar.png AeroFufel: thx

Lucky30_: what video

Default avatar.png AeroFufel: YT

Lucky30_: share with me please

AndreMarasca: where

AndreMarasca: link please

jacek: rebless stream https://www.youtube.com/watch?v=dQw4w9WgXcQ

Default avatar.png AeroFufel: YT just search it, closed

sprkrd: search for what?

AntiSquid: had no idea he's ginger

eulerscheZahl: https://www.youtube.com/watch?v=BU9b445CpaM

Default avatar.png AeroFufel: ^

reCurse: Noooo

eulerscheZahl: also the game itself: https://www.codingame.com/multiplayer/bot-programming/legends-of-code-magic

reCurse: Can't watch it gives me the creeps

ClockSort: i totally get that, lol

Astrobytes: You won't believe what happens in part 2!!!! This will blow your mind!!! And change your life!!! :P

eulerscheZahl: was that the bitstreams?

AntiSquid: what's the issue with it reCurse?

Astrobytes: Of course euler

reCurse: I don't know it gives me anxiety or something

reCurse: The only reason is up is because I forget it exists

eulerscheZahl: just hearing yourself. i don't like that either

jacek: this is mostly when i read my old posts

Lucky30_: dont delete

AntiSquid: maybe not being familiar with streaming does that

Default avatar.png AeroFufel: nah, you are great!

Lucky30_: i need your teaching

Astrobytes: I don't know many people who are comfortable watching/listening to themselves in all honesty.

AntiSquid: wait you intend to delete? :/

jacek: or remind of stupid things i did in childhood

reCurse: No I won't delete

Lucky30_: god bless you

struct: cant relate

eulerscheZahl: my mom brings up these childhood stories all the time, I hate it

Astrobytes: lol struct

AntiSquid: cool euler, want to share some pictures with you from kindergarten or school ?

MSmits: reCurse i like it already, never watched it because my hearing is bad and i can never understand what they are saying, but now there's subtitles and that helps. I think I will watch the whole thing

eulerscheZahl: i'll call the cops on you if you ask again

reCurse: lol

MSmits: i am just curious

Lucky30_: i will watch them all

Default avatar.png AeroFufel: @MSmits just watch the second part, the sound is ok there!

Lucky30_: no thinking required

Astrobytes: AntiSquid: here he is https://imgur.com/a/R4euXNt


MSmits: no i am not complaining about the sound

MSmits: it is better than most streams

AntiSquid: i was taking the micky astro

MSmits: my hearing is just crap, i am a lipreader

reCurse: He can't get over my awful accent

Lucky30_: Astrobytes lol

reCurse: I get it

MSmits: no its not too bad

Default avatar.png AeroFufel: wow

Astrobytes: AntiSquid: so was I with the toad picture!

Lucky30_: *you wonderful accent

jrke: oh euler so table can also be move using arrows nice in dice duel

Lucky30_: *your

MSmits: i really like the video reCurse, dont delete

reCurse: Ok I won't

MSmits: or wait 4 hrs, to let me finish :P

reCurse: I can get the urge to

struct: please delete

reCurse: But I won't

Astrobytes: Not an awful accent at all

jacek: i will pirate it

MSmits: ignore struct, he is not great at deletion decisions

struct: :)

MSmits: thanked you in my pm btw struct, i always suck at this brutaltester crap

struct: np

struct: have no idea why mine bugged for you though

MSmits: thats ok, solved it in the end, i tested everything i wanted to

MSmits: just didnt get better ideas

Astrobytes: Hmm. 2 notifications from jacek's dice duel approval?

eulerscheZahl: you got 2? i got none

jacek: i accidently deleted one

Astrobytes: One 14 minutes ago, and another 2 minutes ago

Astrobytes: Oh

jacek: but why you got any notifications

Scarfield: he stole eulers

MSmits: eh, jacek, that means you figured out a new way to troll :P

Astrobytes: Stop giving him ideas Smits!

MSmits: :)

Astrobytes: lol Scarfield

eulerscheZahl: astro didn't even leave a comment

eulerscheZahl: do upvoters get notifications now? :thinking:

jacek: lol https://www.codingame.com/forum/t/poll-spring-challenge-2021-language-supremacy/190391

Astrobytes: I haven't upvoted or approved it euler

Astrobytes: Upvoted now.

eulerscheZahl: i wasn't begging for upvotes btw. just curious in what way you would be involved

Astrobytes: The notification system is strange.

eulerscheZahl: yes

eulerscheZahl: i reported that long ago with my last contribution

eulerscheZahl: i don't even remember what it was

jrke: there is bug in notification even i didn't got any message for approval of night of war

Astrobytes: It's not high priority but in the queue iirc

jacek: clashes are higher eh

eulerscheZahl: same for my last approved one

eulerscheZahl: probably blockout

jrke: damn 1000+ registered in fall under 10 hours

eulerscheZahl: i wait with registration until i know what i'm getting myself into

struct: damn its in all caps

Lucky30_: people are ready for more

eulerscheZahl: i'm ready for a break

eulerscheZahl: happy when the contest finally starts. happy again when it finally ends

Lucky30_: hhhhh

jrke: cause you end with getting a t-shirt

eulerscheZahl: because i'm exhausted

Lucky30_: how many t-shirts you guys have

eulerscheZahl: CG or contests in general?

Lucky30_: both

TBali: in general

TBali: :-)

AntiSquid: maybe i do raic in fall

eulerscheZahl: in general a good dozen i think

eulerscheZahl: 5 for CG (and some more that I gave to other users)

jrke: i have one CG t-shirt in total got for organising a community not winning any

MSmits: lol I already found something in reCurse locam stream that would have prevented a bug in the contest

MSmits: in my case

Lucky30_: oO :heart_eyes:

eulerscheZahl: assert?

MSmits: directly reading input into uint8_t

MSmits: reading it as a char

Astrobytes: hah

Lucky30_: lol

MSmits: it's in the beginning of his stream, questions being asked about it too

eulerscheZahl: what did you do? and what's the issue with it?

jrke: gn

MSmits: i just read the input directly into the state

Astrobytes: gn jrke

MSmits: and it gave the wrong number

struct: yeah same

MSmits: because it was read as a char instead of an int

struct: I had the same bug

eulerscheZahl: sounds like a C++ thing

struct: when I was resizing state

MSmits: if you store it in an int first, then assign it to the state, it doesnt do that

MSmits: it is

Lucky30_: good to know

MSmits: but it's a c++ stream so..

eulerscheZahl: and iostream

Lucky30_: euler no c# for you

eulerscheZahl: badumts

MSmits: a lot of things from the stream i already know, but if i can prevent 2-3 bugs from watching it, it's worth it

MSmits: lol

Astrobytes: :door:

Lucky30_: no js for me

eulerscheZahl: that i'm using C# mostly doesn't mean that I don't know C++

MSmits: you know it better than i do

eulerscheZahl: i wouldn't go that far

MSmits: i would, it's just the bit stuff i do with it i am better at

MSmits: i cant even make a real c++ app

Astrobytes: Define 'real'?

eulerscheZahl: i never dared to do any UI in C++

MSmits: like compile something

Wontonimo: am i dumb or do need some kind of permission to post to https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849 ?

MSmits: with more than 1 file

MSmits: .h files, includes etc.

eulerscheZahl: should just work Wontonimo

MSmits: never done that

Astrobytes: Seriously? You can do that.

eulerscheZahl: the forum is a bit buggy today, refresh the page

MSmits: sure if i tried and took a bit

MSmits: but never done it, just the basic CG stuff

Wontonimo: is it the "reply" button at the bottom?

MSmits: 1 file bots

Default avatar.png AeroFufel: @eulerscheZahl I tried once and "drowned" :/

eulerscheZahl: yes

MSmits: never wrote a template

struct: euler we need -o flag on param fiddler :(

eulerscheZahl: https://imgur.com/a/kwYh3D4

eulerscheZahl: o flag?

struct: old referee

eulerscheZahl: right, i just used an old brutaltester

struct: same

Chainman: Hey

eulerscheZahl: oh, Wontonimo is typing now

eulerscheZahl: he found the button

Chainman: How do I get the .jar file for the refereer for springchallenge 2021.

eulerscheZahl: mvn package

Chainman: I'm trying to learn how to set up brutaltester and referee now.

Chainman: oh

Chainman: thanks,

Wontonimo: Thanks eulerscheZahl!

eulerscheZahl: https://forum.codingame.com/t/spring-challenge-2021-feedbacks-strategies/190849/56?u=eulerschezahl struct get him

struct: ok

struct: im gonna end him

jacek: oO

Astrobytes: Fighting talk!

eulerscheZahl: i see a christmas start and the word "replying..." next to it :popcorn:

Chainman: what did he do wrong lol?

eulerscheZahl: it's just not optimal

Chainman: oh haha

Chainman: oh crap

eulerscheZahl: more a topic of academic interest than anything else

Chainman: struct had a good bitboard. I look forward to reading these today.

eulerscheZahl: right, for you it's still in the middle of the day

eulerscheZahl: for me it's close to bedtime (also considering that i got up at 4am

Astrobytes: Definitely some really interesting PMs this time around. Lots of approaches

eulerscheZahl: )

Chainman: yeah

eulerscheZahl: i like the variety

eulerscheZahl: not like last time with 20 versions of beamsearch

Astrobytes: I admit the game turned out slightly more interesting than I thought.

Astrobytes: Yeah indeed.

eulerscheZahl: i still don't like the game that much

eulerscheZahl: just my usual reaction to board games

Astrobytes: I don't either. Just in case you didn't see my PM :P

eulerscheZahl: i read

eulerscheZahl: you even tagged me

Astrobytes: And I didn't even get a like. Shocking.

eulerscheZahl: thibaud liked it

Astrobytes: I only did it for reCurse tbh

kurnevsky: I even skipped first few days because I thought it's not interesting :)

MSmits: wait, no like?

MSmits: hold my :beer:

eulerscheZahl: you mean hold my <3

Astrobytes: kurnevsky: I wasn't gonna go past Bronze until euler insisted I keep going

Counterbalance: don't you mean hold my :purse:?

eulerscheZahl: i told you to go to legend as the boss was that easy

Astrobytes: I gave up on Saturday though

cegprakash: any idea why this is invalid input?

cegprakash: https://www.codingame.com/replay/557729554

Astrobytes: The server issues totally killed my motivation

cegprakash: my code crashes

eulerscheZahl: i stopped on saturday too

eulerscheZahl: and found some more motivation on sunday

MSmits: hey, i didnt find the pm Astrobytes

MSmits: where do i like it

Astrobytes: I just did random tweaks on Sunday

struct: how should i picture my bitboard

eulerscheZahl: "cegprakash ran out of time"

struct: :/

struct: Its hard to represent I think

eulerscheZahl: looks like you were too slow

Astrobytes: MSmits: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/36

eulerscheZahl: with a 9x7 grid?

cegprakash: no I printed Attack eulerscheZahl

struct: oh right

eulerscheZahl: and numbers on real game board

MSmits: euler forced me to reach legend Astrobytes

MSmits: know the feeling

Astrobytes: :D

eulerscheZahl: "ATTACK 1 0"

MSmits: he;s a stern taskmaster that one

mybk: yo guys, when do they open the multi-player version of the contest ?

eulerscheZahl: haven't played the game, don't know the rules. sorry. just went by the tooltip in the timeline

Chainman: How do I see graphics, it looks like it has a webserver with brutaltester replay?

eulerscheZahl: do you know the British TV show taskmaster?

MSmits: nope

eulerscheZahl: some tasks are fun to watch

Chainman: but the link just gives me a website that says "This site cannot be reached"

eulerscheZahl: some comedians getting tasks to solve

MSmits: I thought you just watched John Oliver, but there is more than 1 Brit apparently

Chainman: http://localhost:8888/test.html Exposed web server dir: /tmp/codingame (looks like it's working)

Astrobytes: Yeah. Load of rubbish that show.

eulerscheZahl: state your ground today on lastweektonight

Astrobytes: I prefer to watch the comedians on their own.

eulerscheZahl: watched it already

MSmits: oh, havent yet

MSmits: they usually just come up on my YT recommendations

eulerscheZahl: you can shoot anyone if your feel scared

MSmits: oh stand your ground

eulerscheZahl: doesn't even have to be on your own property

Astrobytes: wtf

eulerscheZahl: oh, i wrote that wrong

MSmits: yeah but i got it now

eulerscheZahl: of course stand

mybk: ...

Chainman: nvm it works just need to remove the test.html

MSmits: the US is weird

Chainman: yeah

MSmits: but funny to watch John Oliver go apeshit over it

Wontonimo: i lived in Texas in the 80s. yes, it's different there

Chainman: with the referee and the brutaltester, can I play against my bot like myself.

Chainman: Where do you live now Wontonimo?

Chainman: I live in Texas rn haha

eulerscheZahl: astro on the bug channel on discord :D

Wontonimo: it's was so exciting, i needed 3 locks on the door to keep the excitement out

eulerscheZahl: keeping a professional calm

Wontonimo: I live outside of Toronto Chainman

eulerscheZahl: you can't stop the LockpickingLawyer with your 3 locks

Astrobytes: I mean seriously, right? :D

Wontonimo: i love LPL

eulerscheZahl: let's do it one more time to show it was not a fluke

Wontonimo: 3 sec later lock opens again

Wontonimo: and that includes 1.5 sec to reach the timer on/off

struct: this image is a bit confusing right?

struct: https://i.imgur.com/t9PLtPb.png

Astrobytes: Is this dude just one of those lockpicking maniacs or something else?

Wontonimo: i especially like when he picks something without serious tools, like a tooth pick just to show how bad a lock is

eulerscheZahl: when ZarthaxX showed that to me, i had to redraw the numbers on the actual board first

ZarthaxX: true

ZarthaxX: i admit it was hard to visualize

ZarthaxX: :P

struct: Zarthaxx Draw one for me

struct: you are an artist

struct: :)

eulerscheZahl: a Zarthist

Astrobytes: ArtHaxX

The_Auditor: i need to read this chat for a couple of years to understand the above

Wontonimo: that assignment is great. "thinking outside the box". It would take me a while to have come up with that on my own as my first reaction is not to have wraparound

ZarthaxX: struct is it necessary now?

ZarthaxX: also toad did it on the hex board

Wontonimo: I'm not sure why it can't all be shifted 3 squares left though

ZarthaxX: what?

Wontonimo: https://imgur.com/t9PLtPb

ZarthaxX: what's up with that

Wontonimo: ^^ isn't this what we are talking about?

ZarthaxX: yeah

ZarthaxX: but didnt get your statement

struct: what do you mean Wontonimo?

ZarthaxX: hehe we are two now

jacek: Wontonimo whats on your mind?

struct: maybe without the numbers it becomes less confusing

Wontonimo: i don't think it matters ... i'm just BigIndian thinking. In the image the 34 is assigned to the 0th bit, but for some reason my mind wants to align 25 to the 63rd bit. No, never mind my statement. all good

reCurse: BigIndian :thinking:

Wontonimo: aligning it the way it is is better

Astrobytes: :rofl:

Wontonimo: big endian

Wontonimo: ma speling is bad

reCurse: Maybe I just had the wrong idea

Wontonimo: i feel bad now :(

The_Auditor: did the majority of multi-es started as challenges ?

Astrobytes: The_Auditor: You can see the ones that did here https://www.codingame.com/contests/finished

eulerscheZahl: in the first years codingame was hosting puzzle contests

struct: cant upload image

struct: refresh worked

xMistySenpai: i guess wood league is p simple when first starting

xMistySenpai: any battles seems to have non-functional bots

KelvinAndHubbles: was talking to a friend about the website and he decided to hop on and try the contest, he didn't even make a functional bot and just made it print "WAIT" and beat Wood 1

eulerscheZahl: wood is to introduce you to the rules of the game

eulerscheZahl: that sounds a bit too easy

KelvinAndHubbles: Wood 2* Not wood 1, it's not like that bizzarely easy

eulerscheZahl: but i can assure you that competing for top ranks is a lot more work than that

Astrobytes: Bronze was almost as easy as that too.

KelvinAndHubbles: yea, Gold/Legend is where it starts to get fun

Astrobytes: Not complaining though.

eulerscheZahl: i'm not talking about leagues but players

eulerscheZahl: struct uploaded

Astrobytes: Very nice

eulerscheZahl: https://imgur.com/a/RC6GgTJ i really think that such a representation makes it easier to understand what's going on

struct: ok ill add it

struct: thanks

Marchete: that's a nice image

jacek: looks yavalathy

jacek: i have 30 in center there

struct: lol

eulerscheZahl: struct just got a new achievement

ZarthaxX: to p50?

eulerscheZahl: 10 forum upvotes

ZarthaxX: he also got top 50 right

ZarthaxX: :P

struct: I think i already had top 50

struct: due to hackathlons

ZarthaxX: ahhh

ZarthaxX: nvm then

struct: it doesnt really count though

struct: it was my first time legend and top 50

ZarthaxX: :

ZarthaxX: :)

alchemsti: Hey, this feels like a dumb question, but I skipped out on the last day, and would like to grab the final copy of my code to play with locally. Is that currently possible?

alchemsti: Or do I need to wait until it opens up as a bot contest?

reCurse: https://www.codingame.com/contests/finished

reCurse: Click view report

alchemsti: Ah, thank you!

BlaiseEbuth: Hey there.

Littleyounes: hey

struct: hi

Astrobytes: :wave:

jke: struct, what value did you use to prioritize the queues? score only?

struct: I used nth_element

struct: and then evaluation score

struct: i stored states in an array

struct: store -> eval all -> nth_element

struct: *store & eval -> after all are done -> nth_element*

Default avatar.png CameronWatt: programming never fails to make me feel like an idiot

jke: sorry I meant how did you calculate the evaluation score since the player score wouldn't be relevant in the first 6 turns?

jke: I assume amount of trees, etc.

struct: well i used the best scores to get the best N states

struct: so i could keep searching from them

struct: Then I would select the best that were expanded and do the same

jke: yes but the first 6 days you don't typically complete at tree, so I am asking how the score was calculated to determine a state was better than another?

struct: The evaluation function?

jke: sure, sorry I don't know the names of things

struct: my eval is similar to what other palyers descibed

struct: described*

jke: ok thanks, I was curious

jke: trying to learn

ZarthaxX: dude is missing the r to have the same name as jrk e lol

Smelty: lmao https://snipboard.io/jtZwzE.jpg

jacek: hm?

Nerchio: do you guys know how to fix brutaltester Error: Could not find or load main class

Wontonimo: did you build the supporting jar?

Smelty: :eyes:

Nerchio: yeah it cant find it in my ai file

Nerchio: referee works (i think)

Smelty: we just got this clash, everyone got 50% or below

Wontonimo: which game are you using brutal test for?

Nerchio: vindinium :D

Wontonimo: i dont' see that one in the list of supported game

Wontonimo: s

Astrobytes: Yeah you'll need to modify that yourself to get it to work

Wontonimo: https://github.com/dreignier/cg-brutaltester#list-of-compatible-referees

Nerchio: https://github.com/aperinot/cgVindiniumReferee

Astrobytes: oh nice. No idea then :P

Nerchio: i had similar error in contest i think

Nerchio: its not connected to wrong referee

Astrobytes: check the chat logs?

Wontonimo: if you get it (or a version of it) working then post a pull request to brutal tester to include it in the list of refs

Wontonimo: it looks like old code, so it may use the "old" ref

Nerchio: :thumbsup:

Wontonimo: try the "-o" for old option

Nerchio: tried didnt do anything :D

Illedan: :wave:

Wontonimo: paste you exact command line you are using here

Wontonimo: :wave:

Astrobytes: hey Illedan

Illedan: My brilliant PM is ready. xD

Nerchio: is there something like old brutaltester or not really

Astrobytes: Yeah, I tweak numbers in the IDE too and the lower limit really, really pissed me off

Illedan: But now I know

Illedan: Time to finish that local setup

Illedan: pff

Astrobytes: Yeah indeed.

Astrobytes: Almost no point to have CG IDE now

Astrobytes: For games

Illedan: True

Wontonimo: reading your PM now

Illedan: gg ddreams

Wontonimo: i'm not following you post about the ide games being decreased

Illedan: I guess increased fits better

Astrobytes: and lol at the books for your little one Ille :D

Astrobytes: Totally awesome

Illedan: Thx to jacek for sharing an image in meme on discord :D

jacek: oh?

Illedan: On Neural networks for babies

havbro: hi

jacek: ah

Toadmunchers: Sup havbro

havbro: hi

Toadmunchers: water u doing?


havbro: du kkknow

Toadmunchers: ya still there?


Astrobytes: uh oh, schoolkid time

Wontonimo: oh, i didn't know there were so many levels of throttling on CG Illedan. Thanks for sharing. i get it now. 600 submits / 24 hours seems low during a contest

Astrobytes: That's just IDE plays, not even submits

Wontonimo: if they provided an easy way of running the environment locally...

Wontonimo: already have it all in java, so it wouldn't be too hard I'd think

Astrobytes: Gotta do the work yourself for that.

Astrobytes: I liked the runner from last RAIC, wasn't perfect but it had all game modes/levels and wasn't slow

Astrobytes: *too slow

MSmits: still watching recurses locam stream

MSmits: auto subtitling gets funny sometimes

ClockSort: the one on YT?

MSmits: https://imgur.com/a/cEwdySV

Astrobytes: why do you need subtitles?

MSmits: my hearing is not great, sometimes it makes the difference

Astrobytes: Ah OK, cool

Astrobytes: Get a hearing aid or something, seriously. Not worth suffering.

MSmits: i have a hearing aid, but magnifying sound isnt always enough

MSmits: my brain is wired differently to understand speech

MSmits: because i have been lipreading so much of my life

MSmits: if i dont see a face I struggle a lot

Default avatar.png TootiFlooti: when the challenge is over I can continue to work on the bot here ? I have no way of testing my bot on my own.

Astrobytes: Ah right. Yes, I can understand that.

MSmits: my loss is about 55 dB

MSmits: not too bad, but just enough to cause problems

jacek: eeyup, i have hearing problems too or rather understanding speech. i watch english tv shows with subtitles

Astrobytes: I have really bad tinnitus these days

MSmits: oh thats worse, I like the quiet that comes with bad hearing

reCurse: Anyone knows how to fix markdown pasted in forum not working in preview?

Wontonimo: yeah, i have tinnitus also.

MSmits: no idea reCurse sorry

Astrobytes: Really bad sometimes. Doc is investigating potential Ménière's as I've suffered weird vertigo episodes and such too :/

MSmits: when i wrote something big i usually used tech.io, then linked it

Astrobytes: No idea reCurse

Default avatar.png TootiFlooti: anyone?

Astrobytes: Didn't see your message TootiFlooti, sorry. The challenge should be available as a playable game again tomorrow

Wontonimo: new evidence about tinnitus is that the recent loss at a frequency of hearing is missed by the brain and it hallucinates it. Same happens to your other senses if you block them for many many hours

Default avatar.png TootiFlooti: okay thanks

reCurse: That's the weirdest thing

Default avatar.png TootiFlooti: i really appreciate it. yall have a lovely day.

reCurse: For those wondering, copy/pasting from VS code does not work

reCurse: Pasting into notepad, then copy/pasting that works

ZarthaxX: o.O

Astrobytes: lol wot

MSmits: hmm something to do with encoding?

reCurse: Not kidding

reCurse: No idea

Astrobytes: Interesting Wontonimo. The sensory deprivation thing defo checks out.

MSmits: sometimes if i used a file copied from Visual studio into cg bench it wouldnt work and if i made a new file and copied the code into it, it did work

Wontonimo: after i read about the sensory depr thing, my more at peace with it now. Still loud as f**k,but just doesn't really upset me anymore

Astrobytes: Wontonimo: Does this mean I can dose acid for medical reasons to restore my missing frequencies? :stuck_out_tongue_winking_eye:

Wontonimo: i think you need to do lots of experiments and video record your experience

MSmits: please include testing a tinfoil hat

Astrobytes: Noted! :P

Wontonimo: send me the live feed link

Wontonimo: also, i do find that holding my nose and also trying to force air out of it at the same time (like what you do when an airplane is landing to repressure you ears) helps a little.

Astrobytes: I had an 'episode' earlier, just sat here and tinnitus became reallyyyy loud, you get a panic response from your brain and typical adrenaline response. Weird dizzy feeling. I don't get the vertigo any more and that's the first one for ages.

MSmits: if the sound is coming from your brain, then that may not be a good idea

Astrobytes: Yes, the nose pinching works now and then.

MSmits: vertigo, is that when room spins?

Astrobytes: Yes.

MSmits: and it gets worse when you lie down?

Wontonimo: the best thing that works for me is to NOT focus on it, don't feed the hallucination

MSmits: had that 1 time in my life, that's really panic inducing if it never happened to you before

Astrobytes: I never do. But in that case where it's as I described it's not ignorable. Fills your ears.

Wontonimo: i hope you find something that works! I've only had something mildly like vertigo a couple times in my life.

MSmits: it just came up 1 day, took about 2-3 hrs, then went away

Astrobytes: Yes MSmits. Think of that but without the spin. Just everything else and the worst ear buzzing ever.

MSmits: weird

Astrobytes: Was your hearing affected at all MSmits?

MSmits: nah i was born with my handicap

MSmits: it never changed after that

Astrobytes: But at the time I mean

MSmits: oh, hmm, hard to say, i was alone at home, watching tv

MSmits: was too focused on the spinning

MSmits: its so weird

Astrobytes: It's a truly bizarre experience yeah.

jacek: sounds like hypnagogia before the sleep

Astrobytes: Nah that's good unless it's paralysis

Astrobytes: *sleep paralysis

Astrobytes: I like my lucid dreaming

jacek: im keen on lucid dreaming, so ¯\_(ツ)_/¯

Astrobytes: Yeah it's awesome. I do the best in early morning.

MSmits: a few times it happened to me that i snored or something, just before i fell asleep and it seemed an extremely loud noise that shook me up and got me wide awak

Counterbalance: Astrobytes ever had an oobe?

MSmits: wtf was that!!

MSmits: kinda funny

MSmits: oobe?

Astrobytes: Yes Counterbalance, but it wasn't from lucid dreaming . . . :zipper_mouth:

jacek: oO

MSmits: https://docs.microsoft.com/nl-nl/windows/configuration/wcd/wcd-oobe

Counterbalance: https://en.wikipedia.org/wiki/Out-of-body_experience

Astrobytes: Came pretty close when I was into meditation and stuff a few years back though. Amazing what you can do with your mind.

Counterbalance: yeah, it's incredible ;)

MSmits: how much weed you need for this?

Counterbalance: I have them very sporadically but as soon as I realize I'm dreaming I jolt awake

jacek: nah, its just more sophisticated lucid dream when you try to keep conscious while falling asleep. more realistic with more leaving the body sensations

Astrobytes: Which is achievable by numerous methods. Weed is not one of them (not in my experience at least!)

MSmits: you mean you havent tried weed, or you treed it with weed and it didnt work

jacek: weed supress REM state. could use that for REM rebound in next nights

MSmits: thats important you know

Astrobytes: Weed and I don't get along these days. It's ridiculously strong and bad for you.

MSmits: aha

MSmits: haven't ever tried it myself

MSmits: not even a cig

Astrobytes: Plants bred for THC content alone are the worst. It's a finely balanced herb in natural form.

snoyes: Talking of seeing things that aren't there, perhaps you'd like to see if https://www.codingame.com/contribute/view/657661704b0fdc034a635fa4aa2d0b61193f is within your scope

Wontonimo: legal here in Canada ... finally

Default avatar.png CameronWatt: O_O

MSmits: I bet they go together well with your tacos

Astrobytes: Some nice low-thc stuff would be cool, all I need

Wontonimo: weird, now that you mention it

Astrobytes: :D

Astrobytes: I was a massive stoner for years (functioning stoner) but the strength was just getting ridiculous

Counterbalance: just use less weed then

MSmits: just dilute it with some grass

Astrobytes: Tried that. The high is still very different.

MSmits: but smells like freshly mown lawn

Astrobytes: I prefer psychedelics.

Astrobytes: Phosgene MSmits?

Counterbalance: who doesn't :D

MSmits: stop making me google stuff

MSmits: dude, that's a biological weapon :P

MSmits: I said grasss!

Astrobytes: chemical weapon

MSmits: wait ok, now it all makes sense :P

MSmits: grass is biological though

MSmits: I'm so confused now

Astrobytes: well phosgene is an organic compound, used as a gas, that smells like grass

MSmits: aha

Wontonimo: GrAsS

MSmits: so when you put grass in your weed you get paranoid and think it's WW 1?

Wontonimo: that's why you connect your gas mask to your bong

MSmits: makes sense

Astrobytes: RoentgeniumArsenicSulfur Wontonimo?

jackthrow893: anyone selling PHP?

MSmits: wait, is this a drug jackthrow893?

MSmits: we dont sell drugs here

Astrobytes: (I took a liberty with the Gr/Rg but hey)

MSmits: wrong channel

KillaManDan: im selling http

KillaManDan: :smirk:

therealbeef: or swift

Wontonimo: lol Astrobytes

MSmits: jackthrow893 go here #TheGoodStuff

Illedan: reCurse, how many policy outputs did you have for each player?

reCurse: "two policies, one per player"?

jacek: hell write this in his pm

Illedan: he posted it

Astrobytes: Read it jacek

jacek: oO

Illedan: How many actions did each policy contain, is the better question I guess

reCurse: 1 per cell

Illedan: k, thx. Great PM.

reCurse: Thanks

struct: recurs e ever tried implementing NN for 3+ player game?

reCurse: No, if this was done as a multi-player game I'd probably be screwed

Astrobytes: muzeroCurse coming for Fireworks multi struct

reCurse: I still have no idea I'm comfortable with for multi-player

Astrobytes: Excellent, thorough PM man, good read.

MSmits: do not seed next to your tree is not a safe prune reCurse, sometimes this is useful

Notaboredguy: uhh

Notaboredguy: how do you convert float to integer in lua :))

MSmits: so not pruning too much is prolly good

Saelyos: Congrats reCurse, thanks for your PM :)

reCurse: Thanks, you're welcome :) Congrats on your own rank too, definitely deserved!

delineate: Nice/interesting write up, thanks recurse. do you have recommendations of the best ml frameworks, like pytorch or something else?

jacek: so this is convolution net after all

reCurse: I personally love pytorch

MSmits: good PM reCurse :)

reCurse: Reading tensorflow code makes my head hurt

MSmits: I like the fact that you put a short history before the PM

MSmits: good for people to know that it didnt come out of nothing

Astrobytes: Some people pay their dues and respects ;)

Wontonimo: yeah, the history is great. level setting

reCurse: For me it's mostly about being honest

Illedan: I love your failure in Silver :joy:

Astrobytes: Which is always a refreshing thing these days.

jacek: yeah, i think at this point the good 'RL pipeline' is more than NN

jacek: important*

MSmits: what is verification through disassembly ?

Astrobytes: literally about to type that!

reCurse: I verified the generated assembly was not stupid

reCurse: Making function calls where it shouldn`t

reCurse: etc

MSmits: I see, do you run into that sometimes coding bots for CG?

Astrobytes: right, godbolt time

reCurse: Definitely

MSmits: hmm

reCurse: Sometimes you want to code clean

reCurse: And it turns out it no longer wants to inline things for whatever reason

reCurse: For a hot loop like NN inference it's not acceptable

MSmits: is it safe to assume the CG compiler will do the same thing as the godbolt thingy?

reCurse: If you use the same version of g++ with -O0 most likely

Astrobytes: If you set it correctly yes

MSmits: I see, i should use that more often

dbdr: you should use a profiler

MSmits: well i sometimes use VS for that

Astrobytes: That too ofc

dbdr: that shows you the assembler

dbdr: then you only look at parts that are actually relevant

reCurse: vtune

Counterbalance: had to install vtune as vs profiler is broken

MSmits: never seen that, I just look at cpu time %

Astrobytes: vtune is what struct uses right?

reCurse: Unfortunately I refuse to switch to linux

dbdr: cpu time at the assembler instruction level

jacek: !

reCurse: So I profile with clang on windows and hope it's similar

struct: vs profiler somtimes is hard to tell whats hapening

reCurse: msvc is absolutely garbage with avx2

reCurse: For some reason

Astrobytes: MSmits: the memory view in the VS debugger can be quite handy

MSmits: oh, what does it do? I mean in my CG bots i usually already know how much memory i use because i reserve it

MSmits: does it show cache efficiency somehow?

struct: vtune does

struct: cache hits and such

MSmits: nice

Astrobytes: vtune is much more feature-rich

Counterbalance: I'm still wondering how you combined DUCT with the NN. Did you do DUCT and use the NN to calculate a score (win chance)?

Wontonimo: oh i know i know ...

Wontonimo: check out the AlphaZero architecture and pipeline

MSmits: gonna take off and see if i can apply some of those sleep experiments you guys were discussing earlier, gn!

Counterbalance: okay i'll rtfm ;)

Counterbalance: nn

Astrobytes: gn MSmits :D

Wontonimo: hey MSmits ,

MSmits: hey?

jacek: https://medium.com/applied-data-science/alphago-zero-explained-in-one-diagram-365f5abf67e0

Wontonimo: a trick that works for me for remembering dreams and sometimes realizing i'm dreaming

Astrobytes: hay - phosgene again

Wontonimo: is to start a task (even just drinking a glass of water) and

jacek: look at your hands or clocks - theyre werid in dreams

Wontonimo: then when you wake up immediately finish it

MSmits: this sounds like you fall asleep halfway through a glass of water and let the rest fall on your face Wontonimo

Wontonimo: you are asking you mind for immediately continuity before and after waking up ... which means not forgetting

struct: Anyone has any articles on duct mcts?

Astrobytes: That's how Wontonimo sleeps. Covered in tacos and water.

reCurse: I posted the paper struct

MSmits: apparently

struct: thanks ill check

MSmits: anyways thanks for the... advice Wontonimo , gn now :)

Astrobytes: https://dke.maastrichtuniversity.nl/m.winands/documents/sm-tron-bnaic2013.pdf

Wontonimo: could be a rubik's cube

Wontonimo: have fun!

Wontonimo: i used to have a water bed, so not far from the truth

Astrobytes: What is it about programmers and water beds.

Wontonimo: can you even buy those things anymore?

Astrobytes: Probably in some modern form

struct: thanks ill try to understand it when my brain recovered

Astrobytes: Very peculiar things they were

Chainman: what does this error mean? File "<stdin>", line 2

   0 3 1 2 3 4 5 6
     ^

SyntaxError: invalid syntax

Chainman: When I"m trying to look at the logs with the referee

Chainman: in web app

Chainman: oh do I Need to use Eclipse or intellij?

Chainman: https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/create-a-multiplayer-game

Notaboredguy: can you send the code

Chainman: I know the bot program works locally

Chainman: I mean it worked in the game

Chainman: not locally

Chainman: I'm running this command "java -jar ~/github-repo/AIGame/spring-2021.jar -p1 python3 ~/github-repo/AIGame/heuristics.py -p2 python3 ~/github-repo/AIGame/heuristics2.py -l ~/github-repo/AIGame/logs/game1.json -s -d seed=-92039809419061936"

Counterbalance: add quotes: -p1 "python3 ..../heuristics.py"

Counterbalance: -p1 and -p2 take 1 argument, the program, which should be "python yourfile.py"; instead, it just runs python without a script which then executes the referee input 0 3 1 etc as a script. Make sense?

Zenoscave: Is it not available in multi?

Zenoscave: the last contest i mean

Chainman: tomorrow they said

Zenoscave: got it

Astrobytes: pewpewpew

Zenoscave: pewpewpew

Astrobytes: where did you finish in the contest zeno?

CamTheHelpDesk: anyone else having problems where they're not getting achievements?

Astrobytes: Should be good by tomorrow at some point

Zenoscave: 201st :/

CamTheHelpDesk: will we get achievements we've earned but that didn't show up?

Astrobytes: Yes. Most likely. To which achievements do you refer, specifically?

Astrobytes: Zenoscave: better than me :P

Zenoscave: I had almost the same bot as euler. just different eval weights and no decay factor on sun

Zenoscave: Eval scoring was huge in this game

Astrobytes: decay factor seemed to be helpful for a few

Zenoscave: I should have thought of how to code it but had a block until this morning

Zenoscave: Was recalcing base score each sim rather than doing additive on move changes

Astrobytes: I gave up after the server issues on Saturday, lost all motivation

Astrobytes: ouch

Zenoscave: Just one more day and I could have probably had top 100. or at least top 200 ;)

CamTheHelpDesk: > to which achievements do you refer, specifically?

MARS LANDER - EPISODE 2 and SHADOWS OF THE KNIGHT - EPISODE 1

CamTheHelpDesk: got 100% on both

Astrobytes: And which achievement is not showing up? You didn't get the XP for it?

Astrobytes: Zenoscave: "Just one more day" - literally all contests every for anyone :D

Zenoscave: lol true enough

Astrobytes: *Ever for anyone

Zenoscave: for everyone would work as well ;)

Astrobytes: everyone I was just coming with yeah

Astrobytes: I'm tired, lemme be :P

CamTheHelpDesk: > And which achievement is not showing up?

Neither achievement is showing up. SS: https://cam.is-ne.at/c0QyK5.png

CamTheHelpDesk: it's like that for both

Zenoscave: I'm not singing words of wisdom. I will not let it be

Astrobytes: :rofl:

Astrobytes: CamTheHelpDesk: I can't even remember what those achievements are!

Astrobytes: Anyway, I gotta sleep. Gn all

CamTheHelpDesk: sleep well

Chainman: gn

Chainman: ahhhhh "python3: can't open file '/home/therealchainman/github-repo/SpringChallenge2021-referee/~/github-repo/AIGame/heuristics2.py': [Errno 2] No such file or directory"

Chainman: idk why I can't get the referee to work

Chainman: anybody can help me with running springchallenge 2021 on intellij?

Chainman: This doesn't seem to be up to date with intellij https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/create-a-multiplayer-game

Smelty: o.O

Chainman: Import Project > Select game-tictactoe > Import project from external model > Maven

Smelty: hm

Chainman: this part doesn't make sense

Chainman: I don't have an option to do that with maven

Smelty: idk

Chainman: yeah same

Smelty: "starting in null"

xMistySenpai: Think I may have found a bug in crystal rush

xMistySenpai: 3rd arena match my script is played in, ends on round 168 suddenly, score 72 to 64 and he wins?

xMistySenpai: either, a bug, or my script is really taking over 50ms to output next set of commands

xMistySenpai: nvm all fixed, derp me

Smelty: oh?

Smelty: well in the future i guess just output the time it took in error stream so you can tell

xMistySenpai: well, it'd cut out by then and the time could take a variable length

Smelty: hmm yea

CamTheHelpDesk: anyone know precisely what time rankings are recalculated?

struct: Its around this time

CamTheHelpDesk: hmm ok

CamTheHelpDesk: is there a server restart or smth

struct: nah

Wontonimo: i'm very excited to see my new ranking ... i'm hoping for 625th

CamTheHelpDesk: quick question for all you mods: are you volunteers or codingame staff members?

struct: volunteers

CamTheHelpDesk: cool

CamTheHelpDesk: good luck Wontonimo!

Wontonimo: thanks

struct: I have no idea how much I will climb

struct: I probably will get like 9k points from the contest

struct: and then 4.5k+ from the multi when it comes

reCurse: Hope it answers your questions AntiSquid

Wontonimo: yeah, that sounds about right

CamTheHelpDesk: oh wow impressive stats reCurse

CamTheHelpDesk: congrats

reCurse: Thanks

CamTheHelpDesk: you seem familiar... did you win the competetion today?

Chainman: why server restart?

reCurse: Yes

Chainman: did anybody here get the spring challenge referee work in web app?

Wontonimo: ??

Chainman: tororo

Chainman: totoro I mena

Chainman: did you Wontonimo?

Project-Magenta: ??

Counterbalance: Chainman yes - you have to copy the fiiles in src/main/resources/view/assets to a new directory src/main/resources/view/assets/assets/, then rebuild

Chainman: oh

Chainman: "java: package com.google.inject does not exist" this is the error

Chainman: but there are a lot of error when I try run I think.

Counterbalance: are you running it in an IDE?

Chainman: intellij is what I'm trying now

Counterbalance: hm.. for eclipse you could run mvn eclipse:eclipse and then import the project.. for intellij, idk.. if it has a maven plugin or something you could import it as a maven project?

Wontonimo: i stepped away Chainman. I didn't try

Counterbalance: https://www.jetbrains.com/help/idea/maven-support.html#maven_import_project_start

Chainman: what about without an ide?

Chainman: I was trying that earlier

Counterbalance: mvn package

Chainman: okay but I was getting a weird error there as well

Counterbalance: but you'll need one of the forks that offers the commandline interface

Chainman: https://github.com/LSmith-Zenoscave/SpringChallenge2021

Chainman: ?

Chainman: I'm using that

Counterbalance: yes that one will work

Counterbalance: are you running java 15 or something?

Counterbalance: what error? some reflection error?

Chainman: java 1.8

Chainman: so I use the command line for p1 and p2

Chainman: and it seems to work I check the logs game1.json files and it shows outputs

Chainman: how do you see the replay in web app with cli?

Counterbalance: run that command with -s

Counterbalance: then open browser on url http://localhost:8888

Chainman: huh

Chainman: that swaps player position I think

Counterbalance: only in brutaltester

Counterbalance: in referee commandline it means 'start server'

Chainman: oh I'm using brutaltester I guess

Chainman: not sure about referee cli

Counterbalance: you can't view the replays from the logs, unfortunately. You'll have to run the game again with the -s and specifying a seed to view that replay..

Chainman: I don't see any docs on cli for referee

Counterbalance: just run it without arguments, it shows help

Counterbalance: java -jar spring...jar

Chainman: ooooh thanks, it finally worked

Counterbalance: nice!

Chainman: I see I just did java -jar target/spring-2021.jar -h

Chainman: to see the commands for it haha

Chainman: I realized whoever made it added the commandlineinterface class to the referee so it had some commands

Chainman: I could see them from source code of referee as well., thanks Counterbalance

Counterbalance: np

Chainman: wait the graphics are messed up though? it doesn't have the trees.

Chainman: :(

Counterbalance: yeah that's what the copy resources thingy above was for

Smelty: o.O

Smelty: oof

Counterbalance: got it working?

Xwtek: iid|id

Chainman: oh, got distracted with something

Chainman: I think I did the copy resources, let me check again

Chainman: cause yeah the graphics are all weird

Chainman: I did that Counterbalance but it's even worse, just black screen almost

miszu: for bitboarding a board of 64 squares, would it be wise to use __int64_t?

reCurse: uint64_t

miszu: thank you!

Wontonimo: I see CP has been awarded. Cool, new ranks!

Chainman: what's cp?


MoMaT: coding points?

samcmullin: I'm a noob, can somebody explain how to read this constraint? 2<=num_bounds<=1000 ?

samcmullin: just started using these types of sites :\

MoMaT: like in normal mathematical expression?

MoMaT: number between 2 and 1000, inclusive

samcmullin: i guess, like when i' coding my solution whats that mean? no number can go number 2 or lower? and no number can be higher than 1000?

samcmullin: so it has to be between 2 and 1000?

MoMaT: usually its about the expected input, so there are no surprises.

ZarthaxX: Wontonimo nice rank :O

ZarthaxX: almost 666 :P

Wontonimo: yeah, i'm reduced to player CoC to get to 666 lol

Wontonimo: watcha doing at this late hour after a competition ZarthaxX?

ZarthaxX: im always chilling haha

ZarthaxX: not necessary on cg

Wontonimo: (i think i just messed up my CoC rank)

ZarthaxX: rn im watching some backend video because i have an interview tomorrow

ZarthaxX: :P

Wontonimo: Good luck!

ZarthaxX: the previous one to this one was in middle of contest

ZarthaxX: ty :D

ZarthaxX: i want to do multis tho

ZarthaxX: contests always leave me with that will lol

Wontonimo: multis? the bot programming?

ZarthaxX: right

ZarthaxX: also so close to top 100

ZarthaxX: i should just do it

ZarthaxX: :/

ZarthaxX: have been like this for years

Wontonimo: funny how that goes ... always chasing the next number. i have that also

ZarthaxX: wdym=?

ZarthaxX: rank? :P

Wontonimo: yeah, i have that want to chase the next rank

ZarthaxX: ah right

ZarthaxX: i want to get top 100 because that's guru

ZarthaxX: and i become orange in rank haha

ZarthaxX: just to match everything

Wontonimo: nice

Wontonimo: the motivation is colour, i respect that

ZarthaxX: nah haha

ZarthaxX: i feel like its about time for me to be higher

ZarthaxX: :P

Wontonimo: i can just imagine that coming up in your interview. "So tell me some of your accomplishments" "I became orange on CG"

ZarthaxX: anyway when multi comes out i will prob get it automatically

ZarthaxX: exactlyyy

ZarthaxX: *just in time*

ZarthaxX: *oh man hired!*


Wontonimo: yeah

Wontonimo: btw, do you ever bring up CG in interviews?

ZarthaxX: i have

ZarthaxX: when it's possible to

ZarthaxX: i jsut comment hey its a cool platform

ZarthaxX: great games

ZarthaxX: i mention my avatar if they want to contact me

ZarthaxX: lol

ZarthaxX: i dont flex obv

Wontonimo: but why not, if you can't flex in an interview then when can you?

ZarthaxX: it wouldnt sound humble

Wontonimo: maybe culture difference in the interview.

ZarthaxX: i guess

ZarthaxX: its my first try at a job

ZarthaxX: im not sooo experienced

ZarthaxX: lol

Wontonimo: oh, okay, i get you. I would totally talk up how much effort you put in, how dedicated you've been over the years, what very challenging problems there are

Wontonimo: and not mention the word "game" or "cool"

ZarthaxX: mmhm

ZarthaxX: i see

ZarthaxX: maybe i will tomorrow

ZarthaxX: it sgonna be an hour with technical people

ZarthaxX: so i can show my motivation for learning

ZarthaxX: :P

Wontonimo: dude, you have kicked ass. Well, you kicked my ass

ZarthaxX: "i kicked wonto's ass!"

ZarthaxX: i kicked some

ZarthaxX: but it's average for my rank/lvl i guess

ZarthaxX: could be way better

Wontonimo: but your rank/lvl isn't average.

Wontonimo: anyway ... what's the postion? full stack or something?

ZarthaxX: i meant that i feel like i should be way higher given my global rank

ZarthaxX: but i gotta value myself more i guess

ZarthaxX: i tend to feel im bad at everything

ZarthaxX: it's backend

ZarthaxX: with java/go

ZarthaxX: it's 2 months of an IT Bootcamp where they teach us and then we enter some area within the company to work seriously

ZarthaxX: :)

Wontonimo: dude, I'm here eating humble pie. I've got 26 years of professional experience in coding, been coding since i was 8, and young guys like you are kicking my but. Be proud, at least to make me feel better

ZarthaxX: you gotta admit tho that this is a different skill than normal work

ZarthaxX: really different

ZarthaxX: but thanks for that, i will :)

Wontonimo: backend and CG competition achievement is a great fit. Backend is all about optimization, moving data, reversing stuff

ZarthaxX: i just feel that it's irrelevant to show off on an interview, but i DO actually include it on cv

ZarthaxX: lik "hey this is my rank globallly, 1st in argentina, best rank ever 28 out of 2500"

ZarthaxX: smth like that

ZarthaxX: yeaahhh i like backend because of that

ZarthaxX: like the algorithmic part of it :)

ZarthaxX: thanks for the support wontooo <3

Wontonimo: first interviews?

ZarthaxX: with this company or ever

Wontonimo: if you think of interviewing like dating, it will go a lot better. A lot of people who go into interviews like it's this formal thing and they act all stiff and wait for things to happen. If instead you think of it as a date it goes a lot better. On a date you are trying to be yourself, but you also have to get to know him/her. You ask about that picture on his/her desk, make eye contact, try to slip in a funny joke when appropriate

Wontonimo: ah ... sorry for the unsolicited advice

ZarthaxX: hahaha

ZarthaxX: the last part was funny

ZarthaxX: its ok thanks for the help

Wontonimo: have you done any NN bots on here?

ZarthaxX: i had an interview once when i got into a school as a teacher, but that was a meme

ZarthaxX: and then i had 3 interviews with a security company

ZarthaxX: they said they were very happy with me, i even metnioned codingame to the last dude and he really cared of how this workedl ol

ZarthaxX: but the chat with those guys was super smooth and cool

ZarthaxX: this is the first interview related to backend, that's the main diffrence

ZarthaxX: to programming itself tbh, because security is not directly programming

Wontonimo: some ppl are good at giving interviews and some are just azz

ZarthaxX: and no, i havent done NN

ZarthaxX: havent messed with ML ever

ZarthaxX: im scared

ZarthaxX: but i want to lol

ZarthaxX: haha

ZarthaxX: the thing is, i was calm back then because i didnt care of that job

ZarthaxX: i just tried but had 0 experience in security and they were not looking for ajunior

Wontonimo: funny story, i do NN and ML at work, i'm actually the lead and yet I haven't applied it here. wtf up with that eh?

ZarthaxX: but in this one iREALLY want to get in

ZarthaxX: so it puts extra pressure

ZarthaxX: i know, you told meyesterday haha

ZarthaxX: it's ironic actually :D

Wontonimo: that's a tough spot

ZarthaxX: i guess you will

ZarthaxX: i will give you one year

ZarthaxX: you will be smashing

Wontonimo: (geez, these last couple days have been a blur. sorry for repeating myself)

ZarthaxX: its ok

ZarthaxX: one loses notion of time while in a contest

Wontonimo: i think of myself as good at interviewing. I've changed jobs about 30 times in 26 years, and usually with 0 break inbetween. But even still, getting a job has quite a but of random chance to it that is completely outside of your control

Wontonimo: someone else may also apply at the same time with +5 yrs experience with all buzz words checked off.

Wontonimo: or they may have a budget cut right after interviewing and not be able to hire anyone

ZarthaxX: oh god 30 times??

ZarthaxX: thats more times than years working

Wontonimo: yeah, about 8 months is my 'usual' length of employment

Wontonimo: i get bored

ZarthaxX: and that's what scares me too, a better candidate showing up haha

ZarthaxX: luckily on this one juniors have a big chance

ZarthaxX: the requisite is to have <=3 years of software dev

ZarthaxX: like, work soft dev

ZarthaxX: 8 months damn, you know, i also fear getting bored

ZarthaxX: it gets annoying to change jobs all the time tho, right

Wontonimo: that's really cool. is there a gov program in Argentina that supports employers in this way or somthing

Wontonimo: no, i really like changing jobs.

ZarthaxX: not that i know of

ZarthaxX: thing is this company is actually doubling their employers size

Wontonimo: you see a lot of new ways of doing this, and can bring your previous experience to the table

ZarthaxX: 16k -> 32k

Wontonimo: oh, that's a lot of employees

ZarthaxX: so they have this IT Bootcamp program where they are recruiting a lot of people

ZarthaxX: i know of many from my uni that have got into it through this program

ZarthaxX: yeah, its a mix of programmers and other kind of jobs obv

ZarthaxX: but i guess a big proportion is of programmers

ZarthaxX: its an amazing oportunity, great company

Wontonimo: i remember my boss in 1998 saying that after the Y2K bugs are fixed that programmers are going to all be out of jobs

Wontonimo: and now there are bootcamps to help as many people into the field as possible to the endless work

ZarthaxX: what is that?

ZarthaxX: luckily haha

Wontonimo: https://en.wikipedia.org/wiki/Year_2000_problem

ZarthaxX: ohhh okey

ZarthaxX: that one was in a simpson's chapter

ZarthaxX: lol

Wontonimo: on Dec 31 1999 the next day was going to be Jan 1 1900

Wontonimo: it was a huge deal. Seriously huge. Power plants were going to stop working.

ZarthaxX: i havent read how it was solved

Wontonimo: I remember a live news coverage of a power plant in the US saying they have solved their issue and to prove it they are going to turn their computer clocks forward 1 year. It shut down their grid for a few days

Wontonimo: we solved it line by line, program by program

ZarthaxX: o.o

ZarthaxX: holy f

Wontonimo: basically, all other work stopped for about 2 years prior

ZarthaxX: ah but back then there was so much embedded systems going on right

ZarthaxX: it was easier

ZarthaxX: ok 2 years nvm :

ZarthaxX: D

Wontonimo: some companies just said f-it, we are just going to turn back the clocks of our computers every night 1 day and stay in 1999

Wontonimo: i kid you not

ZarthaxX: doing that every day sounds so shit

Wontonimo: fun times. lots of doomsdayers prepared for the end of civilization

ZarthaxX: and i was just a baby back then

ZarthaxX: little did i know

ZarthaxX: i mean it would be a disaster rn

ZarthaxX: back then it would have been, but not as much