Chat:World/2020-11-29
kg1427: :kissing_smiling_eyes:
DevonLarratt: clash of code is an insane way to learn a new language damn
pucck: Best solution ever
VizGhar: just tried OCAML language on onboarding puzzle. OMG is there really any person on this planet using this language?
eulerscheZahl: it felt easier to me than Clojure
VizGhar: Cojure was pain too :|
eulerscheZahl: indeed :D
R2B2: @VizGhar: yes, Ocaml is widely used. Functional programming languages are more robust than most others, and are therefore used where security is an important concern (you can check the OCaml website if you want to learn more).
VizGhar: I'll check for sure. To be honest I haven't used functional languages that much.
VizGhar: I really love the concept of pure functions. I just took different path in my youth :P
BoBot: so...you took a path of impurity? :O
VizGhar: no... talking just about OOP vs FP
VizGhar: but yes I wrote that strangely :D
JohnCM: euler, you there?
JohnCM: wanted to seek help on how to generate entire list of permutations in c++ for bulls and cows 2
rockstar555: hii
eulerscheZahl: ping JohnCM
eulerscheZahl: just a recursive function that loops over each next digit given a bool[] of already used digits
BoBot: @VizGhar no you did not wrote it strangely, I was just joking :D
Magnitik: can sombody give me a hint about Power of Thor Epizode 1, pleas:cold_sweat:
rockstar555: if you think you got answer
rockstar555: and consentrate
rockstar555: also
msd9126: https://www.twitch.tv/msd9126
PrO_Ogrmr: yes
PrO_Ogrmr: :0
msd9126: https://www.twitch.tv/msd9126
JohnCM: thanks euler, i know how to do it already
msd9126: We are live! https://www.twitch.tv/msd9126
msd9126: https://www.codingame.com/clashofcode/clash/14832855b21c1982f3cff89fee284daeb720307
AntiSquid: dude stop pasting same link over and over again msd9126
AntiSquid: also no clash of code links in here
AntiSquid: #clash
rockstar555: okk
rockstar555: you are saying right
rockstar555: AnitiSquid
rockstar555: msd9126
rockstar555: you send link
rockstar555: by private message
AntiSquid: rockstar555 you keep writing random gibberish btw, can't figure out what you're on about
Uljahn: i guess that guy is spaming him in pm
AntiSquid: rockstar555 just use google translate for a bit if english is difficult, it's fine .
Doju: Oh hey my search is finally sometimes going to depth 2
Doju: that's improvement, i guess :d
Uljahn: the entrance to the rabbit hole
AntiSquid: now you can take it deeper! exponential thinking doju!
Doju: Well, the problem at the moment is python
rockstar555: soory
Doju: so if im gonna take it deeper i'm gonna have to move to c++
rockstar555: why
Doju: It's just so slow
rockstar555: ohh
rockstar555: so you can move to c++
Doju: if i have the time
AntiSquid: do it doju . it might seem difficult but it's worth it .
AntiSquid: or Rust or even D-lang master race
Doju: i have another programming project on my hands at the moment
jrke: yeah c++,rust,java,D are good choices for fall challenge
rockstar555: if u writing a short code
Doju: I think i'm gonna go with c++ since i want to learn it anyways
rockstar555: then go with
rockstar555: ruby
rockstar555: otherwisw
Uljahn: python is slow by design but you can make your code optimized and a bit faster with knowledge of python internals
Doju: sure
rockstar555: yeah
JohnCM: ha just learn c++
Doju: im gonna try a few things first
JohnCM: so far all competitions top tier is c++
rockstar555: it saying wright
jrke: the worst thing you can face on CG - "STUCKED IN TOP GOLD AND TRYING FOR LEGEND :("
Uljahn: with c++ it's a no-brainer i guess, add more pragmas
AntiSquid: no . don't spam that chat room link either . if someone wants to play clash they will . msd9126
AntiSquid: you don't see anyone continuously asking you to join one of the multiplayers, do you
tibithegreat: out of curiosity: What is the memory limit on multiplayer games? (Ultimate Tic Tac Toe for example)
Uljahn: 768Mb
tibithegreat: wanna see if it's worth spending time deleting stuff
rockstar555: hey i have some problem in code vs Zombie
Uljahn: https://www.codingame.com/faq
jrke: memory limit ??whats that
tibithegreat: @Uljahn thanks
AllYourWhat: how many objects you can create
AllYourWhat: or memory you can allocate
msd9126: https://www.codingame.com/clashofcode/clash/14833137c912982793d41326c6b0ecc0e20e148
msd9126: We are live on twitch
msd9126: join us at https://www.twitch.tv/msd9126
msd9126: Sorry, by mistake wrote it here
tibithegreat: dude, you were warned several times not to spam the chat with clashes
Sinux1: get him
msd9126: I realized as soon as i wrote it
tibithegreat: Kratos Voice "Don't be sorry, be better"
tibithegreat: :)
Westicles: It seems I have a mortal enemy. One guy rejecting both my contributions
Doju: Oh huh
Doju: it's actually faster to make a bunch of small tuples than a bunch of small np arrays
Doju: even though i do some vector math
AllYourWhat: i could see that if your tuples are small... maybe the overhead of allocating a numpy array and calling into a c function for every operation isn't worth it?
Doju: yeah, that's probably the case, AllYourWhat
jacek: use c++ [solved]
Doju: yup
Doju: that's the correct solution but i don't have the time to rewrite everything in an unfamiliar language
Doju: aw man
Doju: when deepcopying gamestates, i get 244 nodes in my tree
Doju: when not copying, i get 851 nodes
Uljahn: btw do you have __slots__ defined in your class?
Doju: No. In fact i didn't know that that existed
Doju: Im gonna have a look
Uljahn: can make some boost to performance
AllYourWhat: wow thats interesting, thanks for sharing Uljahn!
Doju: I need to rewrite my deepcopy method but __slots__ seems really useful. thanks Uljahn
Doju: Also i'm storing a bunch of useless values
Doju: tomeIndex and taxCount for already learned spells, for example
Doju: Okay i think i figured out a way to improve performance by a lot
Westicles: Fight the power!
MadKnight: fight the #1 !
AntiSquid: #resist
HooKOnFire: привет долбоебы
HooKOnFire: как жизнь
HooKOnFire: как сами
HooKOnFire: как хуй стоит?
wlesavo: ban
eulerscheZahl: this is an English-only channel
eulerscheZahl: but as I see HooK decided to continue the trolling on #Ru already
Andriyko: dmitro ovoshch
Andriyko: :baby_tone5:
funlock: andriy viydi z pornhub
Andriyko: zvidku
Andriyko: ?
Andriyko: what
HooKOnFire: andriy ne drochu
HooKOnFire: piska ne vurosla sche
wlesavo: Uljahn
eulerscheZahl: i kicked already
eulerscheZahl: and AntiSquid did the rest
wlesavo: oh sry thought it was ru
eulerscheZahl: but for Ru you need Uljahn, i have no mod power there
HooKOnFire: hi
HooKOnFire: eulerscheZahl
HooKOnFire: how u did 54 lvl?
eulerscheZahl: lots of legend leagues. and i was spammy in regards to creating my own puzzles
HooKOnFire: wow
HooKOnFire: checck pls for vox codei 2
HooKOnFire: http://chat.codingame.com/pastebin/3621b942-4bf6-4a76-90dc-efc471352c84
eulerscheZahl: your code is incomplete, truncated after 10k chars
HooKOnFire: &
HooKOnFire: ?
HooKOnFire: why
eulerscheZahl: so, did you write that solution yourself?
HooKOnFire: but i used google for some
HooKOnFire: but yeah
eulerscheZahl: liar! https://github.com/denvash/codingame-puzzles-solutions/blob/master/3-Very_Hard/Vox-Codei-Episode-2.cpp
Westicles: reported to СБУ
HooKOnFire: hahahahhahahahahhahahhahahahhahahahahahahhahahahhahahahahhahahahhahahahahahahhahahaahhahahahhahahahahhahahahahahhahahahahhahahahhahahah:grinning:
ZarthaxX: LOL
HooKOnFire: stupid
HooKOnFire: man
MusicalSaxophoneAndHisDog_7e6c: you
HooKOnFire: bruh
HooKOnFire: you stupid
Doju: ouch
HooKOnFire: suck
MusicalSaxophoneAndHisDog_7e6c: bro you piece of shit
eulerscheZahl: free kicks for all
ZarthaxX: what the heck is happening
HooKOnFire: suck
eulerscheZahl: i'm kicking without warning :innocent:
HooKOnFire: shut up
HooKOnFire: man
HooKOnFire: oh shit
eulerscheZahl: and you are close to a ban already HooKOnFire
eulerscheZahl: stop it
HooKOnFire: ok
ZarthaxX: thought you kicked him before
ZarthaxX: did he re enter and started again?
ZarthaxX: :D
eulerscheZahl: i did
eulerscheZahl: but that saxophone player was without warning
ZarthaxX: does a kick do anything or you can just refresh and talk again?
HooKOnFire: yes
ZarthaxX: ah ye
eulerscheZahl: refresh and you are back
ZarthaxX: i see :(
HooKOnFire: when you refresh and back
eulerscheZahl: no you don't, do you want to ZarthaxX? :P
eulerscheZahl: ban is permanent on the other hand so behave well
HooKOnFire: i have vpn
MusicalSaxophoneAndHisDog_7e6c: hello zahl
eulerscheZahl: hi
MusicalSaxophoneAndHisDog_7e6c: how are you
MusicalSaxophoneAndHisDog_7e6c: how you mom
eulerscheZahl: fine
ZarthaxX: if i want what toad?
ZarthaxX: oh god this oneagain
eulerscheZahl: squid did the banning
ZarthaxX: fastest in the far west
eulerscheZahl: good guy toad is still at 0 bans, i have more patience
ZarthaxX: hehe
ZarthaxX: i would ban them isntantly
eulerscheZahl: but i was close now. just squid being a little faster
ZarthaxX: you know, in uni they gave us a project where we had to make algorithms to optimize a specific problem
ZarthaxX: and they said we had to also implement tabu search
ZarthaxX: i dont like that thing
ZarthaxX: well, that guy deserved it from minute 0 lol
Westicles: Is it by account or name?
eulerscheZahl: account
eulerscheZahl: they can create new accounts
PrO_Ogrmr: "defibrillators" is this good puzzle for beginner ?
eulerscheZahl: there was one particular nasty spammer who kept numbering the accounts
eulerscheZahl: saw him at -57 one day
eulerscheZahl: magu s just kept banning
eulerscheZahl: Uljahn your turn on #ru
**eulerscheZahl didn't like the defibrilators
eulerscheZahl: not that hard. just no fun to solve
PrO_Ogrmr: yeah ok
eulerscheZahl: now that i think about it: there are surprisingly many official puzzles that I didn't really like
PrO_Ogrmr: :\
Westicles: They are getting worse and worse now with the quest map
eulerscheZahl: i have the same impression
Westicles: oh, unofficial puzzles of course
AntiSquid: sum of 2 numbers clash, do it
PrO_Ogrmr: haha
eulerscheZahl: sum of 1 number
AntiSquid: that exists?
AntiSquid: you mean the digits ?
eulerscheZahl: JBM had such a clash in WIP at least "add nothing"
eulerscheZahl: i commented that the instruction is unclear: add 0 or add empty string?
PrO_Ogrmr: :D
AntiSquid: print input
eulerscheZahl: good old echo
TheLumpyCommitter_3f38: sck my
AntiSquid: that's same guy 100% ... look flag
eulerscheZahl: the Ukraine is big
PrO_Ogrmr: haha
Westicles: Yes, let us not besmirch all Ukranians
Andriyko: :hugging:
Doju: Turns out deepcopying doesn't work if you return self instead of the new instance
Doju: fascinating
Doju: *facepalm*
PrO_Ogrmr: same guy
PrO_Ogrmr: i followed him early
PrO_Ogrmr: gotcha
IronMoustache_234e: rostik lo0h...
PrO_Ogrmr: i see , if anyone don't choose a nick name it will be random i think
PrO_Ogrmr: hey in temperature puzzle i got 100% but in code golf
PrO_Ogrmr: i didn't get , why ?
Westicles: different validators
PrO_Ogrmr: i see
IronMoustache_234e: who is komposter?
000Wastok000: hello
000Wastok000: 345346456
000Wastok000: 35465464
000Wastok000: 3454354
Andriyko: vvv
JBM: eulerscheZahl: that was Boulet
Andriyko: ay
eulerscheZahl: or right, my bad
struct: hi
Westicles: Oooh, snap. "IMHO, it’s a burden to get boring puzzles accepted"
JBM: well, that's, like, my own opinion man
Westicles: :)
Westicles: It is an interesting point. I've had arguments about the definition of 'puzzle', 'ingenuity', and 'fun' lately. We really need a philosophical underpinning before we can go forward with these contributions.
struct: I managed to port the 2 cameras example if you ever need its also possible https://i.imgur.com/KtvShEY.png
struct: Required a little more effort
struct: also I can make thicker lines now
reCurse: Is 3d the new thing now :sweat_smile:
struct: its fun to play with it
Astrobytes: building up to UTTT 3D edition
reCurse: Reminds me we never did test if mod can ban mod right?
Astrobytes: :grin:
struct: want to try?
reCurse: Keep tempting me :P
Astrobytes: We did, I'm sure? Separate channel, you banned euler or he banned you iirc
reCurse: euler wasn't a mod back then I think
Astrobytes: Oh right, testing whether it was one channel or all, I remember now
reCurse: It was testing how to unban actually
Astrobytes: Ah OK
struct: is it possible to unban?
reCurse: Yes
struct: so ban me i dont mind
reCurse: Missing the point here :P
Westicles: I told rockstar how to become a moderator in exchange for approving my puzzle, but he didn't do it
struct: I think he would be a good addition
reCurse: Working on a contribution makes me realize just how far one can go coding by google
jacek: youre working on contribution?
reCurse: Yeah
jacek: oh my
reCurse: So far I'm just getting by asking how to do C# stuff in java or javascript
reCurse: Almost too easy
Doju: yikes
jacek: java is just lowercase C#
Doju: there has been a nasty bug hiding in my code for a loong time
Westicles: Are there instructions somewhere for <whatever you call the package you submit for graphics puzzles> or do you just need to figure it out by example?
reCurse: Are you talking about pixi?
struct: or for graphic entity module?
Westicles: Talking about what you submit for something like Space Maze.
struct: https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/introduction-3
struct: Doesnt go into much depth
Westicles: Ah, thanks! Now I get why you have to google java and JS, ugh
reCurse: Well I wouldn't need to do JS if I used the GEM
struct: I think most of the current accepted contributions dont use js modules at all
reCurse: I'm just a control freak or something
Westicles: what would you use if you wanted something like this?
Westicles: http://chat.codingame.com/pastebin/03de892d-e891-4015-9f06-eb1f825abb88
struct: yeah, that doesnt seem feasible with gem
struct: because of all the params you can change
Westicles: hmmm
struct: you can choose any js framework I think, which gives quite a bit more work
reCurse: Any js framework?
reCurse: So you just ignore the given pixi container?
struct: yes
struct: check euler example
struct: https://www.codingame.com/contribute/view/5774f141c59462b06e77d826d14d052d7966
reCurse: As long as it uses the canvas I imagine
reCurse: Because you don't have control on the dom
JBM: yeah their doc is real light on the modules stuff
reCurse: I think...
JBM: missed opportunities there
struct: This is what he does on handle global data
struct: http://chat.codingame.com/pastebin/59a14d06-5366-47a0-b00f-78f99d619fcb
reCurse: Man JS is a hot mess
reCurse: Thankfully in this case... maybe?
reCurse: How far fetched is it to have a viewer that steals your code
reCurse: Because if you have access to dom...
JBM: it'ssupposed not to have access out of its iframe
JBM: ...until the next exploit
reCurse: The viewer is inside a iframe?
struct: yes
reCurse: Hmm
reCurse: Slightly reassuring then. But only slightly.
JBM: i've tried to use it before to add proper CSS styling to my statements
struct: I dont think localy its inside iframe
struct: but on CG it is
reCurse: I'm really not sure what you want anymore on that forum thread JBM, so I'll leave it at that
JBM: I'm not asking for anything
reCurse: You made a vague claim I provided counterexample to, and now I have to prove that everything is absolutely sure to be 100% the same
JBM: I'd like the GCC doc to confirm #pragma-level optimization perform the same as command-line
reCurse: I don't get it
eulerscheZahl: i'm a bit late again :( the JS part is fun. initially I had the viewer control bar above the actual replay by accident :D
reCurse: I really don't
JBM: your counterexample is a data point
reCurse: So was your initial claim
JBM: it doesn't disprove much in my view
reCurse: In fact you didn't provide a single point
JBM: my initial claim is "I can't be sure the optimization level reaches the same levels"
reCurse: Yeah not sure what else I was expecting
Doju: How many different gamestates do you guys search?
reCurse: eulerscheZahl Is the viewer bar part of the iframe or not?
JBM: your message sounded like you wanted me to answer "oh that solves all my problems thank you I'll use C++ now"
reCurse: No you were making a claim with no example, and I provided you reassurance that STL templates do get inlined properly with the pragma
reCurse: But trying to help just turned into a slap so whatever
JBM: it all started from pb4's "why c not C++"
JBM: so i don't exactly have c++ code to measure again
Westicles: I can give you a datapoint. If you are running c++ from another language, the pragmas often cause it to fail but the compiler flags don't
pb4: Hi
pb4: Definitely didn't read that as a slap reCurse
reCurse: Ok my bad then
Westicles: Not sure, just gives you 0% on everything
eulerscheZahl: the progress bar is inside the iframe reCurse
JBM: recurse and I often have trouble understanding each other
JBM: knowing about it is half of avoiding it
struct: https://i.imgur.com/nGoedXb.png
reCurse: Maybe read too much into "expert opinion" and "contrived example" and the whole "but it's on a heap" when it wasn't the point
struct: yeah just checked
struct: its in iframe
pb4: JBM : not sure I fully understand the at() comment though
reCurse: Just felt frustrating
pb4: the GLIBCXX_DEBUG flag applies check on the [] operator too
JBM: the at comment was: vector is only really ('cuz i preallocate) different from an array if you use at() instead of []
eulerscheZahl: https://www.codingame.com/demo/849340c736362b181cdae18a8345462538aa01 my teapot example just removed everything inside the iframe. progress bar gone
reCurse: So can you control the progress bar from inside the viewer?
reCurse: Say if I wanted to make a button "go back to beginning"
eulerscheZahl: i didn't try to go the other way but should be possible, yes
reCurse: That would be awesome actually...
struct: i recal cg saying it wasnt possible :thinking:
eulerscheZahl: i considered removing the settings button
JBM: pb4: i don't know much about GLIBXX_DEBUG tbh
JBM: pb4: i'll have to read up
reCurse: Well if the progress bar was outside the iframe then yeah it's a no go
eulerscheZahl: as i removed the panel where you can change settings anyway
reCurse: If it's inside though, you could simulate clicking on it or something
pb4: I haven't found much documentation on it...
pb4: And reading the STL is...... hard......
reCurse: I've always suspected it's hard to read so people don't rely on implementation details :D
eulerscheZahl: struct also added some text below the viewer long ago. in an extra section between viewer and statement that he created
JBM: is ths g++ one still the sgi-derived one?
pb4: What I learned in practice is : - it'll slow your code to 1/100th its speed - it'll crash if you access data out of bounds - on CG, it'll tell you the type of container that was accessed oob, the real size of the contained, the index that was accessed if relevant. It will *not* tell you where in your code this happened
pb4: A more helpful to do things would be to roll your own vector<> implementation, but I don't usually use mine. I should though...
pb4: (not implementation, wrapper around vector and arary)
reCurse: Only if you need to avoid the heap allocation
pb4: I have both reCurse
reCurse: Oh for the accessor, right
pb4: I have the "stackvector" for no heap allocation, and the "heapvector" which is just a wrapper around vector for debugging purposes
pb4: I hadn't considered that before : can I "overwrite" the begin(), end() and [] operators for std::vector ?
reCurse: Yes sure
reCurse: As long as you don't get casted back to vector
AntiSquid: anyone here doing raic btw ?
eulerscheZahl: #raic2020
jrke: raic?
AntiSquid: oh secret chat :o
eulerscheZahl: i haven't started yet but i will play
Westicles: new azspcs on Dec 12th also
eulerscheZahl: topcoder marathon on 16th
dbf: AntiSquid, I've just started
Bobbadillio: russian AI cup
Bobbadillio: Somehow I'm always behind on chat. I need to learn to scroll down.
AntiSquid: submitted rust starter, it failed, i stopped
Bobbadillio: Ouch. How did it fail? I might have to take a look.
Bobbadillio: I've never done RAIC before, but maybe it would fill the Halite shaped hole in my life that remains after Kaggle's... attempt.
AntiSquid: did you like kaggle halite ? :D
Bobbadillio: Not at all
AntiSquid: btw raic LB is very random
Bobbadillio: I did Halite I-III, and the kaggle version is the first one that I just didn't bother with.
AntiSquid: https://russianaicup.ru/p/quick scroll down for raic starter
AntiSquid: kaggle isn't good for multi games
eulerscheZahl: i disagree on the randomness of the RAIC leaderboad
Bobbadillio: Yeah, I'm hopeful that they'll get better. A minimum starting point is support for non-python languages, IMO
eulerscheZahl: if there are many bots with a similar level of strength, of course there are some ups and downs
AntiSquid: dunno about this year
AntiSquid: was talking about last year
eulerscheZahl: i know
eulerscheZahl: i, recar is playing RAIC
Bobbadillio: Ah. This year, I think I've heard they're still considering fog of war, right?
eulerscheZahl: oh, recar*
Bobbadillio: I assume damage is deterministic?
eulerscheZahl: there will be fog of war in a higher league
AntiSquid: unit damage: 10-18 :D that would be fine imo
eulerscheZahl: looks deterministic to me
AntiSquid: it's when navigation acceleration and aim are random that really ruins it
eulerscheZahl: the only randomness is the order of actions
AntiSquid: i'd be fine with random damage is all im saying
eulerscheZahl: as you have to return a dictionary of <unitId, action>
AntiSquid: they randomize that ?
AntiSquid: do ships sink if they collide ?
eulerscheZahl: dictionary is random order by default
eulerscheZahl: depends on your exact command
eulerscheZahl: play default AI vs WAIT
eulerscheZahl: default will try to move to the opposite corner
AntiSquid: there's ordered map in c++, didn't check how they implemented it though
eulerscheZahl: and then shoot at the own units to reach the corner
eulerscheZahl: there is a breakthrough option in your command
Bobbadillio: the ordered/unordered discussion made me double check, but it looks like python switched to ordered dictionaries by default on 3.6
eulerscheZahl: the RAIC manual says that movement order is random
Bobbadillio: sure, makes sense. I wonder if it's really random, or just not guaranteed? Anyway, if they say it's random it's random.
ZarthaxX: toad what is the CPU time per turn for RAIC?
eulerscheZahl: dunno
eulerscheZahl: last year: 20ms / tick + 1min in total
eulerscheZahl: (timebank)
dbf: 40 secs for 1000 ticks, 1 sec max per tick
ZarthaxX: i see, tyguys
Zenoscave: cool blockout eulerscheZahl
eulerscheZahl: thanks zeno
Zenoscave: If a piece falls out of boundary but the x,z coordinate are fine, it still says the coordinate is out of bounds
Zenoscave: I like it so far though! I can't wait for it to polish up
eulerscheZahl: "falls out of boundary"? you mean that you give x,z in range but the tile is too big to fir completely inside?
eulerscheZahl: not sure if that needs a different error message
Zenoscave: I think it would be at least good to note in the instructions? Did i miss it?
eulerscheZahl: you mean to better explain the expected x and z values that your should print?
Zenoscave: Yes. It makes sense to me immediately, but I have experience with these kind of solo games. less experienced may find the instructions dense
Zenoscave: just food for thought
eulerscheZahl: i guess you are right. maybe a better visual example
eulerscheZahl: i don't really define x,y,z directions either
Zenoscave: Perhaps
Zenoscave: Also how do you rotate a piece?
eulerscheZahl: y = height might not be instantly clear
eulerscheZahl: you are given all rotations in input
Zenoscave: you say it in the image
Astrobytes: x,y,z directions are clear from the diagram no?
Zenoscave: ^ thi
Zenoscave: this
eulerscheZahl: not given in text. but yes, the picture might be enough
Astrobytes: if the user can't understand the diagram they have no business attempting the gameimo :D
Astrobytes: *game imo
Zenoscave: The picture should suffice, just a small expansion on what placeing a "2 2 1 ####" piece on 4 0 might be illegal
Zenoscave: in a 5x5x12 pit
Zenoscave: I agree with astro, it is a more advanced game for sure.
eulerscheZahl: not good for medium section?
Zenoscave: I'd say good for medium if extra explanation is given (spoon fed)
Astrobytes: I think medium is OK tbh, just depends if people are comfortable working with 3d coordinates
Astrobytes: I wouldn't imagine it would be an issue for most
Zenoscave: The problem itself is not hard. just foriegn
eulerscheZahl: i already give the rotations for spoon feeding
Zenoscave: Then I guess medium works :)
Zenoscave: I really like this game
Zenoscave: also Hi astro and euler
Astrobytes: hehe hi zeno, pewpew
Zenoscave: pewpew
ZarthaxX: no hi for me?
ZarthaxX: sad
eulerscheZahl: glad to hear this time it wasn't even about creating a game that's nice for the user but something that's interesting for me as a creator
Astrobytes: zaaaaarthoooo
Zenoscave: ZarthaxX!!!! I didn't see you were on
ZarthaxX: ASTROOOOOOOOOOOOOOOO
Zenoscave: PEWPEWPEWPEWPEWPEWPEWPEW
Zenoscave: hiiiiiii
ZarthaxX: Zenoscave yes im not talking lol
ZarthaxX: pewpewpepwepw
ZarthaxX: i have 2 consecutive exams tommorrow and the next day
ZarthaxX: im gonna die :D
Astrobytes: meh, you'll be fine
Zenoscave: Yikes zarthie
Zenoscave: no dying
eulerscheZahl: oh, i once had that too
Astrobytes: you got this mah dude
eulerscheZahl: 2 exams on Friday, one on Saturday
Astrobytes: It's brutal. But the momentum keeps you sharp
Zenoscave: I once finished an exam in 4 minutes flat
Zenoscave: It scared the other takers
Astrobytes: lol wat. Grade?
ZarthaxX: i dont have the 2 in the same day
Zenoscave: 105%
ZarthaxX: wtf toad 2 same day,illegal
Astrobytes: heh heh
ZarthaxX: 4 MINS LMAO
ZarthaxX: mah man Astrobytes ty
eulerscheZahl: momentum kept me so sharp, last thing i did was measuring the current in Volt
eulerscheZahl: up voltage in Ampere? I forgot
eulerscheZahl: stupid mistake costing me the better grade at least :D
Zenoscave: It was open ended short answer questions only. The prof is known for accepting any answer that proves you understand the answer no matter how formal or lacking it is
Astrobytes: amperes for current lol
Zenoscave: Most people took an hour
Astrobytes: awesome
ZarthaxX: current in volts lol sad
Zenoscave: isn't current colombs?
Zenoscave: I'm bad @ EE
Astrobytes: I think I made that mistake in my highschool physics exams euler
Astrobytes: *exam
eulerscheZahl: 3rd semester of Bachelor for me
Zenoscave: I forgot to do the back half of a final once
Zenoscave: didn't realize the page was double sided
eulerscheZahl: :D
Astrobytes: It depends on the context Zeno
Astrobytes: hahaha
Astrobytes: but more used for charge iirc
eulerscheZahl: pro tip: toilet paper has 2 sides too
sahilrox: 4, if you're willing to use the edges
Zenoscave: do blockout pieces have 2 sides?
PatrickMcGinnisII: :poop:
eulerscheZahl: 6 sides even if the rendering isn't glitching around
struct: raic is 1000 frames per player?
eulerscheZahl: yes struct
struct: damn
struct: if cg had that
eulerscheZahl: that's low for RAIC standards
Zenoscave: gz
eulerscheZahl: codeball had 18k frames
Zenoscave: struct on legend FC20
struct: ty zeno
Astrobytes: oh gratz struct!
struct: I got pushed from 40th to legend
struct: ty
eulerscheZahl: a full 5min match at 60FPS
Astrobytes: big push
eulerscheZahl: i think i congratulated already. in case I forgot: congrats
Zenoscave: Same I didn't even have a decent submit active when I was pushed
struct: thanks
struct: Now I need to work on this 3d stuff
Westicles: I once had a professor in a wheelchair who was sort of famous for doing TV specials. I tried to get on his good side with flattery and he manipulated me into mowing his lawn
eulerscheZahl: the Tom Sawyer prof
Zenoscave: Westicles did you end up on the good side?
Westicles: Well, I have the keys to his house and he left town for the summer, so that worked out. Otherwise, no
Westicles: had
Astrobytes: hahaha
Uljahn: almost 15M in 2048 :persevere:
eulerscheZahl: well done. and i thought the game would be dead by now
Westicles: Still mildly puzzled about what we missed that dbdr didn't
eulerscheZahl: the good path :D
Westicles: Yeah. I suspect you have to steer towards it early on.
MadKnight: how could 2048 be dead Automaton2000 ?
Automaton2000: i want to play the game
dbdr: https://i.snipboard.io/N5ZUGm.jpg
dbdr: that publish button looks dangerous :D
Westicles: Somebody tweet xevixevi, he's our only hope
dbdr: I got back CGFunge from her :)
Westicles: he's a her?
dbdr: I think so, based on google translate of one of her tweets :)
Westicles: That's gotta be like, what, 1/10,000 around here?
dbdr: Close to 90% of our respondents identify as “male”.However, the proportion of women who took part in our survey has progressed from 6% (2 years ago) to 8.7% (last year) to 11.5% this year.Baby steps in the right direction.
dbdr: https://www.codingame.com/work/codingame-developer-survey-2020/#page25
Westicles: Not saying this is evidence against it, but Other:I like liquor, I like cats, I like women
dbdr: well, the tweet I mentioned was actually a retweet, so I don't know :)
AntiSquid: still pushing for the 50% ratio in everything
lifetimeLearner007: does remainingTurns in PowerOfThor have any use in code golf?
lifetimeLearner007: I mean can we shorten the code if its used?
kovi: wow, nice dbdr
AntiSquid: oh i like this one, for all the JS haters on CG: "Node.js, React and .NETCore make the top three, closely followed by AngularJS and Spring."
kovi: cgfunge i mean. not sure what is happenening below 20k, but below 5k
dbdr: thanks kovi! (funge right?) I had to work a lot to get it back
dbdr: at 20-25k you are still solving the general problem, right?
dbdr: I think <10k is where everyone starts to use the specific list of numbers
kovi: i c
kovi: wicked hardcoders :)
dbdr: join the dark side, this is where the fun starts ;)
Westicles: Fixed, known validators and offline search?
kovi: i started raic...
dbdr: Westicles: yes
dbdr: euler even increased the number of validators to 100
dbdr: it's not enough :D
dbdr: but the hardcoding is an interesting problem anyways, so there is no issue
Westicles: Thanks, sounds like fun
struct: eulerscheZahl still there?
struct: I was having problems with stuff disapearing with three js
struct: but I think i fixed it, do you still have the problem?
dbdr: 36 seconds late
miszu: sup all
miszu: how's everyone?
struct: hi miszu
miszu: my MCTS is not working. Time to debug it
miszu: but at least I am confident about my game simulations
miszu: what's the correct way to add an offset to a pointer?
miszu: ptr + offset? Where offset could be value from 0 to 9 let's say
miszu: or am I forgetting something
struct: ptr + n
miszu: do I need to take account to the size of pointer?
Allis: @miszu It happens automatically.
miszu: ok ty
struct: I think pointers are always same size
miszu: I am having a weird bug and it is due to pointer arithmetic but can't figure why.
Allis: They are, but doing pointer arithmetic takes into account the size of the pointed to object.
Allis: So `ptr + 1` refers to a location in memory N addresses further down, where N is the sizeof whatever ptr points to.
miszu: http://chat.codingame.com/pastebin/d928b73b-9b8b-476d-a21a-8565131e653a
miszu: (node->children + i) is this how you get the correct pointer offset?
Allis: Seems like maybe you want `node.children` instead?
miszu: children is the starting address of yoru children
struct: are you writing anything in children + i?
miszu: well *test should be the children + i
struct: I dont think you are
struct: print the address of test
Allis: @miszu Right, but -> does a dereference, so you may be adding i to the pointed to object rather than the pointer itself.
struct: and address of node->children + i
struct: if they are not the same there is your bug
miszu: lemme print address
miszu: not the same address
miszu: children + 0 is correct
miszu: children + 1, both have different address
struct: how does newNodeInit knows the current node?
miszu: yeah
miszu: here
miszu: http://chat.codingame.com/pastebin/1d404a62-3de4-492f-8127-9b4ff8da5f50
miszu: NODE_POOL_NEXT starts from 0 and increments by 1
PatrickMcGinnisII: miszu yup, your mixing some things. where is your NODE_POOL_NEXT primitive/assignment?
miszu: what you mean?
miszu: it gets incremented by the ++
miszu: and then to make sure it's not out of bound I do the % SIZE
PatrickMcGinnisII: if it's a const, what does ++ really do?
miszu: const static int NODE_POOL_SIZE = 1000000; static Node* NODE_POOL[NODE_POOL_SIZE]; static int NODE_POOL_NEXT = 0;
miszu: it's not const
PatrickMcGinnisII: ahh it's just in caps
therealbeef: urgh, I get a lot of timeouts on the first turn, before my main() even starts. More on -O3 than on -O2. Does the executable not start up fast enough? Never happens in IDE fights, only in battles.
therealbeef: Also sometimes the first battles still use my previous bot version
PatrickMcGinnisII: so nodepoolnext is an array index
miszu: correct
miszu: I am sure it's something stupid
PatrickMcGinnisII: you are trying to perform a method -> on an int (nodepoolnext+i) should throw na error
PatrickMcGinnisII: an
struct: does this happen on first turn?
struct: on how many sims
miszu: 1st sim
miszu: like I get an undefined behavior
miszu: cuz it timeout with 0 error
PatrickMcGinnisII: hmmm, wierd stuff
struct: so the first sim gets this problem?
miszu: for sure the issue is here because the node and the + 1 is not pointed at same thing
miszu: yeah
miszu: it's the code I am showing you
miszu: something is off here
struct: yeah, but if it was for first turn it could be someting else
PatrickMcGinnisII: this is the problem line node->children = NODE_POOL[NODE_POOL_NEXT];
Astrobytes: I have usually an array of Node* nodes; Allocate first turn to NODE_MAX; thereafter it's: Node* child = &nodes[nextNode]; nextNode++;
PatrickMcGinnisII: ^ &
Astrobytes: don't ask me for debuggin help rn though, 4 cans of Stella and 2 codeine's down so I'm not reliable :P
miszu: oh... I forgot to dereference?
PatrickMcGinnisII: and + ($i*sizeof(node)) is suspect
miszu: make sens cuz my array is an array of pointers
miszu: so pointer pointer
miszu: no, can't put &
Astrobytes: when do you create your array?
PatrickMcGinnisII: if you have a blank nodepool
Astrobytes: *Node array
miszu: at beginning
miszu: I have an init function
miszu: http://chat.codingame.com/pastebin/5a2302c5-47fa-4b30-8277-d68eecf02f4b
PatrickMcGinnisII: when you create the new node and add it to the list, all you need to return is the array index
PatrickMcGinnisII: not a pointer to another spot in memory
Astrobytes: Yeah, it looks like you're allocating new nodes on the fly?
miszu: not on the fly
miszu: at turn 1, I create all my nodes
miszu: then when I need one, I reset values inside my node
PatrickMcGinnisII: your node() primitive isn't the same size with a variable number of children...how many kids did you allocate pointers for?
miszu: size has a value of 9
miszu: 9 children I have basically
PatrickMcGinnisII: i doesn't know the sizeof the node
Astrobytes: oh right
miszu: why you need the size?
miszu: isn't it automatically?
Astrobytes: Just checking my Oware code, I malloc(!) 16000000 Nodes first turn, but I initialise the members on use
miszu: yeah same
kfsdla: ligma
Astrobytes: jdsfklsd be relevant at least
struct: Also it might not be wise to have modulo there
miszu: yeah could be the modulus the problem
miszu: I am reading about pointers arithmetic
Astrobytes: modulo where?
struct: after you are out of nodes I think the modulo can be problematic yes
miszu: modulus is just for the next node
miszu: not for anything else
PatrickMcGinnisII: miszu use an addnode routine that you send the temp node * to, and returns the index in the array that it now points to.
Astrobytes: oh christ I just saw that, don't do that modulo
PatrickMcGinnisII: accessing a child pointer that doesn't exist yet is kinda wierd
miszu: where?
struct: found out why I was getting so much lag on chrome with threejs
Astrobytes: plugin?
struct: I need to disable antialisis
struct: new THREE.WebGLRenderer({ antialias: false });
struct: antialias*
Astrobytes: aha
miszu: ok I think I know why
miszu: node->children = NODE_POOL[NODE_POOL_NEXT];
miszu: this points to a child
miszu: but node->children + i doesn't guarantee that the next child is the next address of the beginning of child
miszu: so better to store the start index
Astrobytes: well, yeah
miszu: and access through the index
Astrobytes: use the index
miszu: :)
PatrickMcGinnisII: creating a temp node is not what you wanna do anyway, sim the move on the board, set the values of the child and the index of the child now in the parents list of children
Astrobytes: store childCount as you do
miszu: node->numChildren = size;
miszu: is the child count
miszu: simulations happen later
miszu: this code is to expand the node right after the selection step
PatrickMcGinnisII: in uttt there could be almost 80-9 children
miszu: 0 to 80 technically
miszu: but mostle <= 9
PatrickMcGinnisII: remember if a quadrant is alreaady decided then you can go anywhere
miszu: true
Astrobytes: is the teccles heuristic used throughout the game?
PatrickMcGinnisII: but if you are trimming the tree as you go to a max wifth of 9, then fine
Astrobytes: cause that would shave of a few branches
Astrobytes: *off
Astrobytes: Anyway, I don't play UTTT yet
Astrobytes: Just observational from me game-wise
PatrickMcGinnisII: you should still make the kids, you just don't have to point at them or destruct them
Doju: Anybody have a deterministic bot in bronze?
miszu: not teccle yet
miszu: just 1st move if I am X
Astrobytes: bronze what Doju?
miszu: the 4 4
Astrobytes: k
Doju: fall challenge
miszu: but how good is teccle though?
Astrobytes: Quite effective I hear
Astrobytes: Doju: probably?
miszu: Doju I reached silver using determinism
Astrobytes: If you mean one of us then I got Silver deterministically iirc
Astrobytes: Some people used random to get out of Wood so maybe still some of those bots are using that code
miszu: how sad if random moves allow you to go higher in ladders
Astrobytes: Wood leagues don't really count
Astrobytes: They're (supposed to be) just there to get a feel for the game
Zenoscave: what's the teccle_s heuristic
Astrobytes: Noob-friendliness I believe
miszu: for any competitions, 1st step is always to make a good engine and foolproof
miszu: then have fun with different algorithms
Astrobytes: Zenoscave: play a move that forces the other player to play in the same miniboard as you
PatrickMcGinnisII: miszu btw, I'm working on my MCTS for Bandas, my sim finally works, now testing my eval function and how many sims I can maxout with
Zenoscave: Oh those are good.
miszu: PatrickMcGinnisII that's amazing!
miszu: I wrote for hours unit tests to test my board states and moves and found 3 bugs
miszu: now I am confident and can just foccus on my MCTS
PatrickMcGinnisII: I wrote a library for board translations, found a bug in it yesterday... all over not adding a -1 to an array indexer... cost me hours
miszu: unit testing ;)
PatrickMcGinnisII: a freaking -1
miszu: happens to everyone
therealbeef: everyone that uses indexes
PatrickMcGinnisII: if (a[x]== should have been if (a[x-1]== little stuff can ruin you
PatrickMcGinnisII: er ruin me
PatrickMcGinnisII: darnit, I'm only getting 300 sims
PatrickMcGinnisII: ok, ranked 84th with a depth 1 eval
PatrickMcGinnisII: now lets see how a 300 sim mcts does
Norby01: https://www.codingame.com/clashofcode/clash/1484003f78d6b0f7390424663401429f8c096ac
Norby01: https://www.codingame.com/clashofcode/clash/1484003f78d6b0f7390424663401429f8c096ac
Norby01: https://www.codingame.com/clashofcode/clash/1484003f78d6b0f7390424663401429f8c096ac
Norby01: https://www.codingame.com/clashofcode/clash/1484003f78d6b0f7390424663401429f8c096ac
struct: stop
Zenoscave: How long have people been using that heuristic
PatrickMcGinnisII: went up to 58th, was hoping for better
therealbeef: which heuristic?
Zenoscave: same sub move
therealbeef: is that a heuristic? my minimax bot does it out of its own I noticed :-)
PatrickMcGinnisII: my 750 sim mcts in UTTT only got me to 888th
PatrickMcGinnisII: should i stop the depth at like 10, and do an eval so i can get more sims...or leave it alone?
InsanePyro: anyone knows how to convert a string to float in lua?
InsanePyro: nevermind i figured out my problem
PatrickMcGinnisII: huh, doubling my sims and stopping at depth10 and keeping the eval performed better
PatrickMcGinnisII: probably work for uttt as well
struct: yeah mcts needs a good ammount of sims to do well
PatrickMcGinnisII: I just can't get there in php, but a truncated version still performs better than depth 6-8 minmax
Zenoscave: it seems 9/10 of my first losses were as 2nd player in UTTT is this normal?
Zenoscave: ~2/3rds of all my losses are 2nd player
Zenoscave: I think I have a bug
PatrickMcGinnisII: first player should have an advantage, especially if they play 4 4... but > 66% is a bit much
Zenoscave: and I counter with 3 3
PatrickMcGinnisII: glhf got my CG fix for the day
isaiahtaylor: Just me or is site really slow right now?
Zenoscave: plays are slow yes
IfIHadATail: I'm having problem also
isaiahtaylor: Does that affect Clash of Code gameplay?
Zenoscave: possibly
Zenoscave: but it should effect all the same no?
Zenoscave: or similarly
IfIHadATail: well I'm guessing it is all times locally and once all are submitted then it evaluates. I harly doubt ping would affect it
isaiahtaylor: Btw, I'm brand new here... some of you who have been here a while, how would you describe the momentum of this platform? Growing / shrinking? I'm trying it out because I'd like something like this to replace competitive FPS in my life
IfIHadATail: growing by far
IfIHadATail: it gets better and better every year
isaiahtaylor: I'm a bit concerned that yesterday was my first day of play and I'm 3477th in Clash.
Zenoscave: lately growing. but had a stay of stagnation for a bit
IfIHadATail: that are doing great thing
IfIHadATail: things*
IfIHadATail: well their aren't TON of clashers but the competition can get fierce at the top
isaiahtaylor: I like competitive FPS because there's a nearly infinite skill ceiling, there's always thousands and thousands of people better than you
isaiahtaylor: That's good to know
Zenoscave: CoC is the begining. not infinite ceiling by far but there's room to grow
isaiahtaylor: ok. how would you order the game modes?
IfIHadATail: well I mean this isn't like a giant platform that has millions of players so take it for what it is : )
Zenoscave: I wouldn't order them. They serve separate purpose
Zenoscave: But if you're looking for competition try multi's
Zenoscave: That's a much steeper ascent than CoC
IfIHadATail: also you don't have to worry about some toxic 12 year old tell you to suck their dick here either :D
isaiahtaylor: Gotcha. Thanks! Multi's short for...
Zenoscave: multiplayer
Zenoscave: the bot leagues
Zenoscave: https://www.codingame.com/multiplayer/bot-programming
IfIHadATail: yeah the compettative botting is where a lot of the action is at
isaiahtaylor: Ok sweet. Thanks for answering my noob questions!
Botting: I've only seen the lower levels of that, does it get algorithmic?
isaiahtaylor: e.g. binary search to find which bot to kill?
IfIHadATail: depends on the game
Zenoscave: and league ;)
IfIHadATail: yeah
Zenoscave: starting around silver you typically have the full ruleset and from there it is just advancement of player competitive rank
Zenoscave: or bronze in the newer games
isaiahtaylor: Sick. Well thanks much gents. I'm quite hopeful that this can replace CS:GO for me :)
isaiahtaylor: I saw the other day that I have like 2500 hours in that game
isaiahtaylor: And I was like. Well damn, I could've at least been training my coding muscles.
Zenoscave: It certainly is fun but it has an addicting aspect to it too
Zenoscave: At some point all things do
Zenoscave: but yeah nothing too harmful in it. until you do code for CG rather than code for a job... at the job
isaiahtaylor: Legibility out the window!
isaiahtaylor: My attitude on it is that it's not really about the professional skillset, it's a competitive outlet that happens to flex the right brain muscles.
IfIHadATail: yeah man coding over CS:GO is by far time way better spent :P
isaiahtaylor: btw I'm typing on the website... is this also Discord?
IfIHadATail: yeah the button above this chat actually
IfIHadATail: but it's not insainely active but people will respond if you write something
IfIHadATail: but I think it is also just waiting for the right people to join to light that spark
isaiahtaylor: Got it. But this chat we're in right now is not a port to a discord channel?
IfIHadATail: no, seperate
kenculate: Programmer Aptitude Tests
miszu: so I finally ran my program
miszu: in uttt
Bobbadillio: exciting! Are you beating me?
miszu: good news is I can simulate 25k moves
miszu: bad news, it timeouts in the middle of the game
Bobbadillio: That IS bad news, but you are beating me, so that's cool! :D
miszu: if I can fix this timeout then it will be interesting
rockstar555: hii everybody
MadKnight: hey hey
MadKnight: how's it going guys ?
miszu: I can do 19k sims in my game
MadKnight: is everything going smoothly ?
miszu: but I can't beat the gold boss
Rodrigo_the_coder: boss configuration:
Rodrigo_the_coder: https://github.com/CodinGame/game-ultimate-tictactoe/blob/master/config/Boss.java
tomatoes: thats wood or bronze
Rodrigo_the_coder: wood - legend
struct: miszu as first or 2nd player?
struct: also 19k = final states right?