From CG community
Jump to navigation Jump to search

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

Default avatar.png HenroLST: does anyone know how to check run time?

struct: this is what I use


Default avatar.png HenroLST: thanks

pedrosorio: question: does anyone know how to debug "has not provided an action in time" in C++?

Default avatar.png 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:

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

Default avatar.png struct

struct: yeS?

jacek: class!

Default avatar.png may you give the awnser to There is no Spoon - Episode 1 - java?

Default avatar.png 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: 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


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

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

Default avatar.png miobyte: alas

Default avatar.png miobyte: who is the number one in this platform to follow?

Default avatar.png ArianPunk: There is something wrong with the

Default avatar.png ArianPunk: its last test case, expects Nothing while it actually expects an output.

darkhorse64: nope, "PAT" is expected

Default avatar.png ArianPunk: you didn't read my text carefully.

darkhorse64: I solved the puzzle carefully

Default avatar.png ArianPunk: dumbass, i know it expects PAT, and i print it , but it says it must be Nothing

Default avatar.png ArianPunk: it expects me Nothing

Default avatar.png 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?

Default avatar.png ArianPunk: ok

Default avatar.png 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: ?

Default avatar.png 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

Default avatar.png Kayafu: congrats :D

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

Default avatar.png fhgdfh: do u guys think coding is haed?

Default avatar.png fhgdfh: hard

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

Default avatar.png 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

Default avatar.png Donut_Coding: hi

struct: Maybe I'll take rank 1 on onitama

struct: Hi

Westicles: link to leaderboard?


Default avatar.png hejamandajiri:

Default avatar.png hejamandajiri:

Ayza: not here

Ayza: #clash

Default avatar.png hejamandajiri: Sorry, my bad

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

Default avatar.png putibuzu: :D

therealbeef: offline it had a 53% winrate against previous, but the server doesn't agree

Default avatar.png putibuzu: same here, was #6 in gold, now 83 :sweat_smile:

jacek: there is not gold recalc :thinking:

Default avatar.png 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

Default avatar.png putibuzu: yes, which my bot clearly wasn't :D

Default avatar.png 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


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

Default avatar.png 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

Default avatar.png ArianPunk: winamax-battle

5DN1L: You mean this?

Default avatar.png ArianPunk: yeah

Default avatar.png fathidevs: fastest mode is also the "largest most boring description mod"

Default avatar.png 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

Default avatar.png ArianPunk: shouldn't i just wait for a day or do i have to submit again?

5DN1L: you can do either

Default avatar.png ArianPunk: Isn't it because the App thinks my code has syntax error?

jacek: does it?

Default avatar.png ArianPunk: it's showing me a syntax error, although it's not wrong.

5DN1L: what syntax error

Default avatar.png ArianPunk: in Rust you can print like: println!("{a_variable}");

Default avatar.png ArianPunk: as well as: println!("{}", a_variable);

Default avatar.png 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)

Default avatar.png Prownie: Dunno if question makes any sense ahah

Default avatar.png 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?

Default avatar.png ArianPunk: I reckon it's new.

5DN1L: CG's rust version is 1.60.0

Default avatar.png ArianPunk: I think it's up to date.

