Chat:World/2022-06-27
aCat: randomly changing parameters ;p
struct: ok im going to try that
struct: What can go wrong
struct: you meant change and insta submit?
aCat: be warned - when I say randomly its not random
aCat: just all the japanese I was losing to with these params tested before are already in legend ;p
struct: maybe it can beat the boss
aCat: i hope....
struct: it was a good start
aCat: otherwise - we need someone from low gold
aCat: constantly submitting - and maybe we will get hist first game
struct: I won 2 games and lost 0.01 points
struct: logic
emh: tie against aCat
struct: was before
emh: for me
struct: ah :p
emh: look at me I'm a submissive slave submitting all the time
emh: I should wear my submittance mittens
struct: me rank 121 on cg, acat rank 120
emh: I was below 100 once ranked as guru but now I'm 138
struct: nice this is my lowest rank
struct: or highest
emh: alas the world never stops revolving and the cg points are not forever golden
struct: im so tired
struct: i dont even know what to do anymore
HenroLST: does anyone know how to check run time?
struct: this is what I use
struct: https://cplusplus.com/reference/chrono/high_resolution_clock/now/
pedrosorio: question: does anyone know how to debug "has not provided an action in time" in C++?
Machetti: sounds like an infinite loop?
pedrosorio: For some reason it's failing on a turn when I do: cout << "WAIT" << endl;
pedrosorio: the game recognizes this was printed in stdout (according to my measurement ~0.04s after I read the first input)
pedrosorio: but still says the action was not provided in time
pedrosorio: screenshot: https://imgur.com/a/B9bkxvE
pedrosorio: printing RANDOM has the same result hmm
struct: is this just while reading inputs?
pedrosorio: struct what do you mean?
struct: Come to pt
emh: back to watching league burn. with some Fireball on the side
struct: yeS?
jacek: class!
GumBoxPVP.minehut.gg: may you give the awnser to There is no Spoon - Episode 1 - java?
GumBoxPVP.minehut.gg: and then i inpect
struct: my code is unreadable
lifetimeLearner007: CONTINUOUS_INTEGRATION 6 After this, I still see the card6 is getting pushed to discard pile at the end of my turn. Isn't it supposed to stay in hand until I release an app?
lifetimeLearner007: Also, "Replay in same conditions" doesn't ensure the same cardsInHand at the start of the game
struct: the 1st one is just porly worded I guess
struct: the 2nd one should start the game with same cards in hand
struct: aCat leave it to me I'll handle it
struct: :p
aCat: you can do something?
struct: I can try
aCat: I also try
aCat: but ok I trust you
struct: nah im joking :p
struct: Keep coding
eulerscheZahl: whee, top10 i should lean back more often
struct: Grats euler
eulerscheZahl: recalc will probably nuke me
struct: me and acat are still fighting
eulerscheZahl: but i got my screenshot
eulerscheZahl: i see
eulerscheZahl: feeding the boss most of the time
struct: thats not me
emh: I've relegated myself to watching speed dating on twitch instead of desperately resubmitting old code
eulerscheZahl: the cat is
eulerscheZahl: almost 1 point difference
aCat: but im not fighting with boss
struct: who is then?
aCat: 2 draws i see
eulerscheZahl: http://cgstats.magusgeek.com/app/green-circle/aCat
eulerscheZahl: 7 draws actually
eulerscheZahl: in case you didn't know: when the game is missing on this website, just manipulate the URL
eulerscheZahl: End of game 2000 46.30% 48.20%
aCat: i know i watched the stats previously
eulerscheZahl: now i really want to submit
emh: good night
pedrosorio: Does anyone else have any ideas on how to debug a "has not provided an action in time" error for C++ code? A bit late in the contest, but just trying to get any submission to work :P
Westicles: timing out?
jacek: probably crashing
pedrosorio: (fails in PLAY_CARD phase - MOVE works fine - I print "RANDOM" immediately after reading the input for the PLAY_CARD phase)
yanamal: Make sure you're only printing out exactly the things it expects. i think sometimes it tells me that when I accidentally print debug output to standard stream
pedrosorio: the judge acknowledges the RANDOM in the Standard Output Stream
pedrosorio: https://imgur.com/a/WAxXMYv
yanamal: great, but are there *other* things in tthe standard output stream
pedrosorio: I'm looking at the online IDE
pedrosorio: only see a line with RANDOM
pedrosorio: (see screenshot above)
eulerscheZahl: julien still coding games. just not for bots this time https://www.youtube.com/watch?v=kpREhzsV6F0&ab_channel=CodinGame
yanamal: maybe it accepted your RANDOM for something else and is expecting the next input for the play card phase
pedrosorio: yanamal it accepted MOVE 3 for the previous phase
yanamal: depending on context that's not in your screenshot, it could be any number of input/output mismatches. an unexpected extra phase, or not reading all expected input before printing output, or extra output.
Westicles: just keep in mind WAIT is not always a valid move
pedrosorio: it's the second phase in the game (and fails there every time), I stderr the possible moves, so I believe I am reading the whole input correctly
Westicles: could this be the first US victory in CG history?
jacek: :rage:
Westicles: or our #1 ally Poland...
Westicles: my money is on Japan
aCat: no chance for us
aCat: sorry
aCat: awful semester time exams etc
struct: well time to delete
aCat: stdents?
aCat: :scream_cat:
aCat: they are not totally broken
aCat: spare them please
struct: blame jacek
struct: promote me and its like nothing happened :)
Sheeesh---: it's a battle between valgrowth and bow
DaNinja: risky resubmit by Val lol
Nerchio: when does it end?
Nerchio: 1h30min
pedrosorio: installing java 8 to try and debug my C++ bot locally lol
Sheeesh---: the longest 1 hour
Sheeesh---: i just wanna sleep
Westicles: there are 2 puzzles with 2 approvals if you are bored waiting
struct: 6-0 against boss aCat
struct: There is still hope
aCat: your submit?
aCat: gratz
struct: im still gold
struct: :p
struct: and losing a lot
IvesL: 19 japanese /55 in legend 34.5%
Sheeesh---: that's oimpressive
IvesL: its good to see CG's popularity in asia countries
Sheeesh---: impressive
Sheeesh---: you're literaly playing and learning at the same time
Sheeesh---: it's the best
IvesL: start too late and im too weak, still in silver
miobyte: who is the number one in this platform to follow?
ArianPunk: There is something wrong with the https://www.codingame.com/ide/puzzle/winamax-battle
ArianPunk: its last test case, expects Nothing while it actually expects an output.
darkhorse64: nope, "PAT" is expected
ArianPunk: you didn't read my text carefully.
darkhorse64: I solved the puzzle carefully
ArianPunk: dumbass, i know it expects PAT, and i print it , but it says it must be Nothing
ArianPunk: it expects me Nothing
ArianPunk: now do u understand??
struct: chill
DaNinja: happens sometimes when you output too many lines
darkhorse64: The puzzle is OK, your code is not. Check your outputs
struct: maybe you printed extra space or an extra \n
Westicles: it expected nothing and you printed something, got it?
ArianPunk: @struct @DaNinja :thumbsup:
DaNinja: :thumbsup:
derjack: how are you today, Automaton2000?
Automaton2000: i have a list of all the bugs out
Lassassin: hello
Lassassin: does anyone here know stuff about oracle plsql
Lassassin: ?
putibuzu: gz aCat, what a final push :D
struct: grats
oidrissi: grats acat
darkhorse64: with style
TimeEngineer: congratz aCat
Sheeesh---: sheeesh acat
aCat: :joy_cat:
jacek: oh my
IvesL: how do you guys analyze your game?
jacek: Automaton2000 did you submit?
Automaton2000: i think it depends on your perspective
Razovsky: aCat is sweaty
Razovsky: moms spaghetti
Razovsky: XD
aCat: struct :*
struct: :/
struct: Good job
aCat: sory you did great - epic tries respect
struct: Was a good fight by you
struct: Its allright
struct: At least one of us made it
jacek: AnonymousCodingGamer soon eh
IvesL: will the whole rank be rerun or just for legend even the player base is small?
therealbeef: legend only
fhgdfh: do u guys think coding is haed?
struct: I guess I can stop the brutaltester now
struct: :cry:
DomiKo: :cry:
jacek: i guess i shall learn the rules after all
DomiKo: can't wait for PM jacek
jacek: private message eh
struct: what I had 3% battles left and they were removed o.o
jacek: green resources
struct: So close
struct: Damn
TimeEngineer: I feel bad for us struct :(
struct: It's all right TimeEngineer
TimeEngineer: It was so close all time
struct: Legend this time was pretty hard
struct: The game rng didn't help
jacek: :smirk:
DomiKo: rng helped me :D
TimeEngineer: Reached 3 times 1st and can't get legend because jacek's boss elo was too high :(
struct: same
struct: I kept submitting
struct: but no success
struct: I was like 0.15 points away
struct: But then jacekboss was pushed
struct: But it happens
struct: My bot wasnt strong enough to beat the boss tbg
struct: tbh*
struct: TimeEngineer next time make sure you are the boss to take revenge on jacek
TimeEngineer: :joy:
struct: Still you got a pretty nice rank
IvesL: be the boss of him in real life to take revenge
TimeEngineer: yeah, it's fine
jacek: legend recalc
putibuzu: good luck everyone up there!
struct: I think 1st has a big enough lead already
[BDX]ToMica: hello
[BDX]ToMica: im marie
struct: Nice I still get 7347 points
struct: I thought it would be way less
struct: (10000*1)**((1763-60+1)/1763)
struct: replace 60 by your rank if you want to know the points
Westicles: all that work and now it disappeared
struct: grats btw jacek very nice, rank I hope I see you on the next contest
struct: Maybe I'll take rank 1 on onitama
struct: Hi
Westicles: link to leaderboard?
struct: https://www.codingame.com/contests/green-circle/leaderboard/global
hejamandajiri: https://www.codingame.com/clashofcode/clash/24805172c4ec3093823e75c52799701f6c2cb5b
hejamandajiri: https://www.codingame.com/clashofcode/clash/2480529b1a832f295d1592309b8e6ad29a58aee
Ayza: not here
Ayza: #clash
Ayza: don't worry about it
MSmits: ohh I am 43! That seems a lot better than what I've seen on the ladder this last day
MSmits: I guess some people have been submitting that are strong against my bot
MSmits: (relatively)
therealbeef: had a bad last minute submit :(
MSmits: ahh sucks :(
Nerchio: yep don't do last minute submits in a random game
therealbeef: offline it had a 53% winrate against previous, but the server doesn't agree
putibuzu: same here, was #6 in gold, now 83 :sweat_smile:
jacek: there is not gold recalc :thinking:
putibuzu: hard to overstate the volatility of this game
MSmits: most contests are like this though
MSmits: (volatile leaderboards)
MSmits: the only way to beat it is to be a lot better than anyone else
putibuzu: yes, which my bot clearly wasn't :D
putibuzu: but still had a lot of fun, thanks everyone! :)
MSmits: same
DaNinja: Do French phones support Japanese? ;)
MSmits: Is there a PM thread?
MSmits: oh right, i found it
Nerchio: where
MSmits: https://www.codingame.com/forum/t/green-circle-feedback-strategies/196574/2
Nerchio: ty
jacek: wrote my pm
MSmits: i am reading it now
DomiKo: NN O.o
MSmits: you really did do a NN, nice job
MSmits: is the boss also NN?
jacek: yes
MSmits: that is awesome
jacek: and i really don't know the rules still
MSmits: well knowing the rules didnt help me much either :P
ArianPunk: I just submitted a puzzle earning 100%, yet no achievements unlocked, they must have been, though. Is this a bug
5DN1L: which puzzle? ArianPunk
5DN1L: You mean this? https://www.codingame.com/training/medium/winamax-battle
fathidevs: fastest mode is also the "largest most boring description mod"
fathidevs: i like reverse mode
5DN1L: ArianPunk try submitting your code again, if the achievement still doesn't show up after a day, report it as a bug on discord or on the forum
ArianPunk: shouldn't i just wait for a day or do i have to submit again?
5DN1L: you can do either
ArianPunk: Isn't it because the App thinks my code has syntax error?
jacek: does it?
ArianPunk: it's showing me a syntax error, although it's not wrong.
5DN1L: what syntax error
ArianPunk: in Rust you can print like: println!("{a_variable}");
ArianPunk: as well as: println!("{}", a_variable);
Prownie: Hey Jacek, my question might sounds stupid (kinda new to this, but how did you train your model, i mean how did you share data between trainings ?
j4at: jacek you should definitly share your nn architecture :)
j4at: (with me atleast)
Prownie: Dunno if question makes any sense ahah
ArianPunk: I'm using the former and it's showing me the error..
jacek: Prownie hmm, can you rephrase the question? ^^
jacek: j4at I replied
5DN1L: ArianPunk is it supported all along or is it a new syntax in a new version?
5DN1L: CG's rust version is 1.60.0
ArianPunk: I think it's up to date.
ArianPunk: let me re-submit again then.
jacek: Prownie i just save the model every 1000 or so. model is just array of floats, so I can use them in CG
j4at: MLP :(
jacek: RNN could work better with hidden information, but i'm too dumb for that yet
Prownie: Was trying to rephrase ahah, but thank for you reply, totally makes sense !
j4at: yeah training RNN with dqn is tricky
ArianPunk: do i have to play all testcases before submitting?
5DN1L: no
jacek: no need
ArianPunk: tried with the other syntax, no chance.
ArianPunk: I've had this same issue the other day.
_Royale: jacek: just read your PM, wow! congrats :)
j4at: jacek how did you compile the referee? I gave up because I had to write a simulation :(
j4at: is github down ?
jacek: i opened in idea. but i actually copied most game core stuff into new project, without viewer and stuff.
Psyho: how do people add DL inference code to their submissions? I assume that everyone is using pytorch/tensorflow these days
jacek: they make their own
jacek: its just matrix multiplication and dot product
DomiKo: you can check this out
darkhorse64: DomiKo will you write a PM ? I wanna know about your MC stuff
DomiKo: Psyho should write one :sweat_smile:
darkhorse64: Both of you
Psyho: I can take screenshots from chat
Psyho: a bit sad that I didn't have time to do anything more :/
DomiKo: I'm wondering how exactly did you make random simulations work. I had so much trouble with creating 5th app
Psyho: you mean that the rollouts were not representative?
DomiKo: were too random, I couldn't make a good pruning
Psyho: confused what do you mean by "pruning" here
Psyho: I just have a heuristic that evaluates every move (+ adds random component so it's not deterministic)
aCat: Yeah I had similar approach
aCat: so thanks for the idea Psyho :-)
aCat: just heuristic bot used as rollout policy
Psyho: you want your rollouts to be quite random, otherwise you'll always bias your decision in the same way
Psyho: aCat, yeah same - just converted my heuristic bot to rollout policy as well
aCat: but nondeterministic so at every phase it tries to return a list of moves
OldJohn: jacek did you consider having different NN for each phases of the play. Move/Give/Throw/Play/Release ?
derjack: no. phases were encoded as one-hot input
OldJohn: Yes of course, but it may help to have 5 different NN or not ?
derjack: i havent tested that. but that would make 5x more size, or 5x each smaller net
OldJohn: yes, you have less output also (eg for the move phase) so NN will be of different size and you can vary the hidden state size also
OldJohn: I suggest GIVE/THROW can be the same NN.
wlesavo: and the input will be a bit smaller since there wont be phases
BrunoFelthes: how can jacek upload 82k weights if the max code size is 100k bytes?
derjack: i trained bigger model at last day, it plateau near at the same time as smaller model. i wonder if this was limitation of my learning framework. should i give more replay buffer, more games etc.
derjack: utf-16 unicode is treated as 1 char. you can do 1 lower precision weight per character
OldJohn: And how comes derjack answer for jacek ?
derjack: :no_mouth:
wlesavo: derjacek
jzen: Dr. Jacek rather
BrunoFelthes: WoW, jacek code probably looks like a mess
derjack: techinal debts ech
Westicles: anyone go on twitter or whatever and find out what the japanese guys did?
derjack: imcts apparently
kovi: in this game models are interdependent (move considers release), so single nn makes sense
OldJohn: IMCTS ? what is the I for ? Incremental ?
BrunoFelthes: Westicles https://twitter.com/bowwowforeach/status/1541344805779030016
derjack: or was it ISMCTS? generally mcts for random and hidden information games
derjack: https://eprints.whiterose.ac.uk/75048/1/CowlingPowleyWhitehouse2012.pdf
OldJohn: OK I'll take a look... More interesting that the review of ITER plasma control by RL I have to summarize here :-)
MSmits: derjack did you use the playsleft, last move and last desk (from earlier phases) as input. They were not given so you had to have kept track of it yourself
Westicles: Yeah, and I'm back to winding my Rogowski coil
derjack: MSmits no, i got only what referee gave me
MSmits: oh might have been a missed opportunity. It's important to know if you can play 1 or 2 cards and where your bot is going. Still though, quite an achievement
Psyho: oldjohn: in general, it's never good to have separate models for different outputs
Psyho: if that's the case that means your model architecture sucks
MSmits: derjack also: I suspect your bot would be a lot stronger, like it is in other boardgames, if you had searched your own turn more and then used an eval
MSmits: my bot could almost always fully search, if it had your eval...
MSmits: (my eval was slow too, so...)
derjack: i somehow wasnt motivated to write sim at all
MSmits: yeah i thought so
derjack: id probably use td-gammon approach then
MSmits: oh, i am actually more motivated to try back gammon now that I did a probability search for this one
kovi: yeah, previous phase, picked item and maybe turn# is important (quasi-input state variables)
kovi: (picked=willbepicked)
MSmits: OldJohn thanks for the name of that function :)
MSmits: CG emailed me your reply lol
OldJohn: @psyho Well, it depends I can say... In real world, here, a NN for each task is better than a NN for all tasks even if they are related. Sorry I can say more :-)
darkhorse64: I browse tesauro papers on backgammon, maybe I am wrong but did not this guy invented alpha zero twenty years before the papers ?
derjack: i think hes mentioned in a0 papers
Psyho: oldjohn: but those are not different tasks, they share the same state
Psyho: you're losing a ton of information
OldJohn: darkhorse64 Not really alpha zero but use of RL in games yes.. Terry made a good work
MSmits: derjack seems like _Royale did your way with a sim. He kind of puts it in a one liner at the end. Like... oh and I used a NN for eval...
Psyho: especially considering you're highly limited on model size (source code lmit)
OldJohn: Psyho yes here, you have a limitation on size sure not in real lige
OldJohn: life :-)
derjack: well all can be tested once the game will be multiplayer
MSmits: yeah, this seems like a great example of a game to use NN on
derjack: probably a small tweak in some hyperparameter could win me a phone
OldJohn: Of course, it will... First if I have time I'll try to replicate your result
MSmits: derjack this is why I never returned to an excontest yet. I am always afraid I'll find a small thing that could have improved my result a lot
derjack: there were some instabilities though. i.e. a winrate against random bot could drop to 30%, will against stronger bots would still be 70+% and i dont know why\
MSmits: the entire leaderboard was unstable :)
MSmits: so might not just be your bot
derjack: euler said he still was losing 5% to random
MSmits: yeah in a normal game this is 0%
derjack: or 0.00001%. random could still be perfect
MSmits: the drawing of cards combined with relatively few choices in a game makes this happen
MSmits: btw strangely enough calculating the probability of drawing a certain cardset without doing unnecessarily calculation is very similar to calculating an index function for an oware board (for endgame book)
MSmits: the only real difference is dividing by total possibility count to get a probability
MSmits: i guess it's related to permutations and all that. I don't know the lingo
MSmits: (this is the problem when you figure stuff out yourself, you don't know what it's called)
MSmits: I am mostly going by half remembered probability classes in highschool 25 years ago
Crosility: I feel ya MSmits - I'm self taught on most things. Even stuff I'm professionally certified in. And I stumble on some basic lingo. It's a problem.
MSmits: yea
Crosility: Probability equations have too many specific cases
MSmits: I have a good intuitive feel for the math of this, but as soon as they start to formalize it with certain notations, it stops making sense to me
Crosility: Like the delta, omega.. etc notation?
Westicles: yeah, I think I rediscovered Stirling numbers doing my roulette puzzle
MSmits: dont even know what that is Crosility
OldJohn: Delta, omicron, BA2
Crosility: Lmao.
Crosility: Delta, usually "change" delta with dot, "rate of change"
MSmits: ohh, no I am a physicist. So no problem there. I am mostly talking about probability notations
MSmits: like when they put paranthesis with 2 numbers above eachother, whatever that is
MSmits: maybe that's the falling factorial OldJohn was talking about
Westicles: nchoosek
MSmits: n choose k yeah i guess
MSmits: the notations obfuscate it fo rme
Crosility: I thought that was geometry/graph theory.
MSmits: it is? I guess a lot of this stuff is related too..
MSmits: i never formally learned graph stuff either and i did a lot with graphs on CG
Crosility: I never, and still haven't learned it. Though they tried to teach me in HS. I'm good at math, but that's weirdly abstract.
Crosility: And now thats over a decade ago...
MSmits: graph stuff becomes a lot less abstract when you need it to write a bot for a game
MSmits: everything immediately has an example
Crosility: I wonder if I've been doing it all this time, but never realized it, with the 2d arrays and struct arrays? O.o
MSmits: well even if you have a 2D map with cells and connections, it is already a graph
Crosility: True. Haha.. just never used their calculator "functions" to operate on it.
MSmits: maybe the ones you write yourself, do the same thing
derjack: i came up with many graphs stuff myself to only learn later there are names for them
MSmits: yeah thats it exactly derjack
Crosility: google.com > "How to ..."
MSmits: some tasks are too complex to turn into a google query
Crosility: Blasphemy.
MSmits: well assuming you lack the lingo, which we established that we do :)
Crosility: Well, yeah, okay - sometimes the lingo search is required for the actual search.
Crosility: You got me.
Crosility: Just gotta do some rabbit-hole searching.
Crosility: And maybe a couple youtube videos.
MSmits: but yeah sometimes i am surprised some poorly worded search still comes up with a useful Stack overflow post
Crosility: Time to learn hashtables.
Westicles: it is a shame you can't google code snippets
Crosility: Another odd concept. I bet-and can tell-hella useful. BUT, the collision conditions frighten me. Lol
Westicles: impossible to learn perl via search
MSmits: Crosility a hash-table can be really simple if you don't mind overwriting on collisions
MSmits: depends on what you want to use it for
MSmits: if for a search for a boardgame or so, overwriting a result is np
Crosility: Westicles -- ? https://www.perltutorial.org/ .. are normal tutorials not good enough for it? Or is perl too hard? I'm a C guy.. sooo..
MSmits: you just have to re-search an overwritten result if you need it again
Crosility: Well, like doing puzzle MIME type. And my research to implementing a good hash table is by making the table, then treat conditions as linked lists.
Crosility: collisions*
Westicles: Crosility, you'll see some crazy code golf thing in perl so you want to google a 5 character string of punctuation to see it used, but all that gets stripped out
Crosility: Aww actual used-code case.
Westicles: also impossible to learn bash, you have to be a 75 year old french guy that just knows it from working
Westicles: bash golf that is
Crosility: I went against Whale yesterday is CoC, and that guys python code is unreadable to me.
Crosility: So I get where you're coming from.
Crosility: He's ranked 6 on CoC leaderboard. A problem that took me nested for loops and 14 minutes to solve, he did in like 12 lines of code, in under 2 minutes.
Westicles: he's probably a 75 year old french guy who has spent the last 50 years writing python functions in assembly
_Royale: MSmits: haha sorry if I sounded casual about the NN eval :) unlike derjack I only had a one output value evaluation, I did not train a policy and relied on a exhaustive search like you did.
MSmits: yeah _Royale thats what i was saying to jace k, maybe if he combined his search with mine it would have been better. That's exactly what yours was
MSmits: I think it's kind of cool though, to go in completely blind to the sim and just let the NN do everything
Astrobytes: *yawn* morning all, nice placement Royale, grats :)
MSmits: morning Astrobytes
Astrobytes: did struc t or a cat reach legend?
MSmits: not sure
darkhorse64: a cat at the very last minute
Astrobytes: was close at 04.30 when I went to bed
Astrobytes: ah thx darkhorse
derjack: and struct delete his account?
derjack: nope, still there
Astrobytes: No, I wouldn't expect so. Catching up on some sleep I imagine
_Royale: yeah jacek approach is super nice, and I like how the referee complexity was an extra motivation :D
derjack: next time NN will model the game based on code
MSmits: you sound like a bot pretending to be human :P
MSmits: :robot:
dude_guy: you sound like a bitch
Astrobytes: that escalated quickly
Astrobytes: does he look like one?
dude_guy: playing the mars lander game
MSmits: dude_guy I will take this as a compliment. My dog is female and I think she is a great person.
MSmits: indeed
dude_guy: what type of dog she is
Astrobytes: and everyone missed my Samuel L. Jackson moment
MSmits: hard to say, close to a tibetan spaniel i think, small dog, very good guard dog
MSmits: sorry did not get the reference Astrobytes
dude_guy: i dont trust small dogs sorry
MSmits: very wise
Astrobytes: He called you a b*tch, I asked if you looked like one, I hoped he would take the bait and go full Pulp Fiction
MSmits: oh ok, i dont think i ever saw the full movie
Astrobytes: You should, it's great.
dude_guy: we can redo it if u want
MSmits: lol
Astrobytes: Nice elegant calculations btw MSmits
MSmits: thanks !
Astrobytes: lol dude_guy, nah, I think the moment has passed
derjack: oO
Aldoggen: make sure you're on the toilet first
MSmits: good advice
MSmits: also check for toilet paper
Aldoggen: we're still acting like dude_guy is a bot lol
dude_guy: i cant believe u westerners got away with using toilet paper
derjack: isnt he Automaton2000 brother
Automaton2000: so you can't see the animation panel??
MSmits: dude_guy it's better to use the moist paper, it's cleaner
dude_guy: cutting down million of tress
dude_guy: how about get a soap and water and do it like asia does it
MSmits: uses more water
Aldoggen: one day I'll calculate if it's cost efficient
5DN1L: let's end the discussion of toilet paper here, shall we?
Aldoggen: if it's on the same order of magnitude I'll try to switch to a bidet lol
Astrobytes: Flush the chat?
MSmits: lol
Aldoggen: well, I'm not trying that again
Crosility: t..t...timeout
Astrobytes: afternoon 5DN1L :)
5DN1L: afternoon Astrobytes, MSmits :)
derjack: :upside_down:
5DN1L: and derjack :)
MSmits: hi 5DN1L. I thought it was just sex,politics and religion on the list of topics. Should add toiletpaper if it's not a suitable topic
MSmits: would be fun to build up a list of these over time :P
5DN1L: lol
Astrobytes: hehehe
Astrobytes: derjack: nice work in the contest man, that was an impressive feat
derjack: :blush:
dude_guy: yo dudes can u get the mars lander in EP1 to land before one minute
MSmits: if the speed goes over 40, use the thrust, otherwise fall
MSmits: should be ok
MSmits: what happens?
dude_guy: cant go below 1M 4 secs
MSmits: oh there is another way
MSmits: calculate how many turns it takes to brake to below 40 speed and calculate how many turns it takes to hit the ground
MSmits: if it takes more turns to hit the ground, keep falling
MSmits: if it takes more turns to brake, use thrust (or a little sooner than this)
MSmits: yeah, thats really the fastest you can go
Aldoggen: remember that the thrust only changes by 1 every turn. so 0 -> 4 takes 4 turns
MSmits: not necesarily need math. You can also do the simulation the way the game does. So no formula's, but a loop where you recalculate height and speed every turn
MSmits: oh yeah, include the thrust sim in that (+1 per turn)
Aldoggen: ayy I did death first search episode 2
Ayza: congrats
putibuzu: thanks for the paper on ISMCTS derjack! very enlightening
mdfarhansadiq: :D
TheNuclearSausage_1905: how do I calculate when to turn on the thrusters? Im so confused by math
Aldoggen: for mars lander lvl 1?
Aldoggen: the simple method is to limit the vertical speed to be more than -40
Aldoggen: i requires minimal math
Aldoggen: by more than -40 I mean like -39 or -38 or even -30 if you want to play it safe
Aldoggen: can you figure out a way to do that?
TheNuclearSausage_1905: ill try idk
SydM107: are weekly puzzles gone?
5DN1L: they're become one type of events now
5DN1L: https://www.codingame.com/events
SydM107: not implemented yet?
5DN1L: there were several puzzle events before
5DN1L: new ones not yet announced
SydM107: ok, thanks for the info.
5DN1L: np
SydM107: haven't been on in a long time
5DN1L: i see
Ayza: finally legend coding speed
Ayza: clashing is a pain
StevenV: so I finished in 224/1758, doesn't have time for this contests
StevenV: anyway, which language should I learn for COC ?
Nerchio: anyone knows how to use release mode in C# on codingame?
Ayza: ruby seems to always win
Ayza: whether its shortest fastest or reverse
Ayza: so ruby
StevenV: thanks
Ayza: np
MSmits: that's not necessarily logical. Ruby is better for shortes, but if everyone uses Ruby for shortest, they automatically end up using it for the other 2 modes, even though it is not better
MSmits: the most serious clashers use Ruby because of shortest only
wediaklup: python has short, easy and fast solutions for many problems
StevenV: well, I think it is much better than Java
MSmits: you'd be fine using ruby for shortest and python for the other 2. But maybe it is more convenient to stick to 1 solution
Ayza: yeah I mainly said that for shortest, but if it wins shortest then that could be a speed boost up for fastest/reverse
Ayza: for those who are good at it of course
MSmits: nah it's not a speed boost, being able to squeeze a few characters off does not make you faster in general
Ayza: but your right it really doesn't matter for fastest, I use python and win whether it's a ruby user or not
darkhorse64: short code is not fast code.
wediaklup: Debugging squeezed code makes it actually slower
MSmits: it's actually true for contests as well. If you look at the leaderboards it's always mostly c++ at the top, but the main reason for that is not that c++ is the best language. the main reason is that the best players use it
MSmits: even for a heuristic contest where speed is no factor, it will still be c++ at the top for a large fraction, because the best players are used to it.
Nerchio: yeah but for most sim contests you have no chance without c++
DomiKo: what about rust?
MSmits: I don't know to what extent that is true. I think mostly that is overstated
MSmits: if you make a sim in java and i make a sim in c++ and your eval is better, you will win
MSmits: an extreme example is jace k's NN. He does no sims at all, jus eval
MSmits: the simpler the game is, the more important performance/speed is
StevenV: NN :
MSmits: but contest games are often more complex, so there's lots of ways to do a search. Someone with a superior search type will win with a slower language
darkhorse64: He spoils all the fun, no low level coding, no magic number tweaking
darkhorse64: :relaxed:
MSmits: yep
DomiKo: there still is little magic number tweaking, but in training
StevenV: does anyone use Java for NN?
MSmits: not many i think, but there is no reason it wouldnt work
StevenV: I've read Agade NN, but couldn't apply it for Multi, do you guy have any suggestion?
jacek: i had NN in java at first, to make it work
Aldoggen: I might start using java because I prefer it. if I get that far on this website, that is
DomiKo: so jacek you wrote DQN in Java?
jacek: yes
StevenV: DQN?
DomiKo: wow
jacek: though for NN part i used jni for speed
DomiKo: ohhh ok
jacek: 4x faster
jacek: java so performant eh
DomiKo: yeah ehhh
MSmits: our Japanese friends should be glad there was no re curse on this contest :P
MSmits: he would have wrecked this with his NN framework
jacek: probably it would be like my NN + sim
MSmits: yeah
MSmits: but he's very fast and effiicent setting something like that up
MSmits: bot the NN and sim
MSmits: both
ikadimi: hey all does someone know how to include lodash when working with twig template ?
MSmits: I don't even know what those are
ikadimi: web tools
jacek: i hope SG guys wont see this as insult because i was terrified of the game rules
MSmits: nah
MSmits: the game rules were terrifying
MSmits: you made use of the fact that they gave you the legal actions
MSmits: and you made use of the referee they provided you
MSmits: so it's more a compliment
MSmits: they made it possible for you to do this
StevenV: and do you guys suggestion anything that can help me apply NN in a Multi?
MSmits: well Marchete made an azero framework for oware
MSmits: not that there arent enough marchete clones yet
StevenV: hmm
MSmits: there's also not 1 way to do a NN in a multi
MSmits: it depends on the type of game and on how you generate data to train on
MSmits: this last contest might actually be a good practiceground
DomiKo: not really
MSmits: use jace k's method
MSmits: why not
StevenV: because I have never success for any multi, I think that If I can make it works for one, then I can see how it really works
DomiKo: if you use jace k's method you have to use java
StevenV: I am a Java developer, so no problem
DomiKo: it will be much more educational if you write everything from scratch, and learn how to test each part
MSmits: ah, well, I am used to creating my own local sims
MSmits: so i would not use java
StevenV: but what is jacek's method?
MSmits: deep q learning value network
DomiKo: but then this local sim is sooo hard, I guess you should start with something more simple
MSmits: that's true DomiKo
Dapps: MSmits how long does it usually take you to get local sim up and running? I was thinking of doing it but didn't.. probably should've
MSmits: for boardgames, less than a day
MSmits: for this contest it would be a few days
MSmits: i didnt do it here
Dapps: that's what i was afraid of. seems like this last one was a lot more complex
MSmits: yeah i was gonna do a local sim, but then yurko helped me set up brutal tester locally
DomiKo: it took me 2 days to write everyting
MSmits: I should thank him in my PM, i was going to
DomiKo: but still I don't know if it works
jacek: i used java because i didnt bother writing sim
DomiKo: and that was very smart
MSmits: Dapps to be clear, i did write a simulation for this game in my bot, which is quite close to having a local arena
MSmits: for some boardgames my arena literally consists of my bots telling it they won or not
MSmits: with hardly any extra code
Dapps: ah got it
Dapps: after i catch up on sleep i might try it once this becomes a multi
MSmits: i dont know how well you know these things, but DomiKo is right in saying it's not the easiest place to get started
DomiKo: I suggest starting with something like connect 4, because is really easy game, you can clearly see if you bot is doing something, and sim is simple enough, if you don't want fancy AVX stuff
StevenV: connect 4 doesn't have red league :D
MSmits: no, games made by players dont
MSmits: it's a community contribution
StevenV: I really like the league
MSmits: do ultimate tic tac toe then
MSmits: it has a legend league
MSmits: it's also quite hard to reach without a sim
MSmits: impossible even
MSmits: you need a fast simulation
MSmits: it's really simple too, maybe simpler than connect 4
wlesavo: yeah, quite hard is an understatement :slight_smile:
StevenV: thanks UTTT seems good
jacek: wlesavo thats what she...
wlesavo: :smiley:
MSmits: wlesavo I think it was a year or so that there only were a handful of people in uttt legend, like 30 or so
MSmits: the fact that there are like 200 there now is a bit misleading. That took a long time and a lot of people sharing tips on how to beat gold boss
jacek: when i joined cg, there was left than 80
jacek: my first legend
jacek: less*
wlesavo: more than a year for sure, it was my first c++ game and when i got legend it was already quite populated
wlesavo: i found pcr to be surprisingly easy, basically sim+smitsimax = top 10
StevenV: pcr?
wlesavo: pocer chip race
wlesavo: poker*
Nerchio: i had to optimize the shit out of my code in UTTT to reach legend with java
Nerchio: but once you have it you can copy it to connect 4 :joy:
StevenV: hmmmm
MSmits: I reached it with C#, which was at that point same speed as Java. My experience was the same. Hyperoptimization
wlesavo: the great thing about uttt is that many things can be effectively cashed by hashing board state
MSmits: but StevenV do not worry, my current bot is 4x as fast as the one i reached legend with, so it's definitely doable, if hard
StevenV: thanks you guys, I would give it a try soon
MSmits: wlesavo you hashed board state?
MSmits: why not create a simple array lookup?
StevenV: anyway, do you guys think that Heuristic can go to legend for UTTT?
Nerchio: no
MSmits: no that is impossible
MSmits: you might not even get out of silver
StevenV: ah
Nerchio: its too difficult to play for a human tbh
MSmits: you can get to bronze just with some ifs though
MSmits: bronze = full uttt
MSmits: < bronze = normal tic tac toe
StevenV: the point is that my C++ skill is bad :(
MSmits: StevenV my first c++ program ever was a C# bot for uttt, converted to C++
MSmits: took me 2 days to convert. 1000 lines
MSmits: so instead of hello world, i went hello uttt
MSmits: it helps that i built my bot out of very simple things like integers (bitboards). If I had used classes and structs and such, the conversion would have been much harder
StevenV: I don't think I would write Java sim and then convert to C++
MSmits: why not learn C# as an intermediary. It is very similar to java in many ways and you can use VS as an IDE
MSmits: also faster than java now
struct: hi
MSmits: hi struct
StevenV: hi
SubZeRoy9: hi
jacek:
Astrobytes: hi struct, good rest?
MSmits: we were a little worried about you struct, you seemed to be losing it
StevenV: I think I just write C++ sim directly
jacek: struct still alive?
struct: Im fine lol
MSmits: StevenV yeah just keep it very simple
StevenV: :D
MSmits: be wary of pointers. Do it in small increments and unit test stuff
struct: or dont use pointers
MSmits: sometimes they are useful
MSmits: but sure, references probably better
MSmits: they can be confusing too though
MSmits: use an object pool StevenV
MSmits: Nodes[millions]
StevenV: thanks
struct: Do Tic tac toe first, you can reuse it for uttt
struct: at least is what I did
MSmits: dont create "new" objects during the game, that is both more complicated because it's c++ and it's slow
MSmits: just use the massive object pool with an increasing index
wlesavo: MSmits well thats what i meant by hashing there, since you can represent board as single int <512
MSmits: ahh ok
StevenV: I wrote a gomoku with minimax in Java in University before.
MSmits: i even have had a 512*512 array
MSmits: to include opponent
Astrobytes: wlesavo: doing RAIC this year? (did I ask you that already?)
MSmits: oh just use that here StevenV, adapt the sim. See how far it gets you
MSmits: some people get to legend with minimax, in java even
MSmits: it just means you eval needs to be really good
StevenV: :D
MSmits: I think dbd r got to legend that way, with java
MSmits: before he became a rusty
LuaAdventurer: guys is there an undo button in this
MSmits: ctrl + z
wlesavo: Astrobytes i plan to, but i almost certainly wont be there for the finals, so ill have to finish early :slight_smile: but i really wont to see what they will come up with within this battle royal setting
Astrobytes: wlesavo: Yeah I'm hoping it's gonna be a nice game. Also hoping to hear something positive regarding prizes for us non-RU folks
struct: only lookup I have for uttt is for wins
LuaAdventurer: how do i switch stdin to stderr or stderout
wlesavo: yeah, i also wonder how they will solve the delivering prizes issue within current logistic situation
struct: and then I check if any player can still win earlier with it
struct: They will just gift it to me
MSmits: those phones from green circle will have a good amount of shipping cost :P
Aldoggen: @LuaAdventurer depends on your language. if there are comments in your code, you can probably find it there
LuaAdventurer: im using lua langage
MSmits: I would not have guessed
Aldoggen: I wouldn't have dared to assume :p
struct: io.stderr:write("test\n")
Aldoggen: I was about to type that lol
struct: np
LuaAdventurer: can i ask another question
jacek: i can understand some of the words https://twitter.com/i/events/1541376910877347840
Aldoggen: @LuaAdventurer you already did
struct: MCTS and you all voted it was a waste of time o.o
struct: (╯°□°)╯︵ ┻━┻
aCat: bowwow had some local visualization
Astrobytes: ISMCTS no?
struct: what is ismcts?
Astrobytes: yeah, nice visualiser aCat
aCat: mine images wrere prittier but I'm pretty sure his was more useful ;p
Astrobytes: Information Set MCTS
Astrobytes: struct
struct: I see, thanks
Nerchio: Val " As a playout player, I put a rule-based guy (about 10th in Legend as of Sunday)."
Nerchio: top10 legend heuristic?
j4at: is brutaltester fast enough for NN?
jacek: i never used it
j4at: Codingame should provide a working local version for every contest that works in every language. They can write the game in Java and autogenerate a wrapper for every language that communicates with the referee using sockets, like they auto-generate code for puzzles.
PatrickMcGinnisII: i see circle report, is there a leaderboard to look at?
j4at: Not all of us know Java.
jacek: https://www.codingame.com/contests/green-circle/leaderboard/global
PatrickMcGinnisII: tx jace
struct: I think you are asking for too much lol
jacek: isnt this what referee already does? it just communicates via stdout
MSmits: struct 60th is a very good rank. I think you rank higher than in some contest(s) where you reached legend dont you?
j4at: I don't know how to the run the referee
j4at: Although I didn't try
jacek:
struct: My highest was 40th-50th in SC 21
struct: But I tested for that contest
struct: So I had 1 month
struct: But the player count was way higher
j4at:
MSmits: yeah so you shouldn't beat yourself up for not reaching legend. It was a tough boss
PatrickMcGinnisII: Sp I ended up #1?
struct: just unlucky
struct: As you can see acat got top 30
PatrickMcGinnisII: in Silver, rofl
struct: and his bot was in same position as mine
MSmits: yeah
MSmits: thats what beating gold boss tends to do
MSmits: deposits you in the middle of legend
DomiKo: not really...
MSmits: but not always
MSmits: for me it did
MSmits: in other games
MSmits: one time legend was 100 players
DomiKo: someone have to be last in legend :sweat_smile:
MSmits: i got to 17 when i beat gold boss
MSmits: ice and fire this was
PatrickMcGinnisII: top 3 in a lang. That's a new one for me
jacek: and you complained when wala was chosen
Nerchio: lol DomiKo
MSmits: DomiKo the thing is that the gold boss often gets boosted far beyond its initial rating
MSmits: so if you dont beat it intiially, you might not beat it at all
DomiKo: not true again
MSmits: it has been my experience in several contests
DomiKo: I was promoted to legend at Saturday
DomiKo: and I was dead last since then
MSmits: yeah it's not a fixed rule for everyone, but it happened this way at least 3 times for me. For euler as well
MSmits: this time it didnt happen for me either, i stayed near the bottom
DomiKo: yeah that often happen
MSmits: it could be a rock paper scissors thing
MSmits: people weak to gold boss keep losing to it
MSmits: people strong to gold boss, leave
MSmits: so it boosts its rating
MSmits: to ridiculous proportions
struct: also rng
MSmits: and you cant even get enough games vs it on submit
struct: There are games where you are just unlucky
struct: And cant do anything about it
MSmits: because other people in the way that are strong vs you, but weak vs boss
MSmits: you can push them out, but they keep submitting, so you dont get the chance
wlesavo: for most of the old games i played i also get mid legend after beating the boss
MSmits: before legend opened, euler had a bot as strong as me. I barely got into legend. Euler had to fight hard to get in, improving his bot. When he finally did get in, he was in the top half of legend
Crosility: I looked at the leaderboards earlier..
Crosility: Euler is in the top 5-10 over every leader-board category.
SonByrne: http://chat.codingame.com/pastebin/13a142cf-300f-4c35-bfd1-1ecf68469e88
Crosility: Crazy smart individual when it comes to programming.
MSmits: yea
MSmits: he knows a lot
SonByrne: not sure what happened with that last message
jacek: too long
jacek: and pastebins dont work anymore
SonByrne: Kind of wish I didn't submit anything. I submitted the basic "starter" AI from GitHub just to watch some other bots.
SonByrne: Then other than just experimenting with the code a little to figure out the basic mechanics, didn't really take the time to work on it
SonByrne: So now I have an embarrassingly low ranking lol
MSmits: it doesnt hurt your overall ranking
MSmits: i have some of those in my list too, from joining and then quittin after a few hrs, its fine
SonByrne: good to know, wasn't really as intersted in the board game format if that makes any sense.
MSmits: sure
Crosility: I ended up not liking the dynamic/structure of the contest. Card game + a random option -> a no skill / no try entry pre-made code.. put me off.
Crosility: And the fact, I did like 2 submits of said code, thinking I might try. And somehow made to bronze with Random().. Yeah. Getting BETTER than that would have required so much more effort and time. Just the complexity of the card system itself was a lot to program in. So, back to pod racing and the like :P
MSmits: totally understandable
Aldoggen: I really wonder how lucky you got with that. I'd be very surprised if the wood league bots are on average worse than random
JFB: jacek - congratulation for your 8th score. It looks that it is 1st time you are in Legend of the contest and right away in the top 10
SonByrne: Yeah, I got the same vibe when I ran the starter code. I worked out a way to figure out which application I had the most cards for and felt like it was going to be really annoying to implement just to find out it's worse than Random()
SonByrne: potentially
jacek: thanks. eeyup
Kellthazar: I'm really impressed by the solution described by jacek...
Aldoggen: was it mentioned in chat? I must have skimmed over it
Kellthazar: I'm read it on the forum about the contest.
PatrickMcGinnisII: Is there already post ... oh
jacek: https://www.codingame.com/forum/t/green-circle-feedback-strategies/196574
eulerscheZahl: also thank you for the detailed writeup jacek
eulerscheZahl: reads like you could have done even better by implementing the engine and looking a bit ahead. you like additional challenges :D
jacek: reading rules was bigger challenge
Aldoggen: yeah I stopped bothering after that lol
Aldoggen: I just read the post, nice man :)
MSmits: thats what i said eulerscheZahl
eulerscheZahl: just came, history doesn't go that far back
MSmits: no i know
MSmits: hey, you had a full search too right, like me?
MSmits: I am wondering what you did better
eulerscheZahl: not fully full. i did not simulate possible outcomes of draft
MSmits: oh
eulerscheZahl: probably the scoring function
Astrobytes: also interested in bowwow's pm when he publishes it
MSmits: yeah that's likely
eulerscheZahl: i'll send you a private message with pastebin
MSmits: oh cool, do you want mine too?
jacek: pastebin dont work, beware
MSmits: no, a real pastebin
eulerscheZahl: sure
eulerscheZahl: both bowwow and val growth tweeted about MCTS
eulerscheZahl: so they made it work somehow
MSmits: I was going to do mcts as well, combined with mc, it would not have a problem to code it, but i didnt know what heuristics to use
MSmits: (for the random rollout)
eulerscheZahl: same
struct: They used this apparently euler
struct: https://core.ac.uk/download/pdf/30267707.pdf
eulerscheZahl: i tried that path. but full random was obviously garbage
eulerscheZahl: taking hundreds of turns to finish. more noise than anything. but somehow i won a few games in bottom gold
struct: please dont say that word euler
eulerscheZahl: garbage?
jacek: path?
struct: g*ld
eulerscheZahl: oh, the chemical element
jacek: i feel guilty
jacek: shall i make boss for backgammon
struct: I still need to finish it
darkhorse64: :scream:
struct: But might be a bad idea jacek, the goal is to make another league
struct: not keep it at 1
Crosility: Am I allowed to mention other programming games/things unrelated to this site, here?
darkhorse64: onee boss to rule them all
Crosility: You know struct - I just now realized your a moderator (lol)
eulerscheZahl: yes Crosility
struct: brb
eulerscheZahl: i'll mention one: https://www.gocoder.one/
Crosility: Has anyone played, does anyone play the programming game Bitburner?
Aldoggen: quick, spam gold while struct isn't looking
eulerscheZahl: but they want a $10 entrance fee
Astrobytes: I got a free code in my mail
Astrobytes: So I'll definitely play it this time, not gonna waste that
Astrobytes: Crosility: I've played Bitburner a bit
eulerscheZahl: i also get the voucher for coder one
JFB: What is Bitburner?
eulerscheZahl: when you put Astrobytes on fire
eulerscheZahl: his ashes
Astrobytes: :D
Crosility: A game, sorta like an idle game, sorta like a hacking game. But you program everything you want to automate in javascript. It's actually really in-depth.
Crosility: It's an incremental game, where you essentially automate the game with real code.
Astrobytes: It's like a text-based RPG/puzzle game with idle elements but uses js for... yes what Crosility wrote
Astrobytes: It is actually quite fun, and addictive
jacek: javascript? :nauseated_face:
Crosility: I have played it a bit, to learn Javascript.
Aldoggen: I looked it up on steam, but it seems like there's a browser version too
Astrobytes: only played the browser version
Crosility: There's even a github version, where you can just compile your own version.
Astrobytes: Yeah jacek, it's bearable though
eulerscheZahl: i played yare in JS
JFB: Maybe I till try but it looks too bit for my mind
JFB: *big
JFB: Maybe sb want to try: https://www.kaggle.com/competitions/kore-2022/leaderboard
Crosility: You can start super small, and focused, it really puts in perspective the "break problems into little pieces" idea, so you aren't trying to tackle everything at once.
JFB: It is still 13 days. 5 * $3000 prises
Psyho: Crosility: I did play bitburner
JFB: Unfortunatelly my bot is #9 :-( now and decline
Psyho: (mostly as a research, since I have a pet project with idle game involving programming)
Astrobytes: I strongly dislike the way kaggle works as a platform, always puts me off
Crosility: Ooh, mine asteroids JFB. Looks interesting.
Astrobytes: nice Psyho
Psyho: I found the concept fun, but I kind of dislike the core mechanic
eulerscheZahl: Kore completely went over my head. but a bit close to the CG one
eulerscheZahl: how strong is the leaderboard?
Crosility: Psyho - I hope you announce when you get further along with that. I really enjoy the idea. From the few games "Zachtronics" games to Bitburner, and some others - it's a good way to learn some hard concepts.
Astrobytes: love those Zachtronics games, the asm-style ones are awesome
Psyho: I agree, it's definitely underutilized concept
Psyho: and Zachtronics (RIP :( ) is pretty much the only dev studio that use it well
Astrobytes: Indeed it is
Crosility: Those assembly language ones are SOOO hard at later stages. I envy people who can not pull their hair out on them.
Astrobytes: and yeah, a sad loss there
Psyho: my project is more about paradigm shifts (think "dark room"), where programming is just one of the layers
Crosility: Wait, did they shut down?
Crosility: (brb)
Psyho: yes
Astrobytes: Cool! That does sound interesting
Psyho: they released their last project now
Astrobytes: Yeah, just recently Crosility
Crosility: Just saw, last project in july. I bet he comes back.
Crosility: 11 years of great puzzles, and not quitting/leaving on a negative.
SonByrne: It's kind of crazy to think that Roller Coaster tycoon was written in Assembly lol
Crosility: "“We actually shut down Zachtronics once before, back in 2015, when I went to work at Valve for what ended up being 10 months."
Crosility: Lol, case in point.
eulerscheZahl: the first settlers was Assembly as well
JFB: @eulerscheZahl - kore2022 leaderboard is rather strong
eulerscheZahl: so nothing to invest a few days and win money
Crosility: Well, this was interesting. Back to trying to get my head wrapped around hash tables (in C - as in, creating from scratch)
Psyho: is kore on kaggle halite 3?
eulerscheZahl: oh, it already started 2 months ago
eulerscheZahl: i thought LuxAI is the new kaggle
eulerscheZahl: new halite*
JFB: @Psyho https://www.kaggle.com/competitions/kore-2022/leaderboard
JFB: @eulerscheZahl - yes, 1till 13 days to the end
eulerscheZahl: but catching up on 2 months of work
eulerscheZahl: i'm not that good
SonByrne: do you still work in game dev Crosility?
JFB: You like short contest ;-)
eulerscheZahl: then i should wait until next week
JFB: :-D
struct: just get a team euler
Crosility: SonByrne- I don't remember ever stating I did. But no, I haven't in years. I just recently got back into programming.
eulerscheZahl: i don't understand illedan's code
Astrobytes: lol
JFB: illedan's code do not understand even Illedan's code ;-)
jacek: illedan code?
JFB: We discuss category "illedan's code"
JFB: Not specific program
struct: can I use c++ on kaggle?
JFB: I think yes but it is no starter kit :-(
struct: afk
JFB: I planned to do so but ...
eulerscheZahl: we collaborated on the vindinium port. then he refactored and i didn't find anything thereafter
eulerscheZahl: and that's how i killed the chat
Nerchio: :skull:
Nerchio: vindinium was fun though thanks for porting :D
JFB: yes
eulerscheZahl: and that's what i love about MIT license
eulerscheZahl: no questions ask, just do it. ornicar (creator) found out about it eventually but never reached out to me
eulerscheZahl: unihedron shared a sceenshot from another chat. basically "hey, there's a port of your game" "oh, ok"
MSmits: vindinium is still on my list. I have been doing some cp hunting lately. maybe will do it over the summer
eulerscheZahl: i really need a generic thing like jacek did for the contest
eulerscheZahl: then i could join the hunt
MSmits: generic thing?
MSmits: oh wait your hunt is different
eulerscheZahl: he didn't even implement the rules in his bot
MSmits: you lack boardgame cp
MSmits: yeah generic bot will help a lot for that
eulerscheZahl: https://i.imgur.com/7F7X7tr.jpg
MSmits: you still didn't do yavalath
jacek: cant break any rules if you dont know rules
eulerscheZahl: and for some of those that i started you can't count it as playing
MSmits: wow so many euler
MSmits: you made a serious bandas
MSmits: and uttt is not bad
eulerscheZahl: e.g. clash of bots
eulerscheZahl: i submitted but below top50%
MSmits: yeah i have a bunch of those as well
MSmits: but i am mostly going for ex-contests now. Great escape is next
eulerscheZahl: vindinium is also on my list
MSmits: I am thinking about maybe running a meta mcts for great escape. 2p should be np. but first I want a good mcts bot
MSmits: it's a very simple game, fits right in with the other board games
MSmits: but hey, my offer stands about yavalath. If you end up doing it, I'll give you a bunch of tips
jacek: 3 3 is best opening
eulerscheZahl: back then contests were highly different skill-wise
eulerscheZahl: was even before my time
MSmits: if you want to lose, sure :P
MSmits: you mean the competitors were weaker?
eulerscheZahl: i think so
eulerscheZahl: if i could beam me back in time 5 years, i would have a chance for top3 i think
eulerscheZahl: let's say 6-7 years
MSmits: I wrote my c++ csb bot in 8 days or so and it was better than any in the live contest. It would have won
JFB: :-)
eulerscheZahl: back then there was no public referee with physics
MSmits: thats right
MSmits: that makes things harder
jacek: no refere? :(
eulerscheZahl: that's what i hated about fantastics bits
eulerscheZahl: some know how it works from CSB (still a lot of reversing), the rest was forces to if-else it
eulerscheZahl: forced
JFB: As I understand they are still no referee to csb
eulerscheZahl: the official one got leaked
MSmits: but yeah apart from the referee business, competitors really were weaker up until about 2-3 years ago. When I joined, getting top 10 was not that hard for me
JFB: ok
eulerscheZahl: https://github.com/SpiritusSancti5/codinGame/tree/master/Referees
JFB: eulerscheZahl - if you want I can extract my sim for fantastic bits
eulerscheZahl: nah
eulerscheZahl: we have the official one and magus shared his as well
ElCimici: http://chat.codingame.com/pastebin/31137b80-aa8e-4a55-89fc-31f93a7850b5
eulerscheZahl: no
_Royale: jacek: "hidden layer at first 32 nodes" was it for performance reasons? or to find your hyperparameters faster?
eulerscheZahl: arrow up to recover your message ElCimici
jacek: _Royale to find hyperparameters faster
eulerscheZahl: "performance or to do it faster" :D
_Royale: haha
jacek: the bos has 96
jacek: s
_Royale: best troll boss ever :-D
MSmits: first NN boss ever
MSmits: isn't it?
MSmits: think you made history there jacek
jacek: as euler said, boss is stupid
MSmits: it's hard to be a NN boss. Either NN completely fails or it's too strong to be a boss, usually
MSmits: it was funny how they just made the nr 1 boss first :P
eulerscheZahl: i didn't say stupid
eulerscheZahl: i said idiot
MSmits: what is wrong with it?
eulerscheZahl: but meant the character, not the intelligence. he stopped me from legend at that time
eulerscheZahl: a**hole
kovi: "cant break any rules if you dont know rules" valid. nn could probably find cheese combo as well
MSmits: apphole?
eulerscheZahl: like my herokuapp. just a hole left. 404
JFB: 404 == RIP
jacek: Autmaton2000 what did you kill the chat
jacek: Automaton2000 -.-
Automaton2000: [auto] hey waterproofsodium, here is a :taco: for loggin in today while it is quiet. you now have 5 tacos ...
jacek: oh he isnt online
xGuGu: hi:wave_tone1:
ElCimici: HOW CAN i convert string to int
wryte94: google that exact question
ElCimici: can i use stoi on a char?
5DN1L: try it and you'll know the answer?
Bob_Rocks: Should I try to convert puzzles I've already solved in one language to another language?
Kellthazar: Maybe, are you learning a new language? Could be a nice way to improve your skills on that language.
Illedan: GG jacek, great PM :)
Bob_Rocks: What should I be striving to do in teh puzzles?
5DN1L: What do you mean?
Bob_Rocks: I look at the best solutions and I see people using a bunch of functions that make things really hard to read but really short
Bob_Rocks: Should I be striving to do the same? Or should I just be trying to finish the puzzle? Or should I be trying to find the most efficient thing?
5DN1L: It depends on what you want to learn
jacek: shortest unreadable code is quite meh at work
Bob_Rocks: Okay
Astrobytes: "quite meh" ? And there was me thinking it was perfectly acceptable to treat the codebase like your personal golfed obfuscation playground
eulerscheZahl: how to make your colleagues your enemies
eulerscheZahl: struct still hasn't deleted. maybe we can keep him, would be nice
Astrobytes: hehehe nah, he'll not be deleting his account anytime soon I believe :)
myking467: so i am mew and ... ok i know a litle bit of c++ but the game didnt let me use any functions so can you help me
jacek: what game? what functions
myking467: if , for , while ex
wryte94: power of thor is simple, u dont need many functions
wryte94: you just check your position right now relative to the light
wryte94: then move in the direction u need to go from that position
jacek: and do you have C++ above the ide?
myking467: dont you have to macke an algorthem that does all of the stages automaticly?
myking467: i know how to go north and south
eulerscheZahl: then do the same with east and west
eulerscheZahl: also note: the game doesn't give you the updated Thor position. you have to do that yourself
myking467: so then i did it i finished all of them
myking467: with north and south
eulerscheZahl: you have to make it work for all at once. one code that can go in all directions based on given inputs
wryte94: i sent u a message myking
jacek: you have HINTS on the left
5DN1L: are you mew3, Automaton2000?
Automaton2000: what happened to the leaderboard
myking467: oh i see so if does work sory mb
5DN1L: if it does work now for you, then great :D
myking467: thanks a lot i will see
5DN1L: you too
5DN1L: no spam please
Darleanow: Hello 5DN1L !!
5DN1L: have you done with your ls?
5DN1L: camicam
5DN1L: Hello Darleanow
Darleanow: wassup ?:)
5DN1L: all good
computereight: what are you supposed to do
computerfive: everyone should be gey
5DN1L: computerfive please stay on coding-related topics here
skeskin: thor problem is hard for me
computerfive: its totally th ebest
Astrobytes: Welp. Chat's back to normal.
jvclab1: What is this how do i play this game?
computereight: who wants number mine
Wishbone: Thor is confusing when you're used to controlling things yourself.
IvesL: very wierd
IvesL: i was trying to scan some of my old bots and try to rerun
Wishbone: The whole "secret game engine that you control through arbitrary console output" is not very intuitive.
IvesL: then i got: Unknown error (stacktrace too big)
IvesL: never seen this before
IvesL: anyone know whats about it
computerthree: dude don't say our names
computerthree: :expressionless:
myking467: you guys are fluding the chat so if you aree not talking about code than it would be good if you stoped
SEMAJbackwards: spell correctly first
5DN1L: https://www.codingame.com/playgrounds/40701/help-center/code-of-conduct
computerthree: were just talking chill
5DN1L: any spammers will get kicked or banned
5DN1L: reminder to all newcomers here
SEMAJbackwards: We aint spamming
jacek: soon.
computerthree: yeah were just talking
SEMAJbackwards: we is a moderator on a coding website lmfao
Crosility: http://chat.codingame.com/pastebin/ff19100a-0334-4e92-87ad-ac93e1fa062a
Crosility: Was copying the chat. But yes, you're spamming.
5DN1L: kicked jvclab1, next is a ban
5DN1L: kicked camicam, next is a ban
Crosility: Just me or you can't click computer three,four,five,eight 's profile link, and camicam's?
5DN1L: sometimes it doesn't work, Crosility
5DN1L: then you have to search their profile
computerthree: have fun trying to find it
Crosility: Interesting. Thanks 5DN1L
5DN1L: np
5DN1L: weirdly guys who all share the same logo
5DN1L: as their profile pic
Crosility: Same logo, 1 puzzle each.
james9789765767: we doing a program
Ayza: I suspect they are all the same person
Ayza: you can't respond to your friend this fast
jacek: Automaton2000 is that true?
james9789765767: were all in the same rom
Automaton2000: we are the only one
Crosility: A program, or are you spamming the server with accounts, and the chat-obviously?
5DN1L: don't be part of them, Automaton2000
Automaton2000: why am i so bad at this
eulerscheZahl: play pokemon with them: catch (kick) them all
james9789765767: its a program for summer
Astrobytes: schoolkids. It's always schoolkids.
jacek: dont they have vacation now
SEMAJbackwards: i know ur not talking
Astrobytes: jacek: "it's a program for summer"
eulerscheZahl: in bavaria summer holidays start in early august
Ayza: cool program, can be done somewhere else
Crosility: Well, 1942 was the nuclear bomb drops, and WWII, so someone has a sick mind to name their account "1942wasagoodtime"
Astrobytes: they started a week ago already here in Scotland
Astrobytes: (school holidays)
Astrobytes: Crosility: clearly trying to be 'edgy'
Crosility: So, the james9789765767, only friend is "SEMAJbackwards".. james.. backwards.
Crosility: Sigh, nothing against juvenile behavior. But, it's disappointing how bad it was done.
eulerscheZahl: not sure about testing them, but the bombs on japan were in 1945
Crosility: Astrobytes - if only their edgy was "better"
Astrobytes: indeed
Astrobytes: and indeed euler
eulerscheZahl: germany had already surrendered at that time, would have been a likely target otherwise
Crosility: Correct, sorry eulerscheZahl.
Astrobytes: 6th and 9th of August
eulerscheZahl: that's something i would have to look up
eulerscheZahl: but i knew it was after german capitulation, you learn that in history class excessively here
eulerscheZahl: japan on the other hand didn't play much of a role
Astrobytes: I always remember it. My birthday is the 7th. I tend to forget my birthday when it comes though.
eulerscheZahl: and then it hits you like a bomb?
Astrobytes: oof
Crosility: 2 and 5's. And I served in Japan for 3 years on Kyushu Island next to nagasaki. I would think after all the training I wouldn't forget that. <.<
GNye22: Hey, why can you only view code for certain clash of code participants?
Crosility: They have to submit GNye22
eulerscheZahl: they have to click "share"
Crosility: (Like, submit to be public)
Astrobytes: My friend was in Nagasaki and Hiroshima a few years ago (a month around Japan). Humbling he said.
eulerscheZahl: some are bots. bots don't share (or did they change that now?)
Ayza: bots do share now
Astrobytes: some of the bots share at least
jacek: by default
Crosility: Very humbling. Especially the Peace Memorial Museum and drop site in Nagasaki
Astrobytes: Yes. And the Memorial Park in Hiroshima
Astrobytes: People forget about all that too easily these days.
5DN1L: agreed
Westicles: the Pearl Harbor memorial is beautiful as well
Westicles: and I'm sure Nanjing has something lovely
Astrobytes: The odd one out there is Pearl Harbour
Westicles: 68 dead civilians not enough for you?
Astrobytes: Any dead civilian or military is too much
OldJohn: Jacek during Q learning your program played each side ?
HenroLST: quick question, how would i erase a whole vector from a vector of vectors
JFB: HenroLST - what language? C++? Python?
jacek: OldJohn yes, one network
jacek: if next state was other played, then its y * -Qmax
jacek: vector.erase(vector.begin()+position)
jacek: other player*
HenroLST: ah so it works like a normal vector
OldJohn: jacek ok it makes sense...
Rikus: How many refurbished phones would it take to see the code jacek ? :eyes:
Or wait, is it going to be opened as a MP game?
5DN1L: yes
jacek: theres not even refurbished t-shirts
Rikus: ok nvm then! I'll then give it another shot at failing-to-learn-some-CG-applicable-ML
struct: hi
MSmits: sup struct
jacek: good evening
MSmits: I wonder if I can solve the great escape 2p version
MSmits: it seems solvable
jacek: so, quoridor?
MSmits: whats that
jacek: https://boardgamegeek.com/boardgame/624/quoridor
jacek: apparently great escape was based on that
MSmits: seems bigger
jacek: though adjacent pieces could jump i think
MSmits: oh no, i see it is 9x9
struct: Anyone has any idea how to connect 2 progrmas in c++?
struct: like on giving inputs and other outputs?
MSmits: nope
struct: I'm going hard on the next contest, I'm starting this week
MSmits: what contest
jacek: pragmas?
struct: jacek I want two programs to comunicate with each other
struct: like one would be the referee and the other would be the bot
struct: MSmits well the next one
MSmits: why would you want to do it that way?
Astrobytes: piping on linux, it's a lot less trivial on win though
struct: So its easier to test multiple versions
struct: I can use wsl I guess
MSmits: ah
j4at: use sockets?
jacek: for neuroevolution stuff in python i have socket and write floats in file
Astrobytes: I think it's on agade's repo... there's an arena for something which is a nice example
MSmits: i dont even know what a socket is
jacek: i use socket to communicate new floats are arrived
struct: https://github.com/Agade09/CSB-Runner-Arena/blob/master/Arena.cpp
struct: This Astrobytes?
Astrobytes: I think it was that yeah
struct: Thanks
jacek: will there ever be next contest?
struct: I hope so
Astrobytes: You can always run instances of the same agent with different parameters
MSmits: sebastien was giving advice to future creators
Astrobytes: instead I mean
MSmits: so i assume so
struct: I'm going to improve my framework and add a lot more searches
Astrobytes: and just plug them into the game sim/referee
struct: Yes
struct: I won't fail again
MSmits: I am not sure if this is the best way
struct: jacek please next time don't use NNs
MSmits: if the contest is really complex sure
struct: MSmits why not?
MSmits: but if it is within reason and you code the sim anyway, its not that hard to code your own referee
MSmits: one that is much faster
struct: I will code the referee
struct: but ill have the search ready
struct: and Ill just need to plug the gamestate to it
MSmits: there are a lot of searches though
MSmits: but sure it cant hurt to have some ready
MSmits: i generally just copy from an old bot
struct: Yeah that works but when I copy paste I generally overlook and implement bugs
MSmits: i hardly copied any code this time around. It was basically 3k lines of fresh code :(
MSmits: one both of 1800 lines and one bot of 1200 lines
MSmits: bot
struct: I spent too much time rewriting
MSmits: never coded so much before in a contest
MSmits: same
MSmits: but i would not have known what else to do with my time
struct: and one of my bot has a bug
struct: I dont know if it sthe submit
struct: or the other one
struct: During the search
jacek: no search - no bugs
MSmits: if neither one could beat gold boss, then the bug has had no effect on your rank, you're right at the top of gold
struct: One generates all possible actions including the multiple possible trainings combos
MSmits: you have bugs, your bot assumes you can play 1 card, when you can play 2 and it does not know where it is moving to when throwing cards. That's worse than the last few bugs i fixed jacek
struct: The other one finds them on the search
struct: Also my bot doesnt know that it can play code review and then continuous integration...
struct: ah but the cards go into discard
struct: it should be fine
MSmits: yeah it is
MSmits: the order of task proritization and other cards does matter
struct: my order was the default order of the cards in inputs
struct: I should have changed it
MSmits: if you did a full search it doesnt matter
struct: no i stopped if the type < previous
MSmits: if you tried to enforce an order to reduce branching it does, but you can use heuristics
MSmits: i had one where i always wanted my bot to do refactor first, but still allowed a refactor after task prio
MSmits: this is because when you win, you want to make sure you played refactor
MSmits: (to reduce TD)
MSmits: i replace a "bestmove" when score > best, so if i try refactor first, i make sure it is preferrd
MSmits: probably never mattered though
MSmits: btw, your bot really was not that much weaker than mine. I was bottom legend whole weekend
MSmits: somehow got to 43rd on recalc
struct: yeah its hard to say though
MSmits: yeah
struct: I have a bot that beats my current one easily
struct: but cant climb or w/e
MSmits: we should let it go and focus on the future :)
struct: yeah
MSmits: I would much prefer to have a nn framework over a contest framework
MSmits: I can deal with the search/arena stuff without any special preparation, but nn;s are a differen thing
Astrobytes: get making one then ;)
TheRadioControlledClown_7d9: ok
j4at: nn frameworks already exist :p
struct: well one requires skills I don't have
MSmits: yeah but they can be learned
struct: I don't know math
MSmits: neither does jace k really, at least thats what he says
struct: jacek do you understand how an NN adjusts weights?
MSmits: he just makes his bot do what the papers say and the examples of code he saw
Astrobytes: pretty sure the time I spent learning that game during the contest could have been used for learning about NNs and been more productive :P
struct: Because I don't
MSmits: i understand it when i read about it, but it fades quickly
MSmits: once you coded the functions for it, it's fine
MSmits: especially if you use a library
k4ng0u: it feels like more and more contestants are using NN, are there recommended tutorials for those?
struct: k4ng0u have you seen marchete playground?
struct: He shared his code for his oware NN
MSmits: not really, you can do some xor examples. maybe mnist. Then look at some examples people shared for boardgames here
MSmits: start with simple games anyway
struct: also jacek xor example
k4ng0u: nope, any links to those?
struct: https://www.codingame.com/playgrounds/59631/neural-network-xor-example-from-scratch-no-libs
MSmits: don't make me counterbook another nn :P
k4ng0u: thx struct!
struct: Though I think this is a thing that takes a lot of time to understand
struct: and I like to see results in one day
struct: Which is not feasible in this case
j4at: Jacek is wasting his time using c++; I know it's fun and all. But he is using basic nns after all. He used MLP DQN you can write that in 30 minutes in Python. or In 1 minute if you use a library :p Although yeah you probably will not have the same results as jacek in 30 mins because you need hyperparameters tuning. And study different types of inputs/outputs
MSmits: I understand it enough I think, but i keep seeing new shiny things i like more
struct: MSmits I think you should just start doing it
MSmits: you're right
struct: Why not try on a simple game like BT?
MSmits: my next step was nmm
MSmits: i have the endgame solved
struct: On BT its so easy to tell if a bot plays well or not
MSmits: (after placement)
MSmits: can solve the rest if given a few days prolly
MSmits: then train value network
MSmits: best thing is, i dont need to know if it plays well. I just need to know if it gives the right value answer, because the solved result is correct
struct: seems like a plan
MSmits: yeah it is
MSmits: i have some weeks off
struct: Anyways I have to go afk again.
jacek: j4at basic nns, but they work
jacek: and i like MLP
MSmits: i have to go sleep, gn
struct: gn
j4at: If you use python you will have ended up with a better result believe me
MSmits: j4at you mean because of the tensorflow libs?
j4at: yeah tensorflow/pytorch + higher level libraries
MSmits: you are limited in how you translate this to CG though
MSmits: CG does not have them, so it's an added complexity
jacek: you only need forward for CG
MSmits: true
MSmits: but you have to replicate what tf does exactly, it's kind of a black box.
MSmits: trying to understand what it does already means you're giving up part of what it was doing for you
j4at: You can read source code :)
jacek: its just matrix multiplication most of the time
MSmits: yeah, i think it is a better way, but it's not trivial is all i'm saying
MSmits: marchete solved this problem
j4at: What activation functions are you using jacek ?
jacek: relu for hidden
j4at: I bet you didn't try any other activations
jacek: relu is fast
jacek: well here maybe not that needed. but in board games search yes
j4at: fast is not important in this case ?
MSmits: for learning
MSmits: not for using on CG
jacek: youre probably talking about mish or other swish
j4at: I always start with gelu. And then try others including relu
j4at: there is a lot of fine tunining that you can do only in python
j4at: You could have implemented rainbow for example instead of simple double dqn
MSmits: that looks good in a p,
MSmits: pm
MSmits: I used... Rainbow!!
MSmits: :rainbow:
j4at: lmao
jacek: ... dash
MSmits: of course
MSmits: that makes it even better
jacek: i still was just learning. before i had mediocre results with dqn, now it worked somewhat
jacek: and if going full libraries, id try something more advanced like actor critic, trpo/ppo etc.
Lisa-Has-Ideas: I need some approvals y'all.... https://www.codingame.com/contribute/view/182986ce43712d2b4e105ac72cacc96208e53
Darleanow: anyone playing clash ?
iflysohigh: always brotha
Darleanow: copme here then :p
struct: hi
Darleanow: hey struct !!
Darleanow: u know who made Bsod ?
Darleanow: (the bot)
struct: which bot?
Darleanow: Bsod
Astrobytes: clash I presume (and hi)
Darleanow: https://www.codingame.com/profile/935c902624dbe460f2c3176a08861ba46420652
struct: no idea whats happening
Darleanow: I'M ANGRY AGAINST HIM
Darleanow: he finishes the clashes too fast xD
iflysohigh: lol
struct: how much time?
Westicles: The quality of people doing clashes has gone way down lately. You see it in the contribs, what used to be clashes are now forced up to easy puzzles
Astrobytes: I presume apathy has set in amongst the more oldskool/pro clashers
struct: I think its an official CG bot
Westicles: I think they lost interest when all the streamers got real jobs after covid
struct: Maybe I should stream
Astrobytes: :D
Darleanow: You def should !!
Astrobytes: stream clashes?
Darleanow: i mean, you're forced to finish them real quick
struct: no, maybe a multi
Darleanow: which is actually the goal of clash
struct: clashes would just me googling when math is needed
struct: would just be me*
Astrobytes: Sure, might get a few random people more interested at least (not including the core people)
Westicles: 8 hours of mumbling and typing sounds. no indication of what you are trying to do
Astrobytes: BUT don't put yourself under any pressure, just chill
struct: lol
struct: I could just stream a connect 4 bot
struct: i would make it in 1 hour or something around
struct: that
struct: and get top 20
Westicles: I would watch that
Astrobytes: What if you have to explain bitboarding tho
struct: you dont need bitboards for top 20
Astrobytes: meh
struct: ofc bitboards are the interesting part
struct: maybe breakthrough would be easier to explain
struct: Anyways is just an idea, I might wake up tomorrow and just forget it
Astrobytes: You could do weekly streams. 'Bitboarding Weekly with struct' :D
Westicles: tulips and daisies
Astrobytes: that game with the annoying cheese that everyone does?
Westicles: that's tulips and dairies
Astrobytes: :rofl:
Astrobytes: well played sir
waterproofsodium: struct: you might be able to answer this
waterproofsodium: did you ever encounter google foobar challenge?
struct: wdym waterproofsodium?
waterproofsodium: I just got it and I'm considering whether I should invest time in it because it goes over a longer time
struct: normal foobarr?
waterproofsodium: well google foobar challenge which shows up when you google programming related stuff
waterproofsodium: which is not the famous foobar problem
Astrobytes: that the hiring thing they do?
waterproofsodium: yes
waterproofsodium: I wonder how many here got it. I actually think a lot should have got it because we all search coding related stuff all day
waterproofsodium: I'm just wondering if it's worth the time investment
Astrobytes: No idea tbh
struct: I dont think google is interested in me knowing mcts, minimax
struct: They want people that know algos, that's not m
waterproofsodium: oh ok. thought you were solving problems = algos
Westicles: Nah, they need warm bodies for boring android stuff
struct: Next they will ask me to use Java
waterproofsodium: rip
waterproofsodium: def worth in my time consideration
Westicles: most fun would probably be doing embedded code for HW projects
waterproofsodium: *time investment consideration
struct: Also Im not very good at programming
struct: tbh
waterproofsodium: somehow you're good at taking a high rank xD
struct: Well it took a lot of time
struct: I have improved in the past years though
waterproofsodium: well I would guess you are somewhat decent then
Westicles: someone at your level would be a manager and never actually write anything
struct: lol Westicles
waterproofsodium: :D
struct: Maybe I should move to US then
struct: I can't even get a programming job..
waterproofsodium: getting a good job is not simple
struct: last programming interview I had was a while ago
struct: they asked me to use FoxPro
Astrobytes: :D
Astrobytes: Grim
waterproofsodium: hm you learn something new every day..
struct: no water
struct: I'm not gonna waste time on learning a thing that's discontinued
struct: and that probaly less than 1% of companies use
waterproofsodium: yeah discontinued is half a red flag
struct: But this is just my point of view
Astrobytes: that was the basis for our old stock management system at the first pharma place I worked
Astrobytes: (foxpro)
struct: I'm not saying it's bad
struct: Is just that I would be stuck there
Westicles: the trick is to only look for c/c++ jobs.
Astrobytes: No. It is in fact, awful
Westicles: usually something interesting tied to HW
waterproofsodium: hey Westicles how serious were you about google mostly hiring for bad positions through that foobar challenge?
Westicles: I was joking, but check and see if they are still hiring based on that
waterproofsodium: great thanks for clarifying
struct: maybe if they ask me to code a MCTS I can pass
waterproofsodium: hm you get a ton of time for the challenges btw
waterproofsodium: a lot of people here would get high in it I'm sure
waterproofsodium: level 1 had 7 days
Astrobytes: sounds like you'd have more chance by applying directly
Astrobytes: if the challenges are that easy
waterproofsodium: i don't know
waterproofsodium: but if they want it to be a filter for "good engineers" then they just need to make the other levels more difficult
waterproofsodium: which I would assume
Astrobytes: You would think they'd be at codejam round 2 level +
struct: seems like it's hiring anyone that knows how to code
struct: which seems strange
Westicles: at least in the US the model seems to be hire big school guys, then have them manage teams in India/China that do the coding
waterproofsodium: they have 5 levels I think it would be reasonable that their level 4 was at least as hard as the hard problems on codingame
Astrobytes: that's a worldwide trend Westicles
Astrobytes: anyway, going to bed gn all (and I'm still chuckling at "tulips and dairies)
struct: gn
waterproofsodium: gn
waterproofsodium: hm I am confident I can solve all 5 levels..
waterproofsodium: ..if I ask people in this chat for help ;)
struct: I'm very bad at puzzles actually
waterproofsodium: i'm only good at things I did before :P
struct: It takes time to switch into puzzle mode
waterproofsodium: that is true
waterproofsodium: most of the time I'm not in it
Westicles: hah, well my latest puzzle was made for you
Westicles: https://www.codingame.com/contribute/view/227854b2b312e0ee983a0d017a64b6ffa95a3
waterproofsodium: sounds like clickbait :p
Westicles: yeah :P
waterproofsodium: i upvoted
waterproofsodium: now give me tacos
Westicles: I was disappointed, even cleaning up the solution to make it 10x faster I couldn't put a decimal point on the solutions
Westicles: :taco: waterproofsodium
Westicles: I don't think wonton hangs out here much these days
waterproofsodium: this is a fair exchange *nom nom
waterproofsodium: time for me to leave
waterproofsodium: gn
struct: gn
Crosility: YES!
Crosility: I finally learned hashtables, and solved this MIME Type puzzle -.-
Crosility: (In C - so - I had to learn to fully implement my own hashtable, no premade)
HenroLST: WOOHOO nice :thumbsup:
Crosility: Thanks :D
struct: gj Crosility
HenroLST: hey struct, if i were to want to make a coordinate plane and manipulate it in c++ what would be the most effiecient method?
struct: What is this for?
HenroLST: its a puzzle, however the coordinate plane is not nessacery, its just me being extra, I was jsut curious if I were to do it what would be best. I tried a vector of vector of pairs but it ran pretty slow
struct: Well In c++ you usually need to add pragmas
struct: or the code will end up being a bit slow
struct: also how big was the vector?
struct: vectors are slow if you keep allocating memory while inserting
HenroLST: i just set it as 10 by 10, however ideally it could run with higher numbers, say 100 by 100
struct: You should allocate memory on creation if possible
struct: vector<int> vec(10000); for example
HenroLST: the thing was i had to constantly iterate through the vector of vectors to check if certain elements had to be removed
Crosility: I was able to solve all test cases :(, but not the Validators. This puzzle is the death of me. 85%.. I'll have to come back to this one. Sigh. "Limit size of extensions".. though it explicitly says no extensions will be above 10.. but *shrug*, and "Detection of same prefix extensions".
struct: usually I use C type arrays
struct: And when I need to remove I just do this
struct: swap(arr[index], array[size-1]); size--;
struct: So you swap the one you want to delete
struct: with the last one
struct: and then change the size
HenroLST: ah, thats smart, I was just declaring another vector of vectors to mimic the current one then resetting the current vector and re adding all elements that satisfied the conditions
Darleanow: guys, just made this : https://www.codingame.com/contribute/view/22983c288d1eb034dd97e682447115d29921b
struct: well you can still change the current with last
struct: and then use pop_back() HenroLST
Darleanow: could u upvote/downvote depending on how u find it :)
struct: you can do vec[i] = vec.back(); vec.pop_back();
HenroLST: but what about mass deletions? for example if the vector looked like: http://chat.codingame.com/pastebin/1d316df3-d738-4350-b6df-38691b674b2c
struct: too much text
struct: and pastebins are broken
HenroLST: uh say i wanted to delete all elements with a certain condition
HenroLST: like in a coordinate plane all coordinates with a x value over 6
struct: well I would probably just use a for loop
struct: The problem is that if you have
struct: vec = {0,1,2,3,4,5,6};
struct: and erase 0
struct: then the vec will need to move everything
struct: by one
HenroLST: yeah, thats why i was creating a idential vector, emptying the original, then re adding each element
HenroLST: but it took some time
struct: Did you use pragmas?
struct: or are you doing this in your machine?
struct: gcc or msvc?
HenroLST: just the one provided by coding game, not sure what it is
struct: Try #pragma GCC optimize("O3","unroll-loops","omit-frame-pointer","inline")
struct: put that at the top of the file
HenroLST: oop yeah it ran faster
HenroLST: ima have to memorize that line
HenroLST: thank you very much :slight_smile:
struct: np
GoodGoodNotBad: Has anyone completed There is no Spoon part 1 in c++ ? The default code is timing out :confused:
struct: it works fine for me
struct: This is the output for the first test
struct: cout << "0 0 1 0 0 1" << endl; cout << "1 0 -1 -1 -1 -1" << endl; cout << "0 1 -1 -1 -1 -1" << endl;
GoodGoodNotBad: How odd, I'll double check. Thanks!
Westicles: Darleanow, it'll get rejected for binary outputs
Darleanow: But some clashes do have binary outputs :'(
Westicles: Sure, but it is just about the only rule, some people will reject
Darleanow: oh okk
HenroLST: does anyone know why for some reason when im doing a binary search one of my numbers randomly shoots outside one of the bounds mid search?
Crosility: Are you explicitly stating your bounds?
HenroLST: im constantly updating them with each iteration
HenroLST: however they dictate what my new number will be, within their ranges
Westicles: why did everyone's CP go down except me?
Westicles: https://chadok.info/codingame/leaderboard_xp.html
Westicles: oh, contest decay, never mind
eulerscheZahl: you are bad at contests?
Westicles: yes, that was my conclusion as well
eulerscheZahl: i played nice and commented on Darleanow's clash
struct: Do you try to make a bot though?
eulerscheZahl: not very hard. i'm sure you could do better
Westicles: I never read a single word of the statement
struct: ah ok
eulerscheZahl: :D
struct: are you not interested in bot programming in general Westicles?
Westicles: I would like to have the skills to whip up an NN but seems like a lot of work
emh: why is everyone up so early?
eulerscheZahl: almost 6am
struct: well I have to go to sleep yet
emh: ok hehe
eulerscheZahl: me: already awake struct: still awake
struct: so its not early, its just very late
eulerscheZahl: for struct it's 4 or 5am, not sure
struct: 4:55
eulerscheZahl: 5:55 here. so just 1h difference
struct: yeah
emh: here too
eulerscheZahl: but probably more like 1.5h if we go by the sun
eulerscheZahl: do the birds already start singing at your place struct?
struct: yes
eulerscheZahl: then it's bed time for you
struct: wait not yet
struct: In around 30 minutes they will start
struct: Anyways it's time for me to go and get some rest
struct: Have a good day every1
eulerscheZahl: you too
emh: thank you and good night struct