Chat:World/2020-11-20

From CG community
Revision as of 11:55, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/53505085688940> hbouillo: And I'm stuck arount 50th <img src=/a/1981479687869> Loran: oof <img src=/a/53505085688940> hbouillo: Yep :D <img src=/a/5350508568894...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Default avatar.png Rodrigo_the_coder: (╯°□°)╯︵ ┻━┻

Default avatar.png **Rodrigo_the_coder slaps JohnCM around a bit with a large fishbot

Default avatar.png **Rodrigo_the_coder lol

hbouillo: ┬─┬ ノ( ^_^ノ)

Loran: :rofl:

JohnCM: lol why

hbouillo: (╯°□°)╯︵ ┻━┻

Default avatar.png **Rodrigo_the_coder slaps around a bit with a large fishbot

ClockSort: i thought it was a trout

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

Default avatar.png Rodrigo_the_coder: (╯°□°)╯︵ ┻━┻

hbouillo: Alright, see you!

Default avatar.png **Rodrigo_the_coder slaps COdinGame around a bit with a large fishbot

Default avatar.png **Rodrigo_the_coder slaps CodinGame around a bit with a large fishbot

Default avatar.png **Rodrigo_the_coder slaps /flip around a bit with a large fishbot

Default avatar.png **Rodrigo_the_coder slaps everyone around a bit with a large fishbot

Default avatar.png **Rodrigo_the_coder slaps a fishbot around a bit with a large fishbot

Icebox: yeah you'll have to calm that down

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

Default avatar.png Rodrigo_the_coder: hmmm

Icebox: basically in the offchance that it works as intended there's no reason to reveal the strengh of it now

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

Default avatar.png Rodrigo_the_coder: :smile:

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!

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

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

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

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

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

Default avatar.png kreska: miszu and how do you store you states?

Default avatar.png kreska: legal moves i mean

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

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

Default avatar.png kreska: for sure there is

Default avatar.png kreska: but i don't get it if you simulate you should try all the legal moves right?

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

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

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

Default avatar.png **Rodrigo_the_coder slaps around a bit with a large fishbot

rockstar555: can i make software by using paython

Default avatar.png Rodrigo_the_coder: Tk()

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:

Default avatar.png LLG: finally got my duplicate detection to work

rockstar555: hii

Default avatar.png LLG: I made a tiiiiiny mistake while overriding GetHashCode

rockstar555: what is this

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

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

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

Default avatar.png kreska: some bfs + A star?

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:

Default avatar.png Rodrigo_the_coder: codingame

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?

Default avatar.png LordSkaven: "i like abusing the CG system" - Euler 2020

Westicles: Seems like a standard tool everyone should have here

Default avatar.png Rodrigo_the_coder: hardcode it

eulerscheZahl: the CG philisophy being that you can compute everything in 1s and don't have to hardcode it

Default avatar.png **Rodrigo_the_coder slaps brainf**k around a bit with a large fishbot

eulerscheZahl: was afk, beat me by a few seconds

Default avatar.png **Rodrigo_the_coder help

Default avatar.png Rodrigo_the_coder: /me: help

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

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

Default avatar.png kreska: im gold!! :D

JohnCM: congrats kreska

eulerscheZahl: i'm a toad

Default avatar.png kreska: Thank you JohnCM

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)

Default avatar.png Newbiegod: guys any advice how to improve my algorithm skills?

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

Default avatar.png BoBot: sorry, how do you print out chat message with your output?

NinjaDoggy: oh

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

Default avatar.png BoBot: this one! :D

NinjaDoggy: but there is one on discord

Michael_Howard: lol ok

Michael_Howard: yeah I see it, thanks.

Default avatar.png Rodrigo_the_coder: https://www.codingame.com/share-replay/506712848

Default avatar.png Rodrigo_the_coder: :D

Default avatar.png Rodrigo_the_coder: random's choice function helped me

Default avatar.png Rodrigo_the_coder: :'(

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

Default avatar.png Rodrigo_the_coder: how_to_bronze???

arrayindex: good question

Default avatar.png Rodrigo_the_coder: :'((

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

Default avatar.png Rodrigo_the_coder: :snoring:

AntiCheap: I get at most to layer 6 or 7

