Chat:World/2021-05-09

From CG community
Jump to navigation Jump to search

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

Default avatar.png soouinteni: found it, thank you !

DaNinja: :thumbsup:

KCrown: is everyoen searching now?

Default avatar.png NotSureWhyThisWorks: like search algorithms?

KCrown: yes

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

Default avatar.png actualCoderTrevor: StyllyMyle no idea but maybe try std::hash<A>{}(a);

khalkhoul: hello

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

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

Default avatar.png ashiknur: how many line of code you have written in this challenge? mine - 480 line

Thienu: 500 right now

Default avatar.png actualCoderTrevor: 440 including blanks and the starter code

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

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

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

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

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

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

Default avatar.png NotSureWhyThisWorks: what is score in the leaderboard?

jrke: basis of evaluating rank

Default avatar.png NotSureWhyThisWorks: how is it calculated?

Twelve0: thank you

jrke: trueskill NotSureWhyThisWorks

Default avatar.png NotSureWhyThisWorks: oh sorry I didn't see undercoverToads message

Default avatar.png NotSureWhyThisWorks: thx

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

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

Default avatar.png SingleMan: ayo

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:

Default avatar.png SingleMan: :rage:

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

Default avatar.png Necabo: Hi

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

Default avatar.png Necabo: how do i join very easy clash of codes?

Astrobytes: Leave the hard ones.

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

Default avatar.png Necabo: It says on the quest 'the difficulty ranges from very easy to medium'

Default avatar.png Necabo: So i just keep joining until an easy one appears?

UndercoverToad: you can ignore the text on the quest map

