From CG community
Jump to navigation Jump to search

jrke: eulerscheZahl how you run local simulation?

eulerscheZahl: with a local computer

Marchete: genius

eulerscheZahl: :brain:

eulerscheZahl: oh :(

Marchete: :older_man:

Marchete: 🧠

dbdr: :frog:

dbdr: 🧠


AbundantPuddle: :eggplant:

AbundantPuddle: ⚙️

dbdr: how to create a hole in the IDE layout :D

jrke: :santa_tone5:

jrke: ya it happens with me dbdr sometimes

eulerscheZahl: what did you do? collapse the chat?


dbdr: so no

dbdr: right click on the right zone of the editor, then right arrow on the kbd

dbdr: seems too much right is bad :D

dbdr: :no_mouth:

eulerscheZahl: ah. disappears again when you clos eit

eulerscheZahl: close it

dbdr: yes. the wonders of the DOM

kovi: what was your score yesterday dbdr?

dbdr: kovi:

dbdr: why?

kovi: yay, im above

dbdr: you're competing with past dbdr? :D

eulerscheZahl: he started later than you

dbdr: oh sure

kovi: you still online?

eulerscheZahl: who?

kovi: or local hardcode. dbdr?

dbdr: "you"

dbdr: offline

dbdr: but not optimized yet

eulerscheZahl: i'm online again for an hour maybe. didn't put an all-nighter

dbdr: :D

eulerscheZahl: i'm hardtoading :(

dbdr: how to run a local simulation of euler?

jrke: kovi do you know about mini samegame contest ?

kovi: what do you mean?

jrke: you have to eat a toad dbdr for running euler sim

dbdr: "you"

eulerscheZahl: you need a lot of obscure dependencies for it, not recommended to install

dbdr: perl code?

eulerscheZahl: now i can't find a nonsense reply to keep this going

eulerscheZahl: btw smits of solving online too

kovi: yes, he is doing well


dbdr: yes, impressive

Illedan: Morning

dbdr: hey Illedan :)

Thyl: Morning

jrke: yeee i didn't believe myself made 29000 points

eulerscheZahl: live-clash-of-code what is Thibaud doing on discord? creating a different place to share invites than this chat?

eulerscheZahl: oh, are those even different servers than the regular CG discord?

Illedan: No

Illedan: or

Illedan: :shrug:

jrke: oh ya i also saw live clash of code

eulerscheZahl: but clicking the links just tells me that the server isn't public

eulerscheZahl: i guess he's still in the middle of adding it

jrke: but i can see it

jrke: oh links sorry thought page

eulerscheZahl: but can you... now I made a screenshot for you :/

[CG]Thibaud: the server was shared by Terazoid


[CG]Thibaud: notifications are sent there and I follow them in #live-clash-of-code so people interested interested in streaming but not CoC are not annoyed

eulerscheZahl: ah, I see. Missed that because I have the streaming channel muted

[CG]Thibaud: :ok_hand:

FinnWerner: :point_up_2_tone1:

FinnWerner: :ok_hand:

Andriamanitra: does this site ever get new languages added?

dbdr: yes

Andriamanitra: odds on ever getting julia?


dbdr: TS and D got added, Julia was not far behind

Andriamanitra: :thumbsup:

dbdr: welcome to the club, Illedan :)

jrke: wait i will try to be in that club

dbdr: ok :)

jrke: my online sim got 36k points will run offline

Andriamanitra: can i only be on the leaderboard once? i was going to snag the coveted #1 spot for lua in samegame

eulerscheZahl: the 100k club?

jrke: there is no one from lua currently

eulerscheZahl: Andriamanitra only your highest score is shown

Andriamanitra: well i'm f'd then

Andriamanitra: i'm never going to beat 32k

jrke: 5 c++ in top 10

eulerscheZahl: there are barely more than 10 even trying more than just printing a valid move

eulerscheZahl: so you see the language preference of active users, doesn't tell anything about the language performance at all

dbdr: most of us could submit in lua too if we wanted :)

dbdr: with the same score

eulerscheZahl: i feel like i could even get a higher score in lua

kovi: not me

eulerscheZahl: as you are playing for real and make me feel a little shabby

eulerscheZahl: you definitely have the better algo

jrke: is there any in 100k club without harcoding?

eulerscheZahl: yes, 2

eulerscheZahl: kovi and smits

jrke: wow

dbdr: domiko too maybe?

Andriamanitra: what'd harcoding

jrke: they are nearly to beat dbdr hardcoded

eulerscheZahl: can't tell for domiko

eulerscheZahl: i'm sure dbdr will raise his score

dbdr: not 100K, but will be

jrke: and he is not in 100k club currently

jrke: domiko ^

eulerscheZahl: chat is laggy as i'm using 7 out of 8 threads for the puzzle :/

dbdr: really? :D

Andriamanitra: i thought the solutions run serverside

dbdr: how many bogomips eulerscheZahl?

Andriamanitra: seems a bit unfair to run them on clients

eulerscheZahl: dbdr started this

dbdr: it's fair since everyone can do it

Andriamanitra: but not everyone has same hardware available

Andriamanitra: or time

dbdr: also, MSmits made me realize, there is more luck involved with running online

eulerscheZahl: of course. you might be able to clean the board for 1k extra points

dbdr: ?

eulerscheZahl: ? ?

dbdr: I did not follow how what you said connected with the rest

eulerscheZahl: "luck factor" -> i agree

eulerscheZahl: as the 1k bonus for an empty board is significant and you won't always be able to get it

dbdr: right, that's a dominant aspect

kovi: true

Andriamanitra: maybe the validators should be randomized and just repeated enough times that you can take average

dbdr: and the luck is amplified by having to be lucky in many validators at once

dbdr: when validators are randomized, people submit many many times

eulerscheZahl: random validators are a bad idea. you can't get the same score on each board