Default avatar.png 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 :(

Default avatar.png ArianPunk: One more thing

jacek: RNN could work better with hidden information, but i'm too dumb for that yet

Default avatar.png Prownie: Was trying to rephrase ahah, but thank for you reply, totally makes sense !

j4at: yeah training RNN with dqn is tricky

Default avatar.png ArianPunk: do i have to play all testcases before submitting?

5DN1L: no

jacek: no need

Default avatar.png ArianPunk: tried with the other syntax, no chance.

Default avatar.png 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

derjack: or was it ISMCTS? generally mcts for random and hidden information games


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: > "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 -- ? .. 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

Default avatar.png dude_guy: hello fellow humans

MSmits: you sound like a bot pretending to be human :P

MSmits: :robot:

Default avatar.png dude_guy: you sound like a bitch

Astrobytes: that escalated quickly

Default avatar.png dude_guy: iam sorry

Astrobytes: does he look like one?

Default avatar.png dude_guy: playing the mars lander game

Default avatar.png Aldoggen: which one?

MSmits: dude_guy I will take this as a compliment. My dog is female and I think she is a great person.

Default avatar.png dude_guy: dogs are great

MSmits: indeed

Default avatar.png 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

Default avatar.png dude_guy: i dont trust small dogs sorry

Default avatar.png dude_guy: demon spawns

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.

Default avatar.png 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

Default avatar.png dude_guy: well shit next time

derjack: oO

Default avatar.png Aldoggen: make sure you're on the toilet first

MSmits: good advice

MSmits: also check for toilet paper

Default avatar.png Aldoggen: we're still acting like dude_guy is a bot lol

Default avatar.png 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

Default avatar.png dude_guy: cutting down million of tress

Default avatar.png dude_guy: how about get a soap and water and do it like asia does it

MSmits: uses more water

Default avatar.png Aldoggen: one day I'll calculate if it's cost efficient

5DN1L: let's end the discussion of toilet paper here, shall we?

Default avatar.png Aldoggen: if it's on the same order of magnitude I'll try to switch to a bidet lol

Default avatar.png dude_guy: yeah that is better

Astrobytes: Flush the chat?

Default avatar.png Aldoggen: f

Default avatar.png Aldoggen: l

Default avatar.png Aldoggen: u

MSmits: lol

Default avatar.png 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:

Default avatar.png 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

Default avatar.png dude_guy: i tried

MSmits: what happens?

Default avatar.png dude_guy: cant go below 1M 4 secs

Default avatar.png dude_guy: 1minute 4secs

MSmits: oh there is another way

Default avatar.png dude_guy: iam listening

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)

Default avatar.png dude_guy: will try math man

MSmits: yeah, thats really the fastest you can go

Default avatar.png 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)

Default avatar.png Aldoggen: ayy I did death first search episode 2

Default avatar.png dude_guy: ayy good job

Default avatar.png Aldoggen: <3

Ayza: congrats

Default avatar.png putibuzu: thanks for the paper on ISMCTS derjack! very enlightening

mdfarhansadiq: :D

Default avatar.png TheNuclearSausage_1905: how do I calculate when to turn on the thrusters? Im so confused by math

Default avatar.png Aldoggen: for mars lander lvl 1?

Default avatar.png TheNuclearSausage_1905: yeah

Default avatar.png Aldoggen: the simple method is to limit the vertical speed to be more than -40

Default avatar.png Aldoggen: i requires minimal math

Default avatar.png Aldoggen: by more than -40 I mean like -39 or -38 or even -30 if you want to play it safe

Default avatar.png Aldoggen: can you figure out a way to do that?

Default avatar.png TheNuclearSausage_1905: ill try idk

Default avatar.png Aldoggen: gl!

SydM107: are weekly puzzles gone?

5DN1L: they're become one type of events now


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

Default avatar.png 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

Default avatar.png putibuzu: hi

SubZeRoy9: hi


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

Default avatar.png 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

Default avatar.png LuaAdventurer: ty bro

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

Default avatar.png 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

Default avatar.png Aldoggen: @LuaAdventurer depends on your language. if there are comments in your code, you can probably find it there

Default avatar.png LuaAdventurer: im using lua langage

MSmits: I would not have guessed

Default avatar.png Aldoggen: I wouldn't have dared to assume :p

struct: io.stderr:write("test\n")

Default avatar.png Aldoggen: I was about to type that lol

Default avatar.png LuaAdventurer: tysm @struct

struct: np

Default avatar.png LuaAdventurer: can i ask another question

jacek: i can understand some of the words

Default avatar.png Aldoggen: @LuaAdventurer you already did

Default avatar.png LuaAdventurer: 4 5 MANHATTAN

Default avatar.png LuaAdventurer: WHAT IS THIS

Default avatar.png LuaAdventurer: oops caps

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.


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


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


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.


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

Default avatar.png 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...

Default avatar.png 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


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

Default avatar.png Aldoggen: yeah I stopped bothering after that lol

Default avatar.png 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


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?

Default avatar.png Aldoggen: a?

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:

Crosility: Has anyone played, does anyone play the programming game Bitburner?

Default avatar.png 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.

Default avatar.png 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:

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

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


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


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

Default avatar.png ElCimici:

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?

Default avatar.png putibuzu: :D

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

