Chat:World/2020-11-20
 hbouillo: And I'm stuck arount 50th
 Loran: oof
 hbouillo: Yep :D
 hbouillo: 38th :|
 hbouillo: At least I'm closer
 Loran: I'm at the point were I need to store a cost for each potion not being brewed and I'm dreading it. Shouldn't be "hard" just time consuming and lots of edges to consider.
 Loran: Nice, GL on the boss
 hbouillo: Motivation is hard to get, but essential :D
 hbouillo: The boss isnt the issue, the players are
 hbouillo: I'm beaing the boss, but I can't climb my way up the leaderboard
 Loran: haha thinking about waiting until tomorrow night, have more focus not having to think about work. 
 Loran: Ahhhhh yeah, there are some interesting strats out there.
 hbouillo: Sounds like a good idea :D
 Loran: but i fixed the dumb bug I had where if an opponent swiped the potion i was trying for my bot kept trying to brew the old potion, that was a hefty ranking climb
 hbouillo: hahaha
 Loran: yeah, was clearing the wrong data structure
 Loran: was a great chuckle when i tracked it down though.
 hbouillo: I had a bug where my bot would keep casting the same exhausted spell... turns out I was flagging the wrong ID as 'casted'
 hbouillo: Changed my learning heuristic, let's try it live :D
 Loran: haha yeah, that one is always fun. Nothing like a game that gives you all the data every turn and trying to figure out if you want to keep your data or reinitialize.
 Loran: GL
 hbouillo: ty!
 hbouillo: 90% win after the 30th battle :)
 Loran: oh man
 hbouillo: Oh god
 hbouillo: 78% 16th
 Loran: oh baby
 hbouillo: 14th
 ClockSort: movin' up!
 hbouillo: 90th 25th aaaaaargh
 hbouillo: 90%
 Loran: oh no, sounds like the players are rough up there
 hbouillo: That Kri guy keep beating me and sending me back down hahaha
 Loran: at a glance I have to guess he is looking at least 1 pot ahead because that INV after a brew is STACKED
 orionscube: i m very trash idk y ._.:expressionless:
 ClockSort: i'm goin' to the arenaaaaaaaa
 ClockSort: lost my first match ha
 hbouillo: Just added something that seems to be beating Kri too
 hbouillo: Let's go back in
 hbouillo: Maybe this is the one
 orionscube: oof
 JohnCM: i'm using np arrays now to hopefully go to depth 6
 JohnCM: depth 5 is attained alr
 orionscube: ._.
 hbouillo: Np is a big performance step up if used properly!
 hbouillo: Good luck!
 orionscube: gl
 ClockSort: np = ?
 Loran: numpy
 hbouillo: Numpy
 ClockSort: what's a numpy array
 ClockSort: a python thing?
 ClockSort: it sounds lumpy
 JohnCM: it's a C++ wrapper for array manipulations
 ClockSort: ah
 JohnCM: it attains similar speeds to C++
 hbouillo: Yes
 Loran: an array python can interact with but implemented in C so faster
 Loran: c++ that is mb
 hbouillo: It's the one thing that makes python a great option for AI :D
 JohnCM: that's why tensorflow/pytorch use python.