struct: morning

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

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

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

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

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

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

Default avatar.png nurit: ty

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

Default avatar.png optplx: `account the limit of 10 altogether` what limit is that?

RockyMullet: optplx you can only ahve 10 ingredients in your inventory

Default avatar.png optplx: ah yes

Default avatar.png optplx: thx

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

Default avatar.png LordSkaven: hey rockstar

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.

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

Default avatar.png meh1001: Stop comparing yourself to other programs and compare your improvements to your own

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

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

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

Default avatar.png meh1001: I'm curious how many times do you actually see casts > 3?

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

Default avatar.png meh1001: and to be fair mine crashes and times out a lot so my sample size isn't that big lol

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

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

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

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

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

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

Default avatar.png wendrul: Tiltable bot

Gronahak: lmao

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

Default avatar.png Yota_Pankaj: Anyone Here>??

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

Default avatar.png BoBot: Chat:World/1970-01-01 Jump to navigationJump to search Hello

Default avatar.png BoBot: :O

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

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

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

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

Default avatar.png captnchr1s: how many depth do you calculate and with which programming language?

Default avatar.png captnchr1s: i use python and depth 3 is my max :(

Default avatar.png captnchr1s: This is like 200 nodes. I need some tips

RockyMullet: Nerchio now around 5-6

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

Default avatar.png captnchr1s: You guys use c++?

NitMpez: i am

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

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

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

Default avatar.png Eri24: got stuck in horse raising duals

C.O.D.E2324: hey im following u numb3r5

Default avatar.png Eri24: any ideas

struct: press hint button on the left

AntiCheap: Das boss ist too strong.

C.O.D.E2324: TOO STRONG

Default avatar.png Eri24: @struct yeah i tried the hind

AntiCheap: what hind?

C.O.D.E2324: :rage:

Default avatar.png Eri24: i can work with arrays but are to many comparisons

C.O.D.E2324: :pensive:

Default avatar.png Eri24: it doesnt let me

AntiCheap: What language eri

C.O.D.E2324: wot u mean

Default avatar.png Eri24: AntiCheap javascript

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

Default avatar.png Eri24: yeah exatly

C.O.D.E2324: oi

C.O.D.E2324: oi

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

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

Default avatar.png Eri24: http://chat.codingame.com/pastebin/0f8ef2d7-b01e-4665-92a1-359ff3c52ef6

C.O.D.E2324: wait wot u mean

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


Default avatar.png Eri24: was a mistake i did now sorry

C.O.D.E2324: nom nom nom

Default avatar.png Eri24: that doesnt make sence

C.O.D.E2324: me eat ramen

Default avatar.png Eri24: did it*

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

Default avatar.png Eri24: Process has timed out. This may mean that your solution is not optimized enough to handle some cases.

Default avatar.png Eri24: this is the error

Default avatar.png Eri24: is the sorting that makes that

struct: Eri this is what I did

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

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

Default avatar.png RohanasaurusRex: but since*

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

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

Default avatar.png Eri24: http://chat.codingame.com/pastebin/4fbba880-0983-4351-937d-061d2010deb3

AntiSquid: no Q_Q poor pokeman, try harder lol

Default avatar.png Eri24: solution

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

Default avatar.png wendrul: oh thx AntiSquid i didn't see your message

AntiSquid: .

AntiSquid: np

Default avatar.png wendrul: but then rules don't change after bronze?

AntiSquid: no

Default avatar.png wendrul: noice

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

Default avatar.png wendrul: i see ^^

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

Default avatar.png DanAlin: i hate strings

Default avatar.png DanAlin: why strings exist???

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

Default avatar.png StrykerS: say hi or die

Default avatar.png StrykerS: hi

Zenoscave: die

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

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

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

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

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

Default avatar.png pedrosorio: noooooooo

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

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

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

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

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

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

Default avatar.png BoBot: dude

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

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

Default avatar.png BoBot: 2 am here, lol you are even worse then

Samer: ksenia is killing me

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

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

Default avatar.png Bikoko: hmmm write code with java is slower than javascript

Default avatar.png Bikoko: but why java is more popular?

struct: should not be slower

Default avatar.png Bikoko: longer

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

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

Default avatar.png lebaolong: :penguin:

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

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