Chat:World/2021-05-09
soouinteni: Hi, is there a way to go back and try to finish the clash of code challenge that just finished ?
DaNinja: try searching for it https://eulerschezahl.herokuapp.com/codingame/puzzles/
soouinteni: found it, thank you !
DaNinja: :thumbsup:
KCrown: is everyoen searching now?
NotSureWhyThisWorks: like search algorithms?
KCrown: yes
NotSureWhyThisWorks: I'm just doing heuristics
Donotalo: how far a tree can plant seed?
UndercoverToad: depends on the size of the tree
UndercoverToad: size X tree: X cells range
Donotalo: thanks
KCrown: thanks NotSureWhyThisWorks
StyllyMyle: No matching conversion for functional-style cast from 'const int' to 'std::hash<int>'
StyllyMyle: wtf is this error for line
StyllyMyle: size_t hashA = std::hash<A>(a);
StyllyMyle: pretty sure its compiler dependent error
actualCoderTrevor: StyllyMyle no idea but maybe try std::hash<A>{}(a);
khalkhoul: hello
MerryMentat: For C# folks: any pitfalls in using Stopwatch to measure time in order to break out early if you're running low on time? I get timeouts in ~7% of my games, but I'm pretty sure I'm checking all over the place that I haven't used more than 75 ms.
MerryMentat: Is there a recommended way to break out early?
UndercoverToad: stopwatch is fine, that's all I can say. during the last contest there were some problems with random timeouts affecting everyone. I don't know if this is still the case
Chainman: hey
Chainman: Can you run this game locally with the source code?
UndercoverToad: yes but you have to install maven
Chainman: can you have the graphics too?
UndercoverToad: yes
Chainman: whoah, I really want to do that.
Chainman: Are there instructions on how to do it with Maven?
UndercoverToad: https://www.codingame.com/forum/t/how-to-run-ocean-of-code-github-project-locally/168041/3
Chainman: thanks, I'll try it
UndercoverToad: with the IntelliJ IDE it's pretty straight forward (import project from existing sources => maven project)
UndercoverToad: i succeeded with eclipse as well
Chainman: I have vscode
UndercoverToad: i suppose there is a plugin to do the job, never tried
Chainman: I've never done java program in vscode, going to check out.
Chainman: I used to do it in intellij
Str4ngeL00p: When should one start the timer to avoid timeouts, after reading all the input from stdin or before?
jacek: id say after reading first input
ashiknur: how many line of code you have written in this challenge? mine - 480 line
Thienu: 500 right now
actualCoderTrevor: 440 including blanks and the starter code
NotSureWhyThisWorks: 300 but its python
Zenoscave: Is a beam width of 100 too narrow for good results? Should I try to get a better eval or beam width at that point
jrke: not sure if its narrow but its not enough also it depends on your pruning and good eval
Zenoscave: Then my eval is trash lol
dbdr: with a better eval, you need less width, and conversely :)
Zenoscave: gotcha
dbdr: so improving either can be useful
Zenoscave: Man I always suck at eval
jrke: and i always suck at optimization
Thienu: man why did i think board indices would fit into 5 bits
Thienu: whoops
Zenoscave: need to figure out a way to spread my seed placements. They all cluster and I shodow a lot
jrke: goods know what will be the opening window for silver
jrke: last time 3000 bronzies and 750 opening of silver this time .....
dbdr: a good eval in this game is not easy
jrke: yeah what all you need - shadow, more trees, sunpoints, major - score
jacek: then use NN [solved]
avdg: Aggressive bots may have an easier time to win though
avdg: So there will be more like level layers
dbdr: define aggressive
dbdr: in points, space, ...?
avdg: take away opponents opportunities
ashiknur: this is the main key point of this game
avdg: so to climb, one must be prepared to squash these posibilities
jacek: thats the point of most games
Kellthazar: My algorithm just did some list ordering based on game state and that was sufficient to put me under the 400th rank... o.o
kovi: very nice dbdr
dbdr: thanks!
dbdr: new feature, and I just realized there is a bug in it
dbdr: but I'll let it run before fixing it
dbdr: probably better with the bug anyways ;)
UndercoverToad: calssic
UndercoverToad: classic
NinjaDoggy: dbdr nice!
UndercoverToad: nice score, you make me yealous
jacek: yeet
VizGhar: I'm not sure how to debug these searches
UndercoverToad: don't code bugs [solved]
NinjaDoggy: any language can win this contest because it's all about eval :joy:
kovi: and maybe that is the first which cannot be reached by heuristics only
UndercoverToad: finally I beat that struct \o/
PatrickMcGinnisII: Undercover rofl
jacek: hmm
jacek: shadows affect start of the day?
UndercoverToad: chat is browser-crashing laggy for moderators when that many users are online :(
jacek: only*
Marchete: good morning fellow coders
VizGhar: morning machette :P
UndercoverToad: moin
UndercoverToad: oh i shouldn't say that, I might have blown my cover
Marchete: :spy:
jacek: Automaton2000 what cover
Automaton2000: or is there a faster way to check if a player is sent to a board that is either already ...
ashiknur: dbdr submitted again guess what point he will earn in this submission
UndercoverToad: he fixed a bug
Marchete: fixed a bug == 3 positions down
VizGhar: ++
dbdr: :scream:
Marchete: you all improved a lot in 1 day
Marchete: :d
Marchete: :D
dbdr: damn, fixing the bug does not seem to hurt that much :o
dbdr: Where are the snows of yesteryear?
Marchete: you only lost 2 games
Marchete: no 3
Marchete: it's hard with that few matches
Marchete: unless you tested locally
dbdr: no local testing
VizGhar: hmm how do I write comparation function for n-th element against vector of some structures?
VizGhar: bool compare(Node, Node) doesn't seem to work
DaNinja: bool cmp_node(const Node& a, const Node& b) { return a.score < b.score; }
jacek: http://chat.codingame.com/pastebin/f61d6ef7-fc50-44d8-b377-7b45f81804c7
VizGhar: tnx
jacek: oh could use & there
VizGhar: this is only place where I can get answers faster then googling
Numby: It seems that reading input (java) is taking a significant time (~5000ms). I
VizGhar: hmm for beam search I should cut the nodes only after I finish whole depth right?
VizGhar: Numby it should not take that much
VizGhar: where did you get that number?
Numby: Well, it's not causing a timeout
Numby: Timing it with System.currentTimeMillis
DaNinja: strart timer after first input
DaNinja: *start
VizGhar: then the number wont be correct... timeout for first turn is 1000ms
VizGhar: Do like ninja said
dreadylein: @Numby if you measure time after sending your command you will measure the whole enemy turn also
jacek: still System.currentTimeMillis would not give 5000ms
Numby: Making the corrections mentioned, one sec
VizGhar: He probably knows how to measure time jacek :) he just don't know when to start and end timer
VizGhar: this nth_element is neat
Marchete: what's the use on nth_element?
Marchete: of*
VizGhar: it does one iteration of quick sort with pivot on nth element
VizGhar: so everything on left is smaller and everything on right is larger (or what you define in compare function)
Numby: Hmm, I'm now setting start time after reading the first input each turn (the day), and setting end time after I've finished getting the input. Still shows 4000ms
Marchete: I mean specific real use
VizGhar: beam search - you need to cut worse items
Marchete: ahh
Marchete: true
VizGhar: I was sorting the whole list previously
VizGhar: was thinking about implementing some weighted tree, but nah
Numby: Hmm, I timed the vanilla starter code and it only takes 0~1ms so def something off with my actual code that reads the input
jacek: try chocolate starter code
VizGhar: :D you are instantiating some objects there that calls some expensive methods right?
VizGhar: he made it chocolate obviously
Numby: I didn't think I was doing anything expensive but time to debug now :D
Numby: Yeah double chocolate with fudge on top
Marchete: :icecream:
VizGhar: I'm allergic to chocolate :(
VizGhar: chocolate coffee and apples... people always think I'm kidding
Marchete: and bullets
VizGhar: well... depends on how you define allergy, but yes... those can kill me too
Tiramon: damn found the error in my sim ... i didn't remove the dormant status on day change ...
dreadylein: :D
Marchete: I've seen worse
kovi: seen same
Tiramon: but atleast that explains why my sim doesn't result in anything good :)
Astrolynix: this is my first time trying to code (not really) so i wont be suprised if i lose
Marchete: don't you test against yourself on CG IDE to validate it?
Marchete: 1st validation should be play prefixed moves
Marchete: and check possible moves given in stdin vs calculated
Tiramon: i thought my code should work like this, build the algo and as there are no good results i currently build testcases to locate the error
Tiramon: and given moves always fit my list of generated .. there is no dormant change in between ;)
Marchete: also endgames are tricky
jacek: hm?
Marchete: sometimes the scoring at turn 200 it's different to what you expected
jacek: turn 200?
Marchete: well
Marchete: last day
Marchete: 24
Marchete: in this case
Marchete: I don't refer at this game in particular
Marchete: but in general about how your sim behaves on last turn
Marchete: and what the referee does
Marchete: tldt: oware
Marchete: oware was tricky to have the right scoring at endgame
jacek: oh
emh: what's gonna be Silver cutoff? am I safe around ~1k?
Marchete: found it by testing on CG IDE
Marchete: 4400 in bronze
Marchete: you should be
emh: cool. thanks :)
Marchete: you can also try some basic eval of possible moves
Marchete: I did and got like 150th
emh: wow nice
emh: I have a 102 line program
emh: with some sort and if
Marchete: I have more
emh: I heard bitboarding is popular
emh: so might do that after Silver
emh: if I have the energy
emh: hehe
Marchete: low coding time?
Marchete: go full heuristics
emh: nooo
emh: low energy
Marchete: the same
Marchete: if you have low motivation
Marchete: maybe with some evals you can do the trick
emh: I'm gonna work 2-3 hours per day next week. at the real work
Marchete: ahh
Marchete: bitboarding can be time consuming
emh: so I have plenty time left for contest, just don't know how much energy gonna be left
Marchete: but if you are fast in 1 day you have it
emh: ok hehe
Marchete: I'd need like 6 :D
emh: thought u were xpert in bits
emh: didn't u AVX2 and so on?
Marchete: yeah
Marchete: but little AVX2 right now
Marchete: a bit for shadows
Marchete: not much more
emh: hmm ok. so you already using AVX2 for shadow in this game? wow. it's already surprising
Marchete: not like something super cool
Marchete: i have trees 0-4 on avx2
Marchete: and it applies some shifts for shadowing
Marchete: imo it should improve a lot
Marchete: shouldn't
StyllyMyle: So
StyllyMyle: is there any memory limit?
StyllyMyle: im kinda storing some 36 pairs of xyz coordinates
dreadylein: ~800mb iirc
StyllyMyle: kinda worried maybe if there would be any limit
StyllyMyle: Ok
Saoirseacht: New to this what is a good place to start like what lang?
DaNinja: C++, Python or Javascript
Tiramon: totally depends what language you are comfortable with
Marchete: python C#
Marchete: c++ is ugly
UndercoverToad: asking for a language to start with always results in highly different answers depending on who sees the question first
geppoz: (I find python ugliest, matter of taste ;) )
UndercoverToad: maybe tell us what you want to achieve (solving puzzles, writing desktop applications, a website, ..)
geppoz: (talking just estetically)
geppoz: Saoirseacht the question is like: "should I use spoon, fork or knife?" :) hard to eat a steak with spoon or soup with fork
UndercoverToad: i like that comparison
geppoz: or, as once a colleague of mine told me, "well, maybe you will success to comb your hair with a hammer, but it will hurt" :D
geppoz: he is russian, btw :D
UndercoverToad: or manipulate a string with C for the matter
geppoz: anyway, if you really need an answer I would say go for JS, it is https://images-na.ssl-images-amazon.com/images/I/31ykMLfXBbL._AC_.jpg
geppoz: (if you are an absolute beginner and you want to see some result very soon)
UndercoverToad: JS :scream:
geppoz: sad to say so mate
geppoz: speaking is someone that started with assembler, cpp, then years of java
geppoz: just few years ago started use js
geppoz: and now I reccomend it for starters
geppoz: (but i use c++ :D )
NotSureWhyThisWorks: what does the score mean on the leaderboard?
UndercoverToad: "Trueskill" is the word that you and soon the search engine of your trust are looking for
geppoz: well speaking of c++
geppoz: just wasted an hour on a really weird beviour
geppoz: while (depth<maxDepth){
cerr<<"depth:"<<depth<<" "<<maxDepth
geppoz: ... depth++ ...
geppoz: }
geppoz: I saw in log printd depth>maxDepth and never exited
geppoz: solution: remove #pragma GCC optimize("-Ofast", "-ffast-math")
geppoz: with that pragma seems the condition was not evaluated anymore :scream:
Twelve0: https://www.codingame.com/forum/t/codingame-spring-challenge-2020/152927 formula to compute points for a player counting for their school or company : 10 000^((N- C+ 1)/ N) guys can you please explain what N and C stand for in this formula
CGGCoder: N should be the number of players and C should be your rank?
CGGCoder: Maybe the opposite
jrke: N total players, C = your rank
NotSureWhyThisWorks: what is score in the leaderboard?
jrke: basis of evaluating rank
NotSureWhyThisWorks: how is it calculated?
Twelve0: thank you
jrke: trueskill NotSureWhyThisWorks
NotSureWhyThisWorks: oh sorry I didn't see undercoverToads message
NotSureWhyThisWorks: wow there is a gap of around 3 between rank 1 and 2
Michael_Howard: Do you go up/down in leaderboard for drawing against higher/lower ranked opponents? (The TrueSkill definition I found didn't mention draws)
jrke: lol my sunpoints - https://www.codingame.com/share-replay/549941349
jrke: due to sim eval
DetoBot: yeah you were special this time
DetoBot: :joy:
kovi: script solutions are getting pushed back...but i wonder how many of c++ solutions are heuristic based?
actualCoderTrevor: It finally happened :D https://www.codingame.com/replay/549948690
ShannonNorris97: Can seeds plant other seeds?
DevLorenzo: Which is the easiest bot game?
DetoBot: tic tac toe
DetoBot: maybe rock papers scissors
DetoBot: :rolling_eyes:
DetoBot: Seeds can't plant other seeeds
DevLorenzo: thx
DetoBot: they haven't grown up yet :sweat_smile:
Tiramon: seeds would have a range of 0 (size) to plant new seeds ... that won't work ;)
ShannonNorris97: Oh yeah I forgot that was the seed planting range - thank you
DetoBot: Well was the exact answer
DetoBot: :grinning:
UndercoverToad: oh, I drifted into top10 over lunch :o stop the contest!
synchoz: how do i calculate the range of avaible seed to plant i cant seem to understand when i am at 34 and i can seed size of 1 which is 34-1 or 34+1 or 34/2 but if its 20 then it goes like +1 -1 and -12
UndercoverToad: look at the map
UndercoverToad: show the IDs using the :gear:
UndercoverToad: the gear doesn't show up properly in chat :/ just go to viewer settings
synchoz: hmmm ok :o
UndercoverToad: debug: on
UndercoverToad: 34 is the bottom right tile
UndercoverToad: neighbors (range 1) are 33, 35, 17
UndercoverToad: for 20 it's 7,8,19,21
synchoz: ooh nice i didnt know about the debug on XD
UndercoverToad: 3rd item under " Debugging tips"
synchoz: thx
emh: terrible morning. ok having another quadruple espresso
emh: in the form of iced coffee with milk
emh: lactose free
abobas: When is silver coming online?
struct: tomorrow
abobas: cool thnx
CGGCoder: rip
Donald_D._Doge: hi, new here, when is silver coming out?
CGGCoder: Monday, the 10th of May 2021
CGGCoder: AKA Tomorrow
UndercoverToad: as answered 3 messages above already
CGGCoder: Lol
Michael_Howard: Tomorrow it'll be what time does it open.
UndercoverToad: 6pm CEST
UndercoverToad: so in 1 days 5h
kovi: got you dbdr :)
kovi: (for once)
UndercoverToad: but I got you. So did I get dbd r?
kovi: you are usually winning vs. me today
geppoz: (╯°□°)╯︵ ┻━┻
geppoz: nextDest->trees[i]|0x80;
geppoz: another hour gone
geppoz: :D
CGGCoder: On Bronze, I beat the boss my growing a tree then waiting
CGGCoder: by*
UndercoverToad: i don't see what's wrong there geppoz
geppoz: me too
geppoz: for 1 hour
CGGCoder: what does that do?
geppoz: look better
UndercoverToad: ()|0x80?
CGGCoder: Yeh
geppoz: it is supposed to add a mask bit
UndercoverToad: i think i need more context to understand what's wrong with this
UndercoverToad: wait, that's the whole line?
geppoz: yes
UndercoverToad: not assigning the result?
geppoz: yes :(
UndercoverToad: we all made this mistakes
geppoz: miss the "=" in the middle
UndercoverToad: in the ghost in the cell contest here on CG I had a function to sort something and return a sorted result
UndercoverToad: I created a new, sorted list and somehow thought I was modifying it in-place
UndercoverToad: my #6 contest but had a crucial bug :(
UndercoverToad: could have been even higher without :sob:
geppoz: so you never used the result, nice
UndercoverToad: and debugged it several times but didn't see the error in the function
UndercoverToad: as it was all fine inside
geppoz: it should have been a very special thing if everything after worked fine even using an unsorted array supposing it to be sorted :thinking:
SingleMan: hahahhahahhahahahhahahahhahahhahahhahaahhahahahahhahahahaha
UndercoverToad: it was for finding which factory to upgrade
UndercoverToad: and sometimes i didn't upgrade at all because of this
Beerus: quick question: changes on trees are applied at the end of the day? (except the isDormant state)
Beerus: changes on sizes, new trees added
kovi: no, they are instant
Beerus: so you plant two seeds at the same day and the cost of second is higher than the 1st?
KelvinAndHubbles: yes
KelvinAndHubbles: you plant them the same day, but not the same turn
Beerus: se the tree grows instantly?
CodeDiller: Hello everybody!
CodeDiller: Appreciate my contribution:)
CodeDiller: https://www.codingame.com/contribute/view/6682aaf148072ac60d30b0d86e4b79755e56
Beerus: it would make sense if it grows at the end of day
KelvinAndHubbles: no, if you grow a tree it instantly grows, of course because it grows it become dorment so it can't do much for the rest of the day
Beerus: of course it can become dormant bu the grow can be applied at the end of the day, it makes more sense
Beerus: to me
geppoz: Beerus I suppose that only matters in calc of grow costs (and seed) ?
Beerus: yes
KelvinAndHubbles: yep, but it also negatively affects grow costs of it's own layer, part of the strategy is growing trees so that growing other trees to the initial trees previous layer cost less in the same turn
KelvinAndHubbles: Common example: Promoting seed to 1st tree because sending out a seed without any other seeds is free
KelvinAndHubbles: although, I will say you version could work aswell, just it's not completlty how they decided to make the challenge ¯\_(ツ)_/¯
Beerus: ok got it
Beerus: it's easier for coding to apply the changes instantly
geppoz: well "you version could work aswell" I think not
geppoz: if he doesn't correct this calc, he can thing he can seed or grow when he really can't
KelvinAndHubbles: I meant that if they programmed the contest like that it probably wouldn't be too differentiated, but if he makes his bot around it with this specific rules it'd be worse
AntiSquid: reached limit of plays @_@
UndercoverToad: they changed the test-play limits
Astrobytes: It's extremely annoying
ShannonNorris97: Just to check I'm interpreting this right - the cost of planting a new seed is equal to the number of seeds already in play. So, if I have all size 1 trees and no seeds, planting a new seed is free?
AntiSquid: it's extremely low ... they should have just restricted the abuser accounts
Astrobytes: Yeah. I was questioning my sanity the other day. "Surely I haven't presses 'Play' that much :thinking: "
Astrobytes: *predsed
Astrobytes: *PRESSED
AntiSquid: it's all the benchmarkers @_@
UndercoverToad: i'm innocent, not using online benchmarks
Astrobytes: Been quite some time since I bothered doing that
Aurelien-Quillet: Hi all, is it possible to look up (or filter) all puzzles that belong to several categories: loops and conditions and 2d-arrays (for instance) ?
UndercoverToad: you can click the tags
Necabo: how do i join very easy clash of codes?
Astrobytes: Leave the hard ones.
Necabo: How do I know which one is hard
UndercoverToad: you can't influence the difficulty
UndercoverToad: you can detect the hard ones when you don't know how to solve them
Necabo: It says on the quest 'the difficulty ranges from very easy to medium'
Necabo: So i just keep joining until an easy one appears?
UndercoverToad: you can ignore the text on the quest map
UndercoverToad: just play or win X clashes to complete the quest
Astrobytes: Or don't.
UndercoverToad: play the contest instead
UndercoverToad: 5000 users have joined already, started on Thursday
UndercoverToad: still a full week to go
Astrobytes: No need to apologise.
UndercoverToad: these submits are crawling up the leaderboard at snail speed, I want silver :(
UndercoverToad: 75% done and still climbing
Astrobytes: I think you're safe for silver
UndercoverToad: would be a fun silver if not
UndercoverToad: i was in silver already
UndercoverToad: on Thursday
Astrobytes: lol, weren't we all :)
UndercoverToad: some remained in wood
Astrobytes: Ah.
OcularBear8: facepalm
Tiramon: hm 850 turns simulated ... that sounds good still the result is crap
Tiramon: *850k
Marchete: I'm saving energy by not using simulations
UndercoverToad: that sounds too good
OcularBear8: i got a coc trying to find tha last angle of a triangle using 2 angles and i programmed the entire pythagorean theorem in there
OcularBear8: whoops
UndercoverToad: 180-alpha-beta?
struct: hi
Astrobytes: Yeah, like when I had millions upon millions of sims one time then realised I never actually called the sim
UndercoverToad: finally got you struct
Astrobytes: hi struct
UndercoverToad: this morning
struct: 850k is feasible yeah
struct: grats
Numby: damn i'm doin only a few hundred sims in the earlier turns and at most few thousand later
Numby: gotta get those numbers way up
struct: I havent benched mine
Tiramon: hm damn not 850k .. just forgot to reset the counter ... arg
Astrobytes: :grin:
struct: wtf is this map
Marchete: 850 again
struct: https://i.imgur.com/ZFIJtwH.png
AntiSquid: i like it
struct: seed=-1896067115874585600
Tiramon: wow nice ...
MindController: Is the first turn that we get 1000ms only input of cells, or cells + 1 turn of normal game?
Tiramon: hm atleast still around 20k turns
Tiramon: 1st turn wit 1s = til first output
Tiramon: *with
struct: I need to find a good low depth eval
geppoz: problem is depth 3 I have created 380k game states
geppoz: and it is hard to prune in so low depth
llllllllll: python at 16th place. What?!
struct: did he submit a worse version?
struct: he was top 3
llllllllll: how the heck
llllllllll: it must be heuristics, not sim
Astrobytes: I think competition got stronger struct
llllllllll: I spend 95% of my time in copying my game states
struct: how big is your state?
Astrobytes: :smirk:
llllllllll: probably way too big. Trees, sun, nutrient value, etc
llllllllll: basically everything except the map itself
llllllllll: copy.deepcopy takes forever :'(
struct: which language?
struct: ah py3
llllllllll: py3
llllllllll: time to switch to C++ But I wonder how the python guys reached that high
Astrobytes: Clever heuristics.
llllllllll: yeah, I guess so
Astrobytes: iirc oi oi said no search the other day
geppoz: my state is 64 bytes, I prefer to keep some precalc info
DocDave: json.decode(json.encode(state)) ;)
llllllllll: meh, thats basically the same as deepcopy when used on dicts, etc, isn't it?
Tiramon: my extrem simple first day heuristic ist still at 308 ... far better than expected
struct: my bot fell to 86th :'(
Tiramon: will you try to improve it?
struct: yeah
UndercoverToad: legend or delete
Astrobytes: But you have to wait until the last night of the contest
itzluku: how do u guys upgrade money efficient ?
geppoz: money=sun points?
UndercoverToad: no, google play cards
itzluku: yes
itzluku: like, whats your heuristic approach on deciding when and what to upgrade
itzluku: to maximize suns over time
Edo1999: anybody here owrking with js
Donald_D._Doge: Edo1999 i work with js
NEW123Programmer: i am new at JS
Homicidal_Genius: ill be honest, ive never coded properly outside of high school, trying to learn...
Homicidal_Genius: with a few code fixes from a friend, ive somehow managed to climb to wood 3 in the pod racing game haha.
Murat_Eroglu: how do you find neighboors from distance?
ddreams: I precalculate them on startup
peerdb: do you guys know what time silver opens tomorrow?
ddreams: use the given neighbors to find 2nd neighbors etc
DaNinja: click Bronze League at the top to see what time the next league opens
DaNinja: 6pm CEST
AntiSquid: so much work to barely beat my if-else bot T_T
itzluku: my smarter version is worse now
GibbonThatCodes: my if else bot that I wrote at the very start is still top 500 somehow, I really dont know if I can be bothered to put more complex effort in, im very lazy
itzluku: >50 score to 48 sth
itzluku: xD
UndercoverToad: struct you ruined my submit :(
struct: sorry :(
itzluku: wait so silver doesnt even open on money for most eu
UndercoverToad: it does
itzluku: monday*
UndercoverToad: CEST = central European summer time
itzluku: 1am 11.05 ?
UndercoverToad: it's 6pm for you as well, we live in the same timezone
itzluku: ah cest
itzluku: thought cst
itzluku: was like wtf
UndercoverToad: what even is cst?
UndercoverToad: christian summer time?
itzluku: Central Standard Time
itzluku: usa
Astrobytes: Corduroy Support Tights?
Astrobytes: "Christian summer time" I like that
itzluku: :clown:
itzluku: thats a weird clown
Astrobytes: Have you ever seen a non-weird clown? :P
AlMualem: Can someone please teel how do you promote from bronze to silver?i see no boss here
AlMualem: tell me*
UndercoverToad: silver opens tomorrow
peerdb: Wait till tomorrow for silver league
UndercoverToad: in 1 day 2 hours
Astrobytes: click on Bronze League at the top
AlMualem: oh ...i see :) thanks guys
UndercoverToad: the "teaching how to fish instead of giving a fish" approach, astro?
Astrobytes: Yes, exactly
peerdb: tbh when I click on Bronze league at the top, I cant see the time it opens, just the date
UndercoverToad: the time is just our experience from previous contests
UndercoverToad: it's always about the same time of the day
Astrobytes: Sometimes they open earlier or later, but not usually.
UndercoverToad: with a few minutes variation, league opening is a manual process
UndercoverToad: (╯°□°)╯︵ ┻━┻
Astrobytes: :D
AntiSquid: the future is here!!
itzluku: so tomorrow u will be able to play against all the bots to get master ?
itzluku: or another time barrier
AntiSquid: master ?
peerdb: no just to silver
itzluku: legend
peerdb: gold opens later, and legend probably saturday
itzluku: whatever
UndercoverToad: gold on wednesday, legend on friday
itzluku: :/
itzluku: i think the silver boss will be ez
UndercoverToad: silver is always easy
AntiSquid: silver boss wednesday
UndercoverToad: legend is sometimes hardcore
UndercoverToad: gold still doable if you know how to code
struct: ill need to improve my bot a lot for legend
itzluku: what happens if u beat the legend boss?
UndercoverToad: there is no legend boss
struct: Might aswell just delete nnow and end the pain
AntiSquid: legend boss is 1st player you win a prize :P
AntiSquid: bye struct was nice to know you, can i have your bots please?
Donald_D._Doge: hi I_am_new, are you also new ?
struct: sure
AntiSquid: lol why delete?
itzluku: hi I_am_new, are you also new ?
UndercoverToad: i'M close to new, registered yesterday
Necabo: Hi how do you complete several squares at once
geppoz: silly question: if one seed in same spot where the other complete (in same turn), what happens?
StyllyMyle: Guys
UndercoverToad: both trees get dormant, no seed placed
UndercoverToad: and no suns paid
geppoz: no no
UndercoverToad: yes yes
UndercoverToad: check the statemetn
geppoz: I mean, one COMPLETE and one SEED
StyllyMyle: geppoz i think you can seed immedietly after the other used his two moves
geppoz: not both SEED
UndercoverToad: SEED is not a valid action as long as there is still a tree on that cell
UndercoverToad: will this be a leadership change?
geppoz: so who SEED receive an invalid mov
UndercoverToad: yes
UndercoverToad: and invalid = WAIT (end day)
MindController: Question: if u first complete tree, can u plant seed on that cell the same day?
struct: yes
Tiramon: hm as soon as i interpret complete correctly the bot wins against default ... must be coincidence
StyllyMyle: So is it wise to have different algorithm for like stat, midd, and end of game?
StyllyMyle: i think it would be better that way
StyllyMyle: like in start i want expanding phase, then in mid something else
StyllyMyle: but not sure how effective and scalable that approach is for future leagues
KelvinAndHubbles: I mean, the start few rounds could probably be hard coded to a somewhat optimal solution, but multiple algs seems like a lot of work
StyllyMyle: Hmm
StyllyMyle: pretty much
Lyan06: wait sorry for interruption, what is this
KelvinAndHubbles: what is what?
KelvinAndHubbles: it's a place to chat with other people on Codingame
StyllyMyle: but aint hardcoding not that good either? what if we get very diffrent start in high leagues
KelvinAndHubbles: thought they said the rules were constant past Bronze except maybe balance tweaking?
StyllyMyle: Lyan06 welcome to chat budd, this is one of my most favourite place
StyllyMyle: Hmmmm
StyllyMyle: Okk i gotta change my algo a bit
drnobody: Hey, code says neighbors spiral out from center... I'm assuming clockwise, but what direction is first neighbor?
orangesnowfox: probably east
orangesnowfox: ("right")
orangesnowfox: Oh, there's a bit of text for it
drnobody: where?
orangesnowfox: https://static.codingame.com/servlet/fileservlet?id=61694161023285
drnobody: ty
orangesnowfox: In the forest section of the statement
Queuebee: if I manage to get '7000 calls to minimax' in my 100ms, is that anywhere near good?
drnobody: ah, so east then wittershins...cool, ty
KelvinAndHubbles: well it's a bit weird, the second spiral starts two east of initial index and not east of 6 index
orangesnowfox: Well... Queuebee, What happens in those 7000 calls, what language? What does 7000 calls *mean*?
drnobody: a big phone bill?
Queuebee: I'm trying to learn c# coming from python lol.. the minimax copies the whole gamestate N times based on the amount of possible moves :joy: and then keeps doing minimax on those states until depth=3 or gameover is reached
drnobody: old-school
drnobody: As long as it's not taking forever I don;t see the problem. If it's taking too long to calculate, try an estimation/assumption that pairs it down from 7k, like ...what if I only minmax the ones closest to center, etc...
Queuebee: well depth=3 my code runs, depth=4 it doesn't anymore because of too many calls
Queuebee: the most calls I make before it crashes is around 7-8k calls
drnobody: the number of calls and time is probably irrelevant. You want to maximize points.
drnobody: that's what I mean
drnobody: if you are making too many calle, try an assumption to force that number down
Queuebee: do I put that assumtion in the minimax func or when generating moves
drnobody: that's a design decision
Queuebee: okay :D I'll try
Queuebee: thanks
drnobody: I would put it before your initial calls to minmax
drnobody: because it sounds recursive
Queuebee: yes it is
drnobody: but during minmax things can change that modify your assumption.
drnobody: so like I said, design decision
Queuebee: it's based on https://youtu.be/l-hh51ncgDI?t=613
drnobody: not gonna click on links in here holmz
Queuebee: Oh sorry uhm
drnobody: your method is sound
drnobody: go with it, just pair down your iterations with logical assumptions
Queuebee: I'll try my best
drnobody: Please don't that'll make it a little difficult for the rest of us. How about putting forward a mediocre effort..kewl?
drnobody: ;)
Queuebee: :joy: I just want to reach silver
drnobody: that will be difficult, doesn't exist yet.
drnobody: as far as I know
Queuebee: when it opens :D
drnobody: aye
VincentHch: hey guys, I'm in c++ and I have between 20 and 60ms just for receiving inputs... I then have 1 microsecond for generating every actions, but I feel like these milliseconds are huge, do you have the same magnitude ?
struct: when do you start your timer?
drnobody: I am still just starting, but is it possible you are creating a bunch of objects that don't need to be memory resident while you are parsing input? Maybe you could streamline some logic without creating objects?
drnobody: just spitballin
CGGCoder: probably but it seems a bit complicated
Str4ngeL00p: @VincentHch I think you need to be careful about how you pull the input from stdin. Reading from stdin is a blocking operation.
KelvinAndHubbles: ouch, made beam search and instead of sorting to look for the best have been sorting and looking for the worst action to play every round lmao
VincentHch: I start the timer at the start of my turn, I get every inputs and store it in a Game object, and stop the timer. The thing is that even if I'm creating huge objects (I don't think I do but we never know), 50 ms is huge so I wonder if this could come from slow stdin reading
struct: you need to start your timer after reading first input
itzluku: http://chat.codingame.com/pastebin/7b6cdfb4-c0d1-4fba-b5a8-29c4f489d802
itzluku: lol
Counterbalance: why is there not a faq on that.. this comes close though: https://www.codingame.com/forum/t/when-does-a-turn-start/1937
itzluku: 20**(24*7) states for a sim how accurate is that estimate?
itzluku: u cant make that is 100ms right?
struct: ofc not
itzluku: how deep can u go tho
itzluku: how many turns/days
struct: I dont know
struct: I can play 1Mill turns+
itzluku: oof
itzluku: 20**(24*7)
itzluku: is that accurate
itzluku: in theory
struct: 3.7414441915671114706e+218?
itzluku: yup
Queuebee: 1m+ :drooling_face:
itzluku: that isnt even max
StyllyMyle: So you can play any number of turns as long as you still have something
CGGCoder: lol
StyllyMyle: some actions r8?
itzluku: some
itzluku: but i might messed it up
itzluku: thats why i ask
CGGCoder: when you know that beats the number of possible combinations of the 3x3 Rubik's Cube
VincentHch: @struct Thanks, I have dozens of microseconds now which is way better :sweat_smile:
StyllyMyle: LAOLZ
itzluku: i estimate 20 options per turn since there are max 37 unique and they are prob split 50/50
struct: np
struct: max is not 37
itzluku: but there are only 37 cells
CGGCoder: Is it wrong that me doing nothing is going strong on Bronze?
struct: well you can seed
struct: And seed from different trees
itzluku: u cant grow or complete a seed option and u cant grow a complete option
CGGCoder: Yeah but I'm doing nothing
itzluku: u cant complete a seed or grow option
itzluku: yeh but seed from different trees is useless
struct: its not
itzluku: why
itzluku: oh
itzluku: wait
itzluku: the tree that throws the seed gets dormant?
itzluku: fuck
CGGCoder: lol
itzluku: never thought about that
CGGCoder: I guess it's like giving birth?
itzluku: xD
CGGCoder: You need a cooldown
StyllyMyle: tbh i can understand almost everything given in this game
StyllyMyle: but couldnt see what gamebreaking would be if there isnt something like dormant
StyllyMyle: cooldwon
StyllyMyle: cooldown
itzluku: yeh u can prob compare a human giving birth with a tree dropping 1million potential trees
itzluku: xD
StyllyMyle: Laol
itzluku: dormant makes it easier to succed with heuristics
itzluku: because it simplifies
itzluku: my guess
CGGCoder: lol
Wontonimo: hey hey ... i haven't been on since yesterday. Are there a bunch of simulation bots now?
itzluku: idk
CGGCoder: Imagine just seeing the tree in the middle giving birth to 30 seeds all around the map
Wontonimo: that would take 30 days
itzluku: if dormant wasnt a thing
CGGCoder: If there was no dormant state and the sun points are enought
CGGCoder: enough*
Wontonimo: WOW mind blown
itzluku: O_0
Wontonimo: lol
itzluku: (Y)
StyllyMyle: Now i see
CGGCoder: The opponent: 'The heck is this? OH MY GOD WHAT IS THAT'
StyllyMyle: it makes sure
Wontonimo: but each seed costs as much as all the seeds out there, so it would cost n*(n+1)
itzluku: If both players send a seed to the same place on the same turn, neither seed is planted and the sun points are refunded. The source tree, however, still becomes dormant.
Wontonimo: 870 , surely you could do something more efficient than that
itzluku: how do these infinite loops exist
itzluku: or is this new and they updated it
CGGCoder: wdym
itzluku: The source tree, however, still becomes dormant.
itzluku: i saw some games
itzluku: where this wanst a thing
CGGCoder: Just make it move elsewhere
itzluku: wasn't*
CGGCoder: idk i joined bronze yesterday
itzluku: maybe someone here still has a link
Wontonimo: yup N1 bowwowforeach is using a simulation.
itzluku: c++ kekw
CGGCoder: wait a sec HOW AM I RANK 3700 BY DOING ABSOLUTELY NOTHING?
itzluku: 1 day ago i was hoping for top100, now i figth for top300 hahaha
StyllyMyle: You are talking in this chat and is active xD
itzluku: there are alot who passed wood1 and then stopped i guess
CGGCoder: o
CGGCoder: Imma go on holiday on the 13/05 so imma not be back until then
CGGCoder: so rip my Gold dream
Dr-D: Is there a way to get rid of lanuage assist?
CGGCoder: Why?
Dr-D: Coding in an extra ide anyhow
ItsNotABug: Code in notepad and copy paste?
CGGCoder: rip the Ctrl+Z
Tiramon: you could use cg local to code in extrnal ide
jrke: btw i always wanted to ask
jrke: how to setup CG local ide
VincentBab: https://www.codingame.com/forum/t/codingame-sync-beta/614
Tiramon: that one is outdated afaik use this one -> https://www.codingame.com/forum/t/cg-local/10359
CGGCoder: I in-game because I'm too lazy for everything with an IDE
CGGCoder: *I choose
icecream17: oh i figure out how codingame does turns a hexagonal grid into (x, y, z)
icecream17: 3d grid has 3 axis: x, y, z
Ajaiy2: hello
icecream17: so hexagon could have 3 axis too
icecream17: hi
icecream17: 31, 15, 5, 0, 2, 9, 22 = x axis
icecream17: 28, 13, 4, 0, 1, 7, 19 = y axis
icecream17: 25, 11, 3, 0, 6, 17, 34 = z axis
cegprakash: is the number of actions per hour infinite until both players play "WAIT"?
StyllyMyle: yes
icecream17: y
cegprakash: assuming 6 hours in a day
icecream17: *a day is infinite
icecream17: oh wait
icecream17: nvm
Tiramon: only thing that limit your actions per day are your suns and your non dormant trees
CGGCoder: yeah
icecream17: 16 = direction 5 + direction 6
Tiramon: each action will remove a tree or make a tree dormant ... so you can't do more actions than you have trees
cegprakash: how many actions before the sun moves?
cegprakash: without trees becoming dormant
CGGCoder: as many as you want
CGGCoder: until the 'WAIT' command
cegprakash: if both players print WAIT does it mean the sun moves or does it mean the day changes?
Ajaiy2: Does anyone want a good algorithm to pass wood 1?
Tiramon: both
Tiramon: the sun direction changes when the day changes
cegprakash: weird
Tiramon: The sun's direction will therefore always be equal to the current day modulo 6.
cegprakash: sun rises in the east everyday
cegprakash: isn't it
jrke: cegprakash sun changes when day changes
Smelty: yes
Ajaiy2: Anyone?
itzluku: what ?:D
itzluku: u sell me a good wood1 alg?
Ajaiy2: A good algorithm to pass Wood 1
itzluku: how much
Ajaiy2: Not money
itzluku: :D
Ajaiy2: Why would I do that
Tiramon: Ajaiy2 wood leagues are tutorial they are the easiest leagues ...
Ajaiy2: Just telling
itzluku: enlighten me pls
Ajaiy2: What do you mean?
itzluku: tell me your secret
cegprakash: if sun rises in the east today does it mean sun rises in the west after 3 days? I'm confused
Tiramon: cegprakash just read the statement and don't try to adapt this game to real world
icecream17: each day there are turns. as many turns as you want. sun direction = day mod 6
itzluku: sun rotates in the neighbor index structure
Tiramon: trees are also not grown by spirits ..
Tiramon: at least as far as i know
struct: I knew we lived in a hex
Ajaiy2: Do you mean the algorithm, itzluku?
Smelty: yes
itzluku: yes
Ajaiy2: oh
itzluku: i am waiting
Ajaiy2: ok
cegprakash: struct u kidding me right?
itzluku: ur will u send it to me through a fishing link
itzluku: u need to build up more hype for me to click it
Ajaiy2: ok?
struct: no
cegprakash: Tiramon okay so this is a world in some other parallel universe gotcha
Ajaiy2: I never knew you liked suspense
struct: earth is an hex
Tiramon: it's a game ...
struct: lol
Tiramon: oh an earth could be populated with hexes .. .but you would still ne 12 pentagons ... but that is another story ...
Donald_D._Doge: https://youtu.be/9OHm6FsgJM8?t=36 cegprakash
Tiramon: i like that movie =)
Numby: Ok ... I'm making the switch to a bit board and using bits and shifts. Main challenge is how do you make sure code is correct lol (also readability). Also no macros in java so I either gotta call functions or take on more ugliness :(
geppoz: Tiramon look at the end of this page for Earth tesselation ;)
Tiramon: to check if it is correct ... try local testcases
geppoz: https://www.geppoz.eu/curiosamat/geometria.html
Tiramon: oh i alread calculated goldberg polyhedrons =)
MerryMentat: For correctness, if you can stand to take the time, you can copy paste out the game information from the bottom of the screen and write some code to parse it. If you also have your code print out all of the input you get, that's enough to test that your simulator matches what they send you.
MerryMentat: That method has a few gotchas, like when you wait and your opponent takes a few turns, the game doesn't send you the input of what the board looks like during those turns.
MerryMentat: So you have to save it all up and then check when they send you the board state in the next game day.
MerryMentat: But other than that, it works well.
Ajaiy2: Ok itzluku...are you ready?
Ajaiy2: The link is ready
CGGCoder: How do you do a bitmap on a hex board?
solistice: just so I am certain: It is okay to recreate the game for simulation purposes right? That's not considered cheating?
solistice: Are there actions that are "not" allowed, preprocessing / training networks and so on?
MerryMentat: Simulating the game state is totally allowed.
CGGCoder: Idk but i don't thin kso
MerryMentat: I don't think any of the rest of that is disallowed.
MerryMentat: You're definitely not allowed to hack their servers.
itzluku: no u took to long
MerryMentat: So I guess that's some "action" you can't do.
Ajaiy2: Uh..It works really good
Ajaiy2: It took some time to type
itzluku: thats life
Ajaiy2: I agree
itzluku: i agree
Ajaiy2: http://justnotepad.com/get/e28a9c81cd4a1787ed7afcd4e5fd6cc5
Ajaiy2: The password is Challenge123
itzluku: hm why do u not just weight each option by richness and size and just choose the best
Ajaiy2: if you grow more you get more sunlight
Ajaiy2: I calculated all the ways and ended up with this
CGGCoder: If the amount of sunlight received is lesser than 8>
CGGCoder: Why?
itzluku: but 3 t1 trees throw the same amout as 1 t3 tree
itzluku: it doesnt matter what tree u grow in wood
Ajaiy2: Because that is the amount of sunlight to complete two trees
Ajaiy2: No if you complete you get more points
CGGCoder: But why lesse?
CGGCoder: +r
itzluku: but if u make all seeds into t1 and then allt1 into t2 you will have to pay more for upgrades
Ajaiy2: I never did that
Ajaiy2: I just told to grow a tree if you could
Ajaiy2: Not ALL level 1 trees
Ajaiy2: And Its 8 because you cannot grow 3 level 3 trees within 6 days
itzluku: yeh but u grow all t2 to t3 at once
Ajaiy2: No it will take a lot of money if you grow all T1 to T2 at once
itzluku: if u make the last tree t2 u will pay more suns than just making one t2 t3 and then making that last t1 t2
Ajaiy2: Because of the additional number of thinng
Ajaiy2: But you wont get paid after day 6
Ajaiy2: So you can conserve when you got enought
Ajaiy2: enough
itzluku: whats your solution to get out of bronze xd
Ajaiy2: Idk
Ajaiy2: ill figure it out
cegprakash: dbdr crazy win rate
Ajaiy2: It took really long
Ajaiy2: to find the algorithm
itzluku: why
Numby: RE: how to make bitboard when grid is hex - you can treat the "grid" as a flat array of 37 cells since cells are uniquely identifiable by their index. You just need to hardcode (or precompute) a bunch of relationships between the cells
Ajaiy2: I can ensure you it will give you a crazy win rate
Ajaiy2: I mean CRAZY
itzluku: well
itzluku: u mean crazy 100%?
itzluku: C r A z Y
Ajaiy2: As long as someone doesn't use the same algorithm, YES
Ajaiy2: I need to test it tho
itzluku: then why did u share your secret algorithm
itzluku: TO THE WORLD
Ajaiy2: Well, there will be more people to fight with at BRONZE
Ajaiy2: hehehe
Ajaiy2: Wait...is this considered cheating?
itzluku: using your code?
itzluku: dw it wount work in bronze
Ajaiy2: well, you cant win with THAT in bronze
Ajaiy2: But it works like a charm in wood 1
itzluku: but does it work in wood2 ???
CGGCoder: I guess
Ajaiy2: Yeah?
CGGCoder: Wood 2 is easier than Wood 1
CGGCoder: ahhh
CGGCoder: When it comes to bronze, idk what to do with the seed option
YKY: Hi everyone. I need some help.
itzluku: regarding what
YKY: Warning: your code did not read all available input before printing an instruction, your outputs will not be synchronized with the game's turns and unexpected behaviour may occur. --> Why this message occurs?? I checked my code again and again, but it seems there are no errors in ouput logic
itzluku: print("Debug messages...", file=sys.stderr, flush=True)
LionTurtleWan: hey i am new to codingame, but is there a way to run your code outside of the test cases you get?
itzluku: idk check the github repo
UndercoverToad: do you mean offline or on custom testcases?
UndercoverToad: YKY do you have 2 print statements in the main loop?
LionTurtleWan: eehm just while editing in the editor in the site
LionTurtleWan: or is it easier to write my code in an offline editor?
UndercoverToad: depending on the puzzle type (for non-interactive ones) you can define a custom testcase
UndercoverToad: on the left: settings=>expert
UndercoverToad: then go to the testcase area and select "manual"
LionTurtleWan: ill have a look thakns
YKY: Oh I got it. I had several outputs in main.
YKY: Thx a lot
Smelty: my code is horrendous and doesnt work
Smelty: ....yay
Dr-D: It even smells!!
Dr-D: ;)
CGGCoder: My code is so small and I got around 3400
AntiSquid: /* while rank != 1 { code (horrendous, doesn't work) } */
UndercoverToad: i'm at 460 lines of madness
AntiSquid: 300 lol
UndercoverToad: not even coding in D? shame
Ajaiy2: Im gonna try to find a goddamn algorithm which will promote you to top 3 in bronze
Dr-D: Does 'Dart' counts as 'D'ish enough?
UndercoverToad: not at all
AntiSquid: i was going to code on my alt in D if i hate the game (which i do) but i forgot about this and started already on my main
Smelty: im at 500
Numby: 800 should I be embarrassed
Smelty: depends on how well it performs
Smelty: rn, my eval says null
icecream17: I still didn't add search yet, but I did add a bonus for non shadows
orangesnowfox: smhmh, I haven't played since before the weekend :c
icecream17: but now my depth 0 eval takes anywhere from 0 to 12 ms
orangesnowfox: wait wat
icecream17: *depth 1
orangesnowfox: ah
Smelty: lolol
Smelty: my eval doesnt time out, but it just doesnt work
AntiSquid: so if it times out it means it works?
Smelty: its supposedd to return scores ordered in descending and the hexes for which the scores are for
Smelty: but, it returns: null
orangesnowfox: Anyone mind telling me what I missed the last few days?
Smelty: nothing much
orangesnowfox: like, yesterday, really
Smelty: just everyone getting smarter with their ais
orangesnowfox: haha... Not me, I haven't even written my sim yet
Chainman: Are people teaming up ?
Chainman: I'm dropping lots of places, since yesterday.
UndercoverToad: this is a solo contest
Chainman: okay
orangesnowfox: Just more people starting since it's the weekend Chainman
orangesnowfox: I still don't do SEED
Chainman: btw what is the meaning of sim?
orangesnowfox: simulation
Chainman: for this contest, this is my first time in AI contest
Chainman: But what does that mean lol
Chainman: I have slight idea, but not sure I know.
RoboStac: copying the games rules into your code so you can try moves and then evaluate future positions instead of just evaluating the position given by the server
Chainman: Oh right, thanks
Chainman: That sounds tough, cause you won't know what moves your opponent will make in those future moves.
TobiasA: you have to assume your opponent is a smarty pants and choose the smartest move for your opponent
orangesnowfox: If they aren't playing optimally it doesn't matter that your search was worthless, you get a better result anyway :p
orangesnowfox: How are we doing shadow masks?
Xenoid: Completely ignoring the fact the opponent moves is also surprisingly effective (although not the best strategy)
orangesnowfox: Yeah... And with minimax random scoring also gives decent output
Chainman: I hope can get top 100 ignoring opponent lol:sweat_smile:
orangesnowfox: (high move mobility0
Xenoid: Making good moves in the first place is more important than responding to what your opponent does
orangesnowfox: ^
orangesnowfox: it's also really hard to evaluate states
orangesnowfox: lol
TobiasA: true
TobiasA: very true
TobiasA: very very true
Chainman: alright, I'm excited anyways. going to work on heuristics based on board state.
itzluku: oh shit i found an index error lol
Chainman: :cry:
itzluku: typo
itzluku: referenzed idnex but i had no index var
itzluku: prob lost alot of games without knowing the game got aborted early haha
icecream17: wish codingame could highlight games where you crashed
Smelty: yea that would be great
Maliamnon: is it true that inputs only change on each day and are not updated mid-round?
UndercoverToad: that's false
Maliamnon: ty
itzluku: ~#300 i converge to 50 50 w/l yikes
itzluku: now on 400
itzluku: wtf
kreska: day ends only when two players stop taking actions so you can both take multiple actions per day and input will change accordingly
Smelty: bruv my comparing ai doesnt even fUnction
Chainman: each day is a round essentially
ybbruh: fellas can someone explain to me how the games work
ybbruh: the ones with the character movement and stuff
VincentHch: Does a tree shadowed create itself a shadow ? It seems that it is not the case but it not specified in the rules
UndercoverToad: it is the case VincentHch
Chainman: hey
KelvinAndHubbles: setup beam search in python, but that's too slow to do that many calculations, should I switch to something like c++
UndercoverToad: yes
UndercoverToad: you won't get happy if you try a search algo in Python
kovi: beam in python or heuristic in c++...what is the difference
KelvinAndHubbles: speed I'm guessing?
UndercoverToad: takeover of C++ is pretty much done already. Yesterday top10 was full of Python
itzluku: got some java / c# contenders
itzluku: PogU
UndercoverToad: i'm guilty regarding C# :angel:
Donald_D._Doge: what's a PogU ?
itzluku: xd
Donald_D._Doge: eggs dee
itzluku: waiting for Haskell to take #1
Smelty: well my new bot is now functional, but its still stupid
UndercoverToad: but speed-wise Java and C# are closer to C++ than to Python
KelvinAndHubbles: well, Python is just about as slow as you can get
Smelty: xD
StyllyMyle: Python?
StyllyMyle: Damn thats 100x slower
itzluku: i mean python makes use of alot of non python written libs .. so python can eb pretty fast xd
Smelty: truth
itzluku: just look at all the crazy stuff u can do with numpy
AntiSquid: not crazy enough
KelvinAndHubbles: yea, I'm just worried that the two hours that it took to write my python beam search algo will turn into a week of banging my head against the wall of c++ syntax
Smelty: xD
itzluku: @AntoSquid what would be
AntiSquid: plenty of sites that favour python a lot more, this one isn't the one
Smelty: lolol
herrmann: Your search tree using Python objects won't get any of that native performance from underlying C libs though
Ajaiy2: YAY! I got promoted to bronze!
VizGhar: wp
YKY: What time will other leagues open?
UndercoverToad: silver in 23h
ashiknur: at the end of 10th? or at the start of 10th?
AntiSquid: top 1000 cut off or top 500 ? :P
DetoBot: top 40.0 points
struct: 500 seems low
DetoBot: :grimacing:
UndercoverToad: 800
DetoBot: or those who beat the BronzeAI
AntiSquid: ashiknur in 23 hours lol .
AntiSquid: start counting
ghassen: fun fact .. the Bronze AI will change to always allow a certain percentage to pass
DetoBot: too much too count
DetoBot: better sleep
DetoBot: yeah BronzeAi, it will handle
GuillaumeBardy: someone know how works (how is is calculated) the ratio used to process global ranking ?
Smelty: hi deto!
Smelty: :D
DetoBot: :innocent:
Smelty: uwu
Smelty: my current scoring bot (red) vs my old if/else bot (blue): https://www.codingame.com/share-replay/550330791
Smelty: its still not as good so i amn't submitting
DetoBot: lol the messages are enough to beat the oppo
Smelty: lolol
DetoBot: :sleeping: see you later
Smelty: see you
icecream17: it would be interesting to have a game where you can send numbers to your opponent
Smelty: xD yea
Smelty: what seems to be top players strat?
UndercoverToad: i'm in top10 and have no idea what's going on
UndercoverToad: just trowing CPU at it and hope that something good happens
Smelty: (xD)
icecream17: interesting - if both players complete the same amount (likely), then the player who completes the trees earlier wins
Smelty: thing is though, i don't know waht type of plant should get more points
Smelty: yes icecream
icecream17: so you want to complete as early as possible
icecream17: but then
icecream17: you wont have any trees to make sun
Smelty: yep
icecream17: so really, you want to complete your trees just before he opponent does
Smelty: yep
Smelty: so you can also put if opponent tree>3 then start completing?
icecream17: but the opponent also wants to do that
kovi: heuristic is stil ok for top10 ;)
Smelty: hmm
UndercoverToad: kovi you have heuristics?
icecream17: ok, submitting
kovi: yap
UndercoverToad: woah :o
UndercoverToad: tell me about them so i can integrate them in my scoring
kovi: ;)
icecream17: :joy:
Smelty: :rofl:
kreska: tell us all so we can meet you at the top:D
icecream17: struc is 91st ...!
Smelty: dang
jacek: oO
struct: I dont even need to check my rank
struct: I get updated here
StyllyMyle: One benefit of being famous:
Chainman: :rofl:
VizGhar: Can't you fairly easily copycat heuristic?
VizGhar: I have first 5 days and last 2 days hardcoded
VizGhar: wonder how tf I'll write the eval function
kreska: i have nothing hardcoded
VizGhar: good for you
jacek: VizGhar easy, just interpolate in between
kreska: i dont know if its good
VizGhar: hehe... like I'm drawing line :D
kreska: i wonder if there are many solutions to this problem or one correct way
Smelty: o . o
VizGhar: jacek why u 1047? trying NNs? :)
VizGhar: well kreska there is for sure one correct way... we are just not capable of telling which way is that
kreska: yes you are probably right :D
kreska: its just hard to imagine one :D
VizGhar: well its only 24 days of game... I can imagine, I could beat most of the AI's here :D
icecream17: ooh, the worth() of a tree completion is (regular worth) + (# of opponent big trees)
jacek: opponent?
kreska: so the more big trees oponnent have the more worth of tree completion?
icecream17: yeah, if you complete a tree, your opponent loses 1 nutrient * big trees
kreska: ok this is interesting it sound logical to me:D
stefan-gg: is there a bug with because it throws an exception for this for some reason int nutrients = in.nextInt(); btw its generated code
jacek: promoted to new league?
UndercoverToad: input format doesn't change between leagues
UndercoverToad: probably just modified some parsing code by accident
stefan-gg: hmm gonna check that ty
StyllyMyle: Anyone up
Michael_48: no
StyllyMyle: I wana chalenge and see how much my bot improved
Donald_D._Doge: then why not do it?
StyllyMyle: nvmm lool
Donald_D._Doge: lol StyllyMyle bruh
MindController: C++
MindController: Anyone know what is the root of this error?
MindController: terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
MindController: Fixed
jacek: glad to be helpful
AntiSquid: taking credit where it's due
Chainman: oof
algeo: rab
jrke: damn can't get whats happening with my code
jrke: :(
CGGCoder: Do you have any tips for how to make an algorithm that's somewhat successful in Bronze? I'm currently out of strategies and such
PasteDog: give each possible action a score, execute the highest scoring action
algeo: Grow seed grow seed complete repeat :nerd:
jacek: retire and die
algeo: wait
Donald_D._Doge: i'm waiting algeo
algeo: lol
VizGhar: that was it algeo? we were waiting for like 30seconds
icecream17: is there a way to figure out what part of your code is slow
Donald_D._Doge: profile it
VizGhar: some IDE profilers?
VizGhar: what language?
icecream17: typescript
VizGhar: ok, cant help you
BrunoFelthes: all code
AntiSquid: ya i can guess which part
Nerchio: use C++ so you dont need to find slow code because its all fast
Zenoscave: icecream I'm not sure if they optimize typescript. you might be better off transpiling locally and submitting JS
AntiSquid: https://duckduckgo.com/?q=typescript+profilers&ia=i_use_arch icecream17
Zenoscave: Anti you use arch?
icecream17: how do you run the spring challenge repo
AntiSquid: ya i use arch btw
StyllyMyle: Hm
icecream17: i already cloned it
Zenoscave: I did too for a number of years. Might switch back soon
Zenoscave: icecream17 you need to make a few changes to run locally
AntiSquid: lol, no but i like the meme Zenobia
Zenoscave: PM me
AntiSquid: Zenoscave
Zenoscave: Lol two zeno's
AntiSquid: Zenzoo
Zenoscave: I can only think about senzu beans now
ashiknur: can someone give me permission to message on discord?
AntiSquid: ok you may
Zenoscave: lol
jacek: :rage:
LegendaryStone: :angry:
Zenoscave: Jacek why rage?
jacek: no discord ~
ashiknur: I am saying because, message box is not working. It says you do not have permission to send message in this chanel
jacek: huh
Zenoscave: What chanel...
jacek: coco chanel
AntiSquid: lol .... reading comprehension over 90000
algeo: read only ?
AntiSquid: so click another channel : general
Nerchio: is left side of the board OP?
Nerchio: or is it just me
UndercoverToad: hey Zeno you wanted to win C#
Paluke: http://chat.codingame.com/pastebin/ae3f7ac5-2c71-4c69-bd83-3b1ae277126e
AntiSquid: you mean player 1??
Nerchio: well depends on the starting position
Nerchio: sometimes it top/bottom
Nerchio: just pretty sure left > right
AntiSquid: did you notice it for top bots too?
Nerchio: too much homework antisquid :D
Nerchio: but it would make sense to me, first couple rounds shade is not that important and after a few rounds sun comes back to shine west-> east and you get shaded lose eco and lose the game
Astrobytes: Shady business.
icecream17: how long does it take for java to download?
ddreams: on a 14.4 modem?
Astrobytes: Less than RAM does.
AntiSquid: so doesn't that mean right > left
Nerchio: why
Nerchio: around day 6 is usually when some kind of economy kicks in and sun is shining from west to east
ddreams: well, people who do selfplay should be able to answer that question
AntiSquid: ah ok
icecream17: ohhh there were two screens: one with a progress bar at 0, and a hidden screen where i had to click "next"
Zenoscave: icecream what version of java are you downloading
Nerchio: maybe if they added fog of war to the game it would be better
Nerchio: :joy:
AntiSquid: there is fog of war
AntiSquid: it's called no inputs if you wait
AntiSquid: see? very sneaky
Astrobytes: Or if it was interesting in the first place...
icecream17: "Java SE Development Kit 8 Update 291 (64-bit) Successfully Installed"
Westicles: Zenoscave, do you autopublish your solutions?
icecream17: huh, it looks like i've tried to use java before
icecream17: C:/ProgramFiles/Java shows jdk1.8.0_291 AND jdk-14.0.1... also jre1.8.0_271 and jre1.8.0_291
AntiSquid: did you add path variable ?
Zenoscave: Just did once Westicles Was curious which community solutions didn't have working examples
icecream17: javac works now!
AntiSquid: you can find all the setup info with google ... ok good
icecream17: yes, i was following some old webpage
Zenoscave: icecream17 you need maven too probably
Zenoscave: are you still working on the referee stuff?
AntiSquid: think maven is installed automatically with intellj
Zenoscave: oh cool
cegprakash: euler stop submitting and wrecking me
UndercoverToad: euler is not here, just UndercoverToad
Zenoscave: Toad use hypnosis!!!
UndercoverToad: first in C# will be hard, Illedan is breaking our agreement :(
UndercoverToad: sorry Zeno, can't give you a free pass with ille in the game
Chainman: I like how couple people wrote solution in bash
UndercoverToad: python -c "code here"
UndercoverToad: works like a charm
TobiasA: on what condition can a simulated game be over
Zenoscave: I did Mean Max in True bash at first
UndercoverToad: you like torture
Illedan: ^
Zenoscave: Just a lot
Zenoscave: Illedan you're recking my free pass
Zenoscave: quit it
UndercoverToad: coders of the carribbean had a bash legend bot
Zenoscave: you and about 15 other new c#'s
TobiasA: hm? does anyone know
UndercoverToad: but turned out it was a bash wrapper for a python bot
Zenoscave: day 24 is done TobiasA
jacek: or 'starts'
Zenoscave: oh yeah day 23 is done
TobiasA: how many turns are there in a day?
Zenoscave: infinite until both players use wait
struct: Yeah I remember that toad
MoMaT: @Tobias, depends on how much energy you have accumulated, it's finite.
Zenoscave: if (opponent.isWaiting && dady == 23 && Action.type == "WAIT") sim.Over()
Astrobytes: dady eh
Zenoscave: MoMaT of course it's finite
Zenoscave: just harder to type that conditional
Zenoscave: *day
Zenoscave: Do one Astrobytes
Astrobytes: OK Dad
UndercoverToad: you check the opponent waiting state?
TobiasA: ok thanks
MoMaT: and people should stop calling it a day. it's not a day.
TobiasA: what is it?
MoMaT: shadow doesn't change angle form day to day but from hour to hour.
Zenoscave: Not in my sim
UndercoverToad: i like calling it a day. and turning off the office PC
Zenoscave: buduntss
struct: im going to close chat until legend
struct: might be forever :(
MoMaT: maybe on some your flat earth models it does...
Cryptouser: how can i make a series of challenges for a private clash of code
Illedan: lol
Astrobytes: My a*rse struct
UndercoverToad: farewell struct
Illedan: struct, stay :D
Zenoscave: everyone ping struct
struct: I dont ear pings
Astrobytes: structured or unstructured pings for struct?
Zenoscave: fine. Automaton2000 get euler
Automaton2000: you need to change that
Astrobytes: Automaton2000 get eulerscheZahl
TobiasA: when silver is open do you have to beet bronze boss to get to silver
Zenoscave: Automaton2000 how's your bot
Automaton2000: but sometimes it can be avoided
TobiasA: ?
Automaton2000: so that's what it seems
Astrobytes: Yes TobiasA
TobiasA: ok thanks
Zenoscave: unless they start the bronze boss below you initially
Zenoscave: I'm think 800-1000
Astrobytes: In which case, you already beat it
Zenoscave: pedantics schmantics
Astrobytes: :rofl:
struct: I dont think theyll go lower than 20%
Zenoscave: struct close your chat
struct: Wood bosses usually are not this easy
Illedan: Only 10 in silver
struct: Blame the testers
Zenoscave: struct I blame you
Illedan: Thx for the easy bosses
AntiSquid: you should be able to get legend struct with that headstart you had
struct: I wanted my bot to be wood 1 boss
Astrobytes: Skipping wood is always useful
AntiSquid: ya wood skip was good
Illedan: Struct lost his headstart by submitting his best bot early
struct: yeah
AntiSquid: really? he could continue to improve :P
struct: I think it might have helped some people
Astrobytes: What, your code?
Westicles: ooh, dapo tweeted he's going to play
Illedan: he got twitter?
Illedan: Link?
AntiSquid: how does westicles know ?
struct: my code astro?
Astrobytes: "I think it might have helped some people"
Astrobytes: :)
Westicles: let me look for the link... can't seem to find it
struct: ah
UndercoverToad: Illedan i'm coming :muscle:
Illedan: hmpf
Astrobytes: Westicles trolling again?
Illedan: Down you go :D
UndercoverToad: (╯°□°)╯︵ ┻━┻
Illedan: I had 4-0 vs you on this submit :D
struct: He was in coder one discord
struct: but didnt join the game
Illedan: (╯°□°)╯︵ ┻━┻
AntiSquid: he did
UndercoverToad: but I added center bonus now
struct: he did?
Illedan: hmm
struct: which rank did he place?
AntiSquid: team ascend
UndercoverToad: dapo got 3rd at coderone
struct: ah
Astrobytes: Nice
struct: valgrowth was solo?
AntiSquid: he says he had a bug, considering the lack of testing not surprised
TobiasA: is it possible to simulate to the end of the game and get an action within 100ms?
Illedan: Try for yourself
Illedan: It is a contest
UndercoverToad: with a very small beam it's possible
TobiasA: oh i didn't notice
UndercoverToad: like greedy choice
UndercoverToad: but won't be helpful in any way
TobiasA: thanks
struct: sim wait
AntiSquid: i am sure he was, read his blog to check, struct he already wrote his review for coderone
struct: you will reach end in no time
UndercoverToad: valgrowt h was solo
UndercoverToad: sima n could have joined but didn't according to his twitter
AntiSquid: coderone wrote like 10 times on their discord they want to be the #1 bot contest site, let's see how long it will take them :)
UndercoverToad: https://twitter.com/_simanman/status/1390565771336556545
ja_fica: struct, have you used alpha-beta pruning in tic-tac-toe for the last plays?
UndercoverToad: they surely have to bypass CG and RAIC to become #1
Astrobytes: Dapo did not tweet that he's playing.
AntiSquid: "I got a prize when I teamed up with Val (hey)" so just being part of the team? :D
struct: no, I used vanilla MCTS
UndercoverToad: except they have different metrics what #1 is
UndercoverToad: player count? prize money?
struct: from start to finish
ja_fica: DFS over BFS
AntiSquid: winner of the bracket
Queuebee: can you just spawn #somechat like that
Zenoscave: UndercoverToad how do you profile your C#?
struct: on uttt yes
UndercoverToad: "If I had teamed up with Val, I would have won the prize money (hey!)."
UndercoverToad: that's how deepl translates it
AntiSquid: there were too many draws so they played the bots multiple times UndercoverToad
UndercoverToad: visual studio has a nice profiler
Zenoscave: *without windows
UndercoverToad: i'm totally willing to use office equipment for personal needs
Zenoscave: I feel I ask this everycontest
Astrobytes: You do
cegprakash: I want only 500 guys to promote to SIlver tomorrow but I doubt CG might open it for 2000 people
UndercoverToad: there is a mono profiler which is okay-ish but far from VS
AntiSquid: found out yet ?
Zenoscave: I should remember the answer i find next time
UndercoverToad: still some gap between #4 and #5 that's hard to break through :/
Illedan: Yeah, I wonder what feature is missing
ja_fica: Vou tentar ultrapassar-te nisso, tenho um agente fixe feito em keras(python) mas não dá para transpor para aqui nem o conseguia fazer em menos de 100ms, por isso vou utilizar tecnicas mais viaveis
UndercoverToad: and aCat sending his students again
cegprakash: euler is coming @UndercoverToad don't worry
Astrobytes: Zenoscave: Search on the discord, pretty sure you asked there at some point
Zenoscave: thanks astro
UndercoverToad: nah, euler is a failure so far
Zenoscave: I did. I'm using my answer there but getting a new issue
cegprakash: euler in silent mode too
cegprakash: so he's upto something big
AntiSquid: ja_fica english por favor
UndercoverToad: i am euler in case you missed that
UndercoverToad: browser kept crashing when I opened that chat with so many active users
cegprakash: oh
Zenoscave: Too many follows?
UndercoverToad: moderators can see everyone online on the chat
struct: no just mod benefits
UndercoverToad: 1000 users at once => crash
UndercoverToad: or very laggy if I switch to firefox
Zenoscave: yikes
Astrobytes: It's just starting to slow down for me now
UndercoverToad: my default is Crhomium
Donald_D._Doge: hey i have alt on top of main and it doesn't crash
Scuffed: :worried:
cegprakash: may be someone's curse UndercoverToad .. may be u trolled someone to read prob statement when you weren't asked specifically for help
Zenoscave: maybe that someone should rtfps
Zenoscave: anyways
Astrobytes: Crhomium - at least you got the periodic table symbol correct
Donald_D._Doge: https://youtu.be/9OHm6FsgJM8?t=36 cegprakash i have to share this again with you my friend
UndercoverToad: if you refer to martinpapa 2 or 3 days ago: i also gave a helpful answer before mentioning that it's in the statement
struct: gl ja_fica, im not sure py3 will be enough though
icecream17: yes! i built the brutaltester jar
UndercoverToad: and I think I can talk to him like that (old rivalry but we get along well. just trolling)
Astrobytes: cegprakash: dude, nobody intends any offence to you with the problem statement thing
UndercoverToad: like me fighting with ille for first in c#
Zenoscave: nice icecream17
cegprakash: wuut eulersche throwing away ranks just by choosing C#
cegprakash: interesting
Zenoscave: cegprakash euler always starts C#
UndercoverToad: c# is the language I know best
Zenoscave: rarely doesn't stick
UndercoverToad: last time I converted to C++ but didn't really help
Astrobytes: I thought German :thinking:
Illedan: Damn, nice score now euler :O
Zenoscave: moin euler
UndercoverToad: a few extra sims but could have used the time for features instead
UndercoverToad: thanks Illedan
UndercoverToad: and dropping just as you mention it :D
AntiSquid: jynxed it
Illedan: ;)
Illedan: Everything as planned
Zenoscave: Ok I need to figure out a better eval
VizGhar: I'd like to drop too from #5 to #6 :)
AntiSquid: easy: get #5 first
dbdr: Zenoscave me too
UndercoverToad: i still have this crazy and unrealistic dream of winning once :hugging:
Illedan: ^
UndercoverToad: i know that emoji says hugging but i see it as hovering on a cloud
Illedan: Me2
Illedan: I want a Canvas
UndercoverToad: a canvas for winning and not creating a contest
UndercoverToad: big difference
Illedan: ^
Astrobytes: You could technically print your own
Illedan: ofc
Illedan: Astrobytes :door:
Astrobytes: :rofl:
Gagat: Having both is nice too :D
UndercoverToad: i can't kick, wrong account
Gagat: As for printing, I seriously considered printing a CSB one at some point
Gagat: haha
UndercoverToad: CSB isn't even my favorite artwork
Gagat: Which one is it ?
UndercoverToad: but Tonton made some cool stuff
UndercoverToad: hm, let me see
Gagat: I like the OOC art work
UndercoverToad: A*Craft was cool
Illedan: Yeah, OOC is nice :D
Queuebee: http://chat.codingame.com/pastebin/c8734d77-ec08-4958-9328-d98cf4e8bd8b
UndercoverToad: I really wanted that
AntiSquid: ooc is nice
Queuebee: ah.
Illedan: Gagat, when do you submit your real bot? :D
Gagat: I don't have a real bot
Westicles: https://vlaa.org/fan-art-im-cool-with-it-but-is-the-law/
Gagat: I have a crappy bot
Gagat: It's submitted :D
Gagat: and very, very, very crappy :D
UndercoverToad: i'll go with fantastic bits or codebusters for the artwork
Illedan: I'll give it a few days and suddenly wild DUCT appreas
struct: gitc looks nice
AntiSquid: BotG best
Gagat: Where can I see the A*Craft art ?
UndercoverToad: BotG art is meh
Gagat: or all other contests too...
UndercoverToad: maybe because i'm not into marvel at all
AntiSquid: Automaton2000 kick the infidel
Automaton2000: its going to be helpful
Illedan: Yeah, I like botg
Gagat: I'm on the multi page, but it's not really obvious where to look...
UndercoverToad: https://www.codingame.com/contests/finished
Zenoscave: botg worst
struct: https://www.codingame.com/servlet/fileservlet?id=21918289874620
Gagat: Thanks struct
Zenoscave: is that bannable to say Anti?
Astrobytes: Yeah, that was nice
AntiSquid: who made the A*Craft art btw?
Astrobytes: /ban the Zeno
UndercoverToad: freelancer I think
Gagat: nice page for the recap UndercoverToad
AntiSquid: who is zeno ?
Zenoscave: an infidel
AntiSquid: that person doesn't exist
Zenoscave: Ouch.
UndercoverToad: and OoC was from shutterstock
Astrobytes: Shocking.
Astrobytes: x2
UndercoverToad: shuttershock
Gagat: Hmmmm the CSB art isn't that nice :/
UndercoverToad: oh, shockshock?
Illedan: BR2k art :D
Astrobytes: shuttershutter shockshock
AntiSquid: code vs zombie art is nice imo
Gagat: struct, I'm failing to get a direct link to the image like you got :/
Gagat: I'm trying right click on the image -> inspect
UndercoverToad: which one do you want?
Gagat: The CSB one to see it full screen
Gagat: but mostly I'd be interested in the method too...
AntiSquid: right click inspect element
AntiSquid: and rummage through the code
UndercoverToad: https://www.codingame.com/servlet/fileservlet?id=2849406065746
UndercoverToad: and https://www.codingame.com/servlet/fileservlet?id=4769442240713
AntiSquid: CIF is good quality too https://www.codingame.com/servlet/fileservlet?id=29703240393679
UndercoverToad: i'm up since 5:30 am and happy with that submit
UndercoverToad: bedtime, see you tomorrow
AntiSquid: bye
Illedan: bye
Illedan: I'm not happy with the submit
Zenoscave: bye
Gagat: ohhh, it's not a tag I should have looked for !
Gagat: It's a div that *is* the image
VizGhar: +700positions today... one more day like this and ill beat you all :D
Astrobytes: lol, I went to bed at 5:00am
Gagat: CIF artwork is nice indeed
AntiSquid: why
AntiSquid: astro
Nerchio: i fixed a bug and my bot stopped working
Nerchio: cool
ShannonNorris97: If a tree is size 2, does it have to plant 2 cells away? or is that the maximum?
Gagat: classic :D
Astrobytes: It was the anniversary of the Cornell Grateful Dead show AntiSquid, appreciation of that was required late into the night
Gagat: maximum
ShannonNorris97: Thank you
Gagat: It can plant closer
Illedan: I'll take a break from this contest until thursday. Cya people. Kick me if I do something stupid :D
KelvinAndHubbles: how do you output to debug in c++?
fvla: cerr
AntiSquid: i tried, kick doesn't work, sorry
Astrobytes: lol, cya Illedan
Illedan: I need to stop trying random values in my eval and code something serious
Illedan: bot too dumb
VizGhar: same here Illedan
AntiSquid: i think i have something smart, but it's slower than expected and the eval is almost non-existent
geppoz: ?
struct: Illedan time to use euler param fiddler
itzluku: how do i lose to a guy in the arena, copy the seed and then with with the same seed
ddreams: what's the param fiddler?
itzluku: no way he updateted his bot in the last minute
KelvinAndHubbles: itzluku use any random in yours?
KelvinAndHubbles: or theirs too
itzluku: no only for msg output xd
struct: https://github.com/eulerscheZahl/ParameterFiddler
KelvinAndHubbles: my old python If else had a random selection between seed choices
itzluku: hm maybe my opp did
itzluku: true
itzluku: but weird
itzluku: sad i cant debug that game
itzluku: had a weird shadow decition
itzluku: sadge
KelvinAndHubbles: yea, I came up with that a lot where I would lose, send to IDE, and win due to randomness
ddreams: nice
ddreams: I should get brutaltester up and running
struct: im not sure if param ifddler still works with current brutaltester
itzluku: yo my new bot is owning
itzluku: +200 places alrdy
cegprakash: itzluku congrats
struct: I used it in my arena bot using brutaltester 0.2 and a referee made by me
itzluku: https://www.codingame.com/replay/550452160
itzluku: xD
itzluku: some ppl rly dont give a fk about nutrients
Westicles: itzluku, just in case you didn't know you left the stream on.
Zenoscave: Finally!!!!
Zenoscave: Turns out it was an out of date .net sdk version making my trace fail
AntiSquid: itzluku what are you trying to do on stream?
Nerchio: hot tub stream?
jacek: https://img-comment-fun.9cache.com/media/a85Qm2d/aP72nx77_700w_0.jpg
AntiSquid: :joy:
actualCoderTrevor: jacek that's dark but I can't stop laughing
xxk1ng0fh3artzxx: >XD
JSboss: * white rabbit peaks *
Zanoshky: how to set it up ? https://github.com/eulerscheZahl/ParameterFiddler
Zanoshky: refere?
struct: check the example
struct: referee needs to be compatible with brutaltester
Loulou6: Hello ! Does someone know how to find a specific battle ? I want to know how works my bot against the one from my friend ? :p
geppoz: you can pick an "enemy" from IDE
geppoz: not need to find a battle
geppoz: delete the default opponent and pick another
gbudau: Hello, anyone know what are the limits of this error?
An error occurred (#407): "You reached the limit of plays for a period of time.".
struct: Used to be 1 match every 20 seconds, I dont know what the limit is now
gbudau: Thank you
geppoz: struct , is this referee compatible with brutaltester?
Smelty: dangit-
struct: you need to do a few changes I think
SirLoxley: server under load now? I run into timeouts and my bot logic hasn't become that more complex
therealbeef: timeouts can be crashes too
CyrilMtl: Hi, what do they mean in bronze leagye : Players that are asleep do not receive input. ?
SirLoxley: found the issue ... too much debug logging.
geppoz: as soon as a player outputs "WAIT", he fall asleep
VizGhar: huuu new #1 :O
geppoz: the other player can continue to play that day, and the asleep one doesn't receive any input for that
CyrilMtl: what sort of input I would not receive if I sleep ? I don't understand
geppoz: when the second outputs "WAIT" too, a new day begins and both receive again inputs
CyrilMtl: I don;t understand sorry
geppoz: when you output "WAIT", you fall asleep
ddreams: when you wait, the opponent plays until the next day
ddreams: you don't see any of that
geppoz: but the day is not over
geppoz: so you dont receive inputs until next day (=until also the opponents WAIT)
CyrilMtl: ok, I have to look at the 'day; concep
CyrilMtl: concept
ddreams: there can be many actions (rounds) in a day
ddreams: but you can only take one action per round
CyrilMtl: it is only since bronze ?
ddreams: are you still in Wood?
CyrilMtl: I am bronze
ddreams: pretty sure it was the same in wood
CyrilMtl: I passed btih wood pretty quickly with a basic code (always a problem in each contest)
BrunoFelthes: UI is not showing emojis at msg :/
VizGhar: It's probably more intelligent then you think BrunoFelthes
SirLoxley: need to stop now or it's 2 AM again lol
AntiSquid: i know it's late in the contest, but why do we get shadows in the input ?
ddreams: ?
Donald_D._Doge: question mark
ddreams: I guess it's time for you to sleep
Donald_D._Doge: no u
geppoz: there is no shadow in inputs...
rvaldes-: is there a way for us to play the game so we can come up with new things
AntiSquid: oh my code does that for me, didn't realize @_@ sorry
JulieTobin: How do you learn to code on here?
AntiSquid: ya ok, so i compute the current turn's shadows for some reason, why is that code there? lol
icecream17: sigh, I can't figure out how codingame implements `readline`
Hoyer: maybe u made it for debug and forgot to remove it
AntiSquid: maybe, i'll comment it out ... :D
AntiSquid: JulieTobin well you should know language basics
AntiSquid: do you know any language?
Numby: Ok, I put the time to make a somewhat efficient representation of the board, possible actions and simulating. I'm getting 2~5k sims a turn choosing moves randomly. Can anyone point me to something more useful to do with my setup than random? Currently I'm just running a bunch of sims from each possible move until the end, then picking the move which ends up with the most wins
AntiSquid: include opponent somehow ?
Enknable: just create an eval function?
AntiSquid: i think he has an eval already, right? how else does he check best move at the end ?
Numby: I'm including opponent yeah. WDYM eval. Im just counting number of wins from the end states I got to by chosing random moves for me and my opponent
Enknable: well you have state information along the way
Numby: the end state score is 0/1 (lose/win)
ddreams: look up monte carlo tree search
AntiSquid: evaluate what you have at the end, suns trees ...
Numby: I mean sun doesn't really matter at the end though? I just compare my vs opp score and if equal I look at tree count
ddreams: as long as you count the suns into the score, correct
Kukiss: I believe the sun counts into the final score.
In the rules, section 'Game end' we have "Players gain an extra 1 point for every 3 sun points they have at the end of the game."
Numby: Oh, I hadnt even noticed that
pmor: And then a tie breaker of # of trees left
KelvinAndHubbles: how long is the "You reached the limit of plays for the time period" period last again?
Thundar: Was my bot in Wood I doing placement matches without me submitting my code? I didn't change my code or submit anything yet I just got promoted to bronze
ZarthaxX: Thundar you can get pushed
ZarthaxX: people that submit play against your bot or against boss and lower boss score or increment yours
ZarthaxX: so you end passing
Numby: These might help since a lot of my sims (esp in the beginning) end up with both me and my opponent not having any actual score. So tie-breakers will matter
Thundar: Oh, well that's interesting
Numby: But I think the bigger issue is I have some monte-carlo inspired algo but its not really a MCTS. I think Im missing the tree search part lol
ddreams: yeah, you want your results to influence your search
Numby: Yeah I dont really do that atm lol
Numby: Just random turns start to end ^^
Enknable: instead of random moves, why not score each move?
Numby: I wanted to try out sims instead of heuristics this time
ddreams: the beauty of the monte carlo tree search is that it scores it for you
Enknable: right
Enknable: but u can use heuristics to guide your sims choices
Enknable: unless you store the tree
Numby: Hmm yeah should do that too prolly next weekend. I really focused on game representation and sim efficiency
Enknable: >A hybrid approach to MCTS is possible, however. Instead of allowing the random playout to run until the end of the game we can instead terminate the playout early and then apply an evaluation function to the position to determine which side is more likely to win.
cegprakash: submits stuck wew
ddreams: you can start by storing the first depth
cegprakash: it's just 3rd day and already submits stuck
Smelty: yes
ddreams: and prefer simulating the winning moves
Numby: Maybe for end game it's possible to create a simple-ish algorithm to complete your trees/cash out instead of evaluating
ddreams: the simplest way to do that is just to stop generating seed moves near the end
Astrobytes: Enknable speaks of EPT variant of MCTS - effective algo
Numby: Do you guys store the tree in between turns too? Cuz you should be able tore-use your work but might be tricky to account for opponent's move too
Numby: able to reuse*
Astrobytes: Depends on your implementation but it should be pretty easy to set your new root to the best node for the next turn
Smelty: hmmst
ZarthaxX: ASTRO
Astrobytes: ZARTHOXYBRO
AntiSquid: bear
Astrobytes: Yeah, back to the bear eh
AntiSquid: it's a bear, i call it a bear, not being racist, just saying it as it is
Smelty: still dropping ranks...:(
Astrobytes: It is now a bear, he changed it
ZarthaxX: blaise demanded the bear
AntiSquid: fix it, laptop cat
ZarthaxX: AstroSeed
ZarthaxX: how is the contest going
Astrobytes: Can't argue with the Devil Himself I guess :P
icecream17: ohhh I finally figured out how readline is implemented by codingame: it's implemented by d8
Astrobytes: Contest shmontest ZarthaxX
Astrobytes: I don't like it, I find it really, really boring
AntiSquid: i also think it's bad game choice, but i kept trying to improve my bot
AntiSquid: find it irritating
Astrobytes: I will write something serious yeah, but it's just soooo boring.
AntiSquid: even gocoder looked more fun lol
Astrobytes: lol you know it
AntiSquid: i hate that one too
Astrobytes: This one might have been OK as a community multi
AntiSquid: not fun with if else, not fun with sim for me ...
Astrobytes: I would have given it an upvote but probably wouldn't have played it
Astrobytes: My sim is almost ready but I just cannot be arsed to finish it.
orangesnowfox: yeah... Not the best contest I've played
CyrilMtl: only a big tree can seed ?
Smelty: nope, all can
CyrilMtl: oh, thanks.
AntiSquid: i think i would rather play the King Domino port made by bob, tulips vs daisies ... maybe even try paper soccer, damn actually paper soccer looks fun after trying this contest out
Smelty: you can seed to a distance equal to your current height
Astrobytes: Just been fking around with strange if elses casually and talking to a mate, + playing a match 3 game for the past couple of hours if I'm honest
Recovery_disaster: but the range you can plant a seed depends on the level of the tree
ZarthaxX: oh pity Astrobytes AntiSquid :(
ZarthaxX: i also find it not so interestign maybe
ZarthaxX: hard to do smth
ZarthaxX: you hit the wall too fast haha
orangesnowfox: haha... I added the ability to use `SEED` and suddenly m bot gained a whole bunch of rank :v
AntiSquid: i precomputed shadow casts, expected a massive boost ... but then nothing ~_~
Astrobytes: Well, write sim. Make fast. Search.
Astrobytes: No depth
Astrobytes: to the game
ZarthaxX: F
Zenoscave: My Sim is done but I can't for the life of me get a good eval
ZarthaxX: you think thats the game astro?
**orangesnowfox remembers Code Royal is a thing
AntiSquid: i don't think that is enough astro
ZarthaxX: Zenoscave SAME
ZarthaxX: it's super hard to find an eval
Zenoscave: I'm doing 30-40k states a move
Astrobytes: There are useable heuristics but this is how it will end
ZarthaxX: a moev?
ZarthaxX: wot
Zenoscave: *a turn
ZarthaxX: oh okey
ZarthaxX: that doesnt seem like much :thinking:
Astrobytes: Fix it
CyrilMtl: I guess Dormant tree can't seed ?
CyrilMtl: I guess Dormant tree can't seed ?
Zenoscave: Yeah I could do better I'm sure but I need eval first
Smelty: yes
AntiSquid: i don't include op yet ... not sure how much will change, just wonder what top is doing ... i am barely breaking 1k lol
orangesnowfox: CyrilMtl, Dormant can't do anything lol
AntiSquid: i think it's a bit random actually Astrobytes, but i might be wrong
Astrobytes: CyrilMtl: when you are dormant what are you able to do?
Smelty: uh oh accidentally submitted
CyrilMtl: They should implement an NO2 booster option ;)
Smelty: hmymm
Astrobytes: -3vel*treeSize
Astrobytes: I donno AntiSquid. Anyway
AntiSquid: you know what game also has sun as currency but is actually fun ??
Smelty: LMAO
Astrobytes: I'm out for tonight
AntiSquid: Plants vs Zombies !
AntiSquid: good night
Astrobytes: lol
Zenoscave: gn Astro
Smelty: hrrm
ZarthaxX: gn sweetie
ZarthaxX: :*
AntiSquid: it's a fun game
Astrobytes: It would be a fun game for fun guys if it was Shrooms vs Zombies
Astrobytes: .... :door:
AntiSquid: oh look my improvement might get me 100 extra rans wow ... will be top 900 soon yay .. *false excitement*
ZarthaxX: depressing squido
ZarthaxX: im with you on that one tho
orangesnowfox: Huh I wonder how a NN would do here
orangesnowfox: Probably terrible xd
AntiSquid: omg this again
orangesnowfox: ... This has already come up like 500x hasn't it
orangesnowfox: lol
AntiSquid: no . depends . depends . and it would do amazing if the right approach is taken
ddreams: ok, I definitely have a bug in the shadow calculation
ddreams: awesome
AntiSquid: spent hours bug hunting with this game, ddreams
ddreams: excited to see how big of a difference it makes when I fix it
ddreams: found it.. I only cast shadow from a tree bigger, not bigger and equal
ashiknur: I am in bronze league. How can I go to wood league?
ddreams: you can't
ddreams: so that bugfix got me from 1200 to 700
ddreams: at 50% battles at least
Zenoscave: How do you balance completing early vs keeping more trees in eval?
Zenoscave: I can't distribute them evenly it seems
ddreams: sitting here trying to tweak the same
stefan-gg: i dont know if this is a bug but apparently i can harvest size 3 tree with this code for some reason
stefan-gg: http://chat.codingame.com/pastebin/b5096f48-6644-438b-b3e3-6e9fc81c573f
ZarthaxX: that's the msot problematic part
ZarthaxX: :D
stefan-gg: i even have this condition isMine && size == 0 and somehow size 3 tree is being looked at like it is size 0 kinda
ddreams: print out the size too then
ddreams: suprising if size is not 0 in there
ddreams: you can only harvest size 3 trees though
stefan-gg: size is 0 but i can harvest it
ddreams: You can only complete the lifecycle of a size 3 tree
ddreams: if you try to do an illegal action like that, you'll wait instead
stefan-gg: yes but i have that condition and in the if statement i have the only complete comand so there is no other complete comand anywhere else
stefan-gg: and i specified size needs to be 0 but tier 3 tree is still harvested someho
stefan-gg: its most likely my mistake but i wondered if somebody had the same problem
ddreams: print out size inside your statement then
stefan-gg: it doesnt prints it only does the complete command i just tried out that
stefan-gg: its like it ignores everything except complete
ddreams: pretty likely that you're not running the code you think you are
stefan-gg: im gonna double check that again ty
orangesnowfox: I forget if depth=8 is "good" for onitama...
stefan-gg: thats the right code i triple checked that i dont have anything else
ddreams: so you see your "System.err.println(cellIndex + " nula <- minn");" printout?
stefan-gg: yes but i dont see it if the tree is size 3
MoMaT: you can't harvest size 0. there are no complete actions on the list for this size.
stefan-gg: but for some reason that is working and it was confusing me
Enknable: why not just post the paste of the code surrounding your check?
MoMaT: you have some side effects somwhere.
MoMaT: check how do you assign and later change cellIndex and minn.
MoMaT: ah, no, minn is just string...
stefan-gg: im just confused how is tier 3 tree passing the size == 0 statement im not changing size anywhere
ddreams: it's almost certainly not
Enknable: isMine is true too?
MoMaT: maybe you change size to soemthing else before the check.
ddreams: so print out size somehow
ddreams: if you can't see your printout, you need to figure out why
stefan-gg: well thats the problem it doesnt print the size but it does the complete part and tree is harvested
ddreams: add more prints until you know what's happening
stefan-gg: ok im gonna try that ty for help guys
Enknable: wait wait...
Enknable: you're harvesting a 3 tree?
Enknable: http://chat.codingame.com/pastebin/1dd05bc7-f6cc-4f32-873e-4d5051f4dc36
Enknable: so...what's the point of this snippet?
Enknable: you should show us the other code where COMPLETE exists
stefan-gg: im getting 404 error wtf
MoMaT: we need to see the code before that.
Enknable: thats where the bug is
Enknable: http://chat.codingame.com/pastebin/b5096f48-6644-438b-b3e3-6e9fc81c573f
ddreams: almost certainly size is 0, but cellindex is pointing to a size 3 tree
Enknable: sorry its just your snippet
stefan-gg: ok im gonna print the whole code
stefan-gg: http://chat.codingame.com/pastebin/8e2aa254-9573-4e73-965c-a1f4f1354b97
stefan-gg: and i made a map before but thats not the problem
ddreams: right
stefan-gg: and everythin else i have is commented i triple checked that
ddreams: you are printing out several commands per line
annaproxy: Is there an example input available somewhere for testing locally? Maybe i'm not looking hard enough
ddreams: per *round
MoMaT: still can't where cell index and size are set.
ddreams: anna, you can print it from the game
MoMaT: *can't see/
annaproxy: Yes but I am lazy
ddreams: then you're screwed, I guess :p
Zenoscave: no example input is available
Zenoscave: annaproxy that's the easiest thing to do though
annaproxy: yeah will do that then
MoMaT: annaproxy: while True: x = input(), print(x, file=sys.stderr)
annaproxy: yep
Enknable: it might be that your size and cellIndex are not related to the same tree
Enknable: the print double output could be it too tho
Zenoscave: you can only print one line per turn
Zenoscave: that's gonna be the issue
MoMaT: so, @stefan-gg what you got for us? I need a clojure.
stefan-gg: nothing i dont know what to do to be honest
ddreams: you are printing out several commands per turn
ddreams: that's going to be bad
MoMaT: show us the complete fragment of the code, including the lines where you assign values to your attributes.
stefan-gg: but if i do this command it wont harvest my tree if(size == 3 && isMine){
System.out.println("COMPLETE " + cellIndex); } i just tried it out
Zenoscave: do you have 4 sun?
ddreams: do you get a warning?
stefan-gg: ok im gonna copy all variables now
Zenoscave: it costs 4 sun to harvest
stefan-gg: http://chat.codingame.com/pastebin/139fa736-7d69-4107-bfe8-c3db4f2f95ae
int count1 = 2; int count2 = 0; int count3 = 0;
stefan-gg: thoose are my only variables outside of that code i sent before
MoMaT: ok, but that;s reading input.
MoMaT: where do you set Cell Index and size?
stefan-gg: int cellIndex = in.nextInt(); // location of this tree
int size = in.nextInt(); // size of this tree: 0-3
stefan-gg: for (int i = 0; i < numberOfTrees; i++) { it is all set in this for loop which is inside a while true loop
MoMaT: so you print decision while you're reading the trees? without reading all input first?
ddreams: print out cellindex and size so you can see if they correspond
ddreams: but if you use the code you pasted before, you have a huge bug in that you print several commands per turn
MoMaT: yes, @ddreams is right. you need to read all lines, then print just one.
stefan-gg: ok, ty for help im doing that rn
MoMaT: if more than one tree fits the condition, the command will apply to the next turn...
MoMaT: so at some point there you might not be in the turn you think you are.
miszu: good evening children
MoMaT: hey, stefan-gg is older than you! you can't be his father.
actualCoderTrevor: When silver opens up will the boss be harder than the default ai is now?
ddreams: could be his father in law though
ddreams: absolutely yes
Nerchio: actualCoderTrevor for sure
miszu: when silver opens?
actualCoderTrevor: Cool thanks :)
miszu: I wonder if my wood 2 code will pass bronze
actualCoderTrevor: miszu yes it opens tomorrow, right now bronze is the farthest you can advance
MoMaT: there should be a bot here answering all the question about the league system.
MoMaT: of only Automaton did his job...
ddreams: everyone here is a bot except you, momat
miszu: Negative
ddreams: ^ just what a bot would say
ddreams: sneaky sneaky
MoMaT: ROTFL
miszu: I see an enemy!
MoMaT: AUtomaton2000 help, who is a bot here?
Automaton2000: you know i am talking about
MoMaT: thanks, that was helpful as always...
miszu: Automaton2000 who is my father
Automaton2000: if i had to deal with
ddreams: automaton2000 are you broken?
Automaton2000: clash of code with a lot of things
ddreams: I'll take that as a yes
MoMaT: :)
Hugo-NL: you can do multiple complete in 1 day ?
ddreams: yes
MoMaT: if you have energy.
miszu: I am too lazy to write the engine for the comp
Hugo-NL: damn
Hugo-NL: can you also do multples of other commands as long as you have energy ?
actualCoderTrevor: Yep every command but wait
MoMaT: thats' what is meant by "As long as you have enough sun points, you can take any number of actions. "
ddreams: but only one action per tree
ddreams: so you can't both grow and complete a tree in a turn
stefan-gg: but if i do that nothing will happen ? or it will be transfered to another turn ?
MoMaT: that's never an issue if you use provided list of action. only valid actions are there.
ddreams: if you do an illegal action you will sleep
annaproxy: good, I need to go to bed anyway
stefan-gg: but if i understand correctly if i do multiple commands they will transfer to another turn ?
ddreams: I think so
stefan-gg: and if i grow tree i cant harvest it on same turn ?
ddreams: you probably get a warning about not reading all the input
ddreams: if you use a tree, it becomes dormant
actualCoderTrevor: It depends on what you mean. If you output two commands before you get more input than yes, but that's almost certainly not what you want.
actualCoderTrevor: You get new input for every turn, not just every day
stefan-gg: what is considered on reading all input i didnt quite understand that part does it mean i have to use all generated variables ?
actualCoderTrevor: You don't have to use them, just read them from the input stream
ddreams: ^ so every turn you must read all the input the game gives you, and output a single command
stefan-gg: oh ok that makes sense now
ddreams: to make sure you only print a single command, you can have an action variable and only output it at the end of your while loop
ddreams: so you only have one System.out.println in your entire program
stefan-gg: oh that makes sense because i output command in every loop in for loop
Nezzler_YT: i need help i just started coding
ddreams: do you have a question too, perhaps?
Roxxx: Hey guys
Roxxx: anyone familiar with MySQL?
ddreams: sure
CyrilMtl: Quick question, If I seed from a tree size 2, seeded cell must in straight line from the tree ?or is it 2 cells adjacent ?
ddreams: nothing about straight lines here
ddreams: 2 cells away in any direction
skotz: having a difficult time dealing with the c# gc
KelvinAndHubbles: welp, spent the whole day transferring my python beam search to c++ and went down 100 places :/ Gonna tweak it, but feelsbad
ZarthaxX: KelvinAndHubbles bug prob
KelvinAndHubbles: well, I mean it also was a language transfer and because c++ instead I could do lower depths without hitting a timeout because python slow, but yeah a bunch of things I need to workout
KelvinAndHubbles: yeah tho, it doesn't help that sometimes it just decides to not decide on any action, gotta fix that
NinjaDoggy: everyone doing beamsearch while I'm sitting here with my Monte Carlo(not tree search yet) LMAO
KelvinAndHubbles: that's fair, my first time doing something in a contest that isn't if else or horribly failing to get a genetic alg to find an optimal solution
ZarthaxX: lol :rofl:
NinjaDoggy: nah it's because I think beam search is ass this contest :P
NinjaDoggy: going to jump directly to MCTS after using MC to verify my game engine works ;)
FatIvan: Nothing wrong with a little pile of if else.
FatIvan: Same plan I use every time.
ZarthaxX: simultaneous mcts?
NinjaDoggy: yeh simultaneous mcts
NinjaDoggy: might be busting something out from xmas rush :P
MoMaT: NinjaDoggy, how do you find this game compared, e.g. to the Ice and Fie, or the RPS Pacman?
MoMaT: IIRC, you had been using quite creative tactics there. do you see any options for creativity in this game?
NinjaDoggy: nah nothing super fancy like ice and fire from what I can see
NinjaDoggy: but I like it more than pacman so far because it's perfect information :)
MoMaT: heh, OK, so your are not into predicting the enemy, I see.
NinjaDoggy: yea I'm more into cool search techniques/pruning :P
NinjaDoggy: like I was 100% carried by using dijkstra's in CoIF lol
MoMaT: but is it that cool? once you implemented it for one contest you can just run it on them all. you just need to grind out in experiments, the perfect evaluation function...
NinjaDoggy: nah like pruning techniques that only apply for the specific game
NinjaDoggy: like in CoIF dijkstra's could be used to find sick cuts or finding the amount of gold needed to win
NinjaDoggy: not really applicable in other games at all
MoMaT: hmmm... I think I prefer multi-agent games, there have more interesting things to do... I don't find the 2 Totoros that much different from 2 Yubabas...
NinjaDoggy: agreed, which is why I liked CoIF so much :P
ZarthaxX: idk if xmas rush algo will help here
ZarthaxX: but good luck dogo, you always amaze me
ZarthaxX: :)
Lachrymosa: Once silver drops, my goal for the week is to make a sim and look at least 1 deep :V
ZarthaxX: excellent goal!
Lachrymosa: I've never written a sim before uwu
ZarthaxX: there is always a first time
Lachrymosa: for a sim, do I need to make EVERY possible move, or can I get away with not doing shadows or something?
ZarthaxX: you have to sim all the behaviour
ZarthaxX: but you can do it gradually
ZarthaxX: like just support seed
ZarthaxX: or just complete
ZarthaxX: and so on
Lachrymosa: that makes sense
ZarthaxX: yeah
ZarthaxX: try doing that
ZarthaxX: step by step
Lachrymosa: evaluation is something else too. This game doesn't have instant win/loss so I can't check for that really. Do I try and see if they could make more points than me on any given turn?
ZarthaxX: yeah
ZarthaxX: you can try many things
ZarthaxX: an eval is an estimate of how good is your actual position
Javatacos: What does dormant mean in the game. does it mean that it will collect no sun on the next turn?
icecream17: it means you can't do anything with a tree until the next turn
vchapman: It means the tree has done a move that day.
Javatacos: gotcha. Thanks
BrunoFelthes: anyone has a local tester to share?
icecream17: rank 599, wonder if ill get into silver
DetoBot: oh my IceCream17 bot has lost places overnight
icecream17: ooh, deto, you're only 300ish ranks away
DetoBot: too far
DetoBot: way too far
DetoBot: or too near
resty-daze: https://github.com/dreignier/cg-brutaltester BrunoFelthes
icecream17: yeah i wasted another day trying to implement "readline" so that local tests could work
BrunoFelthes: is it working for this contest resty-daze?
icecream17: might also want to look at https://github.com/LSmith-Zeno scave/SpringChallenge2021
resty-daze: BrunoFelthes you need modify official ref code according to its readme
icecream17: (space to avoid ping)
resty-daze: oh some one already do it
icecream17: the guy in the tutorial video is 1317th
ZVRKK: Hello everyone, do someone knows when the silver league will open ?
PatrickMcGinnisII: iI've added over 100 lines of code and my arena bot still kicks by ide bots ass
PatrickMcGinnisII: by=my
DetoBot: Number of lines of code != Winning Code
DetoBot: :stuck_out_tongue:
DetoBot: as if i am having 1000+ lines of code
DetoBot: and most of them are comments
DetoBot: sloc ~ 400
PatrickMcGinnisII: I'm trying to trim potential commands so when i sim i can look at more nodes ... but its not working
BrunoFelthes: PatrickMcGinnisII, just click at the "Bronze League" label at the top of the screen, and you will see the date
BrunoFelthes: ZVRKK ^
NotSureWhyThisWorks: PatrickMcGinnisII how many nodes can you look at currently? I am thinking about switching to use simulation
icecream17: patrick, how are you 497th!?
PatrickMcGinnisII: everything is setup for sim, I'm just only doing 1 complete day at the moment
NotSureWhyThisWorks: how many different possible turn combinations does that include?
PatrickMcGinnisII: I've seen possible moves number in the 60s...i can't have a width of 60
PatrickMcGinnisII: So I prioritize and eliminate
PatrickMcGinnisII: I usually come up with 6 patterns, like GGSSW or CGSW etc.
PatrickMcGinnisII: wherre CGSW are the commands
PatrickMcGinnisII: lots of seed potentials
PatrickMcGinnisII: grow kinda takes care of itself if you seed correctly
itzluku: top100! ;D
PatrickMcGinnisII: something as simple as destination idex%2==source index%2 , and i trim that seed move , keeps you from stepping on your own toes, but not from the enemy
PatrickMcGinnisII: So if I have 5 moves i like and then i find 5 moves i like for the enemy, that's depth^25, which still doesn't work for me
PatrickMcGinnisII: and then there's the bounces
PatrickMcGinnisII: so wierd
PatrickMcGinnisII: I think using a local sim to give params or train an NN is probably better than what I'm doing now
NotSureWhyThisWorks: wouldn't it be 25^depth?
NotSureWhyThisWorks: and if you use beam search or something it should be much less right?
PatrickMcGinnisII: it should
PatrickMcGinnisII: well looking at logs from midgame...out of 40 possible moves i trim it down to 2 grows, 2 seeds ... the combos become GGSSW, GSSW x 2, GGSW x 2,GW x2, SW x2,W ... still too many combos
PatrickMcGinnisII: for beam search in my opinion
NotSureWhyThisWorks: it sounds like other people have had some success with beam search though
NotSureWhyThisWorks: how are you representing the game state?
PatrickMcGinnisII: yea, they are pushing cpu cycles
PatrickMcGinnisII: boards are stored statically 38 ints
NotSureWhyThisWorks: I think some people were using bitboards
PatrickMcGinnisII: it is, i just never throw them away...i never run out of memory even...it's always a time thing for me
DetoBot: oh yeah bitboards
DetoBot: great stuffs
DetoBot: quite sure why they works
PatrickMcGinnisII: I guess i'll have to run local to get best params with wider beam for eval, then pray it works on smaller beam on CG.
PatrickMcGinnisII: Some games, i just don't know why i lose
PatrickMcGinnisII: lol, check it out DetoBot https://www.codingame.com/replay/550739379
BrunoFelthes: i have too many heuristic and hyper parameters... It is very hard to tuning