because it can do array multiplications quick
 Loran: yeah for this one being able to do matrix math with C++ speed makes python doable for the rest
 JohnCM: and also it has CUDA linkages
 Loran: huh TIL
 Rodrigo_the_coder: (╯°□°)╯︵ ┻━┻
 **Rodrigo_the_coder slaps JohnCM around a bit with a large fishbot
 hbouillo: ┬─┬ ノ( ^_^ノ)
 Loran: :rofl:
 JohnCM: lol why
 hbouillo: (╯°□°)╯︵ ┻━┻
 **Rodrigo_the_coder slaps  around a bit with a large fishbot
 ClockSort: i thought it was a trout
 Rodrigo_the_coder: (╯°□°)╯︵ ┻━┻
 Loran: Welp looks like 900 is the limit for tonight. GL to all, back for the weekend to see if a new cost algo will be enough to climb any more. 
 Rodrigo_the_coder: (╯°□°)╯︵ ┻━┻
 hbouillo: Alright, see you!
 **Rodrigo_the_coder slaps COdinGame around a bit with a large fishbot
 **Rodrigo_the_coder slaps CodinGame around a bit with a large fishbot
 **Rodrigo_the_coder slaps /flip around a bit with a large fishbot
 **Rodrigo_the_coder slaps everyone around a bit with a large fishbot
 **Rodrigo_the_coder slaps a fishbot around a bit with a large fishbot
 Icebox: yeah you'll have to calm that down
 **Rodrigo_the_coder slaps IceBox around a bit with a large fishbot
 JohnCM: icebox u gold alr?
 Icebox: huh?
 JohnCM: have you reached gold league?
 Icebox: my last submit was saturday morning JohnCM
 Icebox: I'm not submitting
 Icebox: there's no point
 JohnCM: how come?
 JohnCM: i thought you had a bot in silver
 Icebox: I do
 JohnCM: it's pretty good isn't it
 Icebox: what?
 Icebox: my bot?
 JohnCM: ya it beat mine hands down
 Icebox: it's a quick scripted thing that I wrote down in 4h on friday :D
 JohnCM: then why not trying gold?
 Icebox: because submitting doesn't give me any advantages
 Icebox: I will submit either when the legend comes out or short before the end
 JohnCM: oh for a quick rise
 Icebox: basically in the offchance that it works as intended there's no reason to reveal the strengh of it now
 **Rodrigo_the_coder slaps onboarding around a bit with a large fishbot
 Icebox: Rodrigo_the_coder this is your last warning
 Icebox: just cause you don't see my moderator icon doesn't mean it's not there :)
 JohnCM: gd luck then
 Icebox: JohnCM the way ranking works in CG contests, your bot strength is calculated relatively
 Instafluff: naughty rodrigo :eyes:
 Icebox: so if your bot scores lets say
 JohnCM: i see, so you are using an off meta strat
 Icebox: 45 points
 Icebox: and the 2nd person has 43 points
 Icebox: that shows that relatively to him you're 2 points better
 Icebox: if 2nd person would improve his bot though
 Icebox: not only would he get more points
 Icebox: but you would lose a lot of points
 JohnCM: oh
 JohnCM: so not good to submit early
 Icebox: it's good for testing but if you can test offline then there's no point
 Icebox: what most of top players do though is they submit a less optimal bot
 Icebox: that is good enough to promote
 Icebox: I should probably do that too :thinking:
 Instafluff: :thinking:
 Icebox: hey Instafluff
 Instafluff: hi icebox!
 **Rodrigo_the_coder slaps nobody around a bit with a large fishbot
 Icebox: are you here to finally put us in the top 10 teams?
 Instafluff: rip rodrigo
 Instafluff: icebox im gonna try! got some actual time this weekend
 hbouillo: Icebox Is there any place to read about how the scoring system works here? In more details?
 Icebox: yes
 kreska: hi everybody im sitting in 22 silver my bot cannot get trough silver boss :(
 Icebox: https://en.wikipedia.org/wiki/TrueSkill hbouillo
 JohnCM: promote earlier better
 JohnCM: less competition
 hbouillo: Thanks!
 JohnCM: hbouillo, you reached gold?
 JohnCM: i think if i reach gold, i'll be very happy for this comp alr
 JohnCM: legend is pretty hard for this one
 hbouillo: No I did not yet
 hbouillo: Same, for a first contest it would feel good to get gold :D
 KrabbyFR: when is gold league open? 
 ClockSort: it's open yo
 KevinisMAD: Gold league is open
 Instafluff: icebox are you enjoying this challenge so far :D
 Donotalo: is it allowed to share strategy of eval function? then i'd like to learn few tricks ;)
 ClockSort: go ahead and share strategy.
 Icebox: it is allowed
 ClockSort: my trick is to value potions. what's yours?
 Icebox: I just doubt anyone will
 hbouillo: Mine is to simulate states with different actions
 Donotalo: so far higher brew count works for me
 ClockSort: that's crazy. I'm doing the opposite, simulating actions with different states.
 hbouillo: That's very interesting. I should try it too
 Donotalo: how do you do that Clock?
 ClockSort: then why not simulate simulations with action states
 hbouillo: I prefer to state actions using simulations
 ClockSort: it's simple, Donotalo, I just use an int32
 KrabbyFR: ah xD thanks Clocksort and KevinisMAD :D
 aboukhri: which use the dijkstra algorithm to obtain the smallest number of cast for a potion?
 Donotalo: more details is appreciable ClockSort
 hbouillo: He wants to know about the int16 too
 ClockSort: well it's really two int16s running on DOS 6.2
 ClockSort: they are in a VM
 ClockSort: I am also using the patented ClockSort algorithm to sort the moves into the winning moves.
while(!isSorted(list)) { sleep(1000); }
 ClockSort:  It works by waiting until the bits representing the moves decay into the right positions.
 hbouillo: Can I get a license?
 ClockSort: free for noncommercial use
 meh1001: I more actively introduce entropy to my bot by typing into it, but my moves coalesce towards failure instead of decay into victory
 hbouillo: Oh thank you!
 ClockSort: I wrote a program to write my program
 hbouillo: AInception
 Icebox: with enough computing power you could bruteforce a compilible char sequence with the highest winrate
 Icebox: other suboptimal strings would contain my code, your code, and every code that has ever existed
 Zenoscave: and how many mmonkeys does that take?
 Icebox: yes :)
 Instafluff: at least 5 trillion monkeys :eyes:
 ZarthaxX: what is this chat
 ZarthaxX: :I
 Instafluff: the answer is 42 anyway
 ZarthaxX: FLUFFFFFFFFFFFFFFFF
 ClockSort: what do you get when you multiply this chat by 
 hbouillo: Easy
 Instafluff: hi zarth!
 ZarthaxX: heyo
 ZarthaxX: make the team first
 Donotalo: huh! wanted to discuss some strategy! :'(
 ZarthaxX: :)
 Instafluff: it's there!
 Instafluff: icebox is on it :D
 hbouillo: My strategy is to stay in silver because I'm afraid of Bossdorf
 ZarthaxX: lmao :rofl:
 Instafluff: wait, you're on it already lolol
 ZarthaxX: im not
 ZarthaxX: i just suck
 ZarthaxX: waiting for the cube
 Instafluff: the cube?
 ZarthaxX: ice
 Instafluff: oh
 Icebox: what
 Instafluff: hmm
 Icebox: waiting for what?
 ZarthaxX: idk, imconfused now
 Instafluff: me too
 Icebox: I thought we're enemies now
 Instafluff: oh
 Icebox: Depressed polar bear was mean to me :(
 Instafluff: rip :pensive:
 Zenoscave: hiya all
 ZarthaxX: that phrase :P
 ZarthaxX: PEWPEW
 Zenoscave: PEW PEW PEW
 Instafluff: pew pew pew
 Zenoscave: heya Instafluff
 Instafluff: hi zeno
 Instafluff: 75 hours left D:
 ZarthaxX: relaxing isnt it?
 ZarthaxX: the nightmare is ending :)
 Instafluff: lol
 Icebox: yikes
 ZarthaxX: i mean, *fun*
 Instafluff: i like this game. just finally got some time to look at it more :D
 ZarthaxX: go code then
 ZarthaxX: make the fluff #1
 Instafluff: ya i guess i should. good luck to us!
 ZarthaxX: glgl
 Instafluff: #1 zarth
 ZarthaxX: :rofl:
 Icebox: imagine
 Instafluff: :D :D :D
 ClockSort:  i figured out how i was able to seek 700k positions
 ZarthaxX: illegal?
 ClockSort: the secret is to seek the same position over and over
 Icebox: \:)
 ZarthaxX: lol
 Icebox: so I was right huh
 ClockSort: in a way, no.
 ClockSort: i'm using hashing to ignore dups and that cuts it down
 ClockSort: so I really was analyzing and storing that many positions
 Icebox: Well all I said is that you're not visiting 900k new states :D
 ClockSort: i just was skipping the hash.
 ClockSort: i really am visitign them, it's just that most are not useful
 Icebox: do you see the word
 Icebox: between 900k and states
 ClockSort: aha.
 Icebox: :)
 ClockSort: i always ignore that word because i don't like to manage my own memory
 ClockSort: you were right :)
 Icebox: I'm not discrediting you in any way tho, I bellieve you are still hella efficient with your sims
 Icebox: just not 900k :D
 Icebox: or at least not with copying containers :D
 ClockSort: are you sure that valuetuple is a container?
 Icebox: you're using C#?
 ClockSort: yeah
 Icebox: then no clue whatsoever :)
 ClockSort: it's not a reference type
 ClockSort: :thumbsup:
 ClockSort: gotta sort my clocks somehow.
 kreska: hi i have version that should beat silver boss atleast i hope:D
 miszu: how you guys keep track of all legal moves in a state?
 Icebox: that's something I can tell you only after the contest
 Icebox: but there's a non-precomputable way to calculate it in O(1)
 miszu: oh wow
 miszu: some bits operations nonsense? :P
 Icebox: ¯\_(ツ)_/¯ some magic here and there
 miszu: how many sims you are doing?
 miszu: or is it also an after contest info? :P
 Icebox: still not done rewriting so the number is far from final
 Icebox: I'm porting my sim from non-optimized to optimized version :D
 Icebox: will take at least one day longer
 Icebox: but It's getting to 100k now
 Icebox: stable detph 10
 miszu: I am really curious the O(1) to get all legal moves
 Samer: what does O(1) mean?
 miszu: Big Oh notation
 Icebox: constant time Samer
 miszu: worst case running time
 miszu: so worst case it is constant time
 Icebox: basically it will take a constant amount of processor ticks no matter what state of the game you're in
 kreska: miszu and how do you store you states?
 miszu: right now I didn't implement my game engine. I am thinking how to do it
 miszu: naive way is to take a state and look for all legal moves
 kreska: i think im doing it in naive way then
 miszu: it's a okay start but from what I see, it might be a bottleneck
 kreska: but i don't get it if you simulate you should try all the legal moves right?
 kreska: so you still need to iterate trhough something right?
 AshKetchum: One good thing in this game is that when we perform an action, only that action's data changes (and inventory). This has made it easier to simulate.
 JohnCM: depth 10 wow
 kreska: im stuck at 7 silver :(
 Samer: lucky number seven
 JohnCM: https://www.codingame.com/replay/506663828
good to see a winning replay against the boss
 JohnCM: but still not good enough for gold
 rockstar555: hii
 kreska: its kind of my situation too:(
 ClockSort: ok icebox, this is for you. with pruning vs without pruning. https://www.codingame.com/replay/506666565
 ClockSort: crazy, eh?
 ClockSort: and by "pruning" i just mean skipping duplicate states.
 NinjaDoggy: yea...
 NinjaDoggy: hashsets and hashmaps suck :(
 NinjaDoggy: I'm going to write my own
 NinjaDoggy: it will use infinite memory... but that's ok :)
 rockstar555: hiii
 Snef: Hey, i'm having an issue on Visual studio where my high_resolution_clock::now() timer goes wild, going from 0.0... to 48000 in one loop, any ideas ?
 ClockSort: try XCode
 ClockSort: :laughing: sorry
 ZarthaxX: are you debugging with breakpoints while this happens Snef?
 JohnCM: wow Thibaud is competing also haha
 Snef: Yes ZarthaxX
 JohnCM: got thrashed by his bot
 NinjaDoggy: what's the units for 48000?
 ZarthaxX: timepasses as you have the program paused
 rockstar555: how  to make multiple barracks in code royal
 Snef: ofc
 rockstar555: tell me
 ZarthaxX: you have to turn of the timer
 NinjaDoggy: if it's 48000 nano seconds....
 ZarthaxX: obv the 50ms will pass while you debug :P
 NinjaDoggy: it's fine
 Snef: it also do that if my breaklpoint after my loop
 ClockSort: ninjadoggy  i added hashing to remove duplicate states. your bot is now better by every metric. check out the difference https://www.codingame.com/replay/506666565
 Snef: +is
 ZarthaxX: debugging consumes a lot
 ZarthaxX: it can happen.. i always disable it locally
 Snef: i only pause for printing and still get only one iteration
 NinjaDoggy: lol yea... rip hashing :(
 Snef: yea but it has always worked :/
 Snef: no ways i can't do one iteration in 45ms :D
 ZarthaxX: if you pause the program, when you resume all timers will say timeout
 rockstar555: how i can make multiple barracks in code royal when i was  playing it  making one
 ZarthaxX: i think you are debugging incorrectly..
 Snef: ZarthaxX i always debugged the good way..
 Snef: have done many multis
 ZarthaxX: i know, i know you lol
 eulerscheZahl: good morning
 ZarthaxX: that's why im confused
 ZarthaxX: hai toad, help snef
 ClockSort: zenoscave yeah, in c# you can easily inject your own custom hash function while still using the built-in hashset from the .NET library. convenient. also the .Add method returns true/false depending if the item already existed.
 rockstar555: hii
 ZarthaxX: i dont get his problemo
 ClockSort: only downside? slooow. :D
 **Rodrigo_the_coder slaps  around a bit with a large fishbot
 rockstar555: can i make software by using paython
 ClockSort: you can only make hardware with that rockstar555
 rockstar555: okk
 rockstar555: i had a problem
 rockstar555: 
how i can make multiple barracks in code royal when i was  playing it  making one
 Snef: just go on an unused site and build it rockstar555
 Snef: eulerscheZahl hey, any idea of my problem ?
 eulerscheZahl: sorry, didn't read
 eulerscheZahl: short summary?
 Icebox: moin :wave:
 rockstar555: thanks
 Snef: my c++ timer is going wild on visual studio going from 0.0.... to 48000. in one loop
 Snef: using high_resolution_clock::now()
 eulerscheZahl: no idea, sorry
 Snef: (it works on cg) and had been working on vs too
 Snef: ok np
 Icebox: maybe you're using breakpoints :thinking:
 Snef: nah
 rockstar555: tell me about fall challange 2020
 rockstar555: :thinking:
 LLG: finally got my duplicate detection to work
 rockstar555: hii
 LLG: I made a tiiiiiny mistake while overriding GetHashCode
 rockstar555: what is this
 LLG: hashing 2 mem addresses instead of 2 values
 rockstar555: ohh
 Icebox: rip in deref
 rockstar555: hii Ice book
 rockstar555: I am working in car race program any idea for my progam
 Icebox: I have absolutely no clue whatsoever what you're talking about
 rockstar555: ok 
 rockstar555: what is best programming language for making a game program c++, c#, paython and java
 Icebox: whichever you're most familiar with
 rockstar555: Paython
 Icebox: then go with python
 rockstar555: and c++
 rockstar555: I have confusion
 rockstar555: which best among them
 SPDene: FORTRAN77 is usually best, I find
 SPDene: :P
 ScriptKiddie0101: c++ is the best one by far
 ScriptKiddie0101: python is too slow
 Icebox: what
 Icebox: lol
 Icebox: no
 Icebox: there is no "best". Mount&Blade, Sims 4, World of tanks, half of Civ 4
 Icebox: all of them are written in python
 rockstar555: what is easy angle in power of thor
 Icebox: or at least to some extent
 rockstar555: ohh
 rockstar555: nice
 Icebox: unoptimized python is slow ScriptKiddie0101
 rockstar555: thanks guys
 rockstar555: I will go with paython
 Uljahn: python doesn't have optimizing compilers unlike c++, so you need to code smart in python :smirk:
 rockstar555: okk
 Icebox: I believe in rockstar555's ability to write performant code :)
 rockstar555: thanks
 rockstar555: let me go
 Csipcsirip: can some1 link the script that make batch runs without browser?
 Icebox: you don't mean spunk do you?
 Csipcsirip: nah. there were a script wich made runs vs submitted codes with cg api requests
 Icebox: brutaltester? 
 Csipcsirip: its for offline testing, isnt it ?
 Icebox: couldn't it do both?
 Icebox: idk I don't use it
 Uljahn: cgbenchmark?
 Icebox: oh yeah that thing
 Csipcsirip: ye, i think, thanks
 Icebox: https://github.com/s-vivien/CGBenchmark
 Csipcsirip: and it's still maintained, cool
 Uljahn: you will need agend ids from http://cgstats.magusgeek.com/app
 kreska: icebox i have a question are you doing bfs or something completely different in your bot?
 Icebox: the submitted one or the one I'm working on?
 kreska: the on you are working on
 Icebox: it's a mix
 Icebox: a little bit of everything
 rockstar555: my code had deticating wrong 
 rockstar555: http://chat.codingame.com/pastebin/a4ba8f1e-dbc7-4a3e-8223-ac68972d6204
 Icebox: Different parts of the code use different evals 
 Westicles: Hmmm, my pi squashing puzzle is on track for 100 downvotes
 Icebox: now you made me read it Westicles
 Icebox: and it's horrible <3
 Icebox: -1
 Westicles: Yay!
 Icebox: what is that solution even :D
 Westicles: pack into ASCII then base65536
 Icebox: http://chat.codingame.com/pastebin/a79f7522-2826-455e-b0f3-ab1b71f77927
 Icebox: or you could just implement Chudnovsky's alg like a normal being :D
 Westicles: nah, too slow.  same for BBP
 Icebox: 300k digits?
 Icebox: no way
 Icebox: with C++ you can get it in like what, 10ms?
 rockstar555: hey guys my code was right i made a gun game with the help of C++
 Icebox: okay maybe more now that I think about it
 Icebox: but it wouldn't time out, for sure not
 rockstar555: what types of hardware we can make using programming language
 rockstar555: :grinning:
 Westicles: I am skeptical Icebox, but I haven't tried it
 yhyoxx: what should i do in first turn ?
 Raghuveer: :G
 Raghuveer: 'D
 Raghuveer: :d
 Raghuveer: :D
 yhyoxx: :/
 rockstar555: hii yhyoxx any question
 rockstar555: why you are confused
 yhyoxx: nvm
 rockstar555: okk
 eulerscheZahl: i'm tempted to downvote as well
 eulerscheZahl: (pi squashing puzzle)
 eulerscheZahl: i like abusing the CG system but this goes too far for my taste
 Westicles: what, using basexxx to compress?
 LordSkaven: "i like abusing the CG system" - Euler 2020
 Westicles: Seems like a standard tool everyone should have here
 Rodrigo_the_coder: hardcode it
 eulerscheZahl: the CG philisophy being that you can compute everything in 1s and don't have to hardcode it
 **Rodrigo_the_coder slaps brainf**k around a bit with a large fishbot
 eulerscheZahl: was afk, beat me by a few seconds
 Westicles: hmmm, well it looks like icebox is right, that Chudnovsky algorithm might be fast enough anyway.  Though without gmp it would be a pain
 eulerscheZahl: stop slapping Rodrigo_the_coder, i'll kick you for now
 41148: there was one problem just in clash of code?
 eulerscheZahl: system broken? or a single task that you want to see again?
 eulerscheZahl: http://cgstats.magusgeek.com/app/multi-a-code-of-ice-and-fire/eulerscheZahl \o/
 Icebox: what
 eulerscheZahl: CG broke the game and removed some bots, no idea why
 Icebox: :D
 eulerscheZahl: i resubmitted and farmed 900XP
 Icebox: wait why 900xp
 Icebox: where does that come from
 eulerscheZahl: https://forum.codingame.com/t/community-puzzle-a-code-of-ice-and-fire/107292/14?u=eulerschezahl
 Icebox: hilarious
 Icebox: huh, I'm in wood
 Icebox: ~nice~
 eulerscheZahl: that was exactly my reaction
 eulerscheZahl: BlaiseEbuth coming as well
 JohnCM: congrats kreska
 eulerscheZahl: i'm a toad
 BlaiseEbuth: :innocent:
 Raghuveer: https://www.codingame.com/ide/puzzle/spring-challenge-2020
 Raghuveer: code
 Raghuveer: pls
 Raghuveer: please
 BlaiseEbuth: :thinking:
 eulerscheZahl: wait a second, have to look it up
 eulerscheZahl: found it https://github.com/CodinGame/SpringChallenge2020
 Raghuveer: bro
 Raghuveer: code
 eulerscheZahl: that is the code. build it with maven
 rockstar555: https://www.codingame.com/playgrounds/53213/quiz-python-cyber
 AntiCheap: Hay who's in gold, are you using hashmap?
 eulerscheZahl: yes, i do (unordered_set)
 Newbiegod: guys any advice how to improve my algorithm skills?
 Mcunrated: Watch lectures, read books and practice
 AntiCheap: I may try make so it doesn't make "mirror" paths at all I had at the begin for the 4 moves.
 AntiCheap: The problem is sometimes
 AntiCheap: order matters as you may not be able
 NinjaDoggy: NOOOOOOOO
 NinjaDoggy: NOT CODE OF ICE AND FIRE
 NinjaDoggy: T_T
 NinjaDoggy: whelp... time to resub it and get first I guess?
 NinjaDoggy: icebox rip your winrate... submitting same time as me in CoIF ;)
 Icebox: no not quite
 Icebox: my bot times out half of the games :D
 NinjaDoggy: ?
 Icebox: I was stable before you submitted :D
 NinjaDoggy: oh lol
 NinjaDoggy: wtf
 rockstar555: hii NinjaDoggy
 Icebox: too busy to fix tho
 NinjaDoggy: hi rockstar555
 NinjaDoggy: wait... my bot times out too
 NinjaDoggy: but maybe it's within the normal margins of java :(
 NinjaDoggy: that contest brings back so many good memories :)
 NinjaDoggy: I wonder if I could have gotten first with c++ :thinking:
 Icebox: CalM was the hit
 rockstar555: sorry couldn't understand
 Icebox: for me
 Icebox: now THAT was a contest
 Icebox: :heart_eyes:
 NinjaDoggy: sorry calm is...
 NinjaDoggy: i'm bad with acronyms :(
 Icebox: Code a la Mode
 BoBot: sorry, how do you print out chat message with your output?
 NinjaDoggy: oh
 BoBot: I always forget, because I do not usually use it
 NinjaDoggy: ok nvm, i'm not bad with acronyms, I just didn't do that one XD
 Icebox: you missed out bigtime
 NinjaDoggy: did I though...
 Icebox: you did though
 eulerscheZahl: different players like different types of games. for me CalM was meh
 eulerscheZahl: but at least a real bot programming with opponent (/teammate) interaction
 eulerscheZahl: not as static as the current one
 NinjaDoggy: yeh... pretty sure I didn't play it much after i decided it was meh
 NinjaDoggy: this one is pretty good too though imo
 Michael_Howard: Is there a specific chat channel for Fall challenge?
 NinjaDoggy: not in codingame chat
 NinjaDoggy: but there is one on discord
 Michael_Howard: lol ok
 Michael_Howard: yeah I see it, thanks.
 Rodrigo_the_coder: https://www.codingame.com/share-replay/506712848
 Rodrigo_the_coder: random's choice function helped me
 Rodrigo_the_coder: i'm so  lonely :'(
 eulerscheZahl: but the main topic at the moment is the contest Michael_Howard
 eulerscheZahl: so feel free to discuss it
 Rodrigo_the_coder: how_to_bronze???
 arrayindex: good question
 MeNubz: After 1 day of playing this, I feel like im getting better at coding
 Icebox: imagine what happens after the 2nd day
 Icebox: aight I think it's time for me
 Icebox: to sleep
 AntiCheap: Hashmap is too slow for me
 AntiCheap: I heard people getting to layers 10
 Icebox: after another succesful 20 hours xD
 AntiCheap: I get at most to layer 6 or 7
 struct: morning
 Rodrigo_the_coder: win by crashing the boss :joy:
https://www.codingame.com/share-replay/506722362
 Nerchio: anyone in top50 gold can tell what depth they get in search?
 Nerchio: i have up to 10 and it seems not doing so well
 eulerscheZahl: *checks random turn*
depth 19
 k7n: wow, i would really like to see that code
 AntiCheap: euler are you using a proper neural network?
 AntiCheap: I'm slowly upgrading to normal things :P
 Westicles: Got gmp to run.  A million digits of pi in 0.76s.  Amazing
 eulerscheZahl: i have no experience with neural networks at all
 AntiCheap: I wish I could do something like
 AntiCheap: Train a neural network on my pc
 AntiCheap: then use it here but I'm too stupid 
 eulerscheZahl: only very few players succeeded with this
 eulerscheZahl: and only on a few games
 AntiCheap: The reason I think it may not be super useful is that you have a constantly changing environment
 AntiCheap: But I still wish I could do that
 AntiCheap: I'm not sure if you want to tell me, did you optimize for next 2 pots?
 AntiCheap: Since you go this deep
 rockstar555: HII
 Rounddice: I go deeper by ignoring the bad states
 AntiCheap: I was thinking of doing something like A*
 AntiCheap: Skip the totally bad states
 AntiCheap: but I don't know if maybe that's a shortcut
 AntiCheap: Would do like 5 moves then get best states then 5 more moves then best states then 5 more moves.
 AntiCheap: I think that way you could still keep using some "counter intuitive" moves
 eulerscheZahl: i think A* can work here
 eulerscheZahl: personally I opted for Beam search
 AntiCheap: I opted for brute forcing
 eulerscheZahl: with a wide enough beam i am close to bruteforce :P
 AntiCheap: Then I have a cool cool function that sums only negative items
 AntiCheap: That tells me if I can brew a pot and how many items I miss
 AntiCheap: Still I'm ratarded
 AntiCheap: I can't even explain what error I made
 AntiCheap: I made so I have all states in a vec
 AntiCheap: and each time I push to it all cases starting from the first
 AntiCheap: So retarded it pushed the states coming from the first a lot more times
 AntiCheap: What I have is close to BFS but I'm so smart I compute all cases I don't need.
 Rounddice: Yeah I do something similar
 AntiCheap: I can't get why I'm doing worse if I just added 1 depth...
 AntiCheap: There's a lot of unrest in this league.
 emh: I was rank 1 in Silver yesterday, like 0.25 points behind Boss.. and now it's hard to get up there.. should've waited for someone to push me over the top
 AntiCheap: My bot beat other users but never rarely the boss then it was the opposite.
 ChrisOz: Has anyone in Javascript managed to measure the time properly? I am using "performance.now()". I calculate the difference in time from the moment just after reading the first input. I check the time every iteration (each one takes much less than 1 ms) and stop once more than 40 ms elapses. Still my code randomly times out. What am I doing wrong?  
 zombitrafik: How did you managed to use performance.now() ? It says "performance is not defined" for me..
 ChrisOz: const { performance } = require('perf_hooks');
 Nerchio: well could be that GC randomly times out
 ChrisOz: Sorry, what do you mean by GC here?
 zombitrafik: ChrisOZ, wow, thanks. Where can I find more info about this?
 ChrisOz: https://nodejs.org/api/perf_hooks.html#perf_hooks_performance_now
 zombitrafik: Yeah.. sorry for stupid Q
 AntiCheap: I stopped using js :P
 AntiCheap: It was kinda hard
 blasterpoard: I did a bit of research about the random timeout, it's not GC that times you out, it's CG
 blasterpoard: if you want to be safe, you need to stop at 25ms
 struct: CG is having problems, sometimes code timesout for no reason
 Nerchio: that's true but languages with garbage collector are very delicate to use on CG
 Nerchio: if you make too many objects you will have random problems with timing out
 Nerchio: and atm CG timing you out without any reason doesn't help figuring if its your fault or not :D
 ChrisOz: hmm.. that sounds really bad
 eulerscheZahl: java would clean up itself if the garabge collector would be working properly
 struct: lol
 Nerchio: :joy:
 eulerscheZahl: arena.out: 50      test.out: 61     draws: 8
I'm improving!!
a little later
arena.out: 82      test.out: 74     draws: 13
 eulerscheZahl: (╯°□°)╯︵ ┻━┻
 blasterpoard: I remember smits testing his bot in locam, he needed 10000+ games to figure out if something is an improvement or not
 blasterpoard: this is the same thing, the potions that appear later in the game have more of an impact than minor diffferences in the search algo
 ChrisOz: Any workarounds for the CG timingout in javascript? Or is it lost cause.
 AntiCheap: In the top places it's mostly all c++ someone with c or rust
 eulerscheZahl: i even converted from C# to C++
 eulerscheZahl: i rarely do that
 blasterpoard: timeouts are unavoidable unless you stop at 25ms
 Nerchio: but you're talking about a site wide problem for any language ^
 Nerchio: ChrisOz you can either create less objects or prealocate them on round 1 and then avoid creating new in the future rounds
 AntiSquid: are the timeouts connected to the memory used ? 
 LordSkaven: could be if you are using a GC language I guess
 andrefpoliveira: Hey guys. On C++ Im getting bad_alloc :sweat_smile: http://chat.codingame.com/pastebin/8f8fa896-7753-4d17-b765-af42eb1945c1
 andrefpoliveira: Help?
 mlemm: can't open your pastebin but maybe the stack size limit ?
 struct: Yeah, you are storing on stack
 andrefpoliveira: Even if I use just an int Im getting that error
 mlemm: because your system can't allocate that much space in the stack memory
 andrefpoliveira: F
 struct: How much bytes is your state?
 struct: cerr << sizeof(State) << endl;
 andrefpoliveira: Let me see ahah
 andrefpoliveira: But it has a few arguments ahah
 mlemm: depends on their sizeof, not their number :grinning:
 andrefpoliveira: 200
 andrefpoliveira: xD
 andrefpoliveira: Thats huge right?
 mlemm: that's 0.2mb
 andrefpoliveira: oof
 mlemm: i believe you can't allocate that much, unless you override the max size which you don't have access to, but it's a bad habit anyway
 struct: You can store it in the heap though
 andrefpoliveira: Okok I usually use Python so yeah
 andrefpoliveira: I dont usually have these problems xD
 mlemm: it's a good opportunity to learn dynamic allocations then goodluck 
 mlemm: :grinning:
 andrefpoliveira: I was trying to optimize BFS by having an initial array with several States
 andrefpoliveira: So I didnt have to use new every time
 andrefpoliveira: But yeah...
 struct: You can reserve memory and dont have to use new
 andrefpoliveira: How should I do that? :sweat_smile:
 struct: https://www.geeksforgeeks.org/placement-new-operator-cpp/
 andrefpoliveira: But is that efficient?
 MadKnight: why not ?
 andrefpoliveira: No idea ahah
 AntiCheap: andref I tried doing that aswell I ended up having twice more duplicated XD
 andrefpoliveira: I thought that using new was not efficient
 darkhorse64: Does anyone knows what happens with Code Of Ice and Fire multi ? There seems to be lots of people missing and others are demoted
 MadKnight: this won't do the thing that was making new inefficient
 AntiCheap: I did so many inefficient things, used js till silver.
 struct: allocating memory is costly
 struct: but that allocates it before
 andrefpoliveira: I used Python xD
 MadKnight: oh then just switch to c++ lol
 MadKnight: python is 160 times slower than c++
 andrefpoliveira: Ahahah thats what I'm trying xD
 struct: darkhorse64 you are right
 struct: only 3 on legend?
 andrefpoliveira: I was exploring 800 nodes
 andrefpoliveira: Hoping to get a lot more when finished
 mzbear: i got to silver rank 100 with python, rewriting with c++ right now... >_<
 struct: darkhorse64 ill post it on discord
 MadKnight: andrefpoliveira place stuff on stack
 andrefpoliveira: @mzbear Okok I only got 600th xD
 MadKnight: andrefpoliveira arr[40]; // is on stack
 andrefpoliveira: I do that
 andrefpoliveira: State states[1000];
 darkhorse64: I can't access discord at work. Post on the forum
 struct: I posted on discord too
 mzbear: my success with python came with clever heuristic function, it only searched like 3 moves deep ;D
 andrefpoliveira: WHaaaat
 Nerchio: nooo i was in in legend in code of ice and fire
 darkhorse64: I'm farming the XP again but what ???
 struct: darkhorse64 they are fixing it
 struct: euler had already reported it https://www.codingame.com/forum/t/community-puzzle-a-code-of-ice-and-fire/107292/14
 eulerscheZahl: and i have a theory why it broke
 eulerscheZahl: https://github.com/CodinGame/codingame-game-engine/issues/35
solved just now
 darkhorse64: George Soros did it ?
 eulerscheZahl: as coif is a community contribution (and the only one with higher leagues), that might be related
 darkhorse64: MM,CoK have a different status
 darkhorse64: ?
 eulerscheZahl: yes
 eulerscheZahl: added my CG staff
 eulerscheZahl: the CoIF multipalyer was uploaded by azkellas and approved by the community
 eulerscheZahl: then CG added leagues on top of it
 darkhorse64: kk
 darkhorse64: It's pity I did not try to get to Legend. I'll farm until Gold
 darkhorse64: *It's a
 Nerchio: code of ice and fire was fun :D
 eulerscheZahl: one of my favorites
 eulerscheZahl: you didn't run out of ideas how to improve
 eulerscheZahl: karlis o demonstrated that by beating the contest winner by a big margin
 Westicles: I liked the squashed version better, but updated do to public outrage
 eulerscheZahl: :D
 eulerscheZahl: https://www.codingame.com/replay/506673874
somehow i have a feeling that i'm learning too much in late game
 Nerchio: and my bot rests too much sometimes even after using 1 spell out of 10 availabl
 Nerchio: which makes me think it doesn't really optimize the amount of points :D
 eulerscheZahl: oh, i have the REST problem too. but to less extent
 Leirn: Hi there. What version of python is used in codingame ? I tried a 3.9 function but is isn't recognised
 eulerscheZahl: https://www.codingame.com/faq
 AntiCheap: euler my problem is I do worse when I go at deeper layers, are the battles I see all the games done by mi ai?
 AntiCheap: I fear I might be timing out randomly too because of vec re allocation
 Leirn: Thx eulerscheZahl
 Csipcsirip: any1 using cgbenchmark here ?
 Nerchio: me
 Csipcsirip: do u have idea why im i getting  ERROR Incorrect number of agents error ?
 Nerchio: no, i get them from cgstats
 Nerchio: and yaml file is really gentle with spaces and tabs so be careful with that
 Csipcsirip: ye, I'm getting mines from there too, I cant i find the error message in the source code. 
 Csipcsirip: oh okay, the maxEnemiesNumber: 3 was the problem, as in this game there could be only 1 enemy
 Nerchio: glad you fixed it
 Nerchio: cg benchmark is nice and easy to use, had a lot more problems with brutaltester :D
 eulerscheZahl: ping Neumann
write that as a user experience on the project site :D
 Nerchio: that moment when my old submitted code has 75% win ratio vs current iteration ;x
 Csipcsirip: yea back than I too try using brutaltester. not rly an userfriendly stuff
 Neumann: You rang ?
 eulerscheZahl: "cg benchmark is nice and easy to use, had a lot more problems with brutaltester :D"
 Neumann: Take that Magus
 Magus: ?
 Neumann: Cheh
 Magus: well, if you try to run local games with cgbenchmark, i'm pretty sure you'll have somme issues :D
 Magus: *some
 Nerchio: i mean ye it's different tools for different uses
 Neumann: Speaking of which, I'm still having random timeout issues while running games locally with the referee
 Nerchio: need to be more experienced with brutaltester to use it properly
 eulerscheZahl: works fine for me locally
 Neumann: :'(
 struct: Plot twist, its the referee GC that is causing timeouts
 eulerscheZahl: did you hardcode the spells in your player2 by any chance?
 Neumann: Didn't hardcoded anything
 andrefpoliveira: Imagine watching 800 nodes on Python and then only 500 on C++ xD
 dbdr: bUt C++ iS fASt! ;)
 JohnCM: how do ppl do depth 7 with python (Crypticsy)
 andrefpoliveira: I had depth 6 xD
 JohnCM: i must be doing something inefficient
 struct: depth 6 with 800 nodes?
 andrefpoliveira: Yap
 struct: That is like ~3 nodes per detph
 andrefpoliveira: Why?
 andrefpoliveira: -3? xD
 struct: around 3
 andrefpoliveira: I limited some stuff
 andrefpoliveira: Tbh i just started toggling some values to see if something got better
 eulerscheZahl: "bUt C++ iS fASt! ;)"
that's why I converted. now i'm back to single file madness as I wasn't in a mood to do it properly :(
 Neumann: What ratio did you finally got between C#/C++ ?
 andrefpoliveira: Ahahah
 eulerscheZahl: 2.5 - 3 :(
 eulerscheZahl: you were right
 Neumann: lol
 eulerscheZahl: to be fair i did a bit of refactoring
 Crypticsy: hey JohnCM , i do best first search rather than a regular bfs
 struct: is 2.5-3 not worth it though?
 eulerscheZahl: big fat array instead of new
 Neumann: How many moves simulated per 50ms now ?
 eulerscheZahl: not the point struct
 eulerscheZahl: 150k in 40ms
 Neumann: Ok
 struct: What is the problem euler?
 Neumann: I'd say I have the same, but your eval must be more complex than mine so it's not comparable
 eulerscheZahl: the problem is that i accused Neumann of quoting me wrong when he gave a factor of 3 while referencing to me
 eulerscheZahl: i will congratulate you when you reach legend ;)
 Neumann: That won't happen if I can't fix my BeamSearch :'(
 eulerscheZahl: i completely disabled my spell scoring locally. wasn't much worse than with :/
 Neumann: Every evaluation I try is worst than env0*1 + env1*2 + ... alone
 Neumann: And the pruning with that eval is suboptimal
 eulerscheZahl: env0*2+env1*3,...?
 eulerscheZahl: so adding the total inventory on top
 Neumann: And I also struggle to evaluate done potions along the way
 eulerscheZahl: "remove earned XP (sorry :grimacing:)"
https://forum.codingame.com/t/community-puzzle-a-code-of-ice-and-fire/107292/16
 eulerscheZahl: that monster!
 JohnCM: how to prune to 3 nodes per beam search?
 JohnCM: the way i see it, there's 10+ actions
 eulerscheZahl: i'm not happy with my scoring either
 Csipcsirip: ye balancing between inventory value and delivered potions value is rly tricky
 eulerscheZahl: https://www.codingame.com/replay/506673874
like frame 19+
 JohnCM: not including multicast
 eulerscheZahl: why am i learning that late even?
 MadKnight: no free exp for you today, Automaton2020
 JohnCM: haha if there weren't an inventory limit, i know a very good way to win
 MadKnight: Automaton2000
 Automaton2000: i used to work with the brutaltester
 JohnCM: but with inventory limit, have to balance
 eulerscheZahl: i'd be happy with all spells repeatable again as a cheat for me
 Neumann: lol
 Nerchio: automaton2020 is gone?
 eulerscheZahl: no, still there, just never talking
 Astrobytes: he only listens
 eulerscheZahl: https://cg.spdns.eu/wiki/Special:PrefixIndex?prefix=World%2F&namespace=3000
indexing the chat only
 eulerscheZahl: since 1970
 Astrobytes: lol
 Gronahak: @eulerscheZahl your bot wants the spell with id 6 and learning all the 0 cost spells is the shortest way there ?
 Nerchio: Automaton2000 how to beat euler in fall challenge
 Automaton2000: or do you mean by that?
 eulerscheZahl: LEARN 41 1 | LEARN 21 1 | LEARN 7 1 | LEARN 3 1 | LEARN 29 1 | LEARN 6 1 | LEARN 6 2 | BREW 70 1 | LEARN 3 1 | REST 1 | CAST 87 2 | CAST 91 1 | LEARN 6 1 | LEARN 29 1 | LEARN 3 1 | BREW 77 1 | CAST 89 2 | LEARN 21 2 | REST 1 | CAST 89 2 | LEARN 29 1 | CAST 87 2 | BREW 50 1 | CAST 82 1
 eulerscheZahl: that's what my bot wants
 eulerscheZahl: lots of learn, some not even used after
 Astrobytes: thirsty for knowledge
 eulerscheZahl: note: learn and then cast shows as 2 learns, i didn't bother
 eulerscheZahl: arena.out: 74      test.out: 89     draws: 24
did i find something now?
 Gronahak: yeah it seems to me he only needs the 6
 Gronahak: and cast it right away to brew first pot
 eulerscheZahl: i'll keep waiting before getting too euphoric
 eulerscheZahl: it's not about quickly brewing 1 potion
 eulerscheZahl: it's about completing all 6 ASAP
 eulerscheZahl: when you finish 1 and run out of ingredients, you loose several turns
 Nerchio: how often do you guys cast spell x4
 rockstar555: hii
 Nerchio: happens so rare im thinking of removing it
 eulerscheZahl: i have no stats on that
 Nerchio: maybe its not that rare i just found a game with 2 x4 casts
 eulerscheZahl: it's definitely nothing i'm considering to remove from my bot
 Westicles: The score spread is very small at the top.  They need to add a new rule
 struct: Adding new rules at this time?
 struct: I can already see the backlash
 Westicles: Increase inventory to 20
 eulerscheZahl: invent your own spells
 Gronahak: steal from opponent inv
 eulerscheZahl: ooh, that would be some real player interaction
 eulerscheZahl: that's an idea we can work on. i like it
 JohnCM: you need to plan till spellx5. I actually won against the silver boss using it a few times
 JohnCM: pretty happy to see the spellx5 casted... that efficiency
 JohnCM: https://www.codingame.com/replay/506819263
haha random win agains Crypticsy using depth 3 lookahead
 JohnCM: when do you all plan your rest cycle?
 JohnCM: use finish usable spells then rest? or pre-emptive rest
 eulerscheZahl: always
 JohnCM: always rest?
 eulerscheZahl: well, if i have > 0 exhausted spells
 JohnCM: it's a move in my lookahead at the moment
 Whiskee: uhhh is everything ok? I'm timing out on the simplest things right now
 Nerchio: i suggest ignore and try again lol
 Ramdeath: question: faster int or short if i need compute?
 struct: you mean like int_fast8_t?
 Ramdeath: i try googling, but one source say int, others short...
 Csipcsirip: why dont you write a small test code yourself then...
 Ramdeath: if i need use sim c++, better int or short
 struct: ah you are asking if int or short is faster?
 Ramdeath: csipcsirip i try, but result unclear
 struct: Never tried so dont know for sure
 Uljahn: sources don't agree because it depends on multiple factors i guess, profiling with real load should help to decide (snippet profiling could be misleading though)
 andrefpoliveira: Anyone know where I can find the image of the challenge big at full resolution?
 struct: https://static.codingame.com/servlet/fileservlet?id=51850923132948
 JohnCM: woot 3 step lookahead rank 45 in silver
 andrefpoliveira: Tyy
 JohnCM: time to code in C++
 eulerscheZahl: artwork and game match pretty well. only the skin color isn't green anymore
 Gronahak: Also the color of the headband is mismatched in artwork
 Gronahak: it's been bothering me more than it should
 Gronahak: xD
 RockyMullet: hu... drifted back instead of foward during the night, all my attends are making my bot worse and I'm still stuck around 100th in silver... it beings to look a lot like giving up :confused:
 struct: lets go rocky
 rockstar555: https://www.codingame.com/training/hard/the-labyrinth
 struct: race to gold
 struct: vs me
 struct: im rewriting
 rockstar555: my 100% score
 RockyMullet: CG is watching, y first test in IDE this morning gave me a win against boss
https://www.codingame.com/replay/506843576
 rockstar555: guys i am now level 18
 rockstar555: http://chat.codingame.com/pastebin/b4af1cac-19e8-47ed-a127-565e3920201c
 struct: You just solved it?
 rockstar555: https://www.codingame.com/servlet/urlinvite?u=4063648
 struct: Puzzle seems too hard for me
 struct: Cant solve it
 rockstar555: which puzzle
 struct: Labyrith
 eulerscheZahl: wow, that one looks really complicated
 Q12: it isn't, you just need to implement A* search and some sort of bfs
 barissyz: https://www.codingame.com/ide/puzzle/dungeon-designer .Hi guys should I toss a coin for every cells in the maze except default walls, eastern and south cells. Or should I toss coin for every grid. I don't understand and I can't generate mazzle for first test case. 
 RockyMullet: finally
 RockyMullet: im wood 1 in fantastic bits
 RockyMullet: wtf lol
 eulerscheZahl: me too
 jrke: i got that too rocky
 eulerscheZahl: fancy things going on
 RockyMullet: grats
 eulerscheZahl: see https://www.codingame.com/forum/t/community-puzzle-a-code-of-ice-and-fire/107292/16
 RockyMullet: good our work on FB finally payed off
 eulerscheZahl: i have a feeling like they just made it worse
 AntiSquid: what is that?
 RockyMullet: wait, do all games ranked are resetted ?
 eulerscheZahl: still shows me in legend
 Recovery_disaster: Can I share  a replay when I select my oponent and a seed?
 BenjaminUrquhart: I'm just not on the leaderboard
 eulerscheZahl: yes Recovery_disaster
 Michael_Howard: I never even played fantastic bits, WTF? My Ice & Fire code shows up there now.
 eulerscheZahl: click the 3 dots below that say "share"
 Recovery_disaster: wtf, I only saw them in the "last battles" ... I'm blind. Thanks ;)
 AntiSquid: oof
 AntiSquid: first the timeouts now this :(
 RockyMullet: hu I win half the games against the boss, it means I'll keep trying, god damn pride
 AntiSquid: where are you rocky ?
 RockyMullet: dancing sadly around 100th silver
 eulerscheZahl: i got an extra 25XP for the wood1 promotion
 AntiSquid: but what is up with that link and game?
 RockyMullet: any suggestion on what to do with the 1000ms first turn, I dont evne do anything with it
 eulerscheZahl: just coif being a weird contribution
 eulerscheZahl: the only one with higher leagues for community games
 eulerscheZahl: so, back to the contest
 eulerscheZahl: i want to submit. but i don't want to risk my current rank even if it's better offline
 AntiSquid: you build up a search tree and save it i guess discard irrelevant parts later turns RockyMullet
 AntiSquid: i have some hideous bug somewhere :(
 RockyMullet: AntiSquid ok, had that in the back of my mine, good to have some confirmation
 RockyMullet: *sight* I'll on that then
 RockyMullet: god do I not like this contest lol
 AntiSquid: you might end up discarding most of it though :P
 AntiSquid: because there's high spell rotation early on
 RockyMullet: but at least it got me out of my comfort zone
 AntiSquid: i don't like it either
 AntiSquid: mainly because of my own bugs 
 AntiSquid: and the 20ms timeout ofc
 struct: euler I was trying to bait :(
 Michael_Howard: The hamsters running the servers must have chewed on a few cables. :hamster:
 RockyMullet: AntiSquid hat I tried and failed yesterday, was to assume I can get all first 6 spell and sim really deep to find the best move, but it assumed it could get all 5 potions, without any interference, then I tried to stop at first potion to get the best first possible potion, but then enemy would steal one of my spells
 RockyMullet: it did work...
 [CG]jupoulton2: I finised fixing coif, leaderboard should be in the state it was at the start of the week
 RockyMullet: didnt*
 eulerscheZahl: yes, looks fine
 jrke: yeah fixed for me
 eulerscheZahl: somehow related to the issue you fixed today? https://github.com/CodinGame/codingame-game-engine/issues/35
 jrke: my general ranking went 237 from 218 due to CoiF leaderboard bug :smiley:
 nurit: I got 50 ms after I got all input?
 AntiSquid: actually would prefer to get demoted to wood in the contest so i can start over without an alt ... 
 RockyMullet: my other idea I though when I could sleep, was to make so kind of tree of what spells could be to reach an inventory and check those for all first 5 potions, so I could then look into it for a fast search
 qewMagicBox: Input
He110 W0r1d!  Output 1
 qewMagicBox: help me
 qewMagicBox: java
 RockyMullet: but I feel even at 1000 ms it would take everything into account, specially taxe would mess up the search
 AntiSquid: i don't check enemy yet, do you ?
 RockyMullet: no
 eulerscheZahl: yes
 RockyMullet: dont know what to do with it
 RockyMullet: I mean, in a reasonable way
 wlesavo: do you learn 4-5 0 cost spells?
 RockyMullet: I score them in a "more gain than lost" kind of way early, then after it's only my sim telling me a need to learn them
 RockyMullet: what do you mean by 4-5 0 ?
 nurit: when does my 50 ms timer  start?
 wlesavo: oh you have a sim with spells and still in silver? thats odd, do you finish a sim after 6 potions?
 jrke: after all input nurit
 Uljahn: nurit: after reading the first line of inputs
 wlesavo: i mean 4-5 first spells in book
 MaxTheorum: So I was wondering if anyone had some tips on what algorithm to use for the fall challenge and maybe some good documentation. I've been looking at MCTS but can't seem to figure it out.
 RockyMullet: wlesavo yeah i do that
 RockyMullet: I think my problem is that I dont ignore enough moves in my sim
 RockyMullet: waste time on useless spells
 jrke: rocky whats your iteration count?
 wlesavo: hm, maybe, thats looks very odd to me, i though an ok sim is enough to go out of silver
 RockyMullet: from 15 to 22k
 RockyMullet: 15k* to 22k
 RockyMullet: while not stellar, I feel it's strange, like right in my face, I have 20k search, only depth 4
 RockyMullet: clearly I'm wasting sims
 Csipcsirip: do you eliminate duplicates ?
 RockyMullet: no
 Csipcsirip: 20k at depth4 seems way too much anyways
 RockyMullet: you mean like something giving the same result or something ?
 wlesavo: RockyMullet mb try to switch to smth like beam search or mc, should be easy enough from bfs
 struct: Yeah, I cant see how you get 20k with depth 4
 struct: That is 12 moves 
 struct: 12^4
 Csipcsirip: I just debugged a replay. 200 unique states at depth4
 RockyMullet: yah, in that situation I have 12 learned spells
 wlesavo: or try to find some critical bugs, im sure what you do should be enough for silver
 RockyMullet: Csipcsirip ok thanks, now I know what to look up, no way 20k at depth 4 is normal
 SinOfWrath: For me the big breakthrough was when I realised I am simulating unlimited resources not taking into account the limit of 10 altogether.
 jrke: can i talk to myself? https://media.discordapp.net/attachments/699972160688488468/779310906907688970/b.JPG
 Csipcsirip: aight, gl with that
 RockyMullet: wlesavo well im silver, its gold the problem hehe
 wlesavo: i meant to leave silver behind
 RockyMullet: kk
 ParticleBeam: Why waste perfectly good silver
 RockyMullet: to trade it for gold ;)
 Recovery_disaster: SinOfWrath - same for me. I calulated turns with more than 20 items in inventory and counting ...
 RockyMullet: im trying some cheese
 RockyMullet: see where it will lead
 RockyMullet: just ignoring any futur spell learn if I already learned one in sim
 Recovery_disaster: after fixing it I I went from 500 to 1 in bronze
 RockyMullet: do save some time, but it can make me avoid good moves, but at such a low depth, it's pretty rare I elarn 2 spells in a sim
 optplx: `account the limit of 10 altogether` what limit is that?
 RockyMullet: optplx you can only ahve 10 ingredients in your inventory
 optplx: I thought it was a limit about the actions to take or whatever
 andrefpoliveira: Can someone give me some advise related to my C++ code? My first time using it so yeah :)
 struct: avoid new
use #pragma GCC optimize("O3","unroll-loops","omit-frame-pointer","inline")
 dbdr: ah, the first things to learn about C++. how cute ;)
 struct: lol dbdr
 andrefpoliveira: Yeah I know but when I tried to have an initial array so I just needed to replace the args, I got bad_alloc :sob:
 Instafluff: does anyone know what the code size limit is for CG?
 struct: 100k chars
 Instafluff: thanks!
 struct: andre iirc you tried to store 0.2MB * 100
 struct: You would need to store in the heap 
 andrefpoliveira: Yeah :sweat_smile:
 struct: If you can allocate the memory you need at the start it should be fine
 andrefpoliveira: So I create a vector and then make it a heap?
 Leirn: Hi. I am trying to make my first contrib, but I get a 563 invalid stub generator when I try to test it in the IDE, despite the fact that the stub is well generated in the form
 Leirn: And no clue for what could cause that
 struct: if you do State* states = new State[100000];
 struct: It should store in the heap
 struct: leirn can you paste the stub here?
 Leirn: http://chat.codingame.com/pastebin/60ded485-f794-4f6e-8705-11b934286cfc
 Leirn: Here it is, struct
 struct: this is causing problems I think
 struct: write true|false
write time max_alt distance
 Leirn: Ok. Any advice to correct it ? I tried to remove the pipe, but with no success
 Leirn: I replace the two lines bu "write true" only, but got the same result
 struct: let me see if i remember how stub wqorks
 struct: one sec
 Leirn: Thx
 Leirn: After checking the generated stub, it appears that write in the second line is too much
 Leirn: But removing it changed nothing
 struct: Its Cg bug I think
 struct: not even my othello stub is working
 Leirn: Ok. I'll just save it for now and check back later
 struct: oh its the two prints
 struct: or not
 Leirn: I saved it and went back to editing, and it works
 Leirn: a CG bug with new contrib never saved, probably
 struct: Leirn so its working?
 Leirn: The stub works, but to access the IDE, i need to first send the contrib as private and get back to it in edit mode
 rockstar555: HII
 rockstar555: hii
 TC9792: just knew that I can select players to see how they perform up against each other..
 rockstar555: https://www.codingame.com/profile/1f5b0ff230728fcbcecbae143f3ae5148463604
 AntiCheap: Ways to play a game from a seed or replay? I need to understand why my bot times out.
 AntiCheap: Probably some error as it searched 690k cases
 struct: AntiCheap if its a battle from last Battles tab, then you can press send game parameters to ide
 eulerscheZahl: left in the IDE: settings->expert
 AntiCheap: I have the replay only
 eulerscheZahl: then go my route
 eulerscheZahl: and if you can't get the opponent anymore (e.g. the player submitted again or is just random): hradcode it
http://eulerschezahl.herokuapp.com/codingame/replays/reproduce/?id=502157528
 eulerscheZahl: use the spell IDs to detect if you are left (id 78) or not
 AntiCheap: Oh got it
 AntiCheap: Btw I'm stupid
 AntiCheap: I had it in last battles too
 AntiCheap: But it doesn't play same
 AntiCheap: euler what depth do you get to?
 AntiCheap: if I had to do something like beam search I would make it calculate "fitness" by each 2-4 moves 
 eulerscheZahl: 15-20
 AntiCheap: I don't get how I time out at 6...
 eulerscheZahl: you calculate the fitness for each node
 AntiCheap: Probably memory not much else
 AntiCheap: then you expand all more fit than previous?
 eulerscheZahl: yes
 AntiCheap: I didn't do so as I felt like
 AntiCheap: it may be dumb
 AntiCheap: in some weird case
 Beresta: so got to gold today and finally going to try implementing some sim-based search today
any advice where to start? mcts, beam, something else?
 MaxTheorum: Would anyone have some good sources on MCTS? I want to implement it for the fall challenge but can't get my mind around it.
 BoBot: loool, my repeat detection code thinks that I am trying to cast 3x[-1,1,0,0] when I am actually trying to cast [-3,3,0,0]....damn corner cases
 Gronahak: @Beresta I'm actually curious how you got gold without simulation :D 
 Beresta: well I do some bfs to find shortest path to some brew, it is kinda simulation
but very different from what people do with mcts and heavily heuristics-based on what to brew next, etc
 Beresta: so what I want to do is something much less heuristics-based and exploratory :D 
 Gronahak: Ok ! congrats :)
 Beresta: in other words, my algo is quite deterministic and don't even take 50ms to calculate each turn (I never cut it down, it just tailored to fit well without timeouts)
 Beresta: some turns it takes 10ms some turns 40ms, but no randomness or anything like that
 krolik: whats up with some of the coc tests, I did them and got 5/6 correct, but after submitting I've got 33% score
 miszu: grats for the gold
 NitMpez: it is possible to get lucky:
https://www.codingame.com/replay/506973145
 miszu: I am thinking to find a way to calculate all possible moves in an efficient matter
 Beresta: well if you precalc applicability of all possible brews and spells to every deck and it becomes a simple check there is not that much else you could do
except if you could cache the whole result for some state (e.g. if you are building a tree and you keep results between the turns, etc; or if you end up in same states with different move seq and can reuse previous results)
 miszu: correct me if I am wrong but to calculate all possible moves in a given state is O(n) where n = all the spells you have
 Beresta: yes, but you have what, like 15 spells on average
 Nerchio: but each spell can be cast multiple times
 miszu: that adds complexity
 Beresta: yes, but its still very few iterations I'd say, 5 is a max repets for a spell, so its still below 100 
I mean like if you can reuse whole result for some state thats awesome, but not sure if its possible to optimize these 100 ops much, considering each of them is a simple array check
 Beresta: at least I won't look into it till it become my bottleneck, which seems to be somewhere in the end of the list :D
 miszu: I get easilly discouraged. No matter how hard you try to "optimize" there is always one C++ guru who will find a way to do 2-3 fewer ops
 meh1001: Stop comparing yourself to other programs and compare your improvements to your own
 meh1001: being bummed because someone else made an improvement sounds pretty miserable xD
 miszu: haha. Well I always loved competitions. Beating others gives me satisfaction
 miszu: I used to play chess tournaments
 ddreams: "I want to win, but only if it doesn't take effort"
 miszu: then it's boring haha
 ddreams: sounds like you need to work on your inner game
 miszu: btw this chat is only available in web browser? Or can I get it somehow in discord as well?
 meh1001: I've not been able to find it in discord I was wondering the same thing
 Uljahn: it's xmpp-based chat you can connect via external client as noted in https://www.codingame.com/faq
 ParticleBeam: Lightning so close my USB cycled...
 SAChamp: Hey guys, please checkout and comment your feedback!https://www.codingame.com/contribute/view/572391469495f4f007323ae10613055c9602
 struct: miszu there is a discord server, but is not connected  to this chat
 miszu: yeah I just checked on discord struct
 miszu: question about repeatable spell. You can only repeat it in one turn and then it becomes uncastable correct?
 ParticleBeam: Yes
 miszu: thanks
 NitMpez: cast id #times can cast up to 5 times in a single turn
 NitMpez: inv and ingredient permitting
 Csipcsirip: 5 is the max possible?
 miszu: 10 actually
 Csipcsirip: u sure miszu? is there any recipe with 1-1 ration and repeatable
 miszu: I meant in theory
 NitMpez: i'm not aware of being able to do more than 5
 NitMpez: i only check up to 5
 miszu: but maybe in practice it is only 5
 ntroPi: 5 is max
 meh1001: I'm curious how many times do you actually see casts > 3?
 meh1001: maybe in the higher brackets more often? I seem to hardly ever see a 3 in silver so far
 ntroPi: I'm sure I saw an enemy witch do a 4
 NitMpez: yeah i have done a 4 once... never noticed a 5 yet
 meh1001: and to be fair mine crashes and times out a lot so my sample size isn't that big lol
 LordSkaven: I did see a replay a few days ago where pb4's bot did a 5 and got fucked by it lol
 miszu: it's today that opens legendary league right?
 Csipcsirip: ye top bots tend to stuck with full +4 inventory pretty often
 eulerscheZahl: 2h 30min till legend
 CommanderCero: atleast i will be alone in gold then
 AntiSquid: hi
 eulerscheZahl: at least the bullies will be gone then
 AntiSquid: when does legend open?
 eulerscheZahl: you are trolling, right?
 ZarthaxX: it opens yesterday AntiSquid, cmon
 Illedan: He is always trolling?
 Westicles: Not to get all jingoistic, but USA NUMBA ONE!
 Illedan: Make CG great again?
 eulerscheZahl: keep CG great
 Westicles: Not again... this would be a first
 Illedan: :O
 Westicles: At least I didn't see any USA winners in previous contests.
 AntiSquid: the timeouts are a form of voterfraud (win count fraud) :P
 miszu: STOP THE COUNT!
 AntiSquid: to be fair it really looks bad for the US regardless who's right
 ntroPi: If they didn't count the fraudulent timeout wind i'd be in orange league :-D
 miszu: It's 2020. 
 miszu: People should be able to vote online and not wait 5+ days for ballots to arrive
 reCurse: How naive
 AntiSquid: lol
 CommanderCero: problem with online voting is that its hard to make it anonymous
 BoBot: some people are casting (ballots) multiple times, that is cheating! :O
 Whiskee: https://xkcd.com/2030/
 ntroPi: Well that way putin could vote directly and wouldn't need all the propaganda trolls.
 Whiskee: relevant XKCD
 eulerscheZahl: and prove that it hasn't been tampered with
 BoBot: Estonia has had online voting for years :)
 eulerscheZahl: prove in a way that's understandable to everyone at least
 struct: bug or feature? https://i.imgur.com/Lh7EeHJ.png
 eulerscheZahl: blockchain voting :thinking:
 AntiSquid: and no prob? BoBot?
 CommanderCero: but wouldnt blockhain require a private key
 eulerscheZahl: congrats struct
 CommanderCero: which incetivites other people to threaten people
 struct: im serious euler :/
 BoBot: some conspiracy theorists think there might be problems, but I do not think so actually
 struct: its not my alt
 eulerscheZahl: https://www.codingame.com/profile/d0a13084e802a117ffe9d5daaa84e87c7399592
 struct: so need 1 more exp
 struct: I see
 reCurse: We're not moving away from paper ballots anytime soon. Stop thinking technology can solve everything.
 eulerscheZahl: for a while my profile looked the same as the one i just linked
 struct: that account is from CG right?
 eulerscheZahl: no
 eulerscheZahl: that's the one having much more XP than me
 eulerscheZahl: https://chadok.info/codingame/leaderboard_xp.html
 eulerscheZahl: that multiplayer score drop :o
 eulerscheZahl: that was because of code of ice and fire
 AntiSquid: lol
 eulerscheZahl: thibaud didn't subtract my 900 bonus XP yet
 AntiSquid: what happened
 struct: Oh this anonymous is from all deleted?
 eulerscheZahl: https://forum.codingame.com/t/community-puzzle-a-code-of-ice-and-fire/107292/14?u=eulerschezahl
 struct: I dont understand
 struct: I click on unnamed player and it goes to the profile you linked before
 eulerscheZahl: i assume someone wrote a script to self-upvote with some alt accounts. we never found out
 struct: I see
 AntiSquid: cg keeps secrets from us
 struct: Maybe it was back when you could aprove a puzzle twice
 struct: with the same account
 eulerscheZahl: the event list what caused the XP is private
 eulerscheZahl: we can only see the total
 AntiSquid: edjy indeed .
 struct: We get exp from each aproval vote  on contributions right?
 eulerscheZahl: no
 struct: oh
 eulerscheZahl: for the final approval: 250
 eulerscheZahl: for each upvote: 10
 AntiSquid: what did we lose cp for ? dead  account clean up?
 wXyZ: from where i can get the puzzle of week ?
 AntiSquid: bell icon ?
 eulerscheZahl: https://www.codingame.com/training/medium/huffman-code
 eulerscheZahl: so many new notifications in the past few days
 lowzhao: any idea in selectively learn skills?
 eulerscheZahl: sadly no. not leading me anywhere when i try
 AntiSquid: yes but its complicated lowzhao
 lowzhao: I think i have to incoporate the skills into search then D:
 rwilson: lowzhao - not sure it affects high level play, but up till at least bronze, learning certain spells is a huge advantage ( like the +1 -0 resource ones )
 AntiSquid: and no guarantee you get both for combo
 lowzhao: it always starts weirdly because i look at the games and its like 1 step lesser than others because not selectively learning
 Gronahak: I copied the silver boss' strat that looks like taking the one with tome_index = 0, or paying for the one with tome_index = 1 if its delta is positive for all ingredients
 AntiSquid: Automaton2000
 Automaton2000: antisquid i don't have that in my code
 yhyoxx: automaton is the silver boss ?
 AntiSquid: chat legend boss
 ZarthaxX: we had 6666 participants for one sec
 ZarthaxX: epic moment
 struct: What was pac final number I dont remember?
 mlemm: which hour legend bracket opens ?
 ZarthaxX: hour and a half maybe?
 yhyoxx: mlemm are you who i think u are ?
 Michael_Howard: I'm an idiot. :tired_face: I tied myself in knots for 2 hours because I was using a break instead of a continue.
 yhyoxx: i coded minimax for 2 days to find out i cant even look 3 steps ahead
 ZarthaxX: :D
 Gronahak: @Michael_Howard I've been there too, I feel your pain :grin:
 Michael_Howard: @yhyoxx Prune that tree!
 yhyoxx: did that 
 yhyoxx: other than alphabeta
 yhyoxx: i had no clue what to do
 yhyoxx: i knew i had to optimize
 Michael_Howard: Time it & comment bits out to see what's slow.
 feuerbach: whats the best way to capture game input in your non browser ide so you could debug it
 Csipcsirip: https://www.codingame.com/playgrounds/53705/contest-tools-and-workflow/introduction
 feuerbach: thank you
 Csipcsirip: np
 wendrul: best one so far is checking the diff in score between your bot and the enemy, and if it exceeds a certain threshold make your bot do random actions
 Gronahak: lmao
 BoBot: wait, does that mean that they cannot debug against you? that is evil :D
 NitMpez: How long till legend... so i can smack my face against another wall
 blasterpoard: probably <1h
 NitMpez: tx, can already feel the pain
 ClockSort: is it possible to search this chat box for something said 5 days ago?
 Uljahn: yes
 ClockSort: great answer
 ClockSort: but i have another question :D
 ClockSort: how?
 Uljahn: https://cg.spdns.eu/wiki/Special:PrefixIndex?prefix=World&namespace=3000
 ClockSort: wow, good to know that everything I say is logged forever.
 ClockSort: thanks
 Uljahn: yw
 reCurse: As is true for most of the internet nowadays
 ClockSort: thanks, found what i was looking for
 BoBot: Chat:World/1970-01-01