Default avatar.png Necabo: I see :(

UndercoverToad: just play or win X clashes to complete the quest

Default avatar.png Necabo: sorry

Astrobytes: Or don't.

UndercoverToad: play the contest instead

Default avatar.png Necabo: Astrobytes I am sorry

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

Default avatar.png GeraltOfRivia: 🙂

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?

Default avatar.png JBM: about 500 000 km2

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

Default avatar.png Edo1999: hi

Default avatar.png Edo1999: anybody here owrking with js

Donald_D._Doge: Edo1999 i work with js

Default avatar.png NEW123Programmer: yes me too

Default avatar.png NEW123Programmer: i am new at JS

Default avatar.png NEW123Programmer: in JS..

Default avatar.png Homicidal_Genius: ill be honest, ive never coded properly outside of high school, trying to learn...

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

Default avatar.png I_am_new: hi

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

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

Default avatar.png Lyan06: wait sorry for interruption, what is this

KelvinAndHubbles: what is what?

Default avatar.png Lyan06: this chat thingy

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

Default avatar.png Necabo: sound as a pound

drnobody: go with it, just pair down your iterations with logical assumptions

Queuebee: I'll try my best

Default avatar.png Necabo: good lad

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

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

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

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

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

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

Default avatar.png MerryMentat: So you have to save it all up and then check when they send you the board state in the next game day.

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

Default avatar.png MerryMentat: Simulating the game state is totally allowed.

CGGCoder: Idk but i don't thin kso

Default avatar.png MerryMentat: I don't think any of the rest of that is disallowed.

Default avatar.png MerryMentat: You're definitely not allowed to hack their servers.

itzluku: no u took to long

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

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

Default avatar.png LionTurtleWan: eehm just while editing in the editor in the site

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

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

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

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

Default avatar.png VincentHch: thx

Default avatar.png Xzoky174: hi

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

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

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

Default avatar.png kreska: i have nothing hardcoded

VizGhar: good for you

jacek: VizGhar easy, just interpolate in between

Default avatar.png kreska: i dont know if its good

Default avatar.png kreska: its interesting

VizGhar: hehe... like I'm drawing line :D

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

Default avatar.png kreska: yes you are probably right :D

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

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

Default avatar.png kreska: ok this is interesting it sound logical to me:D

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

Default avatar.png stefan-gg: bug with java*

jacek: promoted to new league?

UndercoverToad: input format doesn't change between leagues

UndercoverToad: probably just modified some parsing code by accident

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

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

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

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

Default avatar.png Cryptouser: hi

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

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

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

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

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

Default avatar.png cmfbasketball: hey

Default avatar.png cmfbasketball: this is hard

Default avatar.png cmfbasketball: but fun

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

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

Default avatar.png stefan-gg: i dont know if this is a bug but apparently i can harvest size 3 tree with this code for some reason

Default avatar.png stefan-gg: http://chat.codingame.com/pastebin/b5096f48-6644-438b-b3e3-6e9fc81c573f

ZarthaxX: that's the msot problematic part

ZarthaxX: :D

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

Default avatar.png stefan-gg: size is 0 but i can harvest it

Default avatar.png stefan-gg: my bad

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

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

Default avatar.png stefan-gg: and i specified size needs to be 0 but tier 3 tree is still harvested someho

Default avatar.png stefan-gg: somehow*

Default avatar.png stefan-gg: its most likely my mistake but i wondered if somebody had the same problem

ddreams: print out size inside your statement then

Default avatar.png stefan-gg: it doesnt prints it only does the complete command i just tried out that

Default avatar.png stefan-gg: its like it ignores everything except complete

ddreams: pretty likely that you're not running the code you think you are

Default avatar.png stefan-gg: im gonna double check that again ty

orangesnowfox: I forget if depth=8 is "good" for onitama...

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

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

Default avatar.png stefan-gg: i know i know

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

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

Default avatar.png stefan-gg: yes

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

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

Default avatar.png stefan-gg: ok im gonna try that ty for help guys

Enknable: wait wait...

Enknable: you're harvesting a 3 tree?

Default avatar.png stefan-gg: yes it is size 3

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

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

Default avatar.png stefan-gg: ok im gonna print the whole code

Default avatar.png stefan-gg: http://chat.codingame.com/pastebin/8e2aa254-9573-4e73-965c-a1f4f1354b97

Default avatar.png stefan-gg: and i made a map before but thats not the problem

ddreams: right

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

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

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

Default avatar.png stefan-gg: ok im gonna copy all variables now

Default avatar.png stefan-gg: yes

Zenoscave: it costs 4 sun to harvest

Default avatar.png stefan-gg: http://chat.codingame.com/pastebin/139fa736-7d69-4107-bfe8-c3db4f2f95ae

Default avatar.png stefan-gg: int count0 = 0;

       int count1 = 2;
       int count2 = 0;
       int count3 = 0;

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

Default avatar.png stefan-gg: int cellIndex = in.nextInt(); // location of this tree

               int size = in.nextInt(); // size of this tree: 0-3

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

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

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

Default avatar.png actualCoderTrevor: Cool thanks :)

miszu: I wonder if my wood 2 code will pass bronze

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

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

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

Default avatar.png stefan-gg: but if i understand correctly if i do multiple commands they will transfer to another turn ?

ddreams: I think so

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

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

Default avatar.png actualCoderTrevor: You get new input for every turn, not just every day

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

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

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

Default avatar.png stefan-gg: oh that makes sense because i output command in every loop in for loop

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

Default avatar.png Nezzler_YT: no

Default avatar.png Nezzler_YT: :worried:

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

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

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

Default avatar.png NotSureWhyThisWorks: same

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 ^

Default avatar.png ZVRKK: Thank you BrunoFelthes

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

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

Default avatar.png NotSureWhyThisWorks: right

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

Default avatar.png NotSureWhyThisWorks: nice

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

Default avatar.png NotSureWhyThisWorks: wouldn't it be 25^depth?

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

Default avatar.png NotSureWhyThisWorks: it sounds like other people have had some success with beam search though

Default avatar.png NotSureWhyThisWorks: how are you representing the game state?

PatrickMcGinnisII: yea, they are pushing cpu cycles

PatrickMcGinnisII: boards are stored statically 38 ints

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

Default avatar.png MADDY-1: hi