Default avatar.png HenroLST: what the

Default avatar.png HenroLST: i wanna taco

Default avatar.png Wishmesucc: hello

xGuGu: hi:wave_tone1:

Default avatar.png ElCimici: HOW CAN i convert string to int

Default avatar.png ElCimici: c++

Default avatar.png galuso: stoi() function

Default avatar.png wryte94: google that exact question

Default avatar.png 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 :)

Default avatar.png jvclab2: no

Default avatar.png computerfive: ummm

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 :)

Default avatar.png 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

Default avatar.png myking467: power of thor

Default avatar.png myking467: if , for , while ex

Default avatar.png wryte94: power of thor is simple, u dont need many functions

Default avatar.png wryte94: you just check your position right now relative to the light

Default avatar.png wryte94: then move in the direction u need to go from that position

jacek: and do you have C++ above the ide?

Default avatar.png myking467: dont you have to macke an algorthem that does all of the stages automaticly?

Default avatar.png 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

Default avatar.png myking467: so then i did it i finished all of them

Default avatar.png myking467: with north and south

Default avatar.png myking467: comands

eulerscheZahl: you have to make it work for all at once. one code that can go in all directions based on given inputs

Default avatar.png myking467: how tho

Default avatar.png wryte94: i sent u a message myking

Default avatar.png wryte94: explaining it

Default avatar.png myking467: as i sed i am mew

jacek: you have HINTS on the left

Default avatar.png Aldoggen: i am mewtoo

5DN1L: are you mew3, Automaton2000?

Automaton2000: what happened to the leaderboard

Default avatar.png myking467: oh i see so if does work sory mb

5DN1L: if it does work now for you, then great :D

Default avatar.png myking467: thanks a lot i will see

Default avatar.png myking467: :grinning:

Default avatar.png myking467: have a good day (;

5DN1L: you too

Default avatar.png computerfive: hey

Default avatar.png myking467: hi:grinning:

Default avatar.png computerfive: 4055189

Default avatar.png computerfive: its my number

Default avatar.png myking467: ok

Default avatar.png 1942wasagoodtime: cap

Default avatar.png computerfive: msg me

5DN1L: no spam please

Default avatar.png computerfive: its 5179 my b

Default avatar.png computerfive: o

Default avatar.png computerfive: k

Default avatar.png camicam: l

Darleanow: Hello 5DN1L !!

Default avatar.png camicam: l

Default avatar.png camicam: l

Default avatar.png camicam: l

Default avatar.png camicam: l

Default avatar.png camicam: lol

5DN1L: have you done with your ls?

5DN1L: camicam

5DN1L: Hello Darleanow

Darleanow: wassup ?:)

5DN1L: all good

Default avatar.png computereight: what are you supposed to do

Default avatar.png computerfive: im gey

Default avatar.png 1942wasagoodtime: that ok

Default avatar.png computerfive: r u gey?

Default avatar.png 1942wasagoodtime: no

Default avatar.png computerfive: everyone should be gey

5DN1L: computerfive please stay on coding-related topics here

Default avatar.png computerthree: hi

Default avatar.png computerfour: hllo

Default avatar.png computerfive: lol

Default avatar.png computerfive: hi

Default avatar.png computerfive: i love coding

Default avatar.png skeskin: hi

Default avatar.png computerfour: hi

Default avatar.png skeskin: thor problem is hard for me

Default avatar.png computerfive: its totally th ebest

Default avatar.png skeskin: im loser

Default avatar.png computerfive: thor?

Astrobytes: Welp. Chat's back to normal.

Default avatar.png computerfive: no

Default avatar.png jvclab1: What is this how do i play this game?

Default avatar.png skeskin: yes.. thor..

Default avatar.png myking467: you code

Default avatar.png 1942wasagoodtime: yes

Default avatar.png computerfive: yes

Default avatar.png computereight: uhhhhh yea

Default avatar.png 1942wasagoodtime: p

Default avatar.png computerfive: mhm

Default avatar.png computerfive: JAMES

Default avatar.png computereight: who wants number mine

Default avatar.png Wishbone: Thor is confusing when you're used to controlling things yourself.

Default avatar.png computerfive: not me

IvesL: very wierd

IvesL: i was trying to scan some of my old bots and try to rerun