Jump to navigationJump to search
Hello
 tempux: where can I find the compilation flags for c++?
 ZarthaxX: what?
 ZarthaxX: doyou mean to force compilation flags?
 Westicles: https://www.codingame.com/forum/t/collisions-in-fantastic-bits/2369/3
 tempux: NICE !
 tempux: Thanks instantly better 
 Counterbalance: boss!
 Csipcsirip: dbdr==boss
 dbdr: :no_mouth:
 struct: Its your bot dbdr?
 dbdr: yeah :)
 kovi: rust? but why?
 dbdr: why not?
 dbdr: it's compiled now
 kovi: oh, didnt know
 Csipcsirip: in IDE too ?
 struct: yes
 Csipcsirip: nice
 struct: also C#
 BrunoFelthes: only 18 at legend?
 blasterpoard: I thought there would be fewer people in legend; also, gold boss is quite close to top gold people
 BoBot: I think it is pretty common at the time of the league opening
 BrunoFelthes: this gold bot is too strong... 10 games, 10 loses
 DomiKo: that's dbdr fault
 NitMpez: blame dbdr
 Rounddice: The new league somehow made me go from rank 13 to rank 1. But I doubt I will stay up there
 dbdr: 18 is quite typical I think
 dbdr: the goal is less than 100 by the end of the contest
 pb4: Rounddice : as for me, from 1 to 8 -_-
 reCurse: You were not 1st when it opened
 pb4: :(
 Csipcsirip: if u have 55% vs the top10 and like 60% winrate vs the top10-20 you can easily stuck in the top10+ in big leagues
 BrunoFelthes: even a single win againt the bos
 BrunoFelthes: i was top 50
 NinjaDoggy: time to optimize against dbdr :D
 dbdr: nonono ;)
 NinjaDoggy: when I promote he's gonna drop by 5 ranks ;)
 pb4: Rounddice : is that a new code ?!
 BrunoFelthes: boss is timing out a lot
 NitMpez: lol ninja
 NitMpez: probably true... everyone in legend will be optimized to beat dbdr
 dbdr: except the top 18
 NitMpez: yeap
 dbdr: BrunoFelthes: really?
 dbdr: my time limit is at 30ms
 NitMpez: hasn't timed out for me
 NinjaDoggy: wait...
 Rounddice: pb4 : It's ca. 2 hours old. I actually wanted to submit a new one, but now I would loose rank 1 if I do it.
 Donotalo: my new bot wins 80% of the matches aginst my old bot, should i submit? :-s
 Nerchio: dbdr you are ths boss? how do ppl know
 dbdr: rust
 NinjaDoggy: we can't actually optimize against him without submitting
 dbdr: at my rank
 pb4: Well it looks really good o.O
 NinjaDoggy: D:
 NinjaDoggy: rust advantage
 dbdr: rust is optimized in IDE too
 NinjaDoggy: oh is it now?
 dbdr: since a few days ago
 struct: yes
 NinjaDoggy: nice!
 NinjaDoggy: C++ -O3 when? :P
 DomiKo: when you want :D
 DomiKo: ValGrowth can you go to legend? You beat me so hard :(
 NitMpez: https://www.codingame.com/replay/507161945
 NitMpez: hmmm you did time out
 BrunoFelthes: yes, the boss is timing out a lot
 DomiKo: timeout are related to problems with CG
 DomiKo: When I have no games vs boss?
 NitMpez: so what your saying is quick submit now... and hope to timeout the boss :P
 miszu: hidden rule: random timeouts happen to simulate the unfair life.
 DomiKo: Why I have no games vs boss?*
 NitMpez: lol
 NitMpez: happens... i remember one contest i could beat the boss quite a bit but never could get to the boss
 mlemm: then life must be very unfair
 DomiKo: LOL rly 
 DomiKo: why boss isn't fighting?
 DomiKo: nobody have games vs gold boss
 ValGrowth: Domiko I guess I will promote soon :)
 DomiKo: or am I blind?
 wlesavo: i had one game vs boss at first 10 games, even won that
 DomiKo: ValGrowth have you played with boss?
 NitMpez: doesn't support violence... it is a nice boss
 ValGrowth: Yes, but not so many win against boss :sweat_smile: You carried me 
 DomiKo: :joy:
 DomiKo: No problem
 DomiKo: can you take me with you?
 DomiKo: I can hide in luggage
 NitMpez: you still got a lot of progress left... i think you'll be fine
 NitMpez: see gratz... your above boss :P
 DomiKo: 2 wins with Val 
 DomiKo: He did take me with him :D
 wlesavo: wow boss went really down
 NitMpez: man 4 of you up there now
 DomiKo: OK there is bug
 DomiKo: or something
 DomiKo: you need to be above the boss to start playing with him
 DomiKo: that weird
 ValGrowth: I promoted to legend!
