DaNinja: Hi Nixerrr I deleted my comment on the cultist wars forum after realising I misread the bresenham code.
eulerscheZahl: nixer isn't online at the moment
DaNinja: musta just missed him
jacek: good morning
Deathmonk: hello world
Deathmonk: any c++ guru around?
Deathmonk: anyone up for a challenge?
artmyros: i how only python:(
artmyros: not how but know
Deathmonk: all languages are allowed in the above link
artmyros: ok im there
Thyl: Hi !
Deathmonk: another challenge...anyone?
SPDene: deathmonk CoC invites should be posted in the #clash channel, not here
jrke: deathmonk i will suggest to paste link #clash here which just for clash
jacek: good afternoon
MSmits: mediocre afternoon
MSmits: for a change
jacek: c-c-c-combo breaker?
MSmits: or that
Knee-Gears: smiths hello
eulerscheZahl: stop it
jacek: oh my
Tailsray: Same xd
Tailsray: But it doesn't matter as long as I like it :3
jacek: thats the spirit
eulerscheZahl: i should remember that for the recruiter
jacek: CG interview?
jacek: good evening
Westicles: CG interview: We'd like to hire you, but you're sort of already doing it for free
eulerscheZahl: i still don't understand their business model. the part of the website that is visible to us is just creating costs, isn't it?
eulerscheZahl: i know they have a recruiting platform as well. but organizing a contest where millions of games get played, that must cost a bit. also the working time to create the game in the first place
Westicles: Kind of like stores that sell novelty soaps. I just assume they are all money laundering fronts
jacek: laundering using soap?
struct: Well contests before were sponsored
struct: now I dont know how it works
eulerscheZahl: i remember the tiles of sponsored contests
eulerscheZahl: personally i wasn't actively looking for a job but many users seemed to like it
eulerscheZahl: some found a job that way
jacek: meh i thought it would be more crowdy druing christmas/new year time
Astrobytes: many users with families and/or young children
jacek: and they put family above CG?
Astrobytes: Shocking, I know.
jrke: but i am still here
jrke: but going to sleep now lol
Astrobytes: and you put sleep above CG? :P
jrke: i do not but my family won't allow that
jrke: so gn bye
Astrobytes: hehehe, gn jrke
jacek: still sleeps later than euler
jacek: over 1m in 2048 \o/
eulerscheZahl: congrats! just don't break the engine and sneak your way around it ;)
jacek: i would not do such thing eh
Westicles: Is there anything random in the blockout testcases, or the same every time?
eulerscheZahl: the color of the blocks is random
Westicles: ha, okay
jacek: 2.5m :tada: the difficulty is about tradeoff of move quality vs how many moves in 1 turn
eulerscheZahl: i just changed some constants and improved from 10M to 40M :D
eulerscheZahl: but if i go further in that direction, scores get lower again. i need a faster engine
eulerscheZahl: beam width of 40 seems to be the lower bound for me
jacek: but replays are so slow :/
eulerscheZahl: read the statement carefully
eulerscheZahl: If you add a - to the output, you will disable the viewer (as it can get laggy for longer games).
jacek: who reads statements these days
eulerscheZahl: i've spent some time writing it :/
eulerscheZahl: and most players were like "2048, I know that game"
Counterbalance: how do you apply a beam-width of 40 to a game that only has max 4 moves?
eulerscheZahl: looking 60 turns ahead
eulerscheZahl: not verbatim 2048. in the CG version the spawn algo is known so you can predict new tiles
Counterbalance: so, iterative deepening keeping only the 40 best moves?
Counterbalance: I ran into a ceiling / dead end problem.. doing brute force depth 7
eulerscheZahl: yes, i prune to 40 nodes each time
eulerscheZahl: and when i print, i don't print the whole path but remove the last 5 actions
eulerscheZahl: that way i avoid dead ends that i don't detect as such at the end of my search
Counterbalance: ah that's a good tip, thanks
VizGhar: I have beam size of 200 and only picking first half of moves. Most of the time I'll hit 600 rounds limit
VizGhar: I need size of 200 since I don't have ideal eval function :)
jacek: n-tuples :kiss:
Westicles: Forget the beam, go deterministic so you can get past big tiles with offline search
VizGhar: I should try it then :) I only have snake eval (i^4*field)
VizGhar: miss me with that shit, send algo
VizGhar: Where is the time I could actually understand those formulas
jacek: stupid math
VizGhar: hmm jacek, you have those n-tupes implemented? I'm 10 places above you
jacek: not in 2048, just started
jacek: simple 5-6 depth brute force
Westicles: 3 directions?
Westicles: You don't need down until around 50M or so
Counterbalance: what's the biggest tile you guys have gotten so far?
Westicles: 16/30 can only get 65k max, 14/30 can get 131k, 4/30 can get 131k_65k (in theory)
VizGhar: im using 64bit int for board representation = 4 bits per tile. My algo will die after reaching 64k tile :D
struct: go 128bits
**Counterbalance still trying to beat random bot at chess
jacek: chess is so cheesy
VizGhar: wow there is 128bit int in C++? didn't know that
Counterbalance: writing a correct chess bot is more work than I thought..
jacek: not portable
jacek: but CG support it
jacek: i still dont have castling or en passant
VizGhar: jacek I'm looking at those n-tuples... you have to have precomputed weights or compute it during runtime somehow
VizGhar: can't imagine how I can really use that approach
jacek: you compute the weights offline and then use them online
jacek: its like computing proper coefficients for any eval, like chess materials.
VizGhar: gotcha, but that 100k code limit is quite limiting
jacek: is queen really worth 9 pawns, or more like 9.5 pawns etc.
jacek: then get more creative
jacek: probably we would be restricted to small n-tuples
jacek: but still probably it would beat handcrafted evals
struct: VizGhar there is int128, but is just two 64 bits together
VizGhar: what is __int128 ?
struct: a class with two int64
struct: high and low
VizGhar: its brutal how my thinking is secretly gradually improving just by trying new algorithms... 3 hard puzzles in one day is quite an achievement
jacek: thats what she said
VizGhar: which part exactly? :D
jacek: ... hard ...
jacek: python for simple things. java/c# for starters for something more serious
VizGhar: any :) but pick python
VizGhar: widely used and extremely easy
jacek: try easy puzzles
VizGhar: If you want to learn here go for Clash of Code
VizGhar: and finish every clash even after limit is up. you will eventually get better
VizGhar: CG or coding in general?
Skynse: Is CodinGame suffering some kind of ddos or something?
Skynse: Took like 3 minutes to see my clash report
Westicles: 1am in france, every day
Skynse: must be some nightly maintenance
therealbeef: apparently it refreshes the rankings etc
struct: Its buggy since they updated db
BrainWart: it's hard to beat you python guys
Skynse: my clash of code rank is almost in the 1000's
Skynse: man I wish I could keep grinding till I reached there but I have to sleep
Skynse: top 1000's*
ZzzTRAPzzZ: does clash of code get harder?
ZzzTRAPzzZ: like the higher rank you have the harder puzzles I get?
ZzzTRAPzzZ: and also does the rank drop if I stop playing like for a week?
jacek: clashes are random
jacek: and you drop rank slowly over time