Default avatar.png 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

Default avatar.png SEMAJbackwards: hey james

IvesL: anyone know whats about it

Default avatar.png computerthree: dude don't say our names

Default avatar.png SEMAJbackwards: Ok

Default avatar.png computerthree: :expressionless:

Default avatar.png myking467: you guys are fluding the chat so if you aree not talking about code than it would be good if you stoped

Default avatar.png SEMAJbackwards: SEMAJ

Default avatar.png SEMAJbackwards: spell correctly first

Default avatar.png myking467: ok


Default avatar.png computerthree: were just talking chill

5DN1L: any spammers will get kicked or banned

5DN1L: reminder to all newcomers here

Default avatar.png SEMAJbackwards: We aint spamming

jacek: soon.

Default avatar.png myking467: ok sir

Default avatar.png computerthree: yeah were just talking

Default avatar.png SEMAJbackwards: we is a moderator on a coding website lmfao


Default avatar.png SEMAJbackwards: who

Default avatar.png computerthree: huh

Default avatar.png jvclab1: KADEN IS LAMEE

Crosility: Was copying the chat. But yes, you're spamming.

Default avatar.png SEMAJbackwards: who

Default avatar.png SEMAJbackwards: im lame? ok

Default avatar.png jvclab1: YES KADEN IS LAMEEE

Default avatar.png computerthree: huh

5DN1L: kicked jvclab1, next is a ban

Default avatar.png computerthree: uh

Default avatar.png camicam: hbhvbjvcb

Default avatar.png computerthree: huh

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?

Default avatar.png computerthree: so?

5DN1L: sometimes it doesn't work, Crosility

5DN1L: then you have to search their profile

Default avatar.png computerthree: have fun trying to find it

Default avatar.png computerthree: bye

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.

Default avatar.png 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?

Default avatar.png 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

Default avatar.png james9789765767: its a program for summer

Astrobytes: schoolkids. It's always schoolkids.

jacek: dont they have vacation now

Default avatar.png 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. <.<

Default avatar.png 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)

Default avatar.png GNye22: ohhhhh

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 ?

Default avatar.png 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

Default avatar.png HenroLST: c++

jacek: if next state was other played, then its y * -Qmax

jacek: vector.erase(vector.begin()+position)

jacek: other player*

Default avatar.png HenroLST: ah so it works like a normal vector

Default avatar.png HenroLST: thanks!

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: 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: 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 ;)

Default avatar.png 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?



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....

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)


struct: no idea whats happening


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


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

Default avatar.png vvinter: hello

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)

Default avatar.png vvinter: good job!!!

Default avatar.png HenroLST: WOOHOO nice :thumbsup:

Crosility: Thanks :D

struct: gj Crosility

Default avatar.png 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?

Default avatar.png 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

Default avatar.png 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

Default avatar.png HenroLST: yup

Default avatar.png 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

Default avatar.png 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 :

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();

Default avatar.png HenroLST: but what about mass deletions? for example if the vector looked like:

Default avatar.png HenroLST: hm why link weird

struct: too much text

struct: and pastebins are broken

Default avatar.png HenroLST: uh say i wanted to delete all elements with a certain condition

Default avatar.png HenroLST: like in a coordinate plane all coordinates with a x value over 6

struct: well I would probably just use a for loop

Default avatar.png HenroLST: ok, thanks!

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

Default avatar.png HenroLST: yeah, thats why i was creating a idential vector, emptying the original, then re adding each element

Default avatar.png HenroLST: but it took some time

struct: Did you use pragmas?

struct: or are you doing this in your machine?

Default avatar.png HenroLST: uh i think machine

struct: gcc or msvc?

Default avatar.png 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

Default avatar.png HenroLST: ok

Default avatar.png HenroLST: oop yeah it ran faster

Default avatar.png HenroLST: ima have to memorize that line

Default avatar.png HenroLST: thank you very much :slight_smile:

struct: np

Default avatar.png 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;

Default avatar.png 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

Default avatar.png 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?

Default avatar.png HenroLST: im constantly updating them with each iteration

Default avatar.png HenroLST: however they dictate what my new number will be, within their ranges

Default avatar.png zxc_school: hiii

Westicles: why did everyone's CP go down except me?


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