goodluck Domiko :)
 DomiKo: You gave me two wins before you left
 DomiKo: :D
 NitMpez: as soon as i learn to score stuff i might cya there
 AntiCheap: https://www.codingame.com/replay/507171105 Lmfao
 miszu: he timeout?
 jke: inventory is full and can't cast any spell
 jke: is that a strat?
 captnchr1s: Is there any chance to find out which part of the code is slow? I always get timeout
 Rounddice: You can run your code locally and use a profiler. But I think there is no option in CodinGame.
 RockyMullet: ok beating my old bot, generally 1 or 2 depth higer than it
 RockyMullet: maybe it's finally it
 Nerchio: whats your deptyh
 captnchr1s: how many depth do you calculate and with which programming language?
 captnchr1s: i use python and depth 3 is my max :(
 captnchr1s: This is like 200 nodes. I need some tips
 RockyMullet: Nerchio now around 5-6
 captnchr1s: which coding language? and how many nodes do you visit?
 AntiCheap: yeah bot filled up inv
 NitMpez: i get around 7 to 8 but but boggle
 RockyMullet: I added a check for duplicate so, even if I'm not going THAT deeper, I check more different moves, so better result
 NitMpez: yeah, working on that
 NitMpez: i am
 captnchr1s: May be its just faster. Not sure if iam done here. I have node duplicate pruning already
 RockyMullet: first 10 games 100% win, there's hope
 RockyMullet: yeah C++
 Nerchio: what do you aim for
 RockyMullet: beat silver boss and get gold already haha
 RockyMullet: all win in 14, looking good !
 wlesavo: from silver to legend!
 RockyMullet: was dancing between 50th and 100th silver with my other submit
 RockyMullet: wlesavo oh is it out yet ?
 RockyMullet: must be around now ?
 Nerchio: yeah 20 ppl
 wlesavo: already, yeah
 RockyMullet: urrhhhh a timeout losse
 Samer: i get timeouts too, and i only sim for 40ms
 RockyMullet: damn I should not have submited at the same time has new league lol
 RockyMullet: Samer I stop at 35 ms
 Samer: any idea why that is still happening?
 RockyMullet: dont know, somehow this contest, you need to stop really early
 RockyMullet: I never had to go under 40ms
 Samer: btw good luck RockyMullet, i'm rank 7 silver but still fixing a bug, hopefully should get me in gold
 RockyMullet: but again, I dont always do a sim
 RockyMullet: but this one is pretty much a "must sim" one
 RockyMullet: Samer I'll give you a little push to get you gold :D
 eulerscheZahl: legend :tada:
 Samer: yeah, i've played contests before, even made it once to gold, and never learned how to sim... this time, it was mandatory to sim, so learned a bit and it's working well so far
 Nerchio: gratz euler
 Nerchio: sad its not C#
 Nerchio: :D
 RockyMullet: yeah some times you gotta get out of your comfort zone, this one is kicking me out of it, in the rain, during a hurricain
 eulerscheZahl: i left my comfort zone too
 Samer: looks like c++ has the best odds of going legend
 DomiKo: As always
 eulerscheZahl: how's the boss btw?
 Samer: i can see why, they're getting over 50k sims.. while with my c# and limited skills i only get 4k
 wlesavo: wouldnt call it odds
 NitMpez: timing out
 RockyMullet: well pretty much all legends can do everything, so in the end, only perf can ever matter
 NitMpez: it is dbdr bot
 RockyMullet: laguanges*
 eulerscheZahl: oh, that one was pretty low
 eulerscheZahl: saiksy getting old and showing some mercy
 dbdr: #18
 eulerscheZahl: low
 NitMpez: it was 18th i think when they did the legend league
 dbdr: but I finished #15 and you #14 in legend, eulerscheZahl ;)
 dbdr: for the rerun
 RockyMullet: too many timeouts...
 eulerscheZahl: i was offline so i couldn't see it
 RockyMullet: I'll resubmit later
 numb3r5: are there new abilities in the gold rank of coders strike back?
 LLG: yeah idk how they get to 100k+ sims
 dbdr: my first boss :)
 DomiKo: Here I go near top10
 RockyMullet: I know it's better, but it's somehow ranking worse because of timeouts
 numb3r5: or same as silver?
 wlesavo: dbdr congrats
 DomiKo: Do you guys have enemy detection in legend?
 dbdr: thx :)
 DomiKo: Someone haven't?
 LLG: my poor c# skills only got me to about 3-5k sims
 Samer: LLG same here, but my skills are really poor hehe
 eulerscheZahl: enemy decection?
 eulerscheZahl: i have no idea who my enemy is
 C.O.D.E2324: hi me new
 eulerscheZahl: but i know when the game will probably be over
 DomiKo: lol
 DomiKo: I have to write it :(
 C.O.D.E2324: wot u mean
 eulerscheZahl: really DomiKo? you rank above me
 numb3r5: hi C.O.D.E2324
 DomiKo: Yes
 C.O.D.E2324: hi
 DomiKo: :grin:
 Nerchio: domiko can see the end of the game from round 1
 Nerchio: cant beat it
 DomiKo: But I can't see if my opponent can see it too :(
 NitMpez: aren't you suppose to act like there is no finish line and keep on trying
 C.O.D.E2324: im scared:sob:
 eulerscheZahl: i don't like those legend players, they are kicking my butt
 DomiKo: Yea no fun playing with them
 struct: Lets go euler top 20 finish
 C.O.D.E2324: hey can u friend me
 C.O.D.E2324: :smile:
 eulerscheZahl: now i've invested too much time not to waste even more
 eulerscheZahl: i guess we are in this together now
 C.O.D.E2324: :smile
 Samer: RockyMullet you seem to be swinging around rank 150, not making much progress
 C.O.D.E2324: :paused:
 C.O.D.E2324: :no_mouth:
 numb3r5: :upside_down:
 C.O.D.E2324: :relaxed:
 C.O.D.E2324: friend me pls?
 C.O.D.E2324: hewo :no_mouth:
 numb3r5: trying to figure out how
 C.O.D.E2324: oh
 C.O.D.E2324: wait i think i can
 dbdr: sunk cost fallacy eulerscheZahl :D
 Eri24: got stuck in horse raising duals 
 C.O.D.E2324: hey im following u numb3r5
 struct: press hint button on the left
 AntiCheap: Das boss ist too strong.
 C.O.D.E2324: TOO STRONG
 Eri24: @struct  yeah i tried the hind 
 AntiCheap: what hind?
 C.O.D.E2324: :rage:
 Eri24: i can work with arrays but are to many comparisons
 C.O.D.E2324: :pensive:
 AntiCheap: What language eri
 C.O.D.E2324: wot u mean
 struct: Eri24 if you have an array in this order
20 1 50 30 25 39 2
 C.O.D.E2324: hey i just started here
 struct: but if you sort them
1 2 20 25 30 39 50
 struct: you can find it faster
 C.O.D.E2324: oi
 C.O.D.E2324: oi
 Eri24: i did that it works in 2 cases
 C.O.D.E2324: oi
 AntiCheap: GAS GAS GAS
 struct: you sorted?
 C.O.D.E2324: i
 C.O.D.E2324: i
 C.O.D.E2324: i
 struct: stop spam
 AntiCheap: sorry just when I submit a code you think will work
 Eri24: but the last one  have to many comparisons 
 AntiCheap: don't use sort
 struct: Eri paste your code here please
 AntiCheap: what you need is probably the highest or lowest
 numb3r5: C.O.D.E try "coders strike back" in the compete section
 Eri24: http://chat.codingame.com/pastebin/0f8ef2d7-b01e-4665-92a1-359ff3c52ef6
 C.O.D.E2324: wait wot u mean
 Eri24: the code i am working with
 C.O.D.E2324: IM PANIKING:confounded:
 arrayindex: this fun
 struct: Eri24 what is this supposed to do?
arr.push((a,b) => a-b)
 struct: Try it this way
 struct: put everything in arr
 struct: then
 struct: do arr = arr.sort((a,b)=>a-b);
 arrayindex: https://forum.freecodecamp.org/t/arr-sort-a-b-a-b-explanation/167677
 C.O.D.E2324: :ramen:
 Eri24: was a mistake i did now sorry 
 C.O.D.E2324: nom nom nom
 C.O.D.E2324: me eat ramen
 C.O.D.E2324: reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
 AntiSquid: stop spamming pikachu
 AntiSquid: dude . was going to have a conversation
 AntiSquid: :(
 AntiCheap: He's raichou
 struct: I warned him already
 AntiCheap: Evolved
 Eri24: Process has timed out. This may mean that your solution is not optimized enough to handle some cases.
 Eri24: is the sorting that makes that
 struct: Eri this is what I did
 LordSkaven: doesnt seem very evolved to me AntiCheap
 AntiSquid: still an electrical rat right? AntiCheap
 struct: arr = []
inside the for loop I do arr.push(pi)
 AntiCheap: Picachu is fun my bot is dumbbb
 struct: after the loop I do arr.sort();
 RohanasaurusRex: im pretty new to programming lol since you're asking I would recommend checking for an infinite while loop that you may have
 struct: Then I do a for to check minimum difference
 AntiSquid: no worries, you're not alone with your dumb bpot AntiCheap
 AntiSquid: oh mine is dumber
 AntiCheap: I added run when you're winning so you end game quick.
 AntiCheap: All the times it triggers it loses as brews stupid pot.
 AntiSquid: i need to restructure something but no time probably :/
 AntiSquid: first time silver Q_Q
 AntiCheap: I found out I was wasting 20ms to move structs
 AntiSquid: 20ms ? that's all my bot has and then times out
 AntiSquid: do you have no timeouts if you do 45ms or so ?
 AntiCheap: yes I do I was using 10ms to generate the tree then 20 to move it
 AntiCheap: 9 bytes per game state
 AntiSquid: how many nodes then
 AntiCheap: The issue was pots I learned
 AntiCheap: I learned 14 hahah
 AntiCheap: and has to account repeat
 AntiSquid: too few is also bad
 C.O.D.E2324: um
 C.O.D.E2324: i cant do the descent
 C.O.D.E2324: it hrd
 AntiCheap: Normally I would've timed out after a brew or rest.
 C.O.D.E2324: can u hlp me do the descent
 AntiSquid: hey pikachu welcome back
 AntiSquid: use a for loop
 C.O.D.E2324: ?
 AntiSquid: for the descent
 C.O.D.E2324: i just started here though
 AntiSquid: yes
 C.O.D.E2324: :disappointed:
 AntiSquid: for loop is not hard
 wendrul: where do you see your winrate?
 AntiSquid: promise
 AntiSquid: are you even in the contest? did you submit your bot wendrul ?
 AntiSquid: oh nvm you did
 AntiSquid: http://cgstats.magusgeek.com/app/fall-challenge-2020/wendrul this site doesn't find you 
 AntiSquid: so you'd need to add cg enhancer to your browser, not sure it has winrate though or you could download all replays with the api call
 numb3r5: do you unlock new abilities in the higher ranks?
 numb3r5: like from silver to gold, for coders strike back
 AntiSquid: bronze final
 numb3r5: so there's no difference?
 C.O.D.E2324: :sweat:
 C.O.D.E2324: i suck at this
 AntiSquid: no sweat pikachu
 AntiSquid: one day you might evolve
 C.O.D.E2324: the DESCENDER IS SO HRD
 AntiSquid: HRAD *
 AntiCheap: What's descender
 C.O.D.E2324: i meant the descent
 AntiSquid: https://www.codingame.com/training/easy/the-descent the descendant puzzle
 reCurse: Can you start behaving C.O.D.E2324
 AntiCheap: oh nice
 AntiCheap: something to do once this is over
 reCurse: This isn't a schoolyard
 AntiCheap: Definitely not studying maths
 particleflux: It's not? What is it then? :)
 AntiSquid: a place for friends and family to gather and share stories
 C.O.D.E2324: :sob:
 reCurse: I'll be swinging the hammer until it isn't at least
 AntiSquid: pikachu don't spam, they will kick you :(  i don't want that
 C.O.D.E2324: im not trying to
 Eri24: http://chat.codingame.com/pastebin/4fbba880-0983-4351-937d-061d2010deb3
 AntiSquid: no Q_Q poor pokeman, try harder lol
 numb3r5: why are there 2 numbers in debug mode for speed?
 C.O.D.E2324: ?
 AntiSquid: which game numb3r5 ? not sure what you mean
 numb3r5: in coders strike back
 AntiSquid: one is velocity ? check description on the left to see which is which
 AntiSquid: ah right vx vy i guess ?!
 numb3r5: oh
 numb3r5: ok
 numb3r5: thanks
 AntiSquid: np
 wendrul: oh thx AntiSquid i didn't see your message
 AntiSquid: .
 AntiSquid: np
 wendrul: but then rules don't change after bronze?
 AntiSquid: no
 wendrul: what rank are you squid?
 AntiSquid: btw guys, don't ban the pikachu or i'll have PETA on you @_@ 
pmed it, it's doing ok now
 AntiSquid: irrelevant, not great rank at all this time :D
 eulerscheZahl: fix your rank AntiSquid
 AntiSquid: no time
 eulerscheZahl: no time for losers
but we are the champions
 AntiCheap: maybe you
 eulerscheZahl: no, far away
 AntiCheap: Same lmao well done to who's in legend
 C.O.D.E2324: im back
 eulerscheZahl: this time i'll be happy if i reach top20 at the end
 AntiSquid: hope your good twin defeats you
 eulerscheZahl: daiver?
 AntiSquid: yup
 AntiCheap: Gauss
 eulerscheZahl: harsh
 AntiCheap: I was told what euler didn't do gauss did it
 PatrickMcGinnisII: I'm gonna struggle to get to gold in 2.5 days at this point, I spent too much time experimenting looking for shortcuts to crunching numbers
 C.O.D.E2324: wot u mean 
 ClockSort: Legend is open, and I am not in. Yet.
 PatrickMcGinnisII: no I didn't play world of tanks
 PatrickMcGinnisII: wow din't know, 23 in legend, gj guys
 eulerscheZahl: this contest definitely isn't designed with PHP coders like you in mind
 dbdr: I wonder if there will be any non-compiled language in legend
 MadKnight: hmmm can u make a NN that would fit in 200kb for this game?
 eulerscheZahl: my prediction: java and possibly C# will be the slowest
 eulerscheZahl: no python or alike
 eulerscheZahl: but i'll gladly be proven wrong here
 struct: There is 1 java in legend already right?
 dbdr: inb4 someone switches to bash in legend
 dbdr: yes
 struct: Damn
 PatrickMcGinnisII: I still have an idea up my sleeve to get to gold.  Surprised the PY aren't doing better, but then again I watched a few streams on twith with PYers...and then not so surprised
 Samer: hmm do you think i have time to learn c++ and convert my c# code in 2 days? :)
 eulerscheZahl: that java guy is better than me :/
 C.O.D.E2324: how
 eulerscheZahl: i converted my bot in 1 day, so yes
 dbdr: C# is fast enough for legend
 struct: If java made so can C#
 dbdr: yes
 struct: Now you will need to improve your bot dbd
 C.O.D.E2324: hey me gonna try clash of code
 miszu: glad to hear the success for reaching legendary is not blocked by the choice of language
 C.O.D.E2324: wish me luck
 AntiSquid: pikachu try the contest https://www.codingame.com/contests/fall-challenge-2020
 dbdr: made minor improvements already
 C.O.D.E2324: i am
 MadKnight: give him something simpler to start with AntiSquid
 C.O.D.E2324: um guys it starting
 C.O.D.E2324: bye
 C.O.D.E2324: phew
 AntiSquid: throw your pokeball at it, maybe it stops spamming and then you can train it in CSB MadKnight
 AntiSquid: also aim for the head
 C.O.D.E2324: dude im in the clash of code
 C.O.D.E2324: ROGHT NOW
 emh: 57 submits
 Nerchio: that's a lot?
 emh: maybe.. for 2-3 days
 emh: think I started quite late in the contest
 C.O.D.E2324: oof
 Nerchio: i had hundreds of submits in other contests but this one was too laggy to submit
 Nerchio: so 38 this time
 Nerchio: from day1
 MadKnight: meh AntiSquid i'm not interested in that anymore
 struct: 12
 DomiKo: 67 here
 C.O.D.E2324: GUYS!?
 AntiSquid: so how do we train this pokeman ? MadKnight
 Icebox: test
 Icebox: ah
 Icebox: mod icon is back
 AntiSquid: :o
 struct: Icebox you want to try to see if it works?
 Icebox: ÖD
 Nerchio: is there anyone here without mod icon
 Icebox: :D *
 AntiSquid: now you have a pokeball too Icebox
 Icebox: yes
 C.O.D.E2324: ?
 struct: Do it Icebox or ill do it
 Icebox: rip
 AntiSquid: no! don't hurt my pokemon
 MadKnight: did Icebox hack CG to give himself the icon ?
 struct: yes
 Icebox: yes MadKnight
 DomiKo: so many mods here
 eulerscheZahl: :wave:
 Astrobytes: we're always here
 eulerscheZahl: this is getting scary
 Icebox: yes, because the moderation team is made pretty much of most active members :D
 struct: pls no ban
 MadKnight: and Icebox
 Icebox: :hammer:
 Nerchio: luckily automaton2000 is not a mod
 Automaton2000: there are other things to do
 eulerscheZahl: or NN
 DomiKo: yea
 emh: Silver is too large. easy to beat boss but hard to climb to it
 MadKnight: Icebox hack Automaton2000's icon now
 Automaton2000: there are no new rules after bronze
 Icebox: MadKnight the fact that I'm almost 24/7 active during all and every single contest of CG I think is good enough
 Icebox: but yea, I would assume that I'm the least active member outside of contests
 Icebox: :(
 Astrobytes: Fix it.
 Icebox: on it
 MadKnight: almost 24/7 during contests? are u getting almost no sleep in 10 days ?
 AntiSquid: my pokeman is very stressed now
 AntiSquid: it doesn't want to be tamed Q_Q
 AntiSquid: oh well, i tried
 struct: well its his last try
 Icebox: MadKnight lets say that my sleep schedule doesn't follow any timezones during contests
 AntiSquid: good bye pikachu, hope you find friends and happiness ! 
 Icebox: I mean it's 8:24PM here in germany and I just ate breakfast after waking up 1h ago
 Icebox: :)
 struct: lets go all night
 struct: discord
 Icebox: sure? why not
 struct: But later, its still early
 particleflux: that discord is kinda dead, hu? Figured since this chat was way more active back then, that all moved to discord.. But well, it's many people but all idling
 Icebox: for actually meaningful discussions that sometimes take over a couple of days discord is still the better place
 Icebox: since you can read what everyone has to say even a day after it
 Icebox: and a lot less spam there
 miszu: which channel on discord?
 Icebox: any :thinking:
 AntiSquid: chat history https://cg.spdns.eu/wiki/Special:PrefixIndex?prefix=World&namespace=3000 for CG
 Icebox: if it's a discussion about bugs then in the bug channel, if about fall challenge then in fall challenge channel etc
 particleflux: History starting at 1970-01-01, classic :D
 Zhmyh: checkmate, christians :D
 tomatoes: hehe
 ParticleBeam: This C# assistant is not working too well for me. Error lines everywhere that are not errors
 mlemm: https://www.codingame.com/forum/t/codingame-sync-beta/614
 mlemm: use external IDEs
 mlemm: unless you're already using one :sweat_smile:
 tomatoes: never saw assistant works fine :rolling_eyes:
 blasterpoard: https://www.codingame.com/replay/507297025 these bots are identical after turn 8... it's disgusting how much of a difference spell selection makes
 Zenoscave: How do you know if it's a "good" spell" aren't they all somewhat balanced
 eulerscheZahl: your bot should just burn a few blue with an extra learn. nut i agree that learn is both important and a mystery
 eulerscheZahl: no zeno, some are better
 eulerscheZahl: e.g. you have +3 blue and +4 blue
 blasterpoard: [0 -2 2 0] is one of the very strong ones, for example
 blasterpoard: and you want at least one that doesn't have any cost
 tomatoes: hello worlds
 Zenoscave: hmmm I think learning only first is my issue then
 NinjaDoggy: nah
 NinjaDoggy: I will reach legend will hard coded learn 8 turns ;)
 tomatoes: combos need :no_mouth:
 Zenoscave: But do you learn just tomeindex 0?
 NinjaDoggy: yea
 miszu: just learning the 1st 8 spells is enough to beat silver?
 NinjaDoggy: yea easily
 miszu: "easilly"
 miszu: sorry I am a peasant
 NinjaDoggy: as in
 NinjaDoggy: that isn't going to bottle neck you
 NinjaDoggy: it's not easy ofcourse
 reCurse: easily -> not easy ofcourse :thinking:
 Zenoscave: Any legend using beam search?
 NinjaDoggy: -_-
 NinjaDoggy: learning the 1st 8 spells is easily enough to beat silver, but it's not an easy task
 NinjaDoggy: happy? >.>
 Zenoscave: die
 StrykerS: REEEEEEEEEEEEEEEEEEEEEEEEEEE
 tomatoes: or
 reCurse: bye
 Zenoscave: banhammer reCurse?
 miszu: Question, I know in c++ using const the compiler optimize the speed. But did anyone benchmark it? Do you notice a significant difference?
 Karang: const is more about giving your intent to the compiler, it may be able to use this knowledge to do some optimisation
 Karang: but its not automatic
 Karang: it depends of other factors also
 reCurse: I don't recall any optimization made possible by const
 miszu: ok so it's more about intent. People on forum says it might optimize it. If you know you don't modify the value, then you could reduce # of ops.
 Karang: at best it could reduce the amount of bugs you have
 miszu: yeah fair enough
 jacek: meow
 tomatoes: woof
 mlemm: mlem
 miszu: Ring-ding-ding-ding-dingeringeding
 Ramdeath: is somewhere full list of spells and potions?
 Icebox: yes
 eulerscheZahl: https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/Deck.java
 eulerscheZahl: faster :D
 Icebox: it's not a competition eulerscheZahl :D
 ParticleBeam: Im clearly not doing sims properly
 eulerscheZahl: it always is. and Astrobytes doesn't even try anymore
 Icebox: ah yes
 Astrobytes: It's been a rough year, don't really have the mindset if I'm completely honest
 Icebox: the competition of being more helpful 
 Ramdeath: tnx eulerscheZahl
 eulerscheZahl: still no medic for you? :(
 Astrobytes: I just hand the win to whoever is fastest
 Astrobytes: Nope.
 AntiSquid: are you serious? lots of people i know got their appointments late, but still got them .
 Astrobytes: No scan.
 AntiSquid: not even the god damn scan? wow
 AntiSquid: can you not ask GP to make it more urgent ?
 Astrobytes: I know right. No, it's officially "out of their hands". They have no influence.
 Astrobytes: When I call the radiology dept at the hospital, they say they're backlogged.
 Topjimmies: for my bfs should I not be using lists? because I'm ending up timing out at depth 3
 AntiSquid: wanted to do a basic dental check mid summer, dentists were closed, apparently they need special setup for "safety", but then i wonder what if someone has real issues ...
 miszu: Astrobytes which country?
 xSkyline: my minimax bot in silver is kicking the ass of the bot I "improved" for the past 3 days
 AntiSquid: GREAT britain miszu
 Astrobytes: Scotland, UK miszu
 Astrobytes: lol squiddy
 miszu: here in Montreal, the hospitals are garbage
 miszu: 24 hours in emergency
 Zenoscave: Same in USA
 Zenoscave: but for other reason
 Icebox: Here in germany... We're kinda fine ngl
 miszu: isn't USA like... instantanious but expensive bills?
 Icebox: :D
 AntiSquid: just joking, i mean it's relatively good country overall Astrobytes
 Astrobytes: It *was*
 AbundantPuddle: Sorry to hear Astro. I didn'
 AbundantPuddle: t know you were ill.
 AntiSquid: where would you move to astro ?
 therealbeef: my wife usually goes back to Korea if she really needs some treatment; it's faster than waiting for it here
 Astrobytes: Sweden probably
 Zenoscave: Come to cheeto face land
 Astrobytes: AbundantPuddle: Bone/spinal issue
 AbundantPuddle: The hospitals in the US aren't necessarily too bad, but when dealing with insurance and hospitals together for major things, you get backlogged too for important life-saving procedures. It's still sickening here. Especially with everything else going on here at the moment.
 Astrobytes: Not cheeto-face for long Zenoscave, soon to be Wrinkly Face Land :D
 Zenoscave: true Astrobytes
 AbundantPuddle: Oh he's kicking and screaming the whole way out. Currently he's meeting with officials to try to have them appoint electors that go against the state's votes.
 AntiSquid: the hospitals in US are too expensive
 AntiSquid: UK is free
when it's available
 Zenoscave: GA recount is still for Wrinkly Face so that was a hilarious day. I can't wait to get rid of ol' cheetoh head
 Astrobytes: I don't think he'll get anywhere AbundantPuddle, he'll wreak as much havoc as he can before they drag him out
 therealbeef: 'free' you mean someone else is paying
 Astrobytes: No, we all pay towards it
 tomatoes: thats ok
 AntiSquid: i've seen jokes online about patients fighting paramedics due to the huge cost AbundantPuddle
 Zenoscave: It isn't far from the truth AntiCheap
 struct: Here some nurses wanted to quit
 struct: but they cant
 AntiSquid: Q_Q
 struct: because of covid
 struct: They are forced to stay
 struct: They wanted to switch hospitals, and cant
 Zenoscave: I know friends who avoid medical procedures due to exorbitant costs regularly
 Nerchio: https://www.codingame.com/replay/507327363
 Nerchio: this guy has nice icons wtf :D
 AbundantPuddle: Yeah, that's his plan. I honestly don't think it's going to work, but yeah, he'll wreak as much havoc as he can. I don't even think he realizes the damage he is causing. He's like a narcissistic 3 year old.
 Astrobytes: Indeed.
 Astrobytes: Anyway, moving on.
 AntiSquid: idk, biden side seems fishy too
 eulerscheZahl: your nodes count is going nuts Nerchio
 Astrobytes: ... (move on - that's your cue!)
 Nerchio: it's java ofc its going nuts
 struct: 100k plus on java
 struct: nice
 AbundantPuddle: All politicians are suspect to me, but I would take Biden over Trump any day.
 therealbeef: What happened to Mayor Pete? :-(
 AntiSquid: redo the entire thing then, biden has dementia :/
 AntiSquid: get younger candidates lol
 AbundantPuddle: Lmao
 eulerscheZahl: pete quimby?
 eulerscheZahl: wait, it's fred
 struct: Yeah whats the point of having 75+ years old running the country?
 AbundantPuddle: Quimby? From "The Simpsons?" Lol.
 AntiSquid: at least in UK one can vote for awesome candidates like Lord Buckethead
 Nerchio: yeah not sure why they dont bring younger candidates but maybe there's some research where people are more willing to trust older guys idk?
 therealbeef: Restrict candidates to people who can reach silver on CG at least
 Astrobytes: Close. Tom and Jerry animator I think
 AbundantPuddle: Well if Biden become unable to perform his duties while in office, it gets passed on to Kamala Harris.
 AntiSquid: there's a huge chance that will happen 
 therealbeef: Can she have two full terms after finishing Biden's first? Was wondering that
 AntiSquid: she's not the best democrat candidate 
 Zenoscave: only if she spends less than half the term
 AntiSquid: also wonder what happened to obama ? thought he'd be able to get a 3rd now if he tried
 AntiSquid: or was he no good?
 AbundantPuddle: Yes, and that is the only way a president in the US can serve more than 8 years.
 Zenoscave: no, you can only serce two terms
 Zenoscave: *serve *full
 AbundantPuddle: No, Obama wouldn't be able to be president again.
 AntiSquid: is it not 3 terms total if you have a break inbetween somewhere ?
 Astrobytes: serced yourself up there Zenoscave :P
 AbundantPuddle: Nope
 Zenoscave: lol Astrobytes
 AntiSquid: mixed it up with some other country then
 AbundantPuddle: Yeah, it's only two full terms in general. I believe the only president to actually not serve them consecutively was Grover Cleveland if I'm not mistaken. Every other president who served two terms did so back to back.
 Nerchio: so do you guys do search from round 1 or still few turns of hard coded buying
 Nerchio: ?
 Counterbalance: https://xkcd.com/2383/ 7th row, 4th panel
 tomatoes: im pretending to have tome spells
 RohanasaurusRex: Yeah Roosevelt was the only president to have ever served more than 2 terms
 tomatoes: then some counts
 AntiSquid: time for some of the more fabulous candidates out there:
Jesse Ventura, John McAfee ! 
 ZarthaxX: wtf
 Zenoscave: As in McAfee antivirus?
 AntiSquid: say what you want but those two are better than what you got running atm 
 AbundantPuddle: I don't like McAfee
 AntiSquid: yes that guy zeno 
 Astrobytes: Perhaps Ace Ventura and Nanny McPhee
 Zenoscave: lol Again with the jokes Astrobytes
 AntiSquid: jim carey got wrecked by drugs
 AbundantPuddle: I mean I wouldn't want Ventura running the country either if I'm honest, but I really dislike McAfee as a person in general.
 cocoche007: automaton2000, coucou
 AbundantPuddle: I would vote for Ace Ventura any day.
 Automaton2000: your bot is still a thing?
 cocoche007: automaton2000 Tu me files en PM, le killing fitness ?
 Automaton2000: might be a bit faster
 AntiSquid: non
 AntiSquid: faux channel ... :P
 jacek: AutomatonNN eh?
 AutomatonNN: ̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤
 therealbeef: No valgrind/callgrind on MacOS Catalina? :-(
 Icebox: aaaaa he did thie thing
 Icebox: bad AutomatonNN
 AutomatonNN: when i fail the result of the contest
 AntiSquid: why mac when you can / should use linux 
 therealbeef: I like the GUI and xcode
 struct: Icebox wanna do it now?
 AbundantPuddle: What is up with the funky text flair from Automaton @ 4:50PM
 struct: Someone pasted that on chat and he copied it
 AbundantPuddle: Interesting. Is that the next competition? Breaking the chat?
 AbundantPuddle: xp
 Bobbadillio: redo the entire thing, one of the voters had dementia
 Bobbadillio: lol, sorry, I was way behind chat. please ignore 
 mel-hadj: hi guys please how can I CREATE my node to work with BFS 
 Michael_Howard: That's the biggest part of the challenge
 Bobbadillio: mel, have you done BFS before? I haven't done it in this comp yet, but I assume it's like a normal BFS. You start with a node, you figure out what nodes are reachable from the current node and add them to a queue of nodes.
As long as there are nodes in the queue, you take the first one, check if it's been visited before, and throw its children into the queue if it hasn't
 Michael_Howard: Depending on how detailed your sim is I guess
 dauom: can we cast a spell right after learning it?
 PatrickMcGinnisII: it shows up in your castlist next turn dauom
 dauom: Noice! thanks
 RockyMullet: ok, this time im done for real, silver it is
 RockyMullet: I'm demoting myself chat troll
 PatrickMcGinnisII: position better than mine mr. mullet
 PatrickMcGinnisII: 2 days.... ;)
 Astrobytes: busy on the weekend Rocky?
 RockyMullet: hey I dont want to demotivate others, it's just really not my cup of tea and I've been having almost no improvement for 3 days now
 Astrobytes: hehe same
 RockyMullet: Astrobytes nah, just not interested anymore
 Astrobytes: In Bronze though, and I've made very little real effort
 PatrickMcGinnisII: i went for rewrite, too scared to resub yet
 RockyMullet: well I made way too much effort without barring any fruits so, for my mental health, it's gotta be over lol
 AllYourMCTS: RockyMullet same
 SirLoxley: dito. It's more draining than work
 RockyMullet: yeah lol
 SinOfWrath: Every contest I'm leaving real coding for last weekend and barely make it to gold. By the time I do, I'm too tired to progress. This time I did it last weekend got to gold on opening and now I feel like Legend is impossible. :D
 AllYourMCTS: hey rocky we are about the same! i think my new goal is to just make it out of silver lol
 Bubaptik: "Fall Challenge 2020" a.k.a. "Showdown at the C++ Corral"
 RockyMullet: yeah been my goal for 4 days now lol
 Astrobytes: I'm not sure if I'm motivated enough to rewrite tomorrow as I planned
 RockyMullet: I need a new goal I guess
 AllYourMCTS: same >.>
 Astrobytes: Goal = beer;
 AllYourMCTS: making friend?
 RockyMullet: Astrobytes yeah I everybody's talking about beam search, but I already rewrote my bot twice
 RockyMullet: I don't have the motivation to do it a 3rd time
 RockyMullet: oh well I'll still hang around, trying to not be too much melodramatic :D
 Astrobytes: :D
 mel-hadj: every time  i create my node to work with BFS it gives me timeout
 RockyMullet: I see Thibault is stuck in top of silver too, maybe he'll whisper is someone's here to make silver boss easier :P
 RockyMullet: ear*
 SirLoxley: yay, Silver. Finally.
 AllYourMCTS: prizes for being top of silver right?
 PatrickMcGinnisII: :sob:
 RockyMullet: It's a paper medal written "you're special" on it I think
 RockyMullet: I cant wait
 Astrobytes: you can make it and wear it now for inspiration :P
 AllYourMCTS: same im hyped for my medal
 PatrickMcGinnisII: silver... you are now ranked potatoe, gold...you are now ranked golden potatoe
 RockyMullet: Dress like the prize you want, not the one you have
 Astrobytes: haha!
 PatrickMcGinnisII: legend... baked potato
 SirLoxley: I would say ... legend, you finally get to sleep
 Astrobytes: lol
 Astrobytes: congrats on silver btw SirLoxley :)
 pedrosorio: Question: I have a Java bot, pure BFS with some heuristic to pick the best final state, which I haven't touched in 2 days (and is worse than the version I had 3 days ago)
Should I spend the weekend rewriting in C++ or try to improve the strategy on the Java one?
 SirLoxley: yeah, honestly that's as far as I will make it. Weekend with the kids ahead
 Astrobytes: Ah. Always a killer!
 SirLoxley: I seriously need something else than this. I haven't spend that much time coding ... since 20 years or so
 SirLoxley: It was fun though
 RockyMullet: SirLoxley there's a lot of other bots on the platform
 RockyMullet: old contest are up forever
 RockyMullet: and now that they opened their tools, there are some pretty good community ones too
 SirLoxley: I did the spring contest, but had to drop out after Bronze
 Bubaptik: my kids (4, 2) enjoy watching the witches brew
 RockyMullet: like if you want to continue improving the spring contestt, it's still on the paltform
 SirLoxley: They are adorable.
 SirLoxley: I have added random curses from that Asterix tome
 RockyMullet: Bubaptik gotta give credits were it's due, it's the best looking art they made for a contest imo
 Astrobytes: SirLoxley: what Rocky means is all (well, most) of the previous contests are still available to play as multiplayers on here
 SirLoxley: From Astérix chez Rahàzade
 RockyMullet: Astrobytes yeah a lot of words to say that :P
 SirLoxley: I got that
 Bubaptik: 2 days in the contest my 4-yo daughter even asked me why does the opponent witch hold her kin (the LEARN move) and my doesn't :D
 Astrobytes: There are also user-created games too
 daniel-s: Is this side-chat on a discord server?
 Astrobytes: lol RockyMullet :D
 Astrobytes: discord server is separate daniel-s
 RockyMullet: daniel-s there's a discord sever yeah, that's the "on site" chat let's say
 Astrobytes: join link is up top
 JohnCM: silver boss is like a gold boss
 RockyMullet: JohnCM exactly
 RockyMullet: probably influence by the fact there's way much more player than usual
 Astrobytes: which (witch? :P ) is cool to see tbh 
 Whiskee: does "beat the boss" mean get firt in the ladder since the boss is 2°?
 Whiskee: *first
 Astrobytes: yeah, be above the boss when your submit finishes
 Astrobytes: You need more points than the boss. You don't need to beat him 100% but you need to be above him in points
 PatrickMcGinnisII: why does a damn learn id change when it becomes a cast? wth
 ClockSort: at least it's documented
 ClockSort: it's so that if both players learn the thing, they can have separate ids in their  spell collections
 RockyMullet: PatrickMcGinnisII cause your opponent can learn it and they need different Id I guess
 PatrickMcGinnisII: I'm not up to the point of simming opponent
 PatrickMcGinnisII: but i kinda get it
 PatrickMcGinnisII: so you don't have to keep repeatable data separate i guess
 PatrickMcGinnisII: if all learnables were repeatable it wouldn't matter i wiouldn't think
 PatrickMcGinnisII: so opponent wouldn't exhaust and vice versa when using same ids...hmmm....but OP casts....ok apples/oranges
 PatrickMcGinnisII: makes it easy for referee to detect bad casts
 PatrickMcGinnisII: but harder to use parts of a tree from one turn to another
 PatrickMcGinnisII: and new castid is only predictable if you look at player1 data
 SirLoxley: you can still compare by ingredients. I work with internal ids and only on the very end it translates it to the IDs used in game
 pedrosorio: I don't think this has anything to do with logic or making it easier or harder for the referee to judge the commands
 pedrosorio: it's purely an implementation detail: https://github.com/CodinGame/FallChallenge2020/blob/main/src/main/java/com/codingame/game/spell/Spell.java#L10
 PatrickMcGinnisII: wow, the overhead.
 PatrickMcGinnisII: i hate throwing away everything from turn to turn, but that's kinda what I'm doing
 PatrickMcGinnisII: ok I keep how many brews are completed for each player and the last turn # of the brew
 miszu: today I had a practical lesson of why break/continue statement is a bad practice
 miszu: I did the aneo practice challenge where you had to deal with rounding error. I thought I fixed it by simply avoiding division at all but I still got wrong answer. Turned out my break statement was in the wrong place.
 reCurse: It's not a bad practice
 numb3r5: In the coders strike back home screen, there's a clip of a 2 vs 2 match, with the pods moving super fast. How do you do that in the actual game?
 ddreams: settings, speed x10?
 miszu: it makes it hard to read. At work I always avoid it and you can always have clean code.
 numb3r5: It says x1 speed
 ddreams: I kind of remember there's a boost command
 numb3r5: yes but only once per match
 Illedan: Pods can use more thrust in the highest league.
 numb3r5: oh
 numb3r5: how do you get the 2 v 2?
 numb3r5: in the highest league?
 Illedan: Gold I think, but don't quite remembe
 miszu: yeah gold
 struct: When i spend 10 minutes on this bug
 struct: http://chat.codingame.com/pastebin/70692e48-3742-4f64-bc91-1499fa8d686f
 miszu: :D
 Nerchio: lol
 NinjaDoggy: ok... It appears that learning the first tome for the first 8 turns is not enough for legend :(
 Nerchio: :S
 Nerchio: bad news
 AllYourMCTS: but are you sure
 ClockSort: i bet it is
 ClockSort: i am working on a thing that might work
 ClockSort: competitors are improving fast
 Samer: i see the creepy priest from davinci code is on top
 Samer: or was it angels and demons?
 ClockSort: ninjadoggy did you create your own hashmap implementation?
 NinjaDoggy: not yet
 NinjaDoggy: but I don't think searching even 2 more depths will matter
 ClockSort: :exclamation_mark:
 Samer: come onnnnnn gold :(
 BoBot: stop pushing me down :D
 NinjaDoggy: like so many games are lost before it even starts...
 NinjaDoggy: my bot has pretty accurate enemy simulation now
 NinjaDoggy: and on the first turn it would output somethingl ike -30
 NinjaDoggy: and i'm like ok... gg i guess :(
 Samer: haha sorry BoBot
 Samer: damn... so close, both of us
 NinjaDoggy: (eval is just score difference)
 Samer: i need a tiny push now
 BoBot: @Samer so close here as well...I promised I will go to sleep several hours ago, instead I have been tweaking (overfitting against boss probably)
 Samer: it's 3am here
 BoBot: 2 am here, lol you are even worse then
 Samer: ksenia is killing me
 BoBot: 2 more people submitting, so it might shake it..whichever way
 Samer: yeah i'm monitoring
 Samer: i need ksenia promoted asap, she's really murdering me
 Samer: not that i would mind...
 Samer: she's on top now ;)
 ClockSort: competition is ramping up fast as more people join this weekend!
 Samer: BoBot you should resubmit :P
 Samer: help me help you
 BoBot: I guess I will, and go to sleep, maybe good news in the morning
 NinjaDoggy: wait... I made such a small change
 NinjaDoggy: and my bot is infinitely better D:
 NinjaDoggy: ok jk, lose streak just cam in LOL
 NinjaDoggy: came*
 Samer: resubmit, it happens
 Samer: oh sorry, thought it was bobot talking
 Bikoko: hmmm write code with java is slower than javascript
 Bikoko: but why java is more popular?
 struct: should not be slower
 Bikoko: java is prefer in my country
 Nerchio: because I will finish writing 3 different multiplayer bots in java in the time javascripter will fix 1 bug in his code
 ClockSort: javascript developer spend all his looking for the missing parentheses on his function call
 ClockSort: i need a flash of brilliant insight on how to handle the endgame
 Samer: BoBot you're nearly there
 Samer: you pushed one guy to gold, that's good i think
 Samer: my turn now
 ClockSort: i hope you get to gold soon, so you can start feeling bad about not being in legend
 Samer: my bot's pretty random, so i'll keep submitting til i get lucky
 Samer: ClockSort if i make it to gold, i'll sleep like a puppy.. i have no ambition to reach legend, i know my skills are very limited
 Samer: soooo close
 miszu: gonna write my bfs for the contest. But first, need a smart game engine
 Samer: BoBot you're tied with boss
 Samer: and you're in gold, congrats
 miszu: BoBot, share your wisdom
 NoobCod3: yo guys I need someone to teach me how to code in Python
 NoobCod3: please
 JohnCM: in c++ should I use arrays or lists?
 JohnCM: to store the input variables
 miszu: I think it doesn't matter here
 miszu: unless you are in legendary
 therealbeef: lists are evil
 pmor: you want to use arrays or vectors 99% of the time over lists
 JohnCM: ok but how do i store an unlimited array
 therealbeef: 100% of the time :)
 JohnCM: like since the number of spells keeps increasing
 pmor: vector
 JohnCM: vector same speed as array?
 miszu: you can use vector and precompute in runningtime the space
 miszu: vector slightly slower
 miszu: dunno the benchmark
 pmor: yes, except on reallocation
 pmor: so use reserve() when you can
 JohnCM: ok ty
 miszu: can't you use the vector constructor with size of # of spells?
 JohnCM: or i can just predefine array size [42][9]
 miszu: why the 9?
 JohnCM: or 10
 miszu: why 10?
 JohnCM: input elements\
 miszu: what that array store though?
 miszu: trying to understand
 pmor: you don't really need to preallocate for the input
 pmor: just push_back() into the vector
 ddreams: here's a tip: make a struct exactly like the input elements, put it in a vector
 pmor: then you don't have to worry about sizes
 SelectNull: 3 tests in arena and all times my bot stops on 2-5 position...
 ddreams: don't worry about minor performance differences until you're much further
 miszu: ddreams I don't see how that is helpful.
 pmor: i did a bunch of changes to my mcts.  Works perfectly locally.  Timeouts on codinggame  :(
 miszu: that struct is your state?
 ddreams: http://chat.codingame.com/pastebin/deb10d5a-c54b-4520-a42d-b96df2143177
 SelectNull: heheh... I'm first in silver; I would prefer to be last in gold....
 ddreams: in the beginning, yes
 pmor: and that's probably the end of my contest
 ddreams: changing to use smaller data structures when it works
 JohnCM: can show me example of how to add struct to vector?
 JohnCM: sry new to c++ here
 miszu: ohh okay. And the inventory I assume an array of size 4?
 ddreams: ah, yep
 ddreams: typedef array<int,4> i4;
 pmor: ddreams, that looks exactly like mine :)... except I also include an operator>> overload to read in the data
 miszu: vector<Struct> myStruct;
Struct g(...)
myStruct.push_back(g)
 JohnCM: ok thanks!
 JohnCM: haha i'm used to python alr
 JohnCM: c++ feels a little wordy
 miszu: I was surprised yesterday that a set in c++ has no contains() function
 miszu: you have to do if (mySet.count(element) != mySet.end())
 pmor: contains is c++20
 miszu: it came very late to the party
 phord: set::count() essentially _is_ "contains", because a set can have only 1.
 miszu: I know but the intention is not about conting but to know if it contains
 phord: Yeah.  It is a bit disappointing.
 Samer: ksenia
 Samer: made it to gold.. finally
 Samer: she was constantly killing me
 JohnCM: wow vector is like a python list
 phord: :thumbsup:
 miszu: in your game engine, do you separate your tomes, spells and potions?
 JohnCM: i'm just trying to convert my python code into c++ really
 miszu: oh I am asking in general public
 JohnCM: it's 150 lines of code. once i convert it i can go 1-2 depths more, should get gold alr
 JohnCM: for bfs, you can also put nodes in a vector, rather than a list in c++ right
 pmor: I've used std::queue for bfs's in the past
 pmor: you could use vector though...but you would need to pop from the back
 JohnCM: vector can pop from both sides right
 pmor: no
 ddreams: Use a deque if you need that
 JohnCM: then probably need to use list
 miszu: use proper datastructure
 JohnCM: or queue
 miszu: well queue is a kind of list
 pmor: queue is a deque
 JohnCM: thanks for the help, really great for me using c++
 JohnCM: i'm more used to the standard c way without any list/vector/queue actually... but why reinvent the wheel when someone has optimized it
 pmor: oh, i was wrong...queue is whatever container you pass to it
 JohnCM: list<int> queue; 
 JohnCM: could just do this for bfs
 pmor: std::queue<int, std::deque<int>>
 pmor: that would be more efficient
 therealbeef: if you need to pop front, it might still be more efficient to use a vector and not actually pop it but store an offset where the vector 'really' begins
 miszu: why don't you put the whole struct in the queue?
 JohnCM: for each node state, i intend to use a struct
 JohnCM: then put the next state struct into a list/queue
 JohnCM: pop the list from front
 struct: 3 in a row, new record
 JohnCM: repeat until list empty
 ddreams: good plan
 miszu: how you do a pastebin here?
 struct: just paste code
 miszu: ohh
 miszu: ok so for my inventory main loop I did like that. Is that efficient enough? I feel like there would be a faster way to assign:
 miszu: http://chat.codingame.com/pastebin/a2c27e6c-e529-446b-9bdc-4681e2d40ae7
 ddreams: worry about correctness before performance, the compiler optimizes it anyway
 pmor: Youre not going to see any difference in timings by doing it any better
 xSkyline: lol don't worry about that init code, that's not where the bottleneck will be
 pmor: not with that code at least
 Samer: miszu i have no idea what that code means or is, but are those 4 lines in the end all supposed to contain inv0?
 ddreams: definitely a bug
 miszu: yeah I did a typoe. It's inv0 to 4
 miszu: it's when you read the inputs for the inventory
 pmor: if you want cleaner though, I'd overload operator<< and assign it to your inventory directly
 miszu: my inventory is a 2d array
 ddreams: probably better to use a struct, or you'll spend a lot of time fixing hard to see bugs because you mess up your indexes
 miszu: struct vs 2d array?
 pmor: 1d array of a struct
 miszu: well the struct is an inventory
 pmor: http://chat.codingame.com/pastebin/8e52ff1d-77f4-4766-b087-1367f835e3dc
 miszu: so an array of size 2?
 ddreams: oh, sorry, that's probably fine 
 miszu: ok yeah
 miszu: same conclusion ha :P
 pmor: http://chat.codingame.com/pastebin/34c9a01e-6de5-47e7-9555-0caab75f28a1
 miszu: oh.. that's some advanced coding here
 pmor: bah, i messed that up
 pmor: change out the variables and types
 pmor: then you can do cin >> inv
 miszu: overloading operator I am not comfy enough for that yet
 miszu: barely understood what a const function is inside of a struct/class
 pmor: const is more of a bookkeeping thing.  so you don't inadvertantly do something youre not supposed to
 miszu: it's more about understanding the language
 pmor: there is something to say about keeping it simple.  I'm screwed at the moment because I have a timeout I can't figure out
 pmor: Doesn't happen on my local simulations, just on the website
 miszu: did you put enough safechecks for the timeout?
 miszu: cerr takes time t owrite as well
 pmor: I had a mcts working pretty good...about to break out of bronze.
 miszu: ohh I see
 miszu: maybe lower the threshold
 pmor: Yeah, even at 10ms threshold it still times out
 miszu: for your actions, do you store all in a vector or you make 3 vectors for spell, potions and tomes?
 pmor: I have a struct for the player that has a struct Spells.  tome and potions are Spells
 JohnCM: wow mcts for bronze
 ddreams: @pmor, do you use the GCC optimize line?
 JohnCM: that sounds like gold standard
 pmor: yeah
 ddreams: try to comment it out
 ddreams: for whatever reason, my mcts timed out when I had that
 pmor: Nope...still the same
 pmor: That's probably the end of the contest for me. 
 pmor: before it got borked, I could nearly beat the boss with a simple heurestic function and no optimization
 miszu: I went to silver with just heuristics
 ddreams: how often do you check the timeout?
 miszu: no sims
 pmor: once per simulation
 phord: GCC optimize?  Shit, my speed just doubled!
 phord: What other crutches am I missing?
 pmor: I got to bronze with a heuristic i whipped up in about 30mins
 pmor: then went all out :)
 miszu: this is my struct for my GameEngine. Any recommendation or looks fine?
 miszu: http://chat.codingame.com/pastebin/b088efd5-3da8-4d63-8028-77ca877043a5
 ddreams: I used to use these lines in previous competitions
 ddreams: http://chat.codingame.com/pastebin/42facaf0-897a-499d-bf40-66c75f4a1486
 ddreams: now I have to comment them out to avoid timing out, can't explain why
 pmor: gcc
 pmor: wish they'd switch to clang
 pmor: those are essentially the same pragmas i use
 pmor: @miszu I would create a Player struct that contains your spells, inventor, and score
 pmor: then in your engine I'd have std::array<Player, 2> players;
 miszu: oh thanks pmor
 pmor: that'll give you a bit more organization
 miszu: I wish I could use arrays instead of vector but I guess it's too early to hit my head with optimizations
 pmor: but the layout is essentially the same as you posted
 pmor: vector is an array...that can grow
 miszu: the growing is what bothers me :D
 pmor: std::array offers the same iterating functions as vector
 pmor: since there is only 2 players, just use std::array<Player, 2>
 pmor: and you only need to worry about growing when you are in a bottleneck
 pmor: to avoid that you call vector::reserve()
 miszu: yeah I heard about reserve
 miszu: but I would need to override the default constructor
 miszu: but I'll worry later
 pmor: no you don't
 pmor: std::vector<Action> actions;
actions.reserve(90);
 Samer: reCurse submitting in silver
 Samer: destroying everyone
 Samer: it's hilarious
 miszu: lol
 pmor: that allocates space for 90 Actions, but does not initialize it
 Samer: zero losses, 7 points above boss
 miszu: make Canada great again
 miszu: I think he will get to legendary with that code
 Samer: i'm gonna watch his progress in gold in the next few minutes
 JohnCM: quick question: if i do push_back to a vector, does it copy the memory address or creates a duplicate of whatever i pass into it
 miszu: if you pass by value yes
 JohnCM: if i pass a struct?
 pmor: depends...
 miszu: by value too... depends what your struct has
 JohnCM: ok i'll test it out and see what works
 JohnCM: thanks
 JohnCM: c++ is quite intuitive
 pmor: the compiler decides to copy or move based on what youre doing
 JohnCM: i'm actually liking it
 JohnCM: haha
 JohnCM: http://chat.codingame.com/pastebin/cd274959-c121-4e7d-8134-5e59bab7ecb1
 JohnCM: this is my struct
 miszu: I am not sure the behavior of the array
 miszu: what happens
 pmor: what do you mean
 ddreams: @john in modern c++ it's better to use array<int, 4> instead of int[4]
 ddreams: has the same performance
 miszu: why is it better?
 miszu: I do int[4] as well
 pmor: gives you some nice functions to use
 pmor: plus you can do stuff like for(auto& i : inv) {}
 Icebox: 40% top of gold goes brrrr
 miszu: when you push a struct that has an array to a vector. does the array is copied as well? Or it points to the same thing?
 struct: legend or delete? oh wait
 Icebox: reCurse doing reCurse things
 pmor: @miszu yes...unless it's a pointer
 Samer: reCurse submitted in silver, and looks to be going straight to legend
 JohnCM: i think c++ is quite explicit. unless you pass pointer, they assume it is pass by value
 JohnCM: don't stress reCurse out haha..
 JohnCM: i just want to get to gold
 JohnCM: i'm already beating this silver boss more than 50% of the time with my python code
 miszu: your mcts?
 miszu: lol... 1st in gold
 Samer: by a large margin, so he's definitely beaten the boss... let's see where he ends up in legend
 miszu: meanwhile us struggling with basic c+++
 Samer: meanwhile i use arrays and lists and don't know wtf mcts and bfs are lol
 miszu: Samer, you are a beginner in coding?
 miszu: like no computer science knowledge?
 Samer: i'm not a programmer, i'm an engineer, so yes i'm a noob
 pmor: mcts = monte carlo tree simulation
bfs = breadth first search
 pmor: OMG - I think I found my issue
 miszu: I studied AI in university. Didn't get the MCTS until couple months ago haha
 miszu: pleasesahre
 Samer: i have good logic, but i don't know much coding and algos
 miszu: it's just reading
 pmor: I think I was using too much memory
 miszu: you don't reinvent the wheel
 miszu: it's more which tool to use
 rockstar555: HII
 miszu: ok so this is my latest datastructure for game engine
 miszu: http://chat.codingame.com/pastebin/48b0268b-a48d-464d-a4ee-0e36dd8736c3
 miszu: I think I am ready to do some damage
 pmor: looks good
 Samer: recurse 19th in legend... he's like the duracell bunny, goes on and on and on...
 miszu: thanks
 miszu: he is doing well
 Icebox: "unnamed player"
 Icebox: xD
 Icebox: And here I thought that was an actual german 
 Icebox: reCurse played us dirty :eyes:
 miszu: all struggling for days how to beat silver. Meanwhile him: let me code blinfolded in 1h
 ZarthaxX: who was him then
 Icebox: who knows :eyes:
 Icebox: but recurse entering legend made emil account delete itself
 ZarthaxX: expected
 Samer: hahaha
 JohnCM: if u code these ai bots, getting a decent one to gold is easy
 JohnCM: esp if you do so for work
 miszu: yeah but there are limited amount of algorithm to use for AIs
 miszu: unless you go into ML and reinforcment learning
 Samer: hmm
 Samer: i think i'm going to gold
 miszu: oh grats
 miszu: you are
 miszu: for sure
 miszu: you did sims Samer?
 pmor: I've done c++ for 20yrs, but never done ai.  I struggle a bit in these challenges
 pmor: good at offering help though :P
 Samer: i'm only simming my moves
 miszu: oh right MCTS
 Samer: and barely getting 2k or 3k each turn
 miszu: pmor that is fine too. AI is a new branch if you haven't done ayhting
 pmor: mcts that doesn't work
 Samer: i got logic elsewhere that's really made a difference
 miszu: how to compute all possible moves without bruteforcing? I can only thing of to go through all potions if I can brew, go through all spells if I can cast and how many times I can and go through all tomes and see if I can learn it
 JohnCM: you can prune
 JohnCM: if you learn spell A, then spell B. Is equivalent to spell B, then spell A
 Samer: what is pruning? sorry for the dumb question
 JohnCM: or same for casting
 Samer: ah hmm
 JohnCM: i meant casting, not learning
 JohnCM: haha learning order matters
 JohnCM: to prune, you need a way to represent the state of a game
 JohnCM: inventory, spell casted etc.
 sadakatsu: JohnCM is talking about an idea from board game programming called "transposition tables".
 JohnCM: then add it to a hasvisited buffer
 JohnCM: if you encounter a state where it has been visited, then don't continue further along that branch
 Icebox: "if you learn spell A, then spell B. Is equivalent to spell B, then spell A"
 Icebox: that is wrong
 sadakatsu: The moves made to arrive at game state A do not change the value or best way to play for state A.
 Samer: man i just play random moves to a particular depth, like 2000 times, then choose one based on a formula
 Icebox: learning costs ingredients
 Icebox: so the order matters
 miszu: Icebox is true. The # of turns are not the same
 JohnCM: yup i meant casting actually
 Icebox: that would also be wrong
 JohnCM: if you cast spell A, then B. or spell B, then A and get the same ingredients
 JohnCM: then it is the same state
 Icebox: well then it's not even pruning if you test whether you get same ingredients :D
 miszu: I guess cuz it's a scalar multiplication
 miszu: but my question was given a state, how you compute all transitions in an efficient matter
 miszu: appart from... brute force
 Icebox: post mortem ;)
 miszu: ;P
 miszu: :P
 miszu: ok another way: would bruteforce bottleneck to reach gold?
 Samer: i got to gold with bruteforce, if that's what it's called
 sadakatsu: I am currently bruteforcing with some constraints.  I am able to compute all the distance checks for current state, current state to learn every spell, and learned spell state to all orders in less than 1 ms
 miszu: brute force means trying all combinations without thinking
 sadakatsu: But I'm still Silver  orz
 Samer: then no i didn't bruteforce lol
 miszu: rip
 VincentBab: yukine3 push me please :D
 Samer: it's 5am, goodnight guys
 miszu: good night man
 miszu: congrats again
 Samer: thanks
 Samer: good luck to you
 miszu: thanks gonna need it
 miszu: Icebox when you told me you could O(1) get all possible transitions I was keep thinkinga bout it
 Tyir: that sounds impossible unless Icebox is not doing pure heuristics anymore
 miszu: alright gonna write the bruteforce way
 Tyir: there is like 2 days left, do whatever you can manage in that time. I'm about 1 hour into this so far and I don't think I have time for anything complex
 Icebox: Tyir I'm on C++ full search code since monday :D
 Tyir: i'm on random recipe, and random spells :)
 miszu: is this overkill?
 miszu: http://chat.codingame.com/pastebin/be30e40c-0a30-4911-b018-1195c6a2f314
 pmor: pass your parameters as (const Action& action)
 pmor: so you pass them by reference
 pmor: instead of copying them
 miszu: ohh thanks. I was thinking java way
 NitMpez: so i hear function calls are slow in c++ so my code is really messy
 miszu: bool canBrew(const Action &potion) const
 pmor: they're not slow
 pmor: functions also help the compiler optimize
 NitMpez: always see stuff about inlining them or just blowing them up in your code
 pmor: just make sure you pass parameters as reference
 miszu: yeah thanks
 pmor: int, char, float, etc.. don't need to be passed as reference unless you want to change them iside of the function
 miszu: yeah that's true cuz they are primitives
 NitMpez: yeah i do that... i just always swayed from using them cause i heard it was a speed hit
 struct: and they are small
 pmor: I've never measured a speed hit with excessive functions
 NitMpez: yeah im just going on whatever i read when I'm looking to optimize
 miszu: the tomeIndex is a postive or negative value?
 NitMpez: positive
 NitMpez: 0-6 or 0 for most everythign else
 NitMpez: 3 or 1 for the brews
 miszu: haha :P the 0 is most used
 Icebox: 0-5*
 pmor: I've done a fair bit of optimization... and I would not say that is true
 NitMpez: yeap what ice said
 NitMpez: i'm horrible with it so i just do what i can
 miszu: I don't understand the taxCount usage for a brew. What does it do?
 NitMpez: really out of ideas what to do to beat the gold boss... working on pruning and then maybe adjusting scoring but boggle
 NitMpez: so you can have 4 +3 and 4+1 to your brews
 NitMpez: they mark how many +3 and +1 you have left on the first and 2nd brew
 miszu: taxcount is basically the bonus?
 NitMpez: literally you can do price+tomeindex to get the bonus added in
 NitMpez: the tax count says how many bonuses you have left
 miszu: isn't price already included the bonus?
 NitMpez: nope bonus isn't included in the price
 miszu: mmmm
 JohnCM: last i checked it was though
 Icebox: it is NitMpez
 NitMpez: oh heck
 NitMpez: well there is another bug
 Icebox: :)
 miszu: ok so what is taxcount then?
 miszu: for a brew?
 NitMpez: should say how many bonuses are lft
 NitMpez: left*
 miszu: ohh okay
 JohnCM: taxcount is the number of tier 0 ingredients taxes when you learn a spell
 JohnCM: it is free tier 0 stuff
 JohnCM: like if ppl spend their tier 0 to learn spells, you can gain it for free if you learn that spell with a tax count
 miszu: yeah  but there is an explanation for brews
 miszu: that I don't get it
 NitMpez: basically if you brew the first brew, then the 2nd one will get the +3 bonus next, and the tax count marks how many +3 bonuses are left
 NitMpez: on the first brew
 miszu: after learning bunch of spells at beginning, should I bother to include learning new spells in my transitions or no?
 miszu: NitMpez thanks
 NitMpez: i'm sure there are cases that it is useful... but I'm horrible with learning spells
 NitMpez: ie... if a spell has a high tax count you might use it just to grab the tax
 RicksMLC: I look for 1 or 2 spells which have a big bonus (ie: no -ve and high +ve)
 miszu: ok makes sense
 NitMpez: really depends... if learning the skill will reduce your time to make your next or maybe following brew
 rockstar555: HII
 NitMpez: man im sad i didn't notice that the bonus was already included... thanks... i've had that bug for a while
 Icebox: np
 rockstar555: HOW TO SOLVE HUFFMAN CODE
 rockstar555: :thinking:
 miszu: how to handle multiple casts? I can't use a vector of action because it doesn't store how many times you want to cast it
 phord: vector<pair<action, count>>
 miszu: oh thanks