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