dbdr: which is not good for CG servers

eulerscheZahl: so the board would be more relevant than your algo to some degree

jrke: whats best for vertical lines ?

dbdr: Andriamanitra: it's true there is also unfairness offline, but I think less. I don't have a fast CPU

Andriamanitra: algos are already mostly irrelevant if we're pre-calculating everything

dbdr: very much not true

dbdr: algos are extermely relevant

dbdr: Numbershifting showed this brilliantly

eulerscheZahl: 9803 i think jrke

Andriamanitra: you don't even need to use the same algo for all of them for crying out loud


jrke: same me hardcoded

dbdr: using the best algo for each base is exactly what you do in real problems

dbdr: there is nothing wrong with that

Andriamanitra: yeah but you conveniently skip all of the stuff that you'd have to do to choose the right one

eulerscheZahl: but the CG website design makes it a little unfair. we (lvl29+) can easily get the validators. new users won't even know that they are available

dbdr: oh, definitely, we should make the validators available

jrke: i made a code in which i enter mat and it gives me mat save in 2d array and moves as ouput for saving hardcoding

dbdr: if you want to compete on solving problems fast, it's exactly the skills needed for multis

dbdr: no need to make optim duplicate that

dbdr: it's good that it's different

dbdr: I mean "at real-time scale"

dbdr: 50ms or so

eulerscheZahl: i'm perfectly fine with some offline solving that is announced at such so everyone at least knows what's going on. see google hashcode

dbdr: and NS :)

eulerscheZahl: yes :D

YurkovAS: samegame has referee with many validators?

eulerscheZahl: 20 validators

eulerscheZahl: i can file a PR on your repo dbdr

jrke: ya even refree have random validator genarator

dbdr: I was looking at doing that eulerscheZahl :) do you have something in a ready to use format?

dbdr: I have something


YurkovAS: i can't find "samegame" referee url. can anybody help me?


eulerscheZahl: you should mention the other 20 validators

dbdr: right

dbdr: aCat?

aCat: hi

eulerscheZahl: aToad?

jrke: im ready for running local sim but i don't have time wanna go for lunch will do it later :(

dbdr: what about pushing the referee to a git repo?

dbdr: as YurkovAS was looking for it for instance

aCat: I didn't find a good reason for this as the code is downloadable

aCat: but i can

eulerscheZahl: also helps those who want to understand the SDK. just more reference to look at

dbdr: it's only dowloable for level29+, no?

aCat: I'm learning sdk via downloading ccontributions

aCat: 20

eulerscheZahl: 29+ to find it now

aCat: searching for githuybs is waste of time ;p

aCat: ouch

eulerscheZahl: as it's not pending anymore

dbdr: CG trivia :)

aCat: It is actually a github

eulerscheZahl: then link it in the statement

aCat: but inside my secret CG-solutions :P

**eulerscheZahl always does this :angle:

jrke: euler how many your local sim take for one complicated case

jrke: time

**eulerscheZahl always does this :angel:

eulerscheZahl: i use the same time for all testcases

aCat: and it has a readme pointing our related research

jrke: whats that limit?

jrke: how many ms or seconds?

eulerscheZahl: i don't even count the rollouts or anything, no idea

eulerscheZahl: beam search with 2000 width

jrke: ok

eulerscheZahl: changed that, running with lower width and some randomness right now

eulerscheZahl: new score: 129004

dbdr: nice

eulerscheZahl: still running. and theer's 4 cases i don't clear yet

eulerscheZahl: 8 with duplicates


aCat: current readme

dbdr: I don't ever track which cases I solve

YurkovAS: aCat thanks for url. i'm find contribution download url.

dbdr: *even

dbdr: I should

Default avatar.png GeRiY: guys i can't start it :( "There is no Spoon - Episode 1" Someone can help me?


eulerscheZahl: plus means solved

dbdr: I know. I don't know my own

aCat: yeah, actually i can put link to contribution in the statement itself ;]

jrke: Westicles have nice lead!

Westicles: jrke, I cheated.... I already did these back in 2012

[CG]Thibaud: GeRiY I suggest you check the forum post related to the puzzle

[CG]Thibaud: or ask your question directly

Westicles: Though I didn't save the solutions

dbdr: did you find your code? :)

Westicles: Yeah, that dead Dell sitting in the corner had it on the hard drive

dbdr: :D

Westicles: Total mess. There are around 10 parameters tuned for each case

Default avatar.png GeRiY: what is example what i need to put in output?

Default avatar.png GeRiY: number,number?

jrke: x y

Default avatar.png GeRiY: its not help :/

jrke: x cordinate,space,y co-ordinate

Default avatar.png GeRiY: i get a $line and its contain four three number and one dot

Default avatar.png GeRiY: if i write ( echo "0, 0"; ) its wrong

Default avatar.png GeRiY: sorry ( echo "0, 0\n" )

MSmits: aww damnit dbdr

MSmits: had to pass me when I was sleeping huh

dbdr: you got punished

dbdr: for encouraging other ppl to beat me ;)

MSmits: hehehe

aCat: ok, posted on github and updated CG readme

MSmits: Did you see how far I got online though :

eulerscheZahl: thanks aCat

dbdr: yes, impressive!


MSmits: thanks, yeah gonna try to set up something offline to day

eulerscheZahl: acatai? are you asian now?

aCat: nopw ;]

aCat: aCatAI ;]

aCat: i had to found new nickname in a short time

ivandr: do anybody know how to see how much time code spend on answering??

eulerscheZahl: use the stopwatch equivalent of your langauge

Andriamanitra: use a stopwatch and watch the output carefully

eulerscheZahl: start the timer *after* reading the input

ivandr: this editor has debuging&&

MSmits: you need to code it avandr

ivandr: or you meant clock

MSmits: ivandr

MSmits: whatever your language has

MSmits: it's code... so language dependent

ivandr: of course

ivandr: I understand

MSmits: yes you still havent said which language....

ivandr: C++

MSmits: ok

MSmits: sec

ivandr: clock()

ivandr: function

MSmits: nah

ivandr: can measure time

ivandr: I know

eulerscheZahl: chrono has higher precision

ivandr: yeahh

MSmits: auto start = std::chrono::high_resolution_clock::now();

ivandr: hahah

ivandr: good googling

ivandr: thanks anyway

MSmits: it's not googled lol. I have this in 20 bots :P

ivandr: )

eulerscheZahl: and you googled it the first time you needed it

MSmits: no

MSmits: I Robo-ed it

eulerscheZahl: chat shared?

eulerscheZahl: :D

ivandr: I thought that all puzzles will show me usage like in codeforces(

MSmits: they will show you by timing you out if you're too slow, but otherwise you have to do it yourself

MSmits: you need to time it anyway, because often, you want to use the full available time

ivandr: ok

MSmits: and you need to know when to cut the algo short

eulerscheZahl: for puzzles it's usually not relevant

MSmits: true

ivandr: at some sense

MSmits: it's relevant when you have an algorithm that's too slow and want to test different things that are faster I suppose

MSmits: but that almost never happens afaik

MSmits: it does in bot games and opti arenas ofc

ivandr: mostly it used in machine learning - reinforcment learning - Monte Carlo

Andriamanitra: there should be style point category

Andriamanitra: just marvel at this absolute beauty of a code that i've created to find the groups in samegame


Andriamanitra: powered by regexp


dbdr: or

dbdr: as you prefer ;)

Marchete: are you using some bitset magic in SameNumber, MSmits?

Marchete: or not worth it

Marchete: ?

dbdr: what a question

dbdr: he's MSmits

Marchete: :D

dbdr: (that answers the first question, not the second)

Default avatar.png Nicholas0901: Hi guys and gals, I am trying to figure out how to display information in my game

Default avatar.png Nicholas0901: I want to print out values without making the game crash. I can't wrap my head around the sys.stderr. Anyone able to quickly explain? Thanks

Andriamanitra: stderr is a separate output stream that won't be read by the game

Andriamanitra: how to use it depends on the language you're using

aCat: yeah - I passed this awful first steps in creating new puzzle!

aCat: nothing is visible

aCat: no idea where to start coding

aCat: :D

MSmits: oh sry was shopping

MSmits: not using bitset magic afaik

MSmits: I use a bitboard for floodfill, but my color map is just int8_t[225] i could probably do better here

MSmits: Marchete

Marchete: :thumbsup:

wlesavo: westicles i wonder if you already got to 1000 in NS? if thats not a secret ofc :slight_smile:

Westicles: No, I stopped where it is on the leaderboard

Westicles: I think dbdr could take it to a 1000 much easier

wlesavo: oh, didnt notice you submitted, nice

Nicholas0901: Thanks, so to anyone else who is new, the stderr is displayed in the console like the other input. Just you can filter to view the Debug only :)

MSmits: hey, does someone have test case 1 to 20 for SameGame in string format?


MSmits: nice thanks


aCat: awful formating dbdr ;p

dbdr: that's subjective

dbdr: for me one line per case is easier to use

eulerscheZahl: for me it's 20 different files

aCat: what's upperbound on on in-game sgapes while initializing?

aCat: I can't show grids with > 36x36


eulerscheZahl: sgapes?

aCat: shapes

Astrobytes: shapes I believe

eulerscheZahl: 100kB for the initial turn, 30kB for later

aCat: kB...

eulerscheZahl: no pixi object limit, just ther replay size

eulerscheZahl: i managed to get around it by doing it in JS directly

eulerscheZahl: didn't publish teh code yet as I still have hopes for a contest

Astrobytes: What did Thibaud say?

Astrobytes: (re. your game)

eulerscheZahl: will review it this week

eulerscheZahl: the trick for the JS part: still use the SDK to register the entities (as this supports movement animations and all that)

eulerscheZahl: but generate them in JS yourself for less data

eulerscheZahl: otherwise you would have to reinvent frame transitions when the user starts sliding the timebar below the player

aCat: kB.. so how I can optimize it? I use simple rectangles / lines

aCat: I can cut the number of entities in half but hey I want this to be pretty :(

eulerscheZahl: put it in a private github repo and add me to it if you want (same username as here)

eulerscheZahl: i might not get to this today anymore. but it seems you can continue with it on a smaller map size for now and then scale it up later

aCat: yeah, I just want some hints for the future

aCat: I added you

eulerscheZahl: got hte mail

aCat: this is 90% irrelevant copy of the samegame

eulerscheZahl: great commit message :D

aCat: and 10% started jps puzzle

aCat: viewer is working and just showing grid, player is irreblevant does nothing

aCat: test 66 is large grid ;-)

eulerscheZahl: the general approach: you create and register your own module in Java (like the tooltip module or toggle module from the SDK)

eulerscheZahl: that module is responsible to serialize some data

eulerscheZahl: you add the mathcing module in JS to extract the info and do something with it

aCat: so you shift the workload to other part of the system that does not have such constraints?

aCat: The only thing I did in javascript were 3 puzzles ;p

eulerscheZahl: yes, whatever reduces replay size

eulerscheZahl: i can add that part to your game to draw the map in JS. then you also have a reference to come back the next time you need it

eulerscheZahl: took me about 2 days to get it working for my own game

eulerscheZahl: not much code. but easy to miss one thing in the chain

Default avatar.png JBM: still using pixi, or ditched it altogether?

eulerscheZahl: still pixi

eulerscheZahl: as the SDK does the pixi handling and user interaction and all (pausing, resuming, ...)

aCat: that would be great euler I might need it a lot, for later puzzles

Default avatar.png JBM: your teapot inspired me to push my html5 viewer concept a little further

eulerscheZahl: cool

aCat: this one can stick with small maps if forced to, cause its simple exercise

eulerscheZahl: let's make our own SDK

aCat: but, the extension I plan

Default avatar.png JBM: still not the ideal java-free svg-based thingy i'm aiming for

Default avatar.png JBM: but a bit closer

aCat: will be in pain without HUGE maps

eulerscheZahl: you can even get around java I think if you manage to tell maven to use something else

Default avatar.png JBM: i don't have the required maven level for that yet

Default avatar.png JBM: though i'm getting frightfully better at it

Default avatar.png JBM: but i'm not too scared of that

Default avatar.png JBM: i'm not too far from just pushing my binary along

eulerscheZahl: aCat there are still limitations. pixi itself gets laggy with too many objects shown

Default avatar.png JBM: and re-extracting/running from java

eulerscheZahl: so that 36x36 map already has > 1000 objects

eulerscheZahl: that's still fine but already pushing it to the limits

aCat: so

aCat: what's the ability to show 256x256 game maps?

aCat: :D

eulerscheZahl: compression? :D

aCat: hmm, actually in this case

eulerscheZahl: a chessboard would be a problem

eulerscheZahl: but large areas could be combined in visuals

aCat: I will probably stick with loading precomputed map png as a one image

aCat: and draw on top of that if needed

eulerscheZahl: sounds a reasonable decision

aCat: but Detective Pikaptcha EP1 have very large grids

aCat: but he proobably uses less visuals than me including additional lines, tooltips, etc

eulerscheZahl: tooltips can be generated in JS too

eulerscheZahl: also toggles (for a debug view)

Default avatar.png Memo12334: bruh pikaptcha

wlesavo: yay got MC in C++ working, took me quite long though

ivandr: Guys, do puzzles have hidden tests

SPDene: yes

ivandr: or we see all testcases

ivandr: ok if yes how many

ivandr: where to see the amount

ivandr: of hidden tests

SPDene: you deliberately CAN'T see all test cases, to prevent you writing "If (case1), write (answer1)"-type solutions

SPDene: if you see 5 tests, there will be another (hidden) 5 tests

Gorbit99: if it's a normal in/out puzzle that is

ivandr: hmm

ivandr: ok

ivandr: maybe bad tested puzzle

dbdr: cool wlesavo!

wlesavo: are most of SG top scores from offline or it is possible to get >100k online?

wlesavo: thx dbdr

eulerscheZahl: smits and kovi are online

wlesavo: oh nice

eulerscheZahl: the odd number in the score is a clear indicator for online sim btw

wlesavo: smits have some sick rollouts count, i think i have an order of magnitude lower

eulerscheZahl: mine is really low

eulerscheZahl: after each change i regenerate all groups

MSmits: hmm i dont think my rollout count is that great is it?

wlesavo: well yeah, i do the same and for long testcases i get only 50k rollouts in 20s

MSmits: lemme test on set 15

MSmits: 80k in first 20 s.

wlesavo: oh, so not that many

MSmits: that's with mcts though, not sure how that affects rollout count compared to MC

MSmits: might be slower or faster

wlesavo: i though you said you have around 50k in 50ms

MSmits: nah

wlesavo: maybe for a smaller cases

MSmits: I have a solver, so i almost solve those

wlesavo: so mine 50k is actually ok, maybe ill try some real algo then

MSmits: it's not bad

MSmits: though, maybe my sim could use improvement

eulerscheZahl: 11845 ms 207361 expands

eulerscheZahl: on testset 15

Illedan: Online?

MSmits: mmh, you mean moves played"?

eulerscheZahl: expand is a single removal of 1 group

eulerscheZahl: yes, on the CG server

MSmits: oww

eulerscheZahl: but my score is offline search

MSmits: in those metrics I go over a million I think

wlesavo: oh, it is not a rollouts

MSmits: lemme count moves played

Illedan: I count full rolouts

eulerscheZahl: i don't do MCTS so it makes no sense to give you that number

Illedan: about 200k in 30 sec

MSmits: nice

kovi: 360k in 20sec

eulerscheZahl: so far kovi wins I think

aCat: eulerscheZahl thanks for the PR

eulerscheZahl: you welcome

aCat: I will try to understand what's inside

dbdr: is it a trojan?

aCat: and thanks for giving me hints how project filkes should look like / what to remove

aCat: I have no damn idea what files java & intellij creates and uses for

Illedan: :D

eulerscheZahl: .idea is your local project which files you have opened and such

MSmits: btw as for performance. It depends a lot on how you select a move. If you pick a random tile, it's different from when you floodfill every tile and then select a random flood

eulerscheZahl: you didn't add them to .gitignore and i didn't pay attention, my IDE just replaced some without my intent to do so

aCat: ah ok

aCat: fooltip is your version of tooltip?

eulerscheZahl: so the whole .idea folder should be in gitignore

eulerscheZahl: yes

eulerscheZahl: i needed a registerTooltip function

eulerscheZahl: so to add it, I just copied the tooltips file and tweaked it

eulerscheZahl: and pepped up the naming not to get confused :P

dbdr: foolpit

aCat: bleh, normally CG repos are for me, so even storing open IDE tabs seems reasonable for me ;p

aCat: :+1:

kovi: the problem is that 2x rollout only gives approx +5%

eulerscheZahl: you can't expect a double score as the theoretical optimum is probably below 200k

dbdr: so CPU amount only has negligible impact on optim score?

dbdr: shocking!

MSmits: yeah, the leaderboard will be creeping along

Illedan: xD

MSmits: biggest creep wins

dbdr: oOo

Illedan: WHAAAT can't I solve NP problems faster with more CPU :P

kovi: so 1k luck factor is more than that

kovi: or lucky roll on some unbalanced? (set20) case

MSmits: I doubt luck has much of an effect here

MSmits: algo > cpu time > luck

aCat: eulerscheZahl so I need to move everything on JS side, or later can add normal in-java tooltips and stuff?

aCat: but all the things as constant declarations, etc have to be doubledeclared then

dbdr: what about the luck to find the right algo?

dbdr: luck > algo. it's RPS all over again ;)

MSmits: sure, there is some luck in that, but also not that much :)

wlesavo: also luck in choosing the right language

MSmits: yeah, the best way to choose a language is by wheel of fortune

dbdr: roll the dice to discover your next language...

eulerscheZahl: you can combine the JS stuff with the CG SDK

dbdr: :scream:

eulerscheZahl: but it's not possible to create an object in JS and then reference it in Java

eulerscheZahl: and yes, you will need some code duplication. you could also send the constants to the JS module as well do avoid that. But I think it's not worth the overhead

eulerscheZahl: the tooltips might be a little tricky as you should use my Fooltip module for it. Otherwise you would see 2 overlapping tooltip windows in some cases

eulerscheZahl: but i can help with that if needed

aCat: yeh, I was thinking about that and probably youre right, sending constants as data to module seems stupid

wlesavo: got +10k by varying a seed lol

aCat: If fooltip works the same I assume I can use it instead of the old one

aCat: no reason not to

MSmits: gj wlesavo :)

wlesavo: thats totaly my way of solving prorblems :smiley:

eulerscheZahl: you will have to create a fooltip module on the Java side too

aCat: aaa

eulerscheZahl: my copying the official tooltip module and changing 2 or 3 lines

aCat: hm

eulerscheZahl: my => by

eulerscheZahl: and inject the new module in the

aCat: so you don;t have it already done in your projects?

eulerscheZahl: i have one project with some more JS code. but that would spoil a potential contest

eulerscheZahl: if you agree to keep your mouth shut and possibly test the game, i can give you access

aCat: ok, ok, I didn't as for an access , just like it is somewhere so you can copypaste this to me without too much effort

aCat: changed my mind

aCat: I am asking for an access

eulerscheZahl: that makes it easier for me :)

aCat: :heart_eyes_cat:

eulerscheZahl: so no sharing and spoiling, you agreed to these conditions on a public chat

dbdr: with logs

aCat: This cat is an honest person

aCat: trust this one

Illedan: We know where you live :eyes:

aCat: no you don't ^^'

Astrobytes: Cats are people too? :o

eulerscheZahl: invite sent

eulerscheZahl: g2g for now

aCat: thx, cya

dbdr: people have eyes. cats have eyes. therefore cats are people

Astrobytes: Astounding logic :D

dbdr: thx

dbdr: non distributio medii

dbdr: even more astounding with such a name, right?

Astrobytes: I remember this from the logic section of my maths for computer science course

Astrobytes: Part of me wishes I'd continued down that path rather than biology, but hey ho

dbdr: you can do CS on CG :)

Astrobytes: Well I have been learning ;)

dbdr: TheHolyCommitter was a great random username

jrke: are there only 30 original testcases in samegame?

zlatanised: yello

Default avatar.png Memo12334: is it forbidden to ask for someones solution?

Scarfield: not only is it forbidden, its severally punished :p

Default avatar.png Memo12334: ok bg for me then

Scarfield: you can ask, if you have already solved the problem yourself, someone might want to share, but dont count on it

Default avatar.png Memo12334: ye probably no one is that generous xd

Scarfield: having problems with a puzzle?

Default avatar.png Memo12334: yes and for a long time , it drained my brain power

Scarfield: which one?

Default avatar.png Memo12334: I can't think clear anymore but I rlly want to solve it before I can live again

Default avatar.png Memo12334:

Scarfield: i havent done that one, what approach are you trying?

MarkAdell: what are the benefits of clash of code chat?

Scarfield: you can ask for a tip if stuck, and someone might be helpful

MarkAdell: but the chat isn't present during the round

Astrobytes: It has a known bug at the moment, where it disappears. Staff are aware, can only apologise in the meantime :/

Scarfield: oh didnt know, AstroWise

Astrobytes: Now you do KnowledgeField

dbdr: jrke only 20 unique validators

dbdr: + 20 that are the same with different colors

kovi: nice improvement msmits. still not local?

MSmits: no, i just started doing offline

MSmits: just a bot thats given more time is all

MSmits: 4 second turns till the end

MSmits: most of the testcases are the result of just 1 trial run

MSmits: I think I should be able to get to 140-150 or so if i hang in there

Scarfield: if you are testing locally, is there any reason to go beyond the first turn, instead of simulating from the first choice untill end, and finding the best sequence that way?

MSmits: it's nice how submits are much faster with hardcoded solution

dbdr: :D

itzblinkzy: i passed all the test cases in clash of code but still got 0%

itzblinkzy: :pensive:

itzblinkzy: dunno what i did wrong

jacek: you didnt invite anyone

dbdr: esp starting with e

eulerscheZahl: damn you dbdr, how dare you stealing my 2nd place?

eulerscheZahl: i have 139k offline. still below you

dbdr: you mean my 2nd place that you were injustly occupying?

eulerscheZahl: that's a ridiculous complaint

dbdr: I'm not the one complaining ;)

eulerscheZahl: you are the one stealing ranks

dbdr: *liberating

eulerscheZahl: do you clear all boards?

dbdr: I don't record it :D

eulerscheZahl: :rolling_eyes:

dbdr: lemme try sth

dbdr: yes, I clear all

dbdr: you?

MSmits: what boards?

wlesavo: all of them

wlesavo: :smiley:

MSmits: I got that part :P

jacek: tic tac toe boards?

dbdr: samegame board

dbdr: s

dbdr: what else?

jacek: differentgame boards

Scarfield: MLP boards

dbdr: skate boards

Astrobytes: floor boards

MSmits: not sure what you mean by clearing though

eulerscheZahl: i'm one short of clearing all

Scarfield: removing all tiles

MSmits: ohh, empty the full board for +1000

dbdr: yeah

MSmits: I dont even know

Scarfield: I suppose there could be a starting board, where you could get a higher score, by grouping more than 35ish tiles and removing them together, but not clearing the entire board

dbdr: theoretically yes, but 1000 is quite significant

Scarfield: sure, was just thinking that clearing all boards, might not be the best metric

dbdr: the best metric is score :)

Scarfield: ^ :)

dbdr: it's still interesting to check it

Scarfield: yea, i just finished the sim for it, now to decide how to search

dbdr: it's like that NASCAR video: "our strategy? drive fast!"

MSmits: mcts it :)

MSmits: mcts is easier for single player than for 2 player

MSmits: because you dont get the annoying sign bugs

Scarfield: thats was my first idea, but i think its time to learn about beam search, havent used it before

MSmits: sure that might work too

Scarfield: hmm just read the first paragraph explaining beam search. The idea is a lot simpler than i thought it would be, and doesnt seem to be the way for this optim. I understand your "might work" :p

dbdr: why not?

MSmits: there are different approaches that might work

MSmits: the advantage mcts has over beamsearch is detecting long term benefits

eulerscheZahl: JBM just trolled me :D

Default avatar.png JBM: \o/

Default avatar.png JBM: you may be interested in the way I address assets, btw

Scarfield: the greedy part of it, it seems to need a very good eval to sort out which choices to leave out

MSmits: what did he do euler

MSmits: Scarfield right

eulerscheZahl: pending contributions MSmits

Default avatar.png JBM: i feel it's a bit cleaner than the "struct way" of posting once, than finding the hashes


MSmits: kk

Default avatar.png JBM: even in undocumented

eulerscheZahl: i'll have a look at it. i took the hash-way too

MSmits: oh no i got RR-ed

Default avatar.png JBM: yes, that's why i mention it

Astrobytes: ah ffs :D

Default avatar.png JBM: even *if undocumented

MSmits: sometimes you think it's gone and then every few years it comes back

jacek: again, no fog of war

Scarfield: xD

Default avatar.png JBM: there's some around 1'50

Default avatar.png JBM: i think

eulerscheZahl: webm.setAttribute( 'src', base + assets.images['codingame.webm'] );

eulerscheZahl: hm, how to use that in the statement?

Default avatar.png JBM: doesn't the statement pick them up directly?

eulerscheZahl: struct likes to add a lot of images there too

eulerscheZahl: I don't think so. Never tried tbh

Default avatar.png JBM: it does for league popups

eulerscheZahl: i know

Default avatar.png JBM: i'd expect it to do so for regular statement as well

Default avatar.png JBM: though i never tried either

MSmits: eulerscheZahl are you beamsearching samegame or still mc?

eulerscheZahl: hm, now that I think of it: might work. of course not if i place it in the asset folder :D

eulerscheZahl: MC beam

MSmits: oh

MSmits: like MC hammer

jacek: mr beam

eulerscheZahl: beam, then MC to change a step, beam from there

MSmits: mmh bit like mcts

eulerscheZahl: and i realized that i have no save routine for during a run

eulerscheZahl: only when that testcase finished

MSmits: yeah I me neither

eulerscheZahl: getting tired but i have a nice score :(

MSmits: I need to get a meta mcts going

MSmits: that's a lot of work though, not sure if i can do that before sunday and run it any useful amount of time

Scarfield: for samegame?

eulerscheZahl: blame illedan for the close deadline

MSmits: yeah

eulerscheZahl: the cat is already working on the next game

MSmits: damn felines

Scarfield: felines before Fraülines

Scarfield: ah no umlaut :'(

MSmits: did you just come up with that one?

darkhorse64: He wants us to review all literature about NP problems

MSmits: i dont need to

Scarfield: nope, saw on reddit somewhere

dbdr: clicked the preview button on that contrib expecting a 3D toad

MSmits: they are no problem, problems after all

MSmits: haha dbdr

MSmits: you got RR-ed too

dbdr: RR?

MSmits: did you click play>

darkhorse64: Have you read NRPA papers ? Even worse than solver ones

MSmits: otherwise i will not tell you what it means

Default avatar.png JBM: i think he knows what it means

dbdr: ah, RR

dbdr: :D

Scarfield: "nobody knows what it means, its provocative, gets the people going"

dbdr: first time it crashed the tab

Default avatar.png JBM: how do i pop out the twitch chat thingy? :'(

MSmits: mmh was was nrpa again, it came up the other day

Default avatar.png JBM: shit, there goes my portability :(

dbdr: wondered if it was an exploit :D

Default avatar.png JBM: nope, that's a bug

Default avatar.png JBM: my side or CG?

dbdr: FF, but definition

dbdr: a tab should not crash

darkhorse64: Nested Rollout Policy Adaptation. I don't like the idea of streaming inside CG

MSmits: ahh right that


MSmits: sometimes these papers about rollout adaptations and selection strategies feel like the researchers are running out of stuff to imrpove about mcts

MSmits: we got 3% better results on game x

MSmits: that sort of thing


dbdr: that's a bug JBM

dbdr: loads to 50 after submit

Default avatar.png JBM: yeah, did it to me too once

darkhorse64: The paper claims for more

Default avatar.png JBM: their asset loading isn't foolproof

MSmits: hmm ok

dbdr: #1 at RR :)

Default avatar.png JBM: shit, i'm not logged in to CG on this box

Default avatar.png JBM: and I forgot my email

MSmits: damnit, I dont have your login details on this computer either

darkhorse64: Too hard to code when the beach is nearby

kovi: uh another hardcoder

Default avatar.png JBM: got it from the mail server

MSmits: lol, he said too hard to code, not to hardcode :P

darkhorse64: :ice_cream:

MSmits: oh darkhorse64, i gave up breakthrough for now. Got lower top 10, but everything I try with params fails

jacek: aww

MSmits: I might return though :P


MSmits: I think i need a new eval approach, but i dont feel like it

darkhorse64: I did for now too. I think I have a performance issue on BT but my code triggers a VS compiler bug and I am unable to profile it

MSmits: ahh thats annoying

Scarfield: xD lol dbdr

darkhorse64: my __builtin_ctlz implementation issues wrong code

dbdr: use a real compiler then?

MSmits: damnit I just got RR-ed again

MSmits: ctz is undefined for 0

MSmits: might that be your issue?

dbdr: there's a funky history around that

MSmits: nooo, no more RR links

dbdr: a new instruction with the same encoding as the old, but different behaviour on 0

darkhorse64: Worse than that. The compiler casts my uint64 to 32 bit

Scarfield: ctlz? isnt it either ctz or clz

Illedan: RR?

Scarfield: or just typo

MSmits: clzl or ctzl

MSmits: the l at the end is for 64 bit

darkhorse64: Sorry, ctzl

Scarfield: long yea, was just thinking that the typo could somehow be an issue

MSmits: Illedan click on JBMs new contribution


Scarfield: i upvoted it

darkhorse64: Care to share some performance figures ?

Default avatar.png JBM: streaming a bit of puzzle creation now if there's any interest

jacek: barcelona bayern 1-1 so far

MSmits: preview, then play, then you will know what RR means

MSmits: darkhorse64 you mean for breakthrough?

darkhorse64: Yes

MSmits: sure sec


MSmits: Rollouts: 418400

MSmits: ROOT: visits: 10504216

MSmits: turn 1

MSmits: Rollouts: 48736

MSmits: turn 2

jacek: rollout = 1 eval?

dbdr: (who thinks I've edited that wikipedia page with a RR?)

MSmits: no jacek

MSmits: thats eval of all children

MSmits: root visit is 1 eval

MSmits: so 10 million of those

jacek: :scream:

MSmits: i dont do random rollout

MSmits: i expand eval all, backprop

MSmits: if i would do, say a 5 depth rollout, it would be slower

MSmits: bot might even be better, but too lazy to try

RoboStac: darkhorse64 - ctzl is for longs (min 32bit) - ctzll is for long longs (min 64bit)

jacek: or you just need better eval

MSmits: yes, but in CG environment ctz is 32 bit and ctzl is 64 bit

dbdr: for now

MSmits: I for sure do need better eval to beat tric trac

RoboStac: yeah, but thats because of the min part of my statement - gcc does 64 bit longs

MSmits: for you i need better eval and some offline boosting

MSmits: yeah i know robo

MSmits: c++ is silly

MSmits: what other language does this?

RoboStac: pretty sure c started it

dbdr: C

MSmits: ah yeah thats not surprising

RoboStac: lots of others have variable sized types for some things

MSmits: oh

dbdr: lots?

MSmits: well i dont know so many language so sure

darkhorse64: My VS code:

MSmits: it just seems weird


jacek: int should be int - 32 bits, no more, no less :x

dbdr: not sure which ones

MSmits: whats wrong with that darkhorse64

RoboStac: well, rust / go both do sizes as 32/64 depending on arch

RoboStac: admittedly at that point I'm running out of examples

dbdr: rust has u32 and u64 and u128

RoboStac: yeah, but c++ has uint32_t

dbdr: and usize for the dependent one

darkhorse64: The code is correct but the compiler messes with it

MSmits: u128 is nice

MSmits: did you know C# actually sort of has u128

MSmits: it's called Guid

dbdr: uint32_t is ugly enough that it does not get used much

RoboStac: c++ just makes it really awkward by automatically converting between things

RoboStac: so you suddenly lose some bits and have no idea why because your constant 1 was actually a 32 bit int

MSmits: well at first you dont even know you lost some bits

dbdr: it loses bits silently? :O

MSmits: that's the first hour of debugging

darkhorse64: Basically, it ignores the upper 32 bits in a 64 bits int

RoboStac: yeah - easiest mistake in bitshifting is to do uint64_t y = (1 << x);

MSmits: it gets worse when you only lose the bits with optimization on

RoboStac: and if x is > 32 you get 0

MSmits: happens to me a lot RoboStac

darkhorse64: It used to work with previous VS versions

Scarfield: have done that as well

Astrobytes: I know that error well

dbdr: java is reasonable in only converting silently when it does not lose information

MSmits: C# also

MSmits: i dont think it ever converts silently

dbdr: in rust it's always explicit

dbdr: I guess if we need something unreasonable we always have C++ :D

MSmits: it's so crazy what it lets you do

dbdr: long x = my_int;

dbdr: that's silent conversion

MSmits: oh hmm

dbdr: in Java/C#

RoboStac: you just need to enable all the warnings + the extra ones + the even more extra ones and then a few more and it'll tell you about these things though


MSmits: your VS is bugged

MSmits: it speaks French

dbdr: :scream:

MSmits: lemme show you what i did darkhorse64, maybe you can just steal that?

RoboStac: for what line of code darkhorse64?


darkhorse64: Actually, hard to tell because everything is inlined but, looking at the ASM, I see that BitScanReverse is translated to ctz_helper. The error message says that the helper is called with a 32 bit argument cast from the 64 bit

RoboStac: because that warnings exactly what you should get for passing a uint64_t into __builtin_ctzl

MSmits: I do that all the time

MSmits: am I not supposed to?

dbdr: ll for 64

MSmits: I guess ll for 64 bit guaranteed

MSmits: ?

MSmits: but on CG just l works right?

darkhorse64: You mean that __builtin_ctzl is part of VS library ?

MarkAdell: is codingame open source?

MSmits: MarkAdell no

MSmits: but you can contribute puzzles and games

MSmits: that part is open source

darkhorse64: And that my implementation is shadowed ? That would explain everything

MSmits: also when they write a bot game for you to make bots for, they ahre the referee, thats sort of open source

MSmits: share that is

MSmits: so I guess parts of it are open source


dbdr: "it's complicated"

jacek: darkhorse64 you didnt know? you have 64 in your nick!

darkhorse64: MSmits: I have the same code: your ctz is my __builtin_ctz

darkhorse64: darkhorse64 is my ChessBase nick

dbdr: 64 bit shorts, nice :D

MSmits: ah ok, then your VS just doesnt like it somehow...

darkhorse64: I think he does not like that I call my function __builtin_ctzl

MSmits: me neither

darkhorse64: Great. An explanation and a workaround

darkhorse64: Problem solved

MSmits: cookl

MSmits: -k

darkhorse64: anyone can cook ?

MSmits: not me

Zenoscave: I can

Astrobytes: I can

Zenoscave: I cook frozen dinners all the time

darkhorse64: scrambled eggs is nothing for someone versed in MonteCarlo

MSmits: thats called defrosting Zenoscave

Astrobytes: When I wasn't vegetarian my cassoulet was legendary

Zenoscave: oh. does it count as cooking if i don't use a microwave?

MSmits: sure

Zenoscave: then i'm a "cook"

dbdr: Astrobytes: couldn't you adapt to a veg version?

Astrobytes: Of course dbdr, but then it's just not cassoulet ;)

Astrobytes: Just beans.

MSmits: wait, vegetarians can still cook meat cant they?

MSmits: I thought it was about eating it

Astrobytes: Yes. I have to sometimes.

dbdr: "virgin bloody mary"

MSmits: then it's still legendary isnt it?

MSmits: thats a sheldon quote dbdr

dbdr: yep

Astrobytes: Not if I can't eat it

dbdr: the "vegetarian cassoulet is just beans" reminded me of it :)

MSmits: mmh ok, but isnt legendary by definiton about other people ?

MSmits: dbdr yeah makes sense

Astrobytes: And quite frankly, I'm not about to go to the effort of making cassoulet for a couple of family members when I cannot eat it.

darkhorse64: I tried meat but I did not inhale it

Astrobytes: That and there's no French market here anyway :/

dbdr: I think it would be strange for a vegetarian to work in a slaughterhouse

dbdr: it's not just about eating

Zenoscave: having trouble with agitc

Astrobytes: Obviously.

Zenoscave: gitc*

Astrobytes: I was a highly carnivorous chef once upon a time.

jacek: cats are quite carnivorous anyway

Astrobytes: And I resent having to cook meat, which is why I do it for relatives only. At a push.

Astrobytes: On special occasions.

Astrobytes: Still love the smell and taste of it (if it's good stuff), but that's it.

dbdr: really? how long have you been vegetarian?

dbdr: I experienced it fades away with time

Astrobytes: About 2.5 years I think?

Astrobytes: I detest the smell of poor quality meat/meat products. Which is most of what you get in supermarkets etc.

dbdr: but yes, I can imagine it's different if it's right there and very good quality

Astrobytes: Some of the high quality stuff I've tasted I couldn't afford outside of a pro kitchen, and it's fantastic. Won't eat it now though.

dbdr: is quality going to get even worse outside the EU?

Zenoscave: dbdr have you tried running the ocaml in your bio?

Astrobytes: *Wouldn't

Astrobytes: Yes, I think so.

dbdr: Zenoscave: I don't think so, wrote out of memory. is it wrong?

Astrobytes: Loosening of regulations etc.

Zenoscave: I think so.

Zenoscave: my ocaml is weak though

dbdr: yeah, probably does not work for data

dbdr: my ocaml is rusty :D

dbdr: but you get the idea

Zenoscave: I do ;)

dbdr: Astrobytes: maybe Scotland will join? ;)

Astrobytes: Hopefully, but there's the issue of breaking free of the 'union' first.

Astrobytes: (the UK union that is)

dbdr: a small detail ;)


Astrobytes: Haha! Sadly not, it's a huge detail unfortunately.

dbdr: "Undecided Voter Looking Forward To Learning More About Donald Trump During Campaign"


dbdr: ok, I should stop

Astrobytes: lol I read that just a minute or so ago :D

MSmits: whoa

MSmits: those people exist?

Astrobytes: Satire MSmits, satire. But yes, they do.

MSmits: ah well I guess the US has woods

MSmits: and cabins

dbdr: The Onion is brilliant

Astrobytes: Yes, it's on point

Astrobytes: This is a good UK one:

dbdr: If you felt your French conversation was improving, why not use two weeks of quarantine to keep practising? Give up on holiday-related phrases like ‘Ou est la plage?’ though, and find out what the French is for ‘Where is the nearest coronavirus testing centre?’.


Astrobytes: :grin:

Default avatar.png AggYzz: vegans

MSmits: I'm not vegan but I refuse to eat some meats

MSmits: like human, I think eating human meat is wrong

Default avatar.png AggYzz: I only eat human meat

MSmits: allright then

Default avatar.png AggYzz: opposites attract

Default avatar.png AggYzz: uwuwwuwuwuwuw

itzblinkzy: .

itzblinkzy: if you think its wrong then you're a vegan lol

MarkAdell: what do I need to do to add a problem to clash of codes?

Schwase: contribution page

itzblinkzy: MarkAdell can you share your code please? I submitted too fast :sneezing_face:

Schwase: there is a process that involves having 3 20+ level members of the community approve your puzzle

MarkAdell: okay thanks

MarkAdell: itzblinkzy sorry I exited it.. which problem was it?

Schwase: check it out, its pretty self explantory when you look at the others' contributions

Default avatar.png JBM: I think for CoC it doesn't involve 20+lvl users

Default avatar.png JBM: rather people who played >N clashes

Gorbit99: 50

Gorbit99: for coc it's 50 puzzles, in both cases you unlock the specific quest