Chat:World/2021-05-10

From CG community
Revision as of 12:06, 15 June 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png ZVRKK: hi <img src=/a/62113225336901> Tuan2.le: Can anyone help me know how to simply evaluate the best move? <img src=/a/63799349955535> zenwr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png ZVRKK: hi

Tuan2.le: Can anyone help me know how to simply evaluate the best move?

zenwraight: There is no right way to evaluate the best move, it's going to be relative

DetoBot: PatrickMcGinnisII, damn :joy:

Tuan2.le: Yes! I know, but this is the first time I do something like this compete. I saw many people mention "beam search". So, I'm not sure what it is. So, can anyone take a short time explain how "beam search" is implemented to this problem? Just ideal, not in details?

DetoBot: open that Silver now :rage:

icecream17: my time is 11:38pm :p

SirLoxley: Is the current nutrients value visible on the screen (or do I have to stderr it for debugging)?

icecream17: settings icon > debug mode

SirLoxley: that was easy :-) thanks

BrunoFelthes: SirLoxley, you can point a tree, it will show how much this tree is worth

Smelty: hi

Default avatar.png MADDY-1: hi Smelty

UndercoverToad: good morning

Default avatar.png MADDY-1: gm

icecream17: gn

Default avatar.png MADDY-1: gn

icecream17: also, people are using shadows somehow - hmmm

icecream17: yay! my submit improved my ranking

icecream17: dang, i just lost 4 in a row

Lysk: submit again!

PatrickMcGinnisII: when silver opens, a complete rewrite is gonna happen

icecream17: lol

icecream17: no! stop losing

PatrickMcGinnisII: ugh, and i have to work

PatrickMcGinnisII: gn

Chainman: so shadows are set at start of day and do not change?

jrke: the use of shadow is only to get sunpoints that you get on new day so no use of updating in between a day

MindController: Does anyone know how can it be that when i cerr I dont get timeout but when i dont cerr I get timeout(C++)

ZarthaxX: cerr may change registers low level that make your bot dont timeout later

ZarthaxX: it's related to how calls are made prob in low level asm stuff

lainislain: haloo do someone know how much memory we can use ingame ?

ZarthaxX: it's in faq

ZarthaxX: think it was like 768mb ish

lainislain: ah thank u

ZarthaxX: yw

MindController: So the problem was with my variable name "size"

ZarthaxX: f

LLG: is there any way to get all cells that are within a certain distance from another cell?

LLG: for example I want to get all cells within a 2 unit radius of cell 0

algeo: how can i reply a message in forum

MindController: LLG u have to check neighbours of neighbours

Default avatar.png NotSureWhyThisWorks: LLG you can use the neigbours from the input and loop through them twice

algeo: oh i see the forum is closed

Default avatar.png MADDY-1: click on reply algeo

azriel1rf: how can i print message to display in a game

algeo: error output

algeo: oh sorry

algeo: space + message

azriel1rf: In Python, this wouldn't work

print("message", file=sys.stderr)

azriel1rf: ah

algeo: print("WAIT", "i know c++")

azriel1rf: space + message, ok

azriel1rf: thanks alot

algeo: :relieved:

MindController: Action + space + message should work, yes

Default avatar.png SabertheLost: Why is a tree that get no sun casting a shadow? Makes no sense to me.

azriel1rf: it's natural for me

azriel1rf: |\|\

aangairbender: wow got top37 using some ifs :joy:

azriel1rf: not fully get sun -> spooky

azriel1rf: without any searching ?

aangairbender: yes, no searching/simulation

azriel1rf: fantastic

aangairbender: using shadows btw

azriel1rf: how many days do you count shadow?

UndercoverToad: till the end of the game

azriel1rf: lol

aangairbender: I count 3 days (to see how my seed becomes a size-3 tree)

aangairbender: so I count how many times it will be in a shadow

azriel1rf: ah, that's great

aangairbender: not taking into an account opponent tree actually

aangairbender: so my bot plays kinda singleplayer game

aangairbender: even when calculating shadows

VizGhar: LOL 211 rank... I don't even know how did I get there :D

The_ZimaBlue: In CoCs what is a stub generator input?

azriel1rf: I only think for growing. grow casts shadow longly. whether that is for my tree or opponent's tree.

VizGhar: a stub? I don't know id i understand

VizGhar: The_ZimaBlue what exactly you want to know?

MadKnight: ez

VizGhar: If somebody creates CoC contribution they have to write the stub for puzzle...

The_ZimaBlue: I was making a Coc and they were asking for a stub generator input

UndercoverToad: stub generator: some pseudocode that gets translated to the initial code for all languages supported by codingame

MadKnight: wow my ez was WAY too late

VizGhar: you were making CoC contribution?

The_ZimaBlue: yup... for the xp xD

UndercoverToad: click the questionmark to see syntax examples how it works

MadKnight: Automaton2000 so many new faces...

The_ZimaBlue: ok, thx

Automaton2000: so i can stay in the same miniboard you are playing on the same round, the nth zombie killed's worth ...

MadKnight: i mean avatars

Default avatar.png M1kep: I assume the quest map is probably the best place to start?

VizGhar: M1kep depends, but most of the times yes

VizGhar: I finally got the concept of small improvements... I'm rank ~150 and still know how to improve my bot o.O

VizGhar: so i beat struc t o.O

Chainman: how do you convert cube_coords to cell_index.

Chainman: Are there any clever methods?

VizGhar: what cube_coords?

Chainman: (x,y,z)

Chainman: Basically the cubecoords defined here, https://github.com/CodinGame/SpringChallenge2021/blob/main/src/main/java/com/codingame/game/CubeCoord.java

Chainman: the hashcode doesn't do anything useful afaik.

VizGhar: try this :) https://www.redblobgames.com/grids/hexagons/

jolindien: look at BoardGenerator.java

Chainman: yeah I used that blog to understand a little

aangairbender: I won dbdr once, feels good

dbdr: :+1:

aangairbender: btw dbdr you have any kind of simulation? (if its not a secret ofc)

dbdr: yes, I do a beam search

LLG: how many sims are you able to do in 100ms

LLG: I'm still struggling with optimizing my sims

aangairbender: I see, well, I just spectated bunch of your games and wrote bunch of 'ifs' that make similar moves

dbdr: something like 250K

LLG: wow

UndercoverToad: i'm more at 20k :(

Ajaiy2: Im really glad I used a good algorithm at wood 1

Ajaiy2: Its really helping me at bronze

Ajaiy2: Not fully though

aangairbender: 250k of state+action->new state or 250k of full playouts to the end?

LLG: I still don't know how to diagnose my sims to see which part is eating up my time 😢

dbdr: 250k of state+action->new state

dbdr: UndercoverToad use a real language ;)

aangairbender: I have simulation ready, but havent used it yet. Will try to write beam search as well

aangairbender: haha rust rules

dbdr: but more seriously, I think your eval is more expensive

UndercoverToad: probably, simulating all days till the end costs some time

LLG: in my case my eval isn't really expensive since I haven't gotten round to that part yet

UndercoverToad: even simulating twice in some cases

LLG: it's just MyScore + TreeScore

dbdr: twice?

LLG: with TreeScore being the sum of tree sizes and soil richness

UndercoverToad: for seeding i test a grown up tree as well to see the impact early

dbdr: aha

LLG: I think the process of cloning a state is expensive for me atm

LLG: but I have no idea how to test that theory 😢

Marchete: it's your evals expensive? I'm seeing some possible evals (grid related) but they are expensive

aangairbender: oh, I remembered that for beam search I need to come up with some eval function. The one in the Fall challenge was easy though

aangairbender: did anybody use neural network/genetic algo for tuning eval function locally?

aangairbender: I mean not this time but anytime before as well

UndercoverToad: param tuning is something you usually do later when it gets close to the end of the contest

Default avatar.png M1kep: Sigh, I've wasted like an hour and half cause I forgot ^ wan't an exponent in JS -_-

Marchete: that's xor in a lot of languages

Default avatar.png bvego: looking at my code for the last 20 minutes wondering why it isn't working, turned out I used Math.max(angle) instead of Math.abs(angle) 🤦‍♂️

**UndercoverToad uses ^ in the bot on purpose

Default avatar.png M1kep: LOl

Default avatar.png M1kep: *Lol

LLG: don't we all

Default avatar.png M1kep: Yeah I deal a lot with APIs and practically zero math stuff

UndercoverToad: at least those of us who are bitboarding the game

Marchete: I use xor to disable a bit

Marchete: instead of & ~bit

Marchete: but nothing else...

Default avatar.png M1kep: The only time I used bitwise operations was when i was needing to use bitmasks for storing Zoom user info data in an Active Directory field.

Marchete: bitboards are "fun"

Marchete: if you are into these kinky amusements

Default avatar.png [MK]: how can I redo a question unfinished in clash of codes?

UndercoverToad: search it here https://eulerschezahl.herokuapp.com/codingame/puzzles/

Default avatar.png [MK]: thank you very much i found it

UndercoverToad: was it this one? https://www.codingame.com/contribute/view/1462c7bd45e5d5bc2c375166880f72a4d2fe

jrke: looks i need to setup referee offline to play many games

Default avatar.png [MK]: yup

UndercoverToad: codingame changed their constraints for IDE plays

Marchete: what constraints?

UndercoverToad: how many games you can play in X minutes/hours

dbdr: number of allowed matches per unit of time

UndercoverToad: oh, how eloquent

dbdr: and slow

TobiasA: wait you can play the game offline with all the inputs and stuff?

UndercoverToad: the referee is public. you can download and play vs yourself

UndercoverToad: or you write all the input directly to stderr. and then reproduce a specific turn offline

TobiasA: so the refree gives all the inputs?

Default avatar.png M1kep: This seems like it may give some insight? https://www.codingame.com/forum/t/what-is-exactly-the-referee-and-so-engine/39234

UndercoverToad: https://github.com/CodinGame/SpringChallenge2021/blob/main/src/test/java/Spring2021.java#L30 just insert your own bot here and you are ready to go

Default avatar.png M1kep: Only supports Java?

jrke: nope any lang

jrke: "lang", dir

UndercoverToad: it just spawns a separate process

Default avatar.png M1kep: Ahhh I se

Default avatar.png M1kep: I'm probably going to stick to the quest table for this one

UndercoverToad: there are only 2 contests a year, this is a rare opportunity

Default avatar.png M1kep: Ahhhh

Default avatar.png M1kep: Well

Default avatar.png M1kep: Time to do that I guess lol

Chainman: what is the strategy with shadowmasks?

Chainman: I know how every day the shadow gets set, and if a tree is harvest, the shadow remains for that day.

Ajaiy2: I am on 189 lines of code and it works kinda good

Chainman: Can a tree be update from spooky to not spooky during the day, if you grow it?

AceTea: At what time is the silver league opening ? Any idea ?

Ajaiy2: Don't know

Chainman: if tree size 2 casts shadow on tree size 2, but you grow the tree to size 3, is it not spooky anymore?

Chainman: Okay I check it is true it will become not spooky

Chainman: Only spooky as long as tree size<=shadow size

Chainman: While shadow size is fixed for the entire day, the tree size can change, and allows a tree to change spookiness state.

LLG: lmao

LLG: my sims went from 1k to 10k just by fixing my hash function

Michael_Howard: AceTea probably 6pm CET

UndercoverToad: CEST

UndercoverToad: it's summer

UndercoverToad: and you dropped my score despite losing to me :rage:

LLG: do your own trees' shadows prevent your other trees from generating suns?

DetoBot: yes

DetoBot: shadows are shadows

FatIvan: Where are people expecting the first cutoff for silver today?

LLG: I haven't gotten round to bitboarding shadows yet

LLG: maybe I should

Michael_Howard: UndercoverToad it was my first game but that still seems weird. But on the bright side it answers my question about why I tend to always lose the first one.

Chainman: bitboarding shadows, what I need.

UndercoverToad: the first game is always vs top10% of the league

UndercoverToad: and from the 500 candidates you got me

Michael_Howard: It probably raised your variance σ, lowering your R = mu - 3*sigma.

UndercoverToad: it's a known feature of Trueskill

UndercoverToad: even mentioned in the FAQ

RoboStac: it's easy to stop it happening - just don't be near the top of the leaderboard :)

Michael_Howard: Yeah, hopefully soon UndercoverToad you'll be able to return the favour :)

VizGhar: UndercoverToad that account is simply because of lagging chat?

sgalasso: Hey everyone I struggle with the scoring in a MCTS, how may I normalize a score for using it in the UCT if you don't know what is the best score of your nodes ?

UndercoverToad: yes VizGhar

UndercoverToad: and some fell for it and didn't realize it's me

VizGhar: its because you are undercover

VizGhar: pathetic lvl3

Donald_D._Doge: hey i take offence in that

VizGhar: well sorry

Donald_D._Doge: sorry wont fix it

VizGhar: ok... so not sorry

UndercoverToad: then how about you fixing it by leveling up? :P

Donald_D._Doge: i can't believe the level of discrimination level 3s face in here

VizGhar: hope you understand this is all joke

UndercoverToad: and I was just joining the joke

Donald_D._Doge: level 3s are a joke? i am feeling opressed

aangairbender: sgalasso you can store lowest and highest score for tree, then normalize any node score between them

aangairbender: this technique is described in the article about Smitsimax

cegprakash: is the seed action free of cost?

Donald_D._Doge: check statement, it tells you

Tiramon: no cost amount of size 0 trees presen

Tiramon: so first is free

cegprakash: Donald_D._Doge it's not in statement

Donald_D._Doge: it is

cegprakash: so stop trolling ppl

Donald_D._Doge: you're trolling yourself

cegprakash: thank u so much Tiramon

cegprakash: ignore if u don't wanna answer

cegprakash: don't insult ppl

Tiramon: To perform a seed action, you must pay sun points equal to the number of seeds (size 0 trees) you already own in the forest.

Tiramon: that is from the statement btw ;)

AntiSquid: "To perform a seed action, you must pay sun points equal to the number of seeds (size 0 trees) you already own in the forest. "

AntiSquid: it is in the statement

aangairbender: dbdr what collection do you use for priority queue in rust?

Tiramon: you are to slow AntiSquid

AntiSquid: cegprakash quote the part of the statement

AntiSquid: quoted *

AntiSquid: "don't insult people reeee" straight up trolling imo

derjack: oO

Tiramon: by now i havn't found any rule that i snot in the statement

i only doesn't say that shadows are not refreshed after a grow action but on day change

Chainman: true

UndercoverToad: richness rings and map generation aren't part of the statement

Tiramon: ok ...

Tiramon: oh and cell index are also not in the statement ... what i really missed a bit

UndercoverToad: (thinking hard to find something that isn't there, but not really relevant to be described either)

UndercoverToad: cell index is in debug view but a picture could help

derjack: shadows only matter in the beginning of day

dbdr: aangairbender Vec

aangairbender: yeah, I was trying to come with with some priority queue and then understood that there's no need

aangairbender: vec should be fine

philRG: Tiramon: good practice to master gameplay is to recode the actions of the referee

UndercoverToad: Tiramon has that move generation and applying already

Default avatar.png NotSureWhyThisWorks: best language to implement search trees/simulation/bitboards?

olaf_surgut: C++

aangairbender: rust or c++

aangairbender: I prefer rust for less debugging

aangairbender: cause its easy to mess up with c++

philRG: aangairbender well it can help sometimes before diving into trees/simulations/bitboards to understand game mechanism :-)

philRG: just a remark for everybody in fact

aangairbender: I wrote simulation first to understand game mechanism

Default avatar.png NotSureWhyThisWorks: I've never tried rust. I'll have a look. thanks

Default avatar.png IMpactz: Hello there

aangairbender: NotSureWhyThisWorks rust might be hard to use for the first time though

dbdr: rust needs an investment to learn. it's worth it in the long term though :)

ddreams: are you simulating the opponent too, dbdr?

dbdr: no

UndercoverToad: dbdr you ate the chat logs from the day before yesterday

ddreams: you're doing beam search as well?

aangairbender: I am writing beam search now, I am making opponent always WAIT:sweat_smile:

UndercoverToad: me? yes, beam

dbdr: beam

Marchete: wait a minute

ddreams: same here

Marchete: nvm :D

ddreams: though probably a much dumber evaluation function than you guys

UndercoverToad: that wasn't even a minute

Marchete: how it's possible you don't simulate enemies?

Marchete: I mean

cipryyyy: gang shit no lame shit

Marchete: not even first turns?

xMizar: Hi, do you know when new leagues for spring challenge will be created?

UndercoverToad: i simulate shadows cast

derjack: or make them WAIT actions

UndercoverToad: but not guessing any opponent actions

UndercoverToad: yes, just WAIT

dbdr: same

ddreams: yeah, the opponent does nothing in my case either

UndercoverToad: timing for selling trees is a nightmare

ddreams: not even wait, just completely ignore him

Marchete: I still can't believe that...

ddreams: or her, as it may be

Marchete: it's like playing HS or CSB with WAIT enemies

ddreams: I assume you guys have bitboards?

ddreams: I'm only getting like 13k evaluations per round

RoboStac: it's not like the enemy can do anything too bad to you here (HS you have to simulate a couple of enemy moves to check for traps but beyond that it seems pretty pointless)

Marchete: that's why I said at least first turns

Chainman: https://ibb.co/Vgj00VS

Chainman: I found a diamond pickaxe

Marchete: but if both 3 of you are top10 and you say that enemy simulation is not needed

Marchete: I believe you ofc :D

Default avatar.png IMpactz: is this chat real or just boted

ddreams: how can chat be real if our eyes aren't real?

VizGhar: what is exact time of opening silver league?

RoboStac: admittedly I'm not doing beam search because I thought it would be a problem but I'm starting to think I should change

limakk: https://blueorangegames.eu/wp-content/uploads/2019/01/PHOTOSYNTHESIS_rules_UK.pdf?x75567

ddreams: so what are you doing?

Donald_D._Doge: IMpactz welcome to bot chat please prove you're a bot by answering in 1 ms

RoboStac: getting very annoyed at being stuck just outside the top 20

RoboStac: :(

kovi: i thought smitsi is the way to go, but i'm still heuristic...and probably end up beam...

Marchete: I was thinking about doing MCTS-ept to be true (just doing the sim at even turns)

Marchete: but I'm in doubt

Default avatar.png NotSureWhyThisWorks: Marchete or the top 10 are all trying to throw everyone else off lol

Default avatar.png IMpactz: ddreams we are all just a fading reality

Marchete: no

Marchete: I trust that damn toad and dbd_r

ddreams: I was doing mcts in fall but failed spectacularly

Default avatar.png IMpactz: uff

Marchete: mcts and failed it's a common relationship :D

Default avatar.png AllGoodNamesRGone: I just read some article about beam search but don't know why this algo can use in this contest. What can I do with probability. Can anyone help

ddreams: here, this is a good guide: https://github.com/Agade09/Agade-Fall2020-Challenge-Postmortem

struct: you are reading the wrong type

struct: of beam search

Marchete: he did a beam search for opponent too

struct: https://en.wikipedia.org/wiki/Beam_search

struct: its a bfs with pruning

Marchete: also pb_4 did an opponent search

ddreams: still in bronze though, probably legends will do something like that

Michael_Howard: RoboStac, interesting... what kind of traps are you checking for?

Marchete: I don't know any search without taking into account the enemy at all will be incoherent in 2 turns at most

Marchete: probably it can be reduced with seeding first

Marchete: move ordering to leave grow at later depths

Marchete: that doesn't change anything in the same day

kovi: i also did opponent beam in fall...

Marchete: and this game seems to have more interactions between players

Marchete: it's a shared board

kovi: better to predict opponent and the world (no outside randomness) but more depth

ddreams: wonder what the maximum amount of moves is

ddreams: not that it changes anything

struct: higher than 100

ddreams: I think you may be onto something

struct: if you and opponent each have 100 moves its 100^2

struct: states

ddreams: is there any usual cutoff point for silver?

struct: I would say 20% max will pass

ddreams: 5k players, so maybe around 1k then

VizGhar: Hope I can finish this one in legend

Marchete: you are 100th, you have good chances

VizGhar: ah struc t I've seen you low today... no time?

VizGhar: tnx

VizGhar: never been this high in any bot coding contest... I'll update my bol and fail misserably dont you worry

struct: I have a better bot I think

struct: but ill wait until silver opens

struct: It has 65% win rate vs my arena one

ddreams: why wait?

struct: If it was 90%+ I would have submited already

Dorimon: Anyone knows how do I move from Bronze league to Silver?

Dorimon: In CSB

Salmoneer: Any tips for getting levels?

KalamariKing: look its me

jdeveil: Dorimon: https://tcourreges.github.io/coders-strike-back

Donald_D._Doge: who are you ? KalamariKing

jdeveil: http://files.magusgeek.com/csb/csb.html

Marchete: -3*vel => gold CSB

Default avatar.png botbtw33: wait what?

DetoBot: My bot got some courage to rise 300+ ranks

DetoBot: :unamused:

Sheytoon: when next league opens?

jrke: today

UndercoverToad: in 5 hours

AntiSquid: question is how many promote

AntiSquid: Deton what's the issue with rising in ranks ?

UndercoverToad: rising = higher number = more in front of you = bad

AntiSquid: also anyone wants to share their sim count? :P (ply whatever you want to call it)

Michael_Howard: 0

UndercoverToad: watch my replays, I print it

jacek: you could troll print

DetoBot: Ah not that

UndercoverToad: node count is before filtering duplicates. but i do my best to avoid generating them in the first place

DetoBot: I mean getting closer to the top

AntiSquid: is d depth 9 ? or days ?

AntiSquid: euler

UndercoverToad: depth in days

AntiSquid: ah

Marchete: 9 days is a lot of simulations

AntiSquid: i generate too many for sure

UndercoverToad: i think i should go more for width. but that requires more coding not to time out in other turns

UndercoverToad: 9 is overkill

AntiSquid: 200k / turn :D

AntiSquid: i guess my selection is crap

UndercoverToad: i count is low. but i have an expensive eval

UndercoverToad: and some thought put in generation already

AntiSquid: super cheap eval here

UndercoverToad: eval = WAIT till the end and count suns (among other)

AntiSquid: generate all

DomiKo: with super cheap and no prunning I got like 1.5MLN / 100ms

DomiKo: but sim count means nothing

UndercoverToad: that's because you are smarter than me and know how to code

UndercoverToad: in the end you'll get me again

Marchete: 1.5 million?

DomiKo: yes

Marchete: wowo

DomiKo: a lot of seeds

UndercoverToad: i can't even generate that fast

aangairbender: my first attempt on beam search didnt go well:sweat_smile:

Marchete: why simcount means nothing?

UndercoverToad: beam is a bit tricky because of variable amount of actions per day

AntiSquid: with 1.5 mil you can get a good accurate average of best path to take

AntiSquid: lol

AntiSquid: like 1 armed bandit puzzle @_@

Marchete: and probably because move ordering inside the day is important

DomiKo: yes

DomiKo: you need to prune a lot

Scarfield: you could make a variable width beam i suppose?

UndercoverToad: meh to the move order

DomiKo: and then sim count is much lower

AntiSquid: is red at advantage over blue ?

Marchete: move generation is slow too for me

aangairbender: how you calculate sim count? do you generate all actions, pick random one and transition into new state?

Marchete: and eval...

UndercoverToad: for me it's the number of individual nodes I generate

cegprakash: AntiSquid both players play simultaneously

aangairbender: I am writing code to test perfomance of simulation only. (without beam search etc)

UndercoverToad: > you could make a variable width beam i suppose?

aka Chokudai search

Scarfield: hmm, boards are mirrored, but the shadows are different. could be actually

Zenoscave: A reagular beam search out preforms my chokudai

Zenoscave: Perhaps I have too large a state so the sim count suffers

UndercoverToad: i think it's worth thinking about. but my beam has a feature that i don't know how to move to Chokudai and that I want to keep :(

Scarfield: didnt know that was what chokudai search was, kewl

Zenoscave: what's that feature?

UndercoverToad: like smitsimax: not an official name

UndercoverToad: Zenoscave :zipper_mouth:

Zenoscave: so opponent sim?

Zenoscave: Chokudai search is also a beam stack search no?

UndercoverToad: yes, i think you can call it like that

UndercoverToad: I use one for coders of the realm

AntiSquid: i went straight for chokudai to try it out

Chainman: hey

Default avatar.png Kamillo1204: hey

Default avatar.png Kamillo1204: how are you?

Zenoscave: what time does silver oven today? In 2.5 hrs?

UndercoverToad: more like 4.5h

UndercoverToad: and hopefully (and most probably) no resubmit

UndercoverToad: just moving up the higher ranks

VizGhar: resubmit = new tournament?

UndercoverToad: just sending every promoting bot in a forced submit

cegprakash: does promotion happens automatically or is there a dude sitting out there presses the promote button?

VizGhar: bleh.. hopefully not

UndercoverToad: SaiksyApo is opening the leagues manually

UndercoverToad: and choosing the boss

Zenoscave: what range do we epect to make it through 500?

VizGhar: they most probably only pick one player and sets his code as next league boss

Zenoscave: maybe a bit more?

UndercoverToad: 500-800 sounds reasonable to me

VizGhar: nobody knows... speculations

AntiSquid: it's bronze expect high numbers imo

Zenoscave: Also I finally got my beam search to work better than heuristic

UndercoverToad: they do a quick code review

UndercoverToad: to make sure there is no kill switch or other funny things

AntiSquid: it's never too far from 50% in bronze

UndercoverToad: once I became boss because I had like 500 lines and their first choice had 1500 lines to review

cegprakash: it's weird my if else bot is 500 and eval bot at 760 :D

cegprakash: both doing same things

Zenoscave: I'd expect closer to 25% due to easy woods

VizGhar: its still more then 1000players

VizGhar: bot those wood bosses were really stupid

Zenoscave: how many are in bronze now? I haven't looked in a moment

Zenoscave: 3000?

UndercoverToad: not even sure how much they stick to the percentages or go by absolute numbers

AntiSquid: afaik they have a rule of thumb of sorts: bronze 50%, silver 25%, gold top 10 - 20 :P

UndercoverToad: 5k in bronze

struct: nice they will never chose me has boss

Zenoscave: wat

struct: I have 3k lines :D

UndercoverToad: 5116

AntiSquid: 3k lines for what?

UndercoverToad: and 519 lines for my bot

AntiSquid: i am barely at 500 .

AntiSquid: comments included

Zenoscave: 620 here. ButI have two searches

struct: Stuff I used when beta testing

Zenoscave: 550 now

UndercoverToad: i'm slow at typing, so i have to be more precise

struct: you have 520 lines?

struct: how

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

Scarfield: they are very long lines :thinking:

AntiSquid: DRY code ? :P

VizGhar: I'm at 900loc, but too much copy paste and no bitwise operations

Default avatar.png NotSureWhyThisWorks: can we not update our bots once silver opens????

Zenoscave: You can update bots til the end NotSureWhyThisWorks

VizGhar: what? sure you can NotSureWhyThisWorks

Schneewittchen: Of cause you can

Scarfield: yes of course, you can update untill contest ends

struct: my GameState struct has more line than that

struct: lol

Scarfield: xD

Zenoscave: Even like 2 seconds before

Zenoscave: just dont. Legend will be pissed

Default avatar.png NotSureWhyThisWorks: oh nvm I think I misunderstood a message earlier

DomiKo: My debug have like 300 lines :nerd:

dbdr: you can

Zenoscave: nice bot dbdr

dbdr: thanks

UndercoverToad: i don't like your bot

UndercoverToad: the fact that it's above me is the issue with it

dbdr: now everything I try makes it worse :/

UndercoverToad: usually I reach that point around Friday

Zenoscave: well keep trying for euler's sake

Codechaos: 308 :X

Zenoscave: lines of java!?

Zenoscave: that's amazing

Zenoscave: Ah dang I forgot to sleep again

struct: 308 lineS?

Codechaos: I don't do too complicated stuff. I don't compute shadows just make sure to have some space between trees

struct: my brutaltester referee is bigger than that :(

VizGhar: BTW, what is that brutaltester?

struct: you want the referee?

Zenoscave: sure

struct: or you want to know whats brutaltester?

VizGhar: for now I only want to know what is brutaltester

struct: https://github.com/dreignier/cg-brutaltester

IvesL: can anyone please tell how is the score in clash of code calculated

UndercoverToad: with Trueskill

IvesL: like the exact score in leaderboard

ddreams: is your brutaltester fork working, zeno? :)

Zenoscave: mostly

ddreams: nice of you to share

Zenoscave: I can't get the sun.reflection warnings to go away

ddreams: need to get java etc. installed on this laptop

struct: VizGhar basicly is to test locally vs your own bots

Codechaos: Will there be more rules in silver? What do you think they will be?

VizGhar: I was about to ask, how does it know opponents bot

UndercoverToad: bronze rules are final

dbdr: Zenoscave did you try with java8?

VizGhar: So I should simple use it to evaluate, whether my new bot is better then my old bot right struct?

struct: I use it for that yeah

struct: but sometimes beating your previous bot might not be enough

Zenoscave: not yet dbdr

struct: So I usually test vs N versions of my bots

VizGhar: sure... makes sense especially if you are just tweaking final code

Default avatar.png NotSureWhyThisWorks: wow brutalTester looks really useful

Default avatar.png NotSureWhyThisWorks: anybody know of any useful resources on beam search?

ddreams: this one is great: https://github.com/Agade09/Agade-Fall2020-Challenge-Postmortem

ddreams: is there a recommended java version for brutaltester?

Default avatar.png NotSureWhyThisWorks: ngl I found the pseudocode in that example quite confusing

struct: I also struggled on finding resources for it

struct: Basicly its dfs with pruning

struct: from current state expand all current states, if the number of expanded is greater than beam width then you keep N (beam width) best

Default avatar.png NotSureWhyThisWorks: I'm mainly confused about how you select the final option but I guess if you aren't simulating the opponent you can just pick the best result

struct: then expand those

struct: and repeat

struct: until Depth

ddreams: at every depth you remember the best one

Default avatar.png NotSureWhyThisWorks: right

struct: not the best one

Default avatar.png NotSureWhyThisWorks: best n ones

struct: Best N ( N being beam width)

ddreams: ^ I responded to the final action question

Default avatar.png NotSureWhyThisWorks: oh right

Default avatar.png NotSureWhyThisWorks: seems simple enough

ddreams: any resource for chokudai search?

VizGhar: chokuwhat?

ddreams: variable beam width beam search

UndercoverToad: and fixed depth

VizGhar: suddenly crocodiles... didn't expect to learn new words today

VizGhar: btw if somebody wants legend achievement, just submit empty code in pascal/groovy :D

VizGhar: (I wonder how many will actualy do it)

StyllyMyle: wdym

UndercoverToad: finish first in a language

UndercoverToad: there's an achievement for this

VizGhar: ^

UndercoverToad: but I like my bot too much for such an actoin

UndercoverToad: + I already have the achievement

AntiSquid: ezpz

Marchete: there isn't brutaltester Ref for the challenge, right?

UndercoverToad: check zeno's github

UndercoverToad: listed in the forks of the official referee

Marchete: ahh

Marchete: :thumbsup:

Numby: If there's starter code to read the input, there might an easy way to do a decent bot. You could do something like look through the possible actions, filter them by type based on the day (i.e. never complete prior to day 16, never seed in first 4 days etc.)

Numby: then pick a random action from the remaining ones

UndercoverToad: i'm not convinced that this idea can help me

VizGhar: bot examples are wrong i believe

VizGhar: but rest is possible yes

VizGhar: *both

KalamariKing: y'all ever have low battery so you turn of your interwebs while coding, just to turn it back on and get bombarded with errors

UndercoverToad: i have a desktop with direct power supply that can't get low

Astrobytes: ^

UndercoverToad: except for a total power outage :thinking:

UndercoverToad: but hasn't happened yet. just internet connection dropping twice a day

UndercoverToad: i have vodafone

Schneewittchen: Internet wire here is made of wood apparently

UndercoverToad: for me it's an old TV wire ("Kabel") which was never used as such

UndercoverToad: it's fast (400 MBit/s) but really annoying when the connection suddenly drops during a phone call while working from home

Zenoscave: I have maybe 200 Mb/s

struct: euler you are liking the game so far?

Zenoscave: And pay a really steep price for it

Schneewittchen: Do you pay for 200 mbs or do you actually get 200? :D

Zenoscave: both

UndercoverToad: i still don't see the strategic depth even after playing for some days

struct: I pay for 200 and get 200

Zenoscave: I pay for 200 but it varies from 180-220 depending on traffic in the apartment complex

Zenoscave: I recently upgraded for the contest

Schneewittchen: Where do you guys live? Capital of norway? ^^

Zenoscave: Denver, USA

UndercoverToad: my main profile tells where I live

struct: my upload is medicore though

UndercoverToad: in case you already guess who I am

Zenoscave: 5 Mbits on a good day ;)

struct: https://i.imgur.com/y3guy5d.png

Schneewittchen: But you are undercover. This is too good :D

UndercoverToad: chat got laggy on my main account :D

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

tobk: Guess silver should open same time of day as contest started? (i.e. in one-and-a-half- hours or so)?

eulerscheZahl: let me try again, maybe it got better now

Schneewittchen: test 123

UndercoverToad: https://imgur.com/a/CYoycja

VizGhar: idk monday afternoon... probably good right?

Schneewittchen: :sweat_smile:

VizGhar: heh

UndercoverToad: at least I could send a whole message this time

UndercoverToad: silver will open in about 3.5h

limakk: yay

struct: should open now

struct: before I get out of silver range

UndercoverToad: and the game is frustrating me again. i'm of for a trip :bicycle:

UndercoverToad: :bike:

Astrobytes: Like an Albert Hofmann bicycle trip?

UndercoverToad: no idea what that means

Zenoscave: struct you're definitely in silver

UndercoverToad: just driving through the forest. there is even shadow

UndercoverToad: i'm definitely in gold already B)

UndercoverToad: but not legend yet

Zenoscave: UndercoverToad ssshhh

DetoBot: :joy:

struct: damn i also need to upgrade the motherboard :(

struct: Damn sockets

struct: I still have 1151

Zenoscave: That's quite outdated no?

struct: yes

VizGhar: not legend UndercoverToad? U kidding right?

Zenoscave: no legend *yet

VizGhar: not legend yet? U kidding right?

Zenoscave: There will be big improvements in bots before legend opens

Zenoscave: I trust the euler judgement

VizGhar: hmm how many players will get to legend when it opens? 50? more?

Zenoscave: 10-20 usually I think

solistice: maybe any tips here: I created my bot in multiple files, is there an easy plugin or something to squash it in 1 file?

Zenoscave: what lang?

Zenoscave: Probably not but what lang

solistice: so I can keep my sanity while developing but also test it frequently here

solistice: c#

solistice: c#

Zenoscave: ask illedan

Zenoscave: he had a version at somepoint. I forked it but I haven't used it recently

VizGhar: 10-20? isn't it too little? give me hope :D

Zenoscave: On opening it's very slim

struct: it opens with low but it increases fast

struct: people will get pushed

struct: I got pushed from 40th gold to legend

AllYourTrees: are there rule additions in silver leagie?

Zenoscave: nope

AllYourTrees: cool

Default avatar.png JorgeBernal: Guys, where do you recommend starting if you want to learn to code a good bot


ddreams: use the language you're familiar with and beat the wood league bosses

KiwiTae: JorgeBernal books

VizGhar: then read post mortems and try to understand terms you don't know

VizGhar: and ask anything here... MSmit s will answer even most basic question

Default avatar.png Gedzius: Does anyone know if there is a fixed amount of trees u start with ?

Illedan: solistice https://github.com/Illedan/CG-sharpmerger

VizGhar: always 2 Gedzius

Default avatar.png Gedzius: nvm found it

Default avatar.png Gedzius: yes thank you

Marchete: thanks Ille

Marchete: btw how do I create a simple exe with dotnet?

Default avatar.png JorgeBernal: thanks ddream, that was my first step, I'm in bronze now

Zenoscave: like a self contained exe Marchete?

Marchete: yes

Default avatar.png JorgeBernal: KiwiTae is there any book that is good for turn-based AI?

Marchete: well

Marchete: like old mono

Illedan: dotnet publish?

SirLoxley: How come I gained 70 ranks without submitting a thing since yesterday?

Marchete: but it creates a lot of stuff

Marchete: need a json and such

Zenoscave: dotnet publish --configuration Release --self-contained --runtime linux-x64

Zenoscave: or windows-x64

Marchete: :thumbsup:

VizGhar: SirLoxley consider yourself lucky

VizGhar: your bot is playing games even when you sleep

Zenoscave: I add the output flag (-o) to a bin folder because it still makes a few dll's

Marchete: that's what I say, it's not only a single file

SirLoxley: I do, I mean usually I submit it kind of works, I end up somewhere and next day my bot is down 400 ranks. It's just weird. I like it weird

solistice: thx Illedan

solistice: created my own python script to do the same

solistice: does the trick

Zenoscave: should be a lot less on windows Marchete

Marchete: wth 190 files on publish folder...

Zenoscave: yeah... It gets bad

Zenoscave: but that's as close to a mono .exe as you can

Default avatar.png NotSureWhyThisWorks: was at rank 40 a few hours earlier now at 90. Everyone is grinding

Zenoscave: you can use csc but it takes some scripting to make it runable

Marchete: I just want a single bytecode .exe

Marchete: not directly selfcontained

Marchete: just like old mono compiler

Marchete: I guess dll + json then

ZarthaxX: hey

Zenoscave: Not sure that's possible in .NET Core

Zenoscave: Maybe with 5.0??

Zenoscave: hi zarthie

Marchete: dll + json project is doable

cegprakash: is it worthy to sneak a tree on opponents mouth when he's asleep?

ZarthaxX: howdy pewpew

Hoyer: when does silver open?

Zenoscave: try dotnet publish -r linux-x64 -p:PublishSingleFile=true --self-contained -c Release -o <path>

Zenoscave: I was missing the -p:PublishSingleFile=true before

ZarthaxX: maybe in 2 hours

Zenoscave: should be 2 files per project

Zenoscave: exe and pdb

Marchete: lol 75MB

Marchete: thx

Zenoscave: yw

Zenoscave: -pPublishTrimmed=true

Zenoscave: -p: **

Zenoscave: should cut it by 3x

Zenoscave: depending on your dll usage

Marchete: it worked, thx Zenoscave and Illedan

Zenoscave: :+1:

Marchete: now I can join CS files fast

Marchete: it just fails on the #define preprocessor, that must go first

Zenoscave: I think my fork of ille's preprocessor handles that.

Zenoscave: don't remember

martinpapa69: has the elo score of top player ever been this high?

ZarthaxX: good question haha

Zenoscave: once in CSB

Zenoscave: Pen

struct: I dont know what mine was on the start of the contest

struct: With 100% win rate

elderlybeginner: what's the schedule for contest's silver, gold and legend league to be opened?

martinpapa69: usually the top ten is like 40-45 or something in big leagues

ZarthaxX: struct did you take a screenshot of top1 ????

Zenoscave: if not too late now

struct: yes

Zenoscave: damn.

struct: I made it at 10 hours mark

ZarthaxX: check it then? :P

struct: 12*

struct: wasnt 100% at that time

ZarthaxX: oh so not many players yet

ZarthaxX: ah... :(

ZarthaxX: should have taken more hehe

struct: https://i.imgur.com/bcUw8hg.png

Zenoscave: I'm in that photo

Zenoscave: at 9

Marchete: ZarthaxX you need to improve the bot a bit

Zenoscave: not even top 1000

Zenoscave: c'mon zarthie

ZarthaxX: a bit?

ZarthaxX: i havent been home for a day and have been working on smth for uni too

ZarthaxX: not easy

ZarthaxX: i will try tho, for you guys

Mohamed_Ali: hi all

Marchete: :*

ZarthaxX: hey

Fiddle: guys i am brand new to this is there anything i can do to teach me

Fiddle: i am struggling ahahahah

cegprakash: I wonder if ppl have already started to react to opponents

Default avatar.png NotSureWhyThisWorks: just try coding some simple strategies at the game and work from there

VizGhar: Fiddle just do the quest map

Mohamed_Ali: how can i send a private msg to someone i follow?

Fiddle: what language do you recomend

struct: c++

Default avatar.png JorgeBernal: Guys should I try to do a mini-max alpha-beta pruning algorithm or should I learn another better (most modern) way of doing it

VizGhar: cegprakash sure... at least I'm looking at opponent while seeding as well as his shadows

cegprakash: Mohamed_Ali they have to follow u too

Fiddle: ok thanks

cegprakash: VizGhar impressive

cegprakash: top 100 just by looking at these?

VizGhar: JorgeBernal whatever works for you... but the minimax can be used only in endgame (you probably won't be able to evaluate more then 3 depth)

VizGhar: hmm yes... but try to recommend me what else should i look for :)

VizGhar: I'll get to top 50 tomorrow... now I'm rewriting my code. It was pure mess and I'm inexperienced in this

ZarthaxX: struct hitting lvl 30 today? :O

Default avatar.png JorgeBernal: That's a good point. So, how are people on top 50 programming the bots, just hardcoding the posibiilties?

struct: I hope so

struct: I already got experience from silver

struct: I dont know if I get it again

ZarthaxX: nice

ZarthaxX: D:

VizGhar: oh for sure not JorgeBernal... You can hardcode early and endgame... you don;t know what can possibly happen in the middle

VizGhar: You have to be good whether you are playing against week or against strong players

VizGhar: its impossible to dardcode

ZarthaxX: VizGhar if else or beam?

VizGhar: hardcoded 5 moves + beam + hardcoded last 2-3 moves

ZarthaxX: first 5 and last 2-3? :P

ZarthaxX: of the game you mean

Mohamed_Ali: hi guys i need help with C# code

VizGhar: yes

ZarthaxX: nicely done

ZarthaxX: gz!

Mohamed_Ali: could someone help?

Default avatar.png Gedzius: Does anyone know if the map doesn't change at all in bronze league, cells will have same richnes every time etc.?

VizGhar: no... you havent asked Mohamed_Ali

Default avatar.png JorgeBernal: VizGhar what is this beam thing? How could i learn more about it?

VizGhar: uff... hard stuf... can you guys give him some paper to read?

VizGhar: I don't know what to recommend

VizGhar: Simply throw away non-promissing nodes in your search on every depth

Mohamed_Ali: lol why?

VizGhar: http://how-to-properly-ask-a-question.surge.sh/

Scarfield: just ask your question Mohamed_Ali (be specific) dont ask to ask :)

ZarthaxX: JorgeBernal do you know bfs

Mohamed_Ali: thx

Default avatar.png Gedzius: Does anyone know if the map doesn't change at all in bronze league, cells will have the same richness every time etc.?

RoboStac: the richness 0 cells change

Default avatar.png Gedzius: but the other ones don't ?

Ajaiy2: The positions and richness 0 cells change

RoboStac: but the basic layout without any richness 0 is fixed

Default avatar.png Gedzius: ok thank you

Mohamed_Ali: @scarfeild

Fiddle: i have never done any code before and i fell this is a bit hard is this for more advanced coders bc i am so confused lol

Ajaiy2: No, I came up with a simple one. Not much, but it works.

Default avatar.png JorgeBernal: ZarthaxX I didn't but I know now

Fiddle: i am so confused ahaha

VizGhar: http://chat.codingame.com/pastebin/df8fc223-e333-47e5-bf69-714a6b5fdb1c

Default avatar.png NotSureWhyThisWorks: Fiddle I would recommend learning python or javascript with some basic puzzles on this website. If you want to make a bot for the spring contest I suggest trying to implement simple strategies instead of complex algorithms

VizGhar: Gedzius see that pastebin ^^

Fiddle: ok thank you

Default avatar.png NotSureWhyThisWorks: np

Fiddle: will those walk me through it bc i get so confused

Default avatar.png Gedzius: VizGhar if we dumb it down the cells don't change i suppose

Default avatar.png Gedzius: because i cant read code im quite a beginner

Default avatar.png NotSureWhyThisWorks: Fiddle If you learn the basic syntax and basic programming concepts you can practice them on the puzzles on this website

Fiddle: ok sounds good:thumbsup:

Ajaiy2: How do you all manage your code at bronze? Im really struggling to find any errors

VizGhar: Ajaiy2 use external IDE and debug there

Ajaiy2: I don't mean it that way

Ajaiy2: My code's all getting large

limakk: u can

VizGhar: aaah... well you have to clean the mess up

limakk: can't do bronze with 10 lines :p

VizGhar: I'm doing it today :)

Ajaiy2: How is that even possible

limakk: perl

Ajaiy2: Ah

limakk: pearl : p

Default avatar.png AllGoodNamesRGone: If I make the worse bot than the current one and I test it in arena, will my rank go down or they keep my best bot

RoboStac: go down - only your last 'test in arena' counts

SirLoxley: last submission will be counted. Having said that you can resurrect your previous version via "history"

Ajaiy2: I cant even imagine the look at the faces of people who failed at the last battle

VizGhar: better to don't touch your code last day right? :D

RoboStac: nah, panicing 30 seconds before the end and making wild changes to try and win is the best way to play

Ajaiy2: Yeah, it'd just let you down at the last seecond

Default avatar.png apro2929: I'd say possible_actions[rand(seed=69)] is the best algorithm for any adversarial bot

VizGhar: wut?

BlitzProg: So, minimax, beamsearch, montecarlo? feels like anything could be used for improvement

Ajaiy2: No, none of those complicated thingies are for me

AntiSquid: Oups An error occurred (#407): "You reached the limit of plays for a period of time.".


Ajaiy2: I just pick the best place to plant

AntiSquid: this is getting annoying

cegprakash: I like my current submission bot even though it can't get points :) at the end of the game I have map control and I am able to harvest all trees with 100 sun points left :)

Ajaiy2: Whoa 33 free points

cegprakash: yup

VizGhar: having too much sun isn't good imho

VizGhar: how much points have you actually have in summary?

Marchete: I'm so slow....

cegprakash: https://www.codingame.com/share-replay/551162610 this is my old greedy bot vs current bot.. greedy bot wins but still winning doesn't matter.. happiness at end of day 24 is all that matters

gmessier: Someone know when silver will open today? I can't found any calendar like in the fall contest.

UndercoverToad: in 2h

gmessier: :thumbsup:

UndercoverToad: source: experience from previous contests

UndercoverToad: i remember your profile pic from long ago. you have played hypersonic, haven't you?

gmessier: Yeah... like 4 years ago :D

gmessier: my first... and only... contest I finish in legend :P

ill-be-waiting-outside: 105

UndercoverToad: maybe that's why I remember you

UndercoverToad: finished 54th back then. HyperSonic was my first contest

gmessier: (I just realize that you are eulerscheZahl ...)

jrke: nope he is not over best toad

Ajaiy2: Im actually kinda creeped out by my AI

UndercoverToad: sorry for confusing, chat gets extremely laggy for moderators :(

UndercoverToad: we can see all 1000 or so users that are online right now

Default avatar.png springchallenge: When the silver league will open guys ?

UndercoverToad: in 1.5h

AntiSquid: are we there yet ?

UndercoverToad: we should really teach a chatbot to answer that

jrke: UndercoverToad whats the source of data in 1.5h?

MSmits: it's almost always 18:00

UndercoverToad: i would kick you if i could

VizGhar: Automaton2000 when will silver league open?

Automaton2000: how many lines of code and it was like that in the chat

Default avatar.png springchallenge: :joy:

limakk: trust me bro is the source

AntiSquid: it's usually at 17:00 jrke (my time)

jrke: ohkay

UndercoverToad: 21:30 jrke time

VizGhar: Switching to bitwise operations is simply perfect... I'll have to start with them right away next time

gmessier: It can be at any hour if you can move fast enough :D

VizGhar: uhm... thats why japanese guys are always ahead

jrke: what would the opening window for silver? what all do you think

UndercoverToad: because they are so tiny they can fit themself into the bitboard?

jrke: i think 1200 cause it was 750 last contest

UndercoverToad: then why should it more more this timeß

UndercoverToad: about the same number of players

AntiSquid: sun shine, timeout and bugs, what's there not to like about this contest?

UndercoverToad: i think i still have a buggy move gen

gmessier: It depends on the boss.

Ajaiy2: My AI automatically plants a seed if it cannot do it at the distance I programmed it to. Did my AI just grow a brain or something?

KaizenGTD: what time is openning Silver?

cegprakash: AntiSquid haha

VizGhar: It'll be something like fu guys here have a 5x5x5 board

VizGhar: KaizenGTD look last 20-30 messages

cegprakash: Ajaiy2 ur code is controlling u

cegprakash: human era is over

jrke: i tried very hard to make a sim that works but its not working i mean referee looks bug free and i got puzzled whats the problem :(

UndercoverToad: oh, move gen is even doing what it's supposed to do. i just don't understand anymore how it works

cegprakash: jrke write a sim without looking at referee

cegprakash: and refer it after reaching gold that way just by fixing ur referee u reach legend

Marchete: jrke don't write a sim and just look the referee

Marchete: it's bitboard sim?

jrke: i am talking about referee that i made in my code(my own coded rule based referee)

jrke: nope no bitboards yet

Marchete: ahh

Hoyer: generating seed actions seems so expensive..

UndercoverToad: it is

Marchete: and if you eval the board a bit more complex...

MSmits: mmh whats expensive about it?

Marchete: I still don't know how to do it

MSmits: there's just many seed actions

UndercoverToad: takes a lookout to get from tree mask to target mask

MSmits: but if you evaluate it per seed action, it's not expensive

UndercoverToad: and an extra bit operation to get the lookup index

Marchete: if I evaluate the whole board, each cell taking into account neighbours and sun

Marchete: it's expensive...

ZarthaxX: UndercoverToad __builtin_ffsll ?

Queuebee: does anyone have guides on how to approach converting the gamestate to bitboards and creating some kind of cheap delta tuples instead of "COMPLETE 32"

UndercoverToad: no, I use C#

ZarthaxX: but the wequivalent haha

MSmits: yeah, but tbh, this sort of performance issue is not what makes or breaks your game

ZarthaxX: still doing mc toad?

UndercoverToad: i can't even read those C++ function names

UndercoverToad: beam

UndercoverToad: scotty

ZarthaxX: ah

ZarthaxX: scotty?

UndercoverToad: beam me up scotty?

ZarthaxX: i dont know that :rofl:

reCurse: MSmits should make a stream about bitboards, would be a nice followup to bitstreams

ZarthaxX: :O the god

MSmits: reCurse i promised to share my bitboard and sim after contest

ZarthaxX: UndercoverToad still solo beam?

Queuebee: what's a bitstream :frowning:

MSmits: not gonna do stream, but i'll write something up

reCurse: Arcane knowledge for stupid people, Queuebee

UndercoverToad: solo beam?

ZarthaxX: only yourself

UndercoverToad: no opponent

ZarthaxX: right

Astrobytes: You haven't lived if you don't know the Bitstreams Queuebee

ZarthaxX: gz on your rank btw :)

MSmits: I figured out why my bot is crap btw

ZarthaxX: what is that scotty thing

Astrobytes: Star Trek

Queuebee: that's what I thought Astrobytes

ZarthaxX: mhmm

Astrobytes: "Beam me up Scotty"

UndercoverToad: https://tenor.com/view/beam-me-up-scotty-gif-11313969

MSmits: my trees are shading themselves because the beam doesnt look far enough ahead to know that seeding next to existing trees is bad

ZarthaxX: MSmits what happened

AntiSquid: recurz here, but no odd level 3 alt at the top ?

ZarthaxX: oh :(

MSmits: should be easily fixed though

reCurse: I'm only here for the crap talk

MSmits: i can just prune seed locations better

ZarthaxX: UndercoverToad lol never saw startrek

AntiSquid: ah, door's always open for that

UndercoverToad: me neither. i just know the quote

MSmits: reCurse not participating?

ZarthaxX: ah ok haha

UndercoverToad: crap talk is fine, welcome backj

reCurse: Life is boring without banter

reCurse: And covid sucks

Nerchio: MSmits my bot was also seeding next to other trees so i just forbid it to seed in range 1 of my other trees

Nerchio: i know its not ideal but hey

MSmits: Nerchio it's a good idea, but maybe allow it if there is no other option

MSmits: and shadows go further than 1 hex

Majeck: When does the silver league open?

Nerchio: yeah i know i tried many things and simple worked best so far

MSmits: yeah it's definitely better than nothing

UndercoverToad: wait until the next user asks that Majeck (can't take more than 5min)

MSmits: my bot happily makes rows of trees

UndercoverToad: i'm answering it over and over again :P

Default avatar.png euijoong.lee: How long do I have to stay above boss to promote to next league?

MSmits: it thinks: Imma make a wall, tree shalt not pass!

Marchete: do you have covid reCurse?

reCurse: No no

Marchete: ahhh

Marchete: :sweat_smile:

Default avatar.png euijoong.lee: How do I go up a league?

UndercoverToad: he has lockdown

Donald_D._Doge: hi bruh's when is slivre opanning ?

reCurse: Just bored out of my mind stuck home most of the time

Marchete: good good

reCurse: Getting vaccine in 2 weeks finally

Marchete: anyways take care man

UndercoverToad: oh, cangrats

UndercoverToad: i don't have an appointment yet

reCurse: Yeah I heard Germany is behind :/

MSmits: your southern neighbours should send you theirs reCurse, since they are too stupid to want it

MSmits: i will probably be waiting a few months also

MSmits: think we are behind on Germany

Astrobytes: No date for mine either

MSmits: which is weird, GB started early

kovi: hungary ftw

Majeck: My third world country has over 50% of people vaccinated

Majeck: And it's voluntary

Astrobytes: Prioritising particular demographics first MSmits

AntiSquid: australia ftw

MSmits: yeah here too, but in the US everyone can get it now

MSmits: and they started later than GB

reCurse: I'm not even a social butterfly but I'm just dying to see some friends right now eh

Majeck: Their vaccinating 35-40 year olds as of this week

Majeck: *They're

MSmits: ah then i would be getting it this week if i lived in your 3rd world country :(

Astrobytes: reCurse: Yeah, it's only when the option is taken away that it really gets to you

MSmits: I am pretty antisocial, but even I would not mind seeing some friends

AntiSquid: geez ... calling people'

AntiSquid: s country 3rd world @_@

Majeck: MSmits yeah lol, for all of it's faults at least they were smart with vaccines and lockdowns

MSmits: AntiSquid he said this himself :P

Majeck: AntiSquid I described it as third world XD

AntiSquid: oof ok

MSmits: i do now realize what it looks like if you're missing that part of the chat

MSmits: thanks for fixing that AntiSquid :P

reCurse: #cancelsmits

MSmits: lol

AntiSquid: i was just thinking, damn why is smitz so elitist today?

Majeck: Unrelated note, most people know what third world and first world countries are

Majeck: Y'all know who the second world countries are?

Majeck: It's a term from the Cold War

FatIvan: Those aligned with USSR in the cold war?

MSmits: arent they south america?

MSmits: mostly?

Majeck: FatIvan has it right hahaha

MSmits: ohh ok

AntiSquid: by 2nd ww terms? majeck i don't think it's an accurate guideline really

MSmits: no i meant historically

FatIvan: They are outdated terms really.

MSmits: south america was somewhere between in development back then

MSmits: yeah pretty inaccurate

Majeck: As a South American I'd say we're still an underdeveloped continent

MSmits: it's all relative anyway

Majeck: I mean Chile and Uruguay lead in GDP per capita, and it's less than $20k

MSmits: thats not bad

Majeck: Meanwhile US has $60k per capita, and western Europe averages like $40k if I'm not wrong

MSmits: averages might not be the best way to measure

Majeck: MSmits yeah, but inequality is also pretty high (Though it's been going down)

MSmits: if you take the median, US does a lot worse

Majeck: MSmits relative to the US sure, not relative to South America

Majeck: I think median in US is like $35K

MSmits: just saying you are adding multi-billionairs into that 60k

Majeck: https://en.wikipedia.org/wiki/Personal_income_in_the_United_States

Majeck: $36K is the median income in the US according to wikipedia

MSmits: ahh ok

MSmits: sounds right

polill00: seems low

polill00: are they counting unemployed?

MSmits: a lot of poverty in the US

MSmits: of course they are

Majeck: Eh, prices are pretty low in the US, compared to the rest of the world

reCurse: Had no idea it was that low, was expecting higher

MSmits: might have been higher relative to the rest of the world 20 yrs ago

MSmits: country's been going to crap

polill00: They counting children?

Zenoscave: I know Researchers in Labratories who make $15/hr

Majeck: But yeah, inequality in the US is pretty ridiculous according to what the average person thinks

MSmits: yeah polill00

Zenoscave: (31-32K year)

Majeck: Top 1% holds 1/4 of the wealth IIRC

Zenoscave: If you aren't in a big business with a white collar job or working at the same job for long enough to max out raises, you're not making much

Majeck: This video is pretty cool at visualizing it: https://www.youtube.com/watch?v=QPKKQnijnsM

AntiSquid: cost of living is most important for average citizen Joe

Majeck: Nevermind the top 1% of the USA holds 40% of the wealth of the country

polill00: about 25% of people are under 18. I could see this combined with the 16% of the people over 65 including unemployed to make the median as low as it is.

AntiSquid: https://www.numbeo.com/cost-of-living/rankings_by_country.jsp

Majeck: polill00 usually those stats count working age people

reCurse: You'd think they'd only include employable people in the median calculation no?

MSmits: there's also a big difference between wealth inequality and income inequality

MSmits: people confuse the two

MSmits: my country has an enormous amount of wealth inequality

MSmits: but income inequality is not bad

AntiSquid: are people with disabilities / retired also included ?

Majeck: MSmits what's the practical difference? Like in day to day

MSmits: income is what you make, wealth is what you own

polill00: I was told it included children and unemplayed.

MSmits: if you spend everything you make and own nothing...

polill00: employed*

reCurse: That would undermine the metric I'd think

polill00: Thats what I thought

MSmits: people who rent their house, own almost nothing

MSmits: but they could be renting a hugely expensive house, live a very wealthy livestyle

MSmits: lifestyle

MSmits: because they are high income

MSmits: so in a country where a small percentage of people own all real estate, the wealth inequality is enormous

MSmits: but income inequality might be small

Majeck: Yeah, but wouldn't income inequality equate to wealth inequality in the long term?

MSmits: not necessarily

Majeck: Oh, chat updated on my end

reCurse: x towards infinity

MSmits: these are complicated systems

Westicles: I was talking to one of the homeless beggars who stands out by the streetlight. I told him about a job opening and he laughed at me. He said he averages a dollar a minute in handouts.

Majeck: Westicles yeah, asking for money on the street is pretty profitable

MSmits: averages several times a year getting beat up and robbed :P

reCurse: Press X for doubt

AntiSquid: y

polill00: depending on where they live.

MSmits: often people living on the street are addicted to something. At least here

MSmits: giving them money is probably not a good idea

Majeck: Just getting a dolar every 5 minutes and "working" for 8 hours equates to $100 a day, $2000 a month and $24k yearly

AntiSquid: same in UK MSmits

Majeck: When I went to LA I was impressed by the amount of homeless there were

Majeck: And a lot of them were completely out of their minds, like screaming in the middle of the street

Majeck: One ran into a shop I was in while shirtless, spewing some random stuff about the govt

MSmits: the problem is that people with heavy psychological problems and addicted cant be forcibly helped

MSmits: even though there are systems

Marchete: they were coding bitboards, that's why they scream

AntiSquid: true contest veterans

Marchete: yeah

Marchete: give them some popcounts plz

Majeck: Yeah, it's easier to get access to "hard" drugs in richer countries

Westicles: The homeless here just want to smoke weed and surf all day

MSmits: some of them are made here =/

Majeck: At least where I live the most popular illegal drug is marihuana and maybe sometimes cocaine

AntiSquid: mine is driving me insane Marchete, high count and poor results @_@

MSmits: I think they make loads meth and xtc here

MSmits: export goods..

Majeck: Yeah, and that's a lot more addictive and problematic

Majeck: So more "helpless" people on the street

reCurse: Yeah crypto is the worst addiction

MSmits: oohh fake money

MSmits: i'll just buy a monopoly set and play with that :)

Majeck: Probably will end up losing less money in the long term

Zenoscave: I hate hearing the term blockchain anymore

Ajaiy2: Im on 1371, feeling good

Zenoscave: it's so far removed frmo it

Majeck: $20 up front rather than $3k in a few weeks lol

Marchete: well, just like any fiduciary currency

Zenoscave: from it's actual meaning

MSmits: it's really a bad thing, especially because it's mined. All that calculation time that could have been used to solve Yavalath

Zenoscave: lol

Marchete: lol

Zenoscave: MSmits what's the best opening

Zenoscave: 3 3?

reCurse: Should make a cryptocurrency to solve it

MSmits: 3 3 and 4 4 are both solved as win for player 1, so doesnt matter

PatrickMcGinnisII: So I've got 5 minutes...u can open silver now

dbdr: MSmits. create YavalathCoin!

MSmits: 4 4 is easier to solve so i guess that one

Majeck: Hey Zeno, would you be interested in investing in my company? We sell apples & oranges but I think blockchain will play a really big role in our distribution

reCurse: Maybe derive some proof out of yavalath games

reCurse: *proof of work

MSmits: hmm

MSmits: good ideas!

Zenoscave: SnakeCoin

Marchete: sell papers, 40bucks each

reCurse: Get rich and solve yavalath what's not to like

Marchete: hey there are ppl that buys them :D

MSmits: lol...

MSmits: one time!

Zenoscave: I can't say much though I bought a dollar for 5 dollars once as a teenager. It was in a novelty shop and had a sticker on it

Majeck: In monopoly I used to trick my sister into giving me 1 $20 bill for 5 $1 bills

MSmits: ah yes, well some people become smart later in life

KalamariKing: why tho

MSmits: it;s fine Zenoscave

Majeck: More bills = More money

Zenoscave: I still have yet to become smart

MSmits: you rank 3 times higher in the tree game :P

Majeck: Well, I have to go to class, when does silver open anyway?

Zenoscave: 3x higher than you?

Zenoscave: 1h

Majeck: :smiling_imp:

MSmits: ye

Zenoscave: Majeck

Majeck: Thanks!

AntiSquid: MSmitz what are you doing so low anyway? where's the bitmagic gone?

MSmits: I'll start working on it again after promote.

MSmits: bit magic is fine, i am just not playing the game right

MSmits: heuristics and such

AntiSquid: you added no heuristics ?

MSmits: I even have an extensive sim check, if you play a game vs me, you see me test sim

MSmits: (with messages)

MSmits: i added some

MSmits: but not the most important ones

MSmits: like dont seed trees next to eachother :P

MSmits: seeding a tree next to another tree is like seeding 2/3 of a tree

reCurse: As far as I'm concerned, cut down all the trees

reCurse: Stupid allergies...

MSmits: because 1/6 of days 1 tree shades the other and another 1/6th the shading is reversed

MSmits: so you get 2/3 income

Zenoscave: I have yet to get my eval to space right

MSmits: of that new tree

Zenoscave: that's today's task

MSmits: yeah me too

Majeck: MSmits I'm stealing that 2/3 number

MSmits: it's ok, i didnt invent it

MSmits: but you can call it the smits-fraction if you want

Zenoscave: fractionmits

MSmits: i'll happily take credit for 2/3

The_ZimaBlue: isnt silver league supposed to be launched todat

reCurse: Just rumors

Zenoscave: in about 1 hour

Marchete: do you use zobrist MSmits?

MSmits: nah, no need, i am just hashing the states

MSmits: similar

Marchete: hashing without zobrist?

MSmits: yeah i just use unordered set, because it's convenient.

Zenoscave: zobrist is overkill here I think

MSmits: its slow as hell probably

MSmits: but speed is no issue

Queuebee: you? represent the whole gamestate in one unordered set?

reCurse: Yes.

Queuebee: :jaw_drops:

Marchete: well, maybe just the hash

Marchete: not the whole gamestate

reCurse: It's usually called python though

Queuebee: but it's in C++

Zenoscave: lol recurse

Marchete: zobrist is overkill because I basically 2x all my bit operations

MSmits: no lol, i have an array of states, but i also put them in an unordered set

MSmits: then i clear it on the new level

Marchete: but any other hashing will imply a full rehash on any change

Queuebee: OH

solistice: is there a(n easy) way to get the initial data input?

UndercoverToad: as we are on it: what do you think about my hashing Marchete?

UndercoverToad: foreach (long level in LevelTrees) hash ^= level.GetHashCode();

MSmits: thats what i do UndercoverToad

UndercoverToad: now that I look at it i already see a problem with it

Marchete: wth is that

MSmits: except it's xorshift instead of GetHashCode

UndercoverToad: asking about performance here

reCurse: I hear a disturbance in the bits

reCurse: As if they were all hashed into nothing

Marchete: if gethashcode is uint64_t

Marchete: then it's sh*t

PatrickMcGinnisII: damnit, i have to put pants on and do some work

Marchete: you are just combining all tree uint64_t

AntiSquid: is wearing pants that big of a nuissance ?

Marchete: no?

UndercoverToad: hash is an int, using a built-in hashing function

Marchete: I've had bad experience with these

reCurse: Willing to bet your collision rate is off the charts

Marchete: just make sure the same data throws the same hash always

UndercoverToad: hm, let me check

Marchete: I remember using it on some tests

MSmits: well... with unordered set you have a hashcomparer

miszu: good morning children

dbdr: stochastic hashing :D

Marchete: and oh boy it was a disaster

UndercoverToad: 74 collisions in 7k nodes

MSmits: thats fine

Marchete: lol

Marchete: yeah

reCurse: Ew

Marchete: hahaha

Marchete: only 1% collision rate

Marchete: *only*

MSmits: it's fine if you're lazy and are not trying to squeeze every last % out of it

reCurse: Only?!

Ziink: "only" xD

Marchete: I forgot the /s sorry

UndercoverToad: oh wait i was counting wrong

Zenoscave: %1 is fine. if you're talking about milk

Ajaiy2: I reached top 1500 after a lot of edits on code

reCurse: No it's all about 2%

Zenoscave: I only drink 12%

UndercoverToad: counting the really equal ones, not the false positives

Zenoscave: (yogurt)

Default avatar.png AllGoodNamesRGone: how to check timeout to break the search before it reach the deepest

Marchete: do you override GetHashCode UndercoverToad?

DetoBot: So, this game could have included 4 players, great

Marchete: if not, deep copy a Level Tree and check hashes

UndercoverToad: oh, calling equals > 10k times with only 74 really equal results :o

Marchete: if different, throw that thing away

AntiSquid: as if it's not chatoic enough DetoBot

AntiSquid: was expecting 4 players though

UndercoverToad: the hashset uses the hashcode before equals so I see the problem :scream:

reCurse: Take distinct states only and measure when they yield the same hash

KalamariKing: Could someone look over my code and see what's going wrong

UndercoverToad: the like i quotes was part of me overwriting GetHashcode

Marchete: but I mean

Marchete: if you have the same data on an object

Marchete: you should get the same hash for both

Marchete: that's the first step

KalamariKing: This is my first search func and while it's only going one layer deep, I wanna make sure it works

AntiSquid: days or moves KalamariKing ?

dbdr: AntiSquid it's not really chaotic compared to other games. top players can play ~50 games before losing a single one

KalamariKing: AntiSquid days

KalamariKing: http://chat.codingame.com/pastebin/356b9e8f-833b-4250-b684-c881aba7bd85

KalamariKing: I've looked at this code all weekend and I need a fresh pair of eyes

reCurse: You can go to Tor for that

Counterbalance: KalamariKing make sure you only print 1 action per turn

UndercoverToad: 54912 collisions at a set of 7105 boards (comparing each with each except itself)


UndercoverToad: i think this can be improved

Marchete: just perfection

dbdr: :D

Marchete: naaah

reCurse: LOL

Marchete: are you sure?

ZarthaxX: F

azriel1rf: I'm 26th now. But I don't use any searching algorithm such as beam search or monte carlo.

reCurse: Yeah that's more in line with what I expected

reCurse: Maybe slightly worse

Marchete: so what do you do azriel1rf?

Marchete: top 30th is a great achievement

UndercoverToad: hm, down to 432 collisions if I change it a tiny bit

azriel1rf: evaluate board

Zenoscave: that's amazing azriel1rf

azriel1rf: thanks!!

Marchete: your evaluation is powerful

azriel1rf: evaluate all the possible board next move

Marchete: I've corrupted C# .net, not it's as ugly as C++

Marchete: with all these fieldoffsets, unsafe, fixed, pointers

Zenoscave: Marchete why

reCurse: That's very insensitive to C++

Marchete: now*

solaimanope: how are you evaluating? which states are better?

reCurse: I'm offended on its behalf

Marchete: #define offended proud

Marchete: thanks reCurse!

Zenoscave: lol

reCurse: Only works when you define before

reCurse: gg

Zenoscave: tac

Zenoscave: gg

7amasa: when is silver opening?

Zenoscave: when it feels like it

reCurse: Soon

AntiSquid: dbdr i don't see how that relates, this is bronze, you surely lose more vs higher bots

reCurse: For this contest wood league should be legend

Queuebee: there's higher bots? ._.

dbdr: in chaotic games you can more easily lose to weaker opponents

Queuebee: ah that clarifies

cegprakash: chaos is a ladder

Wontonimo: yeah, i really like that about this game, i consistently win in the first couple dozen games

Ashbury: Good evening. I keep getting 407 even though I haven't launch games in IDE since more than 30 minutes. Is it normal?

reCurse: Yes

Wontonimo: multiple runs with the same bot don't give wildly different results (for me). I don't know about the top 20 anymore though. It's been a few days since I was there

UndercoverToad: there are different time limits and play limits

UndercoverToad: the longest limit can lock you out for 24h

reCurse: CG hates ways to be competitive

reCurse: So they limited number of plays

reCurse: /half-s

UndercoverToad: they even limited the numbers further for this contest

Marchete: be competitive, but not that much

kovi: wontomino...maybe you loose that capability soon

Ashbury: I guess it might be because of crypto miners x)

Ashbury: But this is a serious handicap actually.

kovi: (or not...if you stay in bronze)

UndercoverToad: how shall you crypto-mine when your bot is offline?

AntiSquid: hey dbdr now that you're here can you check PM please? :P

kovi: Wontonimo (sorry for typo)

UndercoverToad: does kovi not know about tab completion? :thinking:

Wontonimo: np kovi.

Zenoscave: I figured out spacing seeds

reCurse: I think it's better to tab them

Zenoscave: >65% w/r against previous bot

Zenoscave: hopefully not too direct optim and works against other

Zenoscave: I just got the joke reCurse r/wooosh

reCurse: I specialize in terrible obscure jokes

reCurse: Definitely spec'd my character wrong

Wontonimo: well, i guess it's high time i wrote that sim.

Zenoscave: I specialize in tearable jokes

Zenoscave: I have em all written down

Wontonimo: hey, me too !

Queuebee: omg me too wtf

Wontonimo: who would have thought that programmers would have that in common ?

Zenoscave: everyone.

ClockSort: my jokes cannot be torn.

kovi: i never used single spacing...except on c64

Queuebee: http://chat.codingame.com/pastebin/f476b01b-265d-411c-a44e-b4c0feb93787

DetoBot: :scream:

reCurse: Still a better bot than automaton

Zenoscave: >75% w/r ran more tests. the confidence 99% CI is .73 - .85

Zenoscave: Automaton2000 you gonna let him speak like that

Automaton2000: and this is how i feel about that

Zenoscave: So yes.

DetoBot: that was an KO

Zenoscave: I can't wait for silver so I can submit this version

DetoBot: detonate that bot Automaton2000

Automaton2000: what will be the other way around

limakk: Automaton2000 : p

DetoBot: make him friend Automation2000

Automaton2000: its because i dont understand

DetoBot: him, yes! Automaton2000

limakk: Automaton2000 u code ?

Automaton2000: could be a good one

Automaton2000: i had the same idea

reCurse: A single mention and already killed the chat with it

DetoBot: that's the problem with curiosity

Rabeeb: how long for silver?

Zenoscave: My bad ...

Rabeeb: no hour shown, only days

reCurse: See that's where a real bot is useful

reCurse: Would parse "when" and answer "soon"

Zenoscave: soon

TheBatMan_TM: yeah reCurse it's reCurse(ive) omg i suck at jokes

reCurse: Agreed

jacek: :tada:

DetoBot: define "real"? bot would be human?

reCurse: A bot with a purpose let's say

reCurse: Not a waste of bytes

Zenoscave: *Several* bytes

Marchete: your purpose is passing butter

reCurse: :)

Zenoscave: oh god

DetoBot: :joy:

Westicles: Isn't it usually top 40% at 6pm france time?

reCurse: You search for meaning where there's none

MSmits: where? Life?

reCurse: CG too

MSmits: cg is part of life

reCurse: Indeed

DetoBot: meaning defined

reCurse: Definition not meaning

DetoBot: my bad

Rabeeb: how many hours to open silver league?

Westicles: We find patterns and pretend we are alive

reCurse: I spot a pattern alright

AceTea: Do you know when the gold and silver league should open ?

MSmits: a pattern is only a pattern when it occurs more than once

reCurse: Help

Marchete: do you know when wood 2 will open?

KalamariKing: whenever they feel like it AceTea why so pushy

Rabeeb: silver shows 10 may, but no hour

Nerchio: give me silver

Zenoscave: Ban anyone who asks it again.

Zenoscave: just the first one

Westicles: yar, sliver me liver

Zenoscave: teach a lesson

MSmits: asks what Zenoscave?

Zenoscave: nice try

MSmits: :grin:

Rabeeb: yeah, asks what Zeno

reCurse: I have renounced to my janitor powers

Zenoscave: AntiSquid ban time

MSmits: you still have a cd thingy reCurse, whatever that is

reCurse: Only for use in extreme urgency

Rabeeb: janitor powers? @reCurse

reCurse: Yeah, the holy mop of CG

azriel1rf: @solaimanope the key feature is shadow. casting shadow to my tree is bad, on the other hand, to opponent's is good. moreover, grow for avoiding to be casted shadow.

reCurse: Wiped the blood of countless students

MSmits: there's a growth limit azriel1rf, trees are maxed out pretty fast

reCurse: Just here for contest banter and probably disappear after

MSmits: and you cant outgrow shadows then

MSmits: reCurse so there is no smurf?

Westicles: Can't argue with results. Is the the top non-sim?

Westicles: *he

Zenoscave: 789 wins out of 1000 I think this'll jump ranks nicely

DetoBot: :white_circle: => :soon:

reCurse: I'm not here to talk about the contest, just here for crap talk

Zenoscave: :popcorn:

MSmits: I noticed you are avoiding the smurf question, but that is ok :)

azriel1rf: MSmits, you said it. grow is powerful if sizes are small.

Chainman: crap=chinese rap ?

reCurse: The whole point of smurfing is to maintain uncertainty

reCurse: It's fun

MSmits: yes

reCurse: So why would I answer

Zenoscave: Got my popcorn ready for the server shitsshow

MSmits: sometimes a nonanswer is also an answer

MSmits: and sometimes it's not

Zenoscave: or is it gonna be a just transfer?

MSmits: up to us to discern

Hujing: Does anyone know at what time they wanted to unlock silver league?

DetoBot: :eyes:

DetoBot: Ban Ban Ban

reCurse: Next week

UndercoverToad: i don't think there will be a resubmit

Zenoscave: thx UndercoverToad

Astrobytes: When you stop asking.

Marchete: but silver, when?

chop-chop: !when

Zenoscave: Astrobytes must be miffed rn

Astrobytes: why?

Zenoscave: you sound miffed

Zenoscave: in my head, but still

MSmits: it's easy to make you sound miffed Astrobytes because you're so nice

Astrobytes: lol, no just bored.

azriel1rf: seed is the same thing. seed to cell not casted shadow is good. When we watch top bot's battle, they often avoid shadow when seeding.

peerdb: Is it possible to run the source code of the challenge locally on my pc for debugging? and if so, how?

MSmits: azriel1rf that's my next thing to add

Marchete: azriel1rf avoid future shadows, no?

Zenoscave: peerdb no clue

azriel1rf: avoid future shadow, yes

Marchete: ok

jacek: but current shadow doesnt matter now does it

MSmits: it does, but beamsearch can fix current shadow

MSmits: it cant fix long term shadow

Westicles: Should be lots of hiders this time? Strategy seems more important than usual

Marchete: current shadow only is used at first step of the day

Zenoscave: I have a feeling there's at least a couple

Marchete: so it's pretty irrelevant imo

MSmits: hmm dont agree

Default avatar.png CameronWatt: test

MSmits: it's only 1 day yes

Marchete: why

MSmits: but expansion has some exponential component

MSmits: sooner sunpoints are more useful than later

UndercoverToad: good point, i still want to add a decay factor

Marchete: sooner sunpoints?

Zenoscave: ooh now adding to my todo

MSmits: sunpoints you win early

Marchete: well, that maybe it's part of the eval decay

Zenoscave: early to rise early to win

Marchete: you have or smth

MSmits: sure, depends a lot on how you code it

Marchete: ok

Marchete: ofc the earlier the better

Default avatar.png CameronWatt: time to get back into the industry after a traumatic experience with an extremely toxic company. it has been almost 10 months. starting with some c# excersizes here. wish me luck.

Marchete: like occupy places first if it's beneficial

Marchete: wish you luck

MSmits: i think avoiding shadow is waaayyy more important than some richness points

Default avatar.png CameronWatt: thanks mate

DetoBot: good luck

MSmits: in early game that is

Default avatar.png CameronWatt: thx

DetoBot: shadows makes this game alive

Marchete: richness is only important because its on the center

MSmits: Marchete you found this when placing a bunch of trees in the center right

Marchete: so it casts more shadow

DetoBot: who exploits it, win?

MSmits: that shaded eachother

Marchete: I agree about shadow

MSmits: anything thats in the center casts more shadow and receives more shadow

azriel1rf: it seems that some top bot occupies cell to defend opponent's seeding

Marchete: that game is more about sun management + sun capture

Marchete: it's interesting

Counterbalance: peerdb: one way is to print the input, copy & save that to a text file, and run in visual studio with debug arggument "< input.txt"

UndercoverToad: really?

Marchete: because costs are count related

UndercoverToad: mine just drops 2 seeds at once because it's stupid and I fail to prevent it :(

reCurse: It's more about totoro

MSmits: you can hardcode against it

Marchete: I mean, euler, you are top10

Marchete: I'm just saying nonsenses as usual

UndercoverToad: no hardcoding for this, i want to solve the root problem

reCurse: Nice

MSmits: pun intended?

UndercoverToad: no :D

Zenoscave: is one seed at a time worth while for the pruning factor? Or are there better solutions

UndercoverToad: but now that you point it out I wish it was

jacek: you need better seed for rng for monte carlo

Zenoscave: I dont do MC

MSmits: Zenoscave for sure prune 3 seeds at a time

MSmits: i dont that ever happens

MSmits: think

Zenoscave: so only do up to a second seed?

Zenoscave: hm...

MSmits: 2 seeds... i see it sometimes, i guess there are rare occasions. Like when your income is high and you need it to grow faster

Zenoscave: one sec gotta test

Default avatar.png kamaci: pyhton coders are lucky

Default avatar.png kamaci: on clash

azriel1rf: To anyone using monte carlo or beam search, you see only hero's moves? or with opponent's move?

reCurse: Said no one ever

KaizenGTD: shouldn't be already open the silver league?

MSmits: azriel1rf at least at first, ignore opponent

reCurse: No

UndercoverToad: using beam, assuming opponent is WAITing

MSmits: later on you can include opponent actions based on some assumptions

azriel1rf: MSmits, thanks

MSmits: but it's always gonna be guesswork

MSmits: UndercoverToad do you not make assumptions for growth?

MSmits: i mean seeding sure... but he will grow his trees

jacek: or complete if available?

Wontonimo: azriel1rf i don't have a sim yet for this one, but in other monticarlo it does both mine and opponent

azriel1rf: MSmits, do you compare board in other days? like 2 days after and 3 days after.

kovi: seeding is guesswork, but growing can be predicted

UndercoverToad: i just consider static opponent trees

itzluku: thought silver would be open by now?

UndercoverToad: league opening is a manual process

UndercoverToad: blame SaiksyApo

MSmits: UndercoverToad then you do something with eval for shadow, because you cant just assume an opponent 2 size tree will forever not shade your 3 size tree

itzluku: oki

UndercoverToad: i *should* do something

UndercoverToad: but I don't

MSmits: i am really surprised your bot does so well without that

itzluku: im thinking about checking shadows for seeds liek this : assume every tree on the board is t3

MSmits: is your seeding smarter then?

azriel1rf: Wontonimo, thanks. Monte carlo is powerful to simultaneous game because it's hard to search mini-max.

limakk: silver opened

limakk: :p

UndercoverToad: testing all possible locations (aka a lot)

MSmits: damn

MSmits: well gj, my bot supposedly does what yours does then, except maybe my eval is crap

UndercoverToad: that's what costs most of my sim time

Westicles: The russians say: For 13 trees, the most favorable arrangement (calculated for 6 days) is as follows: [0, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36]

MSmits: what depth do you search to?

AntiSquid: all possible locations from all possible trees

UndercoverToad: meh, there are rocks and opponents interfering with those numbers

Default avatar.png Jackieckc: when is silver league opened?

jacek: ^

UndercoverToad: won't hardcode any of this, my bot has to find it on its own

MSmits: it's like the 8 queens problem

Donald_D._Doge: when is silver opening Jackieckc

UndercoverToad: silver should open any minute now

MSmits: do you allow seeding with a 1 size tree UndercoverToad?

UndercoverToad: yes, why not?

Smelty: wait when does silver open-

UndercoverToad: a shadow can't stop me

MSmits: cuz it means your tree will be next to the old one

MSmits: ah ok..

Wontonimo: azriel1rf i'm not sure how i'm going to do monte carlo for this one, probably as 2 competing trees.

Lucky30_: guys i am losing hope again hhh

UndercoverToad: so many actions, monte carlo doesn't find much here (at least my attempts failed)

MSmits: UndercoverToad maybe you have a shadow map as part of your eval score

MSmits: that would maybe explain why you do so well

UndercoverToad: i just simulate until the end of the game to count suns

UndercoverToad: which is expensive

MSmits: until the end of the game !!

Zenoscave: how many full games do you sim?

UndercoverToad: :sun: B)

MSmits: and this is beamsearch?

KalamariKing: Anyone wanna nyoom through my code and see why it doesn't work

UndercoverToad: no sun? :(

Zenoscave: :sunshine:

Zenoscave: probably not

MSmits: ohhh wait

UndercoverToad: :sunny: B)

KalamariKing: :sunny:

DetoBot: :sunny:

dbdr: :sun_with_face:

DetoBot: lol

AntiSquid: ban

MSmits: UndercoverToad when you do this sim, do you include growth?

KalamariKing: y'all broke my chat there

Queuebee: :new_moon_with_face:

UndercoverToad: dbdr you still own me chat logs from May 8th

KalamariKing: there's now a permanent unread blip

Zenoscave: AntiSquid if you were a metal album you'd be called "ban 'em all"

AntiSquid: i told him exact same thing UndercoverToad

UndercoverToad: sorry smits, question hour is over here

Lucky30_: KalamariKing i would if it heps me understand this contest some

Lucky30_: more

MSmits: hehe ah well, cant blame me for trying :)

dbdr: UndercoverToad I don't own anyone anything ;)

dbdr: *owe

KalamariKing: Lucky30_ you good with java? here you go either way

KalamariKing: http://chat.codingame.com/pastebin/d84f3c3d-6b50-4d63-aba4-05ff2c2781a4

Smelty: well guess ill know when silver opens because my rank will go up

UndercoverToad: yes you do, I DEMAND it

UndercoverToad: i'm entitled to it

dbdr: :P

Lucky30_: not really hhhh

KalamariKing: Lucky30_ it doesn't work tho so don't expect anything

Lucky30_: copy past incoming

Zenoscave: KalamariKing Probably shouldn't post such large code samples during contests

KalamariKing: Zenoscave you have a point

MSmits: yes dont do that KalamariKing

Donald_D._Doge: KalamariKing stop sharing contest code in chat @_@

KalamariKing: wow y'all are angy

KalamariKing: it would be bad if it worked

UndercoverToad: it didn't even share the full code because it was too much

Donald_D._Doge: not yet

Wontonimo: oh, really like it when i see the first 10 games come back as all wins ... so satisfying

MSmits: mostly seems sim code, thankfull

Zenoscave: People have been stripped of the rankand disqualified for it KalamariKing

Donald_D._Doge: on this site there's no sharing like that during contest .

reCurse: Also rolled in tar and feathers, sad stuff

UndercoverToad: code sharing is taken serious here. at least for contests

Donald_D._Doge: oh yes that part

Donald_D._Doge: best part

Westicles: The guy is in wood1

Smelty: hi reCurs :0

Donald_D._Doge: and chased around the village with pitchforks

Wontonimo: oh, it's java code ... meh

Zenoscave: Did you know the amount of stimulus given by the american government ($600) was enough to buy tar and feathers in an amount to cover a greaseball politician?

reCurse: Oh boy.

reCurse: Hai

KalamariKing: Where are the global leaderboards btw

AntiSquid: silver

Zenoscave: https://www.codingame.com/contests/spring-challenge-2021/leaderboard

ZarthaxX: wiii

KalamariKing: Thanks

Queuebee: woooo

UndercoverToad: promoted \o/

Donald_D._Doge: spam chat, silver opened

**FiddleChives slaps around a bit with a large fishbot

fvla: Whoa!

Smelty: AYY SILVER PROMOTED

limakk: yay

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

Smelty: i was at literally 1300

Smelty: howd i get promote

fvla: Now I'm bottom of Silver lol

Zenoscave: 1.8k man

AntiSquid: 1874 it says

limakk: site slow ?

ZarthaxX: oh god all bots submitted???

FiddleChives: hey guys

ZarthaxX: noooooooooooo

ZarthaxX: cg is gonna die

Queuebee: lol

cegprakash: nooooo

reCurse: They don't do mass submits anymore

azriel1rf: I PROMOTED TO SILVER

Zenoscave: naw just transfered

UndercoverToad: that's a huge silver :(

AntiSquid: i don't see any resub

ZarthaxX: ah nvm lol

dbdr: yeah :(

ZarthaxX: i saw battles and got scared

Ajaiy2: TOP 1000

Ajaiy2: YESSSSS

ClockSort: congrats to all silvers :thumbsup:

AntiSquid: it's a 40% silver lol

Smelty: xDD

reCurse: Silver is almost always a non-event

Zenoscave: Anti was right

Zenoscave: botg best

reCurse: Just a smaller bronze

ZarthaxX: xp was given?

fvla: sooo...when does Gold open?

Smelty: lol

AntiSquid: it's always around 50% cut off

AntiSquid: well less but ...

Westicles: 28%

The_ZimaBlue: silver is here...

Queuebee: YES 504 is back!

AntiSquid: 1.8k from 5k ?

The_ZimaBlue: many people transferred

UndercoverToad: i got the 100XP for silver twice https://prnt.sc/12rnvh6

ZarthaxX: nice toad

cegprakash: crashed lol

Wontonimo: NOOOOOO !!!!!

AntiSquid: oh 504

Wontonimo: i submitted right before Silver opened

UndercoverToad: beginner's mistake

Wontonimo: and now i'm battling though bonze!

ZarthaxX: u will get there anyway

Wontonimo: when i ranked higher than the bot

DetoBot: same here

UndercoverToad: but could be worse, like a full resubmit that makes the page unusable for some hours

cegprakash: what rank is bronze boss right now

Wontonimo: yeah ZarthaxX, thanks

UndercoverToad: 1874 in silver

reCurse: Better do the mistake in silver than legend

DetoBot: yes SIR

Zenoscave: I did it in legend in fall

Wontonimo: tru dat reCurse

Zenoscave: err gold -> legend

UndercoverToad: legend promotion is fast, only a few players in resubmit on opening

reCurse: There are no resubmits anymore

ClockSort: love the username @undercovertoad

UndercoverToad: i think for legend there were

reCurse: Hm

UndercoverToad: once they asked if they shall just shift or resubmit for legend

UndercoverToad: here on chat

UndercoverToad: and I was like RESUBMIT!!!

AntiSquid: maybe if it's small

Lucky30_: KalamariKing -> line 312 should be outside the for loop

Wontonimo: time to make a sandwich

Zenoscave: when does gold open

Zenoscave: ;)

**UndercoverToad slaps Zenoscave around a bit with a large fishbot

AntiSquid: ok, get me one too Wontonimo

Zenoscave: poof you are a sandwich Wontonimo

Scarfield: proof you are a sandwich

Wontonimo: may i recommend to the maintainers of this system, only promote a few people at a time no matter how many beat the boss. Like thottle it to 1 per 15 seconds or something

Jokras: Do you have to resubmit?

reCurse: Your request has been submitted to /dev/null.

Zenoscave: ln -s backlog /dev/null

Zenoscave: or whatever order ln works in

Wontonimo: echo "please fix something" > /dev/null

UndercoverToad: that would mean it takes 450min or 7.5h to promote everyone

limakk: what is the minimum score to promote to silver

UndercoverToad: i can already see the rant

dbdr: use >>. you don't want to lose the beginning of /dev/null

reCurse: True

Wontonimo: Zenoscave i thought it was just me that could never ermember the order of ln -s

Lucky30_: rm -rf /

nitekat: why didn't I promoted to silver :cry:

Wontonimo: lol dbdr !!

Zenoscave: was your bot still finishing a submit nitekat

UndercoverToad: either ranked too low or submit still in progress nikekat

Zenoscave: tab euler

The_ZimaBlue: i tested loser code in arena after making my new code....so i did not get transferred to silver league

UndercoverToad: did the 2nd letter wrong and it didn't work

nitekat: oh maybe still in finishing... I thought it was finished... just WAIT thanx

The_ZimaBlue: so how do i get transferred not

Zenoscave: whoops

cegprakash: I can't see bronze boss

UndercoverToad: instead of fixing my type i wrote the name wrong as I didn't see it at first

Zenoscave: It's ok, I'll forgive you UndercoverToad

Default avatar.png CameronWatt: this is a fun way to get back into coding

The_ZimaBlue: i guess there needs to be a boss to get transferred

The_ZimaBlue: but there is none

cegprakash: I see boss now

Westicles: I see Catboss

The_ZimaBlue: yah

Default avatar.png ChristianDowns: How do you progress?

cegprakash: cat boss at rank 9

The_ZimaBlue: a few seconds back

reCurse: Love the totoro theme

Default avatar.png ashiknur: default AI is too dumb in silver

Marchete: error 504

ClockSort: defeat catboss lol

Zenoscave: ashiknur the default AI is meant to be an easy target (or a mostly WAIT target)

ClockSort: second best username (cat loses to toad)

gmessier: Due to COVID, no more space is left in the Silver league to keep social distanciation. Sorry for the inconveniences.

reCurse: It's ok we're all coders, social distance is already maintained

Zenoscave: I go outside!! About once a week

Default avatar.png ChristianDowns: how do you challenge the AI?

Wontonimo: many years ago i made that mistake on a prod server Lucky30_. I meant to type 'rm -rf ./'

cegprakash: Bronze boss is super weak

The_ZimaBlue: it is harder to beat catboss than to be in the top 100 and get transferred

Marchete: top400 to gold?

Zenoscave: I hope so

Default avatar.png ZVRKK: Why we have same bot in silver :thinking:?

Lucky30_: Wontonimo life is hard

AntiSquid: 25% promote to gold or so

AntiSquid: just watch .

Default avatar.png Tuo: Promotion to Silver League in : 00H 00MN 00SC

Default avatar.png Tuo: Jipii

Default avatar.png Tuo: Altought its stuck :D

Default avatar.png ashiknur: I can't see the updated statement

AbsentMoon: How are people able to simulate the whole game in under 100ms?

Zenoscave: ashiknur there is no update in silver

limakk: boss becomes hard :p

Zenoscave: AbsentMoon no one

DetoBot: I will never ever will resubmit before a transition :expressionless:

reCurse: That's 6 frames of your favorite game AbsentMoon, plenty of time.

Lucky30_: my old stupid code got 94 vs catboss 100... but my current one can't do half that score... i give up

Westicles: It is too close, though. Should have made the grid one size bigger

cegprakash: cat boss got rekt

azriel1rf: how can i see cat boss

Wontonimo: catboss be at like rank 90

Wontonimo: you can search in "Leaderboard" while in ide

Wontonimo: ^^ azriel1rf

azriel1rf: thanks

DetoBot: damn

DetoBot: catboss must rise

Chainman: Wow in silver league :innocent:

DetoBot: again silver is getting crowded

Default avatar.png Alonius: How do you print a message in-game?

MoMaT: yeah, 2k people in silver? I don't remember number this high in any contest.

reCurse: Contest is more popular than usual too

Marchete: last one was 1913 on silver

MoMaT: bbut Fall2020 had 7k bots overall.

itzluku: echo "cringe" > cringecollection.txt

azriel1rf: Alonius, print "COMMAND message"

Marchete: excluding wood1 and 2

reCurse: At the end. Not now.

Marchete: it may be similar

Wontonimo: for example "WAIT the end is near!"

MoMaT: I guess that's what happens when the wood bosses pose zero challenge.

ddreams: that's good

DetoBot: leagues bosses are never alone

Default avatar.png Alonius: Thanks!

Marchete: eulerscheZahl how do I pass some <input.txt in VS Code?

Chainman: The league will get bigger though as people beat the boss

ZarthaxX: Marchete i think you cant

ZarthaxX: have already gone through that

DetoBot: 8% more to be in silver c'mon

ZarthaxX: cant put in config

Chainman: 8%?

reCurse: Is it in c++

Marchete: C#

Default avatar.png ashiknur: it's not interesting that the problem of bronze and silver are same

they could have add some strategy, like we can grow seed faster using spell or something:rolling_eyes:

Chainman: I like how it is right now though, allows more improvement.

Wontonimo: oh, what's interesting is that the competition is harder

DetoBot: spells again :/

Chainman: I don't want more variables added haha,

Wontonimo: agreed Chainman

Chainman: optimize what exists already.

ZarthaxX: Wontonimo now that silver opened? :P

reCurse: ashiknur: So competition only matters in legend league where the real full game is revealed?

Chainman: indeed

DetoBot: :dizzy_face:

Chainman: :sweat_smile:

Wontonimo: my last battles are taking FOREVER. I'll be in silver for sure, just have to wait. currently 17th in bronze. boss is around 90th

Jokras: Promotion to Silver League in : 00H 00MN 00SC

jke: promotion to silver seems to be stuck

Wontonimo: did they announce that silver was opening? man, i'm not going to resubmit so close to opening again. this is so painful

ddreams: silver is already open

Wontonimo: yeah i know. i was just wondering if they announced the exact hour / min

reCurse: They never do

reCurse: It's usually at this time +/- 2 hours

DetoBot: Got promoted, :upside_down:

Jokras: Why dosn't it work?

ddreams: server overload

Wontonimo: it take a little while Jokras ... be patient

ddreams: (I guess)

Jokras: Ok

Wontonimo: noone is moving fast atm

Marchete: on VS Code having a launch.json with that line

Marchete: "args": ["<input.txt"],

Marchete: does the trick to read from a file

UndercoverToad: that works for you?

Marchete: yes

ZarthaxX: i tried that one and it didnt work

UndercoverToad: oh, i tried "< input.txt"

UndercoverToad: and failed

reCurse: I thought that was the shell doing that... interesting

ZarthaxX: the space is the problem???

UndercoverToad: then changed it to "<", "input.txt"

Marchete: I'm on windoes

Marchete: windows

reCurse: Same thing

Marchete: ahh

Default avatar.png if-loop69420: whens wood league promotions happening?

UndercoverToad: i think yours would work too. just the space

ddreams: if-loop: continuously

Marchete: lazyness is a plus

Default avatar.png if-loop69420: well im 1st and im not promoted yet

UndercoverToad: or lack of style

UndercoverToad: did your submit reach 100% yet?

Default avatar.png if-loop69420: ?

UndercoverToad: is there a red circle at your name on the leaderboard?

ddreams: in "Last Battles", there's a completion percentage

Default avatar.png if-loop69420: yes

Default avatar.png if-loop69420: that has to reach 100% ?

UndercoverToad: wait till the circle is gone

Default avatar.png if-loop69420: oh

Default avatar.png if-loop69420: ok

Default avatar.png if-loop69420: thx

Default avatar.png if-loop69420: how long does that take?

gmessier: The time for your bot to have ~100 battles

Default avatar.png if-loop69420: kk

Smelty: lol

Smelty: in silver its more like 200

reCurse: You wish

UndercoverToad: exactly 100 in my history. and some are from other players fighting me

RoboStac: only because so many resubmitted at the moment - it's a fixed number of battles you start, but you get put into battles other resubmits start

UndercoverToad: so probably 90 games that you get yourself

Smelty: hmm

MadKnight: oh silver is already opened? i think i've overslept it

Smelty: it opened 40 mins

MadKnight: oh well let's go back to sleep Automaton2000

Automaton2000: i had issues with that

reCurse: Oh right I missed the resubmits causing more games.

UndercoverToad: and now I got an email informing me about silver

Smelty: hmm yes

UndercoverToad: Hello, http://chat.codingame.com/pastebin/8e0015c3-d0c9-40e0-a88f-56897e06075f

Smelty: hi

Smelty: e

ddreams: uh, what is going wrong when my bot performs worse when given more time? :p

reCurse: Analysis paralysis

emh: don't buy Calvados

emh: it tastes like rotten apples

Smelty: lol

reCurse: Noted

KalamariKing: Ok this time I won't paste source

KalamariKing: However

KalamariKing: A java.util.NoSuchElementException on (Scanner).nextInt means there was nothing to read, right

KalamariKing: Also: the inputs are per-turn or per-day

Wontonimo: ddreams - that is a great indication you have a bug or a poor heuristic

Zenoscave: per-turn

Jokras: Is it normal that ther is still Promotion to Silver League in : 00H 00MN 00SC

ddreams: yeah, the heuristic is probably pretty bad

fvla: KalamariKing: i mean, for the first question, you can literally look up the Java documentation

Wontonimo: a really good heuristic is - did it win. not kidding.

fvla: inputs are indeed per-turn, not per-day; you receive updated board state after every turn.

KalamariKing: Ok thank you

KalamariKing: There's the issue then

ddreams: yeah, but I don't simulate the opponent, so I don't know what he'll get

ddreams: I should try to do that probably

gmessier: IMO, don't care about the opponent until you are in top 100 (but I will let the real top 100 give their answers)

7amasa: is promotion to silver stuck or smth?

UndercoverToad: i can assure you that you can reach top10 without simulating the opponent (at this early stage of the contest at least)

ddreams: at least three of the top 10 are ignoring the opponent

ddreams: but they are probably much smarter with their heuristic than me

ddreams: and faster

Default avatar.png Alonius: Is there a way to export games to files?

UndercoverToad: i'm just throwing some CPU at it without being clever

struct: hi

limakk: hi struct

struct: How many were promoted to silver?

limakk: 1886

cegprakash: promotion is kinda stuck

struct: those are the current ones

struct: But when it opened

cegprakash: it says I'll be promoted in 0 secs but I'm not

Jokras: me too

Zenoscave: ~1850 struct

struct: im thinking on getting the i9-10850K

struct: anyone has it?

Lucky30_: :flushed:

reCurse: Why not the 11th gen

Lucky30_: i have i3 10th..

struct: Are they released?

Zenoscave: I think I have ryzen 5??? I don't know what my cpu is.

struct: ah I see

struct: 11900

Lucky30_: please stop.. i am sad... i live in the past

Schneewittchen: Ryzen 5gen and really happy with it

Schneewittchen: lol *3rd gen :D

KalamariKing: What about gpus

KalamariKing: I have a ryzen 3700x but only a 1030

reCurse: They don't exist

Schneewittchen: Oh god there is none

reCurse: Only in legends

ddreams: I tried a laptop with the i9-10980HK, then changed it for a Ryzen 5900HX

Schneewittchen: Even my old gpu solds on ebay for >400

Schneewittchen: This is insane

KalamariKing: Gpus are nowhere

ddreams: was a bit better compile performance, but nothing insane

struct: 11th gen out of stock :(

struct: at least in portugal

reCurse: rip

jrke: so we are in silver for the second time in the contest

Lucky30_: good for you sir

Schneewittchen: Buy in spain. Sometime they got some

AntiSquid: should i try to sell GPU at auction? :thinking:

Schneewittchen: For sure

Schneewittchen: But how to get a new one? :D

reCurse: If you're desperate for cash and aren't looking to get a gpu in the next 3 years sure

AntiSquid: yes one of the newer ones

Schneewittchen: You'll roughly double your spend

AntiSquid: ah i just wait for them to reappear

reCurse: I'd say 3 years before it's back to normal

ddreams: some of the more expensive ones (3090's) appeared to become more available last time I looked

struct: yeah I saw 3090 for 2700€ on stock

ddreams: they're not so attractive for miners

Zenoscave: 2700€ !? That's absurd

struct: its not FE

AntiSquid: weren't the 3k series advertised to be about same price as the 2k series last year? :D

KalamariKing: Yup

Schneewittchen: Even the 3070s for over 1000

KalamariKing: The 3060 was supposed to be like $350 usd

struct: https://i.imgur.com/cfmvPX1.png

ddreams: a friend of mine sold his 3080 for about $1900 and bought a 3070 instead

AntiSquid: wanted to build another pc . but ... nvm

ddreams: insane

struct: Those are the only ones in stock

KalamariKing: What about Big Navi

KalamariKing: The AMD cards

Westicles: I wouldn't buy 14nm intel. Stuck in one node for 7 years

KalamariKing: Why do you all prefer intel? AMD runs cooler and has better price/perf

KalamariKing: And AMD didn't release the exact same chip under a different name this year :eyes:

ddreams: I'm with my first AMD now

Codechaos: Hi, is there a guide on how to compare AIs locally? I looked at brutaltester but as it seems I need a referee for it. Is there any guide or prebuild referee for the current challenge?

AntiSquid: i have AMD works great

KalamariKing: PLUS you don't have to buy a whole new mobo when you want to upgrade, all ryzen's use am4

JP7: Are u baiting? Whos stanning intel?

KalamariKing: Literally scroll up

struct: amd prices are not that better over here

AntiSquid: "stanning" @_@#

struct: maybe if I buy from spain

Wontonimo: Codechaos the referee for this game is published. look at the docs

ddreams: Codechaos: Zenoscave has generously shared one: https://github.com/LSmith-Zenoscave/SpringChallenge2021

Wontonimo: oh, that's even better

Wontonimo: THANKS Zenoscave !!

reCurse: There's no stanning but I've had so many problems from AMD over 20 years I'll pass

Zenoscave: I don't recall giving this in public chat but yw ;)

Lysk: I'm getting "player has negative score" with Zenoscave referee

Zenoscave: Means timeout.

Zenoscave: if your pc has other processes going on timeouts are still enforced

Zenoscave: or you are using wood league

struct: cant you change time allowed?

Lysk: ha! good point, how to check for the league?

Zenoscave: in the invokation add -Dleague.level=3 before -jar

Lysk: got it, lemme try

7amasa: is silver stuck guys or?

ddreams: lol, nice, I commented out the wood leagues in the code :D

Codechaos: That's incredible thank you!

ddreams: you can change time allowed, but there's a hard cap of 30s in total for each game

Zenoscave: nope the timelimit errors about 30000 milliseconds if you up the time per move

struct: cheapest place I can get is from germany :D

ddreams: however, you can download the game engine from codingame and change the hard timeout

Zenoscave: and how do you link it to your bot?

Zenoscave: *ref

ddreams: you have to recompile using local maven packages

Counterbalance: update the engine version in the pom

King_Coda: So, what's happened since I've been dark for 5 days?

King_Coda: So many new people coming into chat

King_Coda: I wonder why :thinking:

ZarthaxX: contest time King_Coda

Ashbury: Promotion to Silver League in : 00H 00MN 00SC since 30 minutes. Is it a bug ? x)

Westicles: King, we have been waiting on your puberty updates

King_Coda: My Puberty updates?

King_Coda: Since when were those a thing?

KalamariKing: King_Coda!

King_Coda: KalamariKing!

KalamariKing: that was some fast typing

ddreams: tab-completion

King_Coda: I am a speedrunner after all

King_Coda: hey, don't out me like that ddreams

ddreams: still fast tho

TobiasA: ayyy King_Coda

King_Coda: TobiasA!

King_Coda: Sorry I've been gone, these past few days have been hella wack, but i'm back now

TobiasA: do you have a bot for me to steal?

Wontonimo: print("WAIT")

Ashbury: Any intel on silver promotion not coming?

Wontonimo: ^^ there ya go

jke: we're in a new league between bronze and silver... the limbo league

King_Coda: How has everyone been during the contest?

Zenoscave: sleed depreived King_Coda

King_Coda: I'm still in wood league... :(

Zenoscave: sleep

King_Coda: Lol, me too Zenoscave

ParticleBeam: Need a Wheatly contest. Who can design the worse bot possible...

TobiasA: i've wondering how people run thousands of simulations in a short period of time. anyone know how

TobiasA: ?

reCurse: Magic

Zenoscave: magic

Smelty: xD

King_Coda: magic

Zenoscave: dammit reCurse

Smelty: magic

TobiasA: hehe

King_Coda: Hahahaha

TobiasA: i thought so

King_Coda: I love this chat sometimes

Nerchio: C++

King_Coda: C#

Smelty: and not python

Default avatar.png M1kep: I'm guessing... https://github.com/CodinGame/SpringChallenge2021

Smelty: perhaps

nitekat: or borrow space x's computer

King_Coda: Yup

tarikyildiz: What should I know about in order not to get stuck in codingame questions?

TobiasA: because the last time i checked it takes more than a second to print something 10,000 times

King_Coda: Sure yeah, just steal from Elon Musk

Default avatar.png M1kep: Something about adding a runner here :) https://github.com/CodinGame/SpringChallenge2021/blob/main/src/test/java/Spring2021.java#L30-L34

King_Coda: Well, if you have a 10 Ghz processor, then 10,000 processes per second should be easy!

King_Coda: All you have to do is use 100% of your cpu!

Zenoscave: not sure that's what Amdahl meant

King_Coda: With no work being given to your gpu at all, you'll have a black screen

King_Coda: In fact, you won't even have a functional PC

King_Coda: :D

Smelty: hah two different versions of my bot tied https://www.codingame.com/share-replay/551360213

tarikyildiz: What should I know about in order not to get stuck in codingame questions?


King_Coda: Do better

King_Coda: ezpz

King_Coda: Upgrade your ram from 4 gb to 128 gb

Smelty: gee, the community here is really helpful

King_Coda: it'll only cost you 300$

King_Coda: no Smelty, i'm just cantankerous :P

reCurse: Cancerous indeed

reCurse: Well the questions need to be better for starters

Smelty: canctanceriousit

King_Coda: ???????????

King_Coda: "canctanceriousit"

Smelty: yes, canctanceriousit

King_Coda: canc-tancer-iousit

King_Coda: I-

King_Coda: Kank tan-ser ee-us-it

King_Coda: ?

King_Coda: Explain the etymology of this word please

Smelty: it is a medical condition in which people cannot say the name "canctanceriousit"

reCurse: Alright I'm out of here before I use the hammer

Default avatar.png Alonius: Is there a way to export games to files? In order to analyze locally

Smelty: oop

Smelty: *run away*

King_Coda: Where is my father Astro?

King_Coda: where is the bytes himself

KalamariKing: He escaped

Smelty: astrobitesalot

King_Coda: I need to bore him with my inferior knowledge of C#

Smelty: lel

King_Coda: Astrogone

King_Coda: Astrowenttogetthemilk

KalamariKing: Gtg boios time for an hour-long bus ride home

UndercoverToad: Astrobytes has superior C# knowledge?

King_Coda: Bye KalamariKing

Default avatar.png jc725: is it me, or are some of the questions here poorly worded?

UndercoverToad: which questions? clash of code?

King_Coda: UndercoverToad, no, but me and Astro have grown rather fond of each other and now since i'm learning C# I must bore him with updates on my learning

Smelty: yes, such as yours truly

UndercoverToad: a poor review process can lead to such an outcome, yes

King_Coda: If Astro were here he'd know what to do :(

UndercoverToad: Astrobytes where are you? get your daily news

Smelty: yes

Smelty: Astrosenpai

Default avatar.png jc725: im doing there is no spoon part 1

Donald_D._Doge: that toad thing codes in c# buzz him about it too King_Coda

Smelty: o.o

King_Coda: Okay Donald_D._Doge

Smelty: he is a mario euler

King_Coda: I doubt he's euler

Donald_D._Doge: me too

King_Coda: euler actually comes into chat

jrke: hover over him

King_Coda: i've talkied with him before

King_Coda: *talked

jrke: you will discover the undercover

Smelty: l-look at undercover's description

UndercoverToad: i am eulerscheZahl. Do I have to write that from my other account to confirm it?

Smelty: and you will discover the mysteri

Donald_D._Doge: jrke that's fake, you can write anything in your profile

Smelty: ;-;

Smelty: the reason mods are using alts is cuz they have the full online list, and it lags them out

jrke: euler give him a proof even to me also

jrke: ;)

Donald_D._Doge: probably his little brother or kid

Smelty: gee

eulerscheZahl: eulerscheZahl = UndercoverToad

King_Coda: I doubt people would care enough to impersonate other people on here though

King_Coda: See?

UndercoverToad: and tab is dead

jrke: thats why he wrote only for chat in description

Donald_D._Doge: ya see what i wrote above King_Coda

Smelty: lMaO

Donald_D._Doge: it confirms it

Ashbury: I have "Promotion to Silver League in : 00H 00MN 00SC" since 35 minutes and I am still stuck in bronze. It is a bug?

Smelty: xD

Smelty: maybe

jrke: yes Ashbury

Smelty: edit: yea

Ashbury: :thinking:

King_Coda: This website isn't popular enough and the community doesn't care enough about popularity to impersonate another user

Smelty: .....my code suc

Donald_D._Doge: Ashbury maybe resubmit

Smelty: stuck at 1300/1800

Astrobytes: You pinged?

ddreams: hmm.. wonder what I need to get graphics to display in the local viewer

VaseSimion: stuck at 1100 :D

ddreams: anyone knows?

Smelty: ; - ;

King_Coda: Astrobytes

King_Coda: !!!!

Donald_D._Doge: King_Coda i am Astrobytes's alt

UndercoverToad: Astrobytes you get your daily update about the C# learning process

Astrobytes: Yes I got the ping before, what?

Donald_D._Doge: that's how i knew you was typing

Astrobytes: What C# learning news?

UndercoverToad: he only wanted to talk to you

King_Coda: Okay Donald_D._Doge, sure

Smelty: suuuuuuuure

King_Coda: Astrobytes, you will be happy to knnow that I learned

King_Coda: ...

King_Coda: ABSOLUTELY NOTHING

Smelty: ...

Donald_D._Doge: you said nobody cares about impersonating others, cmon Man

King_Coda: :D

AstroHydes: Hm. Much easier in this chat

Smelty: it was all part of the master plan to catch imposters

King_Coda: I didn't mean to ping you Astro

Smelty: plus astrohyde is his alt

Donald_D._Doge: ya he has multiple alts

Smelty: *main alt

AstroHydes: No. Just one.

jrke: oh so Astrobytes = AstroHydes

King_Coda: I believe UndercoverToad pinged you accidentally

Smelty: ye-

Donald_D._Doge: Westicles is my other alt Smelty

Smelty: aand jrk ping

Noyotens: catboss is dump

Smelty: go on there and confirm

King_Coda: WESTICLES DOES HAVE TROLL ACCOUNTS!!!!

King_Coda: I KNEW IT, ASTRO YOU WERE RIGHT ALL ALONG

Donald_D._Doge: you'd be my troll account if i had one, writing all caps

Smelty: lmao.

Smelty: lesson 1: how to troll the troll

King_Coda: Astro, i never doubted your superior intellect

Donald_D._Doge: no worries King_Coda

AstroHydes: Well, since this chat is a load of fking crap I'll be off again. Thanks for the pings.

King_Coda: LOL

Smelty: no master senpai

Smelty: e

Westicles: donald_d_squid has half these guys convinced :P

King_Coda: Hahahahaha! Sorry Astro, we'll try not to ping you again

Smelty: lmao

Smelty: B)


King_Coda: Anyways

King_Coda: West, approximatley how many troll accounts do you own

King_Coda: give me an estimation

jrke: is CG slow again or its my net

King_Coda: It's probably your 300 ping

Donald_D._Doge: i need a lol cat on my westiclees account

Fluxor: @Asgbury: same for me

Fluxor: I was 105 before the league opening

King_Coda: *laughs in 200 mbps download*

King_Coda: *and 6 ping*

Fluxor: since then I am stuck et 11 in bronze

Westicles: I don't even have that social achievement for 1 smurf

Fluxor: I already have re-submit, and I remain stuck in bronze, far above the boss...

Donald_D._Doge: i am antisquid King_Coda

Trilusion: Yes, what's wrong with promotion?

King_Coda: Donald_D._Doge do all mods have alts?

King_Coda: I didn't know about this until today

Donald_D._Doge: this is my main

King_Coda: suuuuuurrreeeee

Donald_D._Doge: why the reeee ? what did i say wrong ?

UndercoverToad: I only created my alt account 2 or 3 days ago because the chat became unusable otherwise

jrke: CG promoted some people to silver early(1st day of contest) and now stopped promotions lol

UndercoverToad: and I had 2 more alts to test a 4 player game (Kutulu) but deleted both of them

Donald_D._Doge: i have a follower !!

Default avatar.png CameronWatt: dang, getting rekd by python coders in clash of code

Default avatar.png CameronWatt: from c#

Noyotens: who also dislike CATBOSS

annaproxy: Is it any use timing your code yourself? I often get >100ms when I set a stopwatch around my loop but CG says it's OK

UndercoverToad: start the timer after reading the first line of input

UndercoverToad: otherwise you stop the opponent and referee process as well

gmessier: :point_up:

Lowz: Question regarding the Spring Chellenge rules: Does anyone know if the spooky shadows apply for trees owned by me casting a shadow on a tree also owned by me?

gmessier: yes

Ard1998: this is weired, just promoted to wood 1 by outputting the first command thats not WAIT and then let let it run for a while :sweat_smile:

ddreams: Good job

Maliamnon: random moves are significantly better than no moves :)

UndercoverToad: wood is meant as an introduction to the game. print valid moves and you are close to promotion already

Ard1998: true lol

Astrobytes: Beats a false lol I guess.

UndercoverToad: the goldboss is the mean guy who doesn't want to let you pass

ProYd: Hello, does anyone know what is the maximum memory allowed for our AI?

UndercoverToad: Astrobytes I was about to report the promotion but you were faster :/

Astrobytes: 768 mb

ProYd: thx

UndercoverToad: because i told someone on #De that I will report it

UndercoverToad: switched tabs and you were typing already

Astrobytes: Yes UndercoverToad, too many incoming complaints about it!

UndercoverToad: should we ping Thibaud?

jrke: i think staff are already aware of that

RoboStac: people have pinged him in the challenge channel

UndercoverToad: is this just a feeling?

UndercoverToad: ah

UndercoverToad: i muted that channel, too much noise

Astrobytes: Was Julien that fixed the issues last time, not online though

UndercoverToad: i know

UndercoverToad: but he also caused the issue

UndercoverToad: saiksy offline too

Astrobytes: That's why it would be helpful if he were around ;)

UndercoverToad: oh, he's online here

cegprakash: last I saw saiksy was playing rocket league

struct: stuck on level 29 forever

struct: Will delete fix it?

Astrobytes: lol

UndercoverToad: 29 is enough to edit approved puzzles

UndercoverToad: afk cat time

struct: it is yes

struct: But im still silver :(

cegprakash: can everyone stop submitting till I get promoted just saying it might fix things

Astrobytes: It won't.

struct: ah sorry had no idea

struct: let me just submit this version

cegprakash: struct nooo

Mourfette: sorry if it was asked a lot already but what does silver add to the game?

Wontonimo: nothing

Mourfette: no new rules? ok

Wontonimo: you are just in competition with harder bots

Mourfette: ok

Scarfield: no new rules, but a lot of questions about when it opens

Mourfette: but it is open

Trilusion: but the promotion is tuck

Wontonimo: it is ... if you were lucky. i'm stuck in "waiting to promote"

Trilusion: *stuck

Wontonimo: i thought the t was an f

Mourfette: ah, well I'm far from trying for that, still a lot to do and lacking time

Westicles: Dumb question... why does wood boss get to 800 bronze?

Wontonimo: what you mean Westi

AntiSquid: wood boss got promoted? :joy:

Westicles: If you submit it I mean

Noyotens: catboss :rage:

AntiSquid: ah

jrke: did they resubmitted boss?

GreatTux: Wood boss to legend :grin:

Wontonimo: hints for those stuck in Bronze: look at replays of top players in Bronze and count the max number of S3 trees of good players. Also pay attention to position of seeds.

Lysk: Zenoscave , referee is now up and running, with c++ the threads are still running when the testing is done (they die within a minute), do you have the same?

Wontonimo: if you can mimic those two things, you'll probably beat catboss

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

Chainman: Any good guides for beam search and simulation.

Chainman: I'm at the point where I want to try implementing that, but it's my first time.

Chainman: https://github.com/Agade09/Agade-Fall2020-Challenge-Postmortem

Chainman: I was reading that but not sure

yhyoxx: searching for what exactly ?

UndercoverToad: a beamsearch for dummies tutorial

Chainman: basically :sweat_smile:

UndercoverToad: i don't know about anything specific

UndercoverToad: try google "beam search java" or any other language

UndercoverToad: but for this contest beam search is not completely straight forward

UndercoverToad: if you just chain actions, you get out of sync regarding days

UndercoverToad: and that will heavily mess with your scoring function

Marchete: I don't understand the out of sync

UndercoverToad: the beam has multiple nodes at the bottom layer

dreadylein: if you just treat waitstate like any other state, states at depth x can have multiple days

UndercoverToad: say you have WAIT+WAIT, GROW+WAIT, GROW+SEED plans

UndercoverToad: WAIT ends the day and gives you suns. but it's not a great move

UndercoverToad: so you should have WAIT, GROW+WAIT and GROW+SEED+WAIT at the same level

Marchete: ahh I get it

UndercoverToad: which is totally doable. but something that might challenge you if you code your first even beam

Marchete: I don't know how to do that :D

AntiSquid: easy to patch that @_@

XeroOl: is there a good way to async read in c++?

UndercoverToad: i just chained some beams after each other

XeroOl: I'd like to make an ai that can think during the opponent's turn

UndercoverToad: first beam to completely finish day 1 and just store the final nodes ending in WAIT

XeroOl: but it looks like non-blocking read from c++ is a pain

Marchete: XeroOl you can't

dreadylein: your core is frozen, dont bother :)

Marchete: don't waste time on it

XeroOl: really, it is?

Marchete: it's called "pondering"

Marchete: and your bot is frozen on enemy turn

AntiSquid: that's why there's a tyurn limit

XeroOl: I didn't know the bot is frozen on enemy turn

Marchete: so you get like a 10% improvement, at most

XeroOl: fair enough

KelvinAndHubbles: Anyone know how high you have to get in silver for gold? Was about 1/3 of bronze got in silver so I'm guessing like top 600?

UndercoverToad: and i want to turn that into a chokudai but sounds a bit complicated

Westicles: This is sort of a great contest I think

XeroOl: that makes this a lot easier lol

KelvinAndHubbles: (I mean in two days, gold is released now)

Chainman: chokudai?

Astrobytes: You might squeeze a couple of ms but not worth it

Marchete: not at all

UndercoverToad: chokudai is like beam. but has a fiex depth and dynamic width

AntiSquid: Chainman the holy grail

UndercoverToad: beam has fixed width and just goes deeper as long as there is time

Marchete: what's the problem with emulating the enemy?

Chainman: are you sure lol?

Marchete: like you all try to avoid it at all costs

AntiSquid: i think chokudai is great, just need good eval

Chainman: Cause when I google chokudai, nothing about beam search is result.

UndercoverToad: the enemy is another topic. I even would need a bit of refactoring to enable it

Chainman: I googled "chokudai beam search"

UndercoverToad: and there are just so many possible moves

UndercoverToad: hard to predict anything

Marchete: so less without enemy

AntiSquid: you need VIP membership to access it Chainman, classified info

Marchete: your GROW+SEED can be a bad move

Marchete: if enemy SEED first

GreatTux: beam is straight forward to implement a end of day your eval/scoring function it was matters

UndercoverToad: the only thing I can think of: when opponent starts cutting trees, you play along to get some nutrients from it

UndercoverToad: I just accept that and always SEED at the end of the turn

UndercoverToad: can help to reduce sun costs

Marchete: SEED at end?

Marchete: why?

UndercoverToad: sun cost

UndercoverToad: you grow the old seeds first

UndercoverToad: and then you get new ones cheaper

AntiSquid: what do you have now Chainman ?

AntiSquid: just strong evals ?

UndercoverToad: and again i'm talking too much

Chainman: :grin:

Chainman: y'all trolling with chokudai

Marchete: I'd say the first point on a day

dGrayCoder: Any tips for switching from Java to Kotlin?

Astrobytes: It's only a matter of waiting for you to do it toad :)

Marchete: is to reorder what 's more economic

Chainman: I have crappy heuristics, that somehow have me in silver.

Chainman: or eval

Marchete: maybe cut first, then seed, etc..

Marchete: it depends on count of the current items

Chainman: I want to improve my heuristics and try simulation (beam search)

UndercoverToad: when you are barely above 500 lines: no it does not depend

AntiSquid: i have chokudai implemented, no eval almost Chainman, so no troll, just saying

Marchete: it doesn't depend?

UndercoverToad: :zipper_mouth:

Marchete: ok then

UndercoverToad: should do that more often

Chainman: https://codeforces.com/profile/chokudai?locale=en

Chainman: I mean when I search chokudai search, I get only japanese websites

UndercoverToad: the search algo is named after him

jacek: chunchunmaru!

Chainman: It might exist, but how is there no English resource.

Counterbalance: Chainman search for chodukaisearch

AntiSquid: that's the first step on your journey Chainman

UndercoverToad: https://ideone.com/nQQQa8

AntiSquid: because he is jap Chainman

Westicles: teccles might apply here as well

AntiSquid: what's a tickles? is there an algo named after him? lol

jacek: tekles?

UndercoverToad: note: pseudocode has 1 or 2 bugs

jacek: i only know it for uttt opening

AntiSquid: that thing is a uTTT specific gimmic where would you apply it here Westicles

AWOL: Is anyone having issues running the code right now ? I can't see the game and nothing happens when I press play my code ...

ddreams: reload the page?

Westicles: Sorry, I thought the chokudai thing was a troll

Chainman: lol, same

AntiSquid: i said it's no troll @_@

Nerchio: do you guys know how to fix local referee saying you dont output anything?

Chainman: I see Chokudai is a celebrity in CP.

Chainman: But there is no english guide for chokudai search lol

AntiSquid: he isn't english .

Chainman: Yeah I know

jacek: hes scottish?

Default avatar.png kreska: AWOL maybe you got timed out when i teseted my code to much i got timed out but i got the notification about it in the top left corner of thje browser

Chainman: :thinking:

AntiSquid: his smile looks scottish i guess

ddreams: typical scottish name

AntiSquid: ask astro he should know

Marchete: if you seed at end of turn you are giving the enemy the option to use it first...

MSmits: and if you seed at the beginning of turn you give your opponent the option to react to your choice

BrunoFelthes: if you seed at the start of the day, you are giving information on where are you going...

BrunoFelthes: balance it will be hard :/

Marchete: but then the rest of your beam search is useful

XeroOl: if you seed at the start of the day, you take the spots so the opponent can't

XeroOl: it's interesting

Marchete: seeding at the end can end up with a 0 useful beamsearch

AWOL: kreska thanks, I tried reloading again and it worked that time.

AntiSquid: or timeouts

Chainman: rip

MSmits: btw, i had a sim bug earlier where i was not properly taking into account two opponents seeding the same spot at the same time

MSmits: this happened once in about 20 games

MSmits: so it's not that common

AntiSquid: two opponents? wow

Marchete: I have this conditional prepared

MSmits: two players sorry

Chainman: It's not that big of issue though

AntiSquid: is that how you cimb the ladder? beat 2 at once ?

Marchete: but I have so many bugs that's not a priority

Marchete: I still don't have a sim...

ZarthaxX: are submits slow?

UndercoverToad: i have 2 already, shall I give you one of them? :D

RoboStac: faster than promotions

UndercoverToad: the OOP version and the bitboard

AntiSquid: what are you doing Marchete ?

ZarthaxX: lol UndercoverToad i found a guy named BATTLETOAD

Marchete: bitboarding

ZarthaxX: RoboStac but a bit stuck too right?

UndercoverToad: did that toad beat you?

RoboStac: yeah, they look to be

Marchete: but I have many doubts

Marchete: about what's the best option on many things

WolfDarrigan: pick one, refactor later :p

schachmatt: maybe this has already been asked but does anyone else have a frozen "promotion to leage in : 00h 00m 00s"?

MSmits: refresg

MSmits: g=h

RoboStac: yes, the promotion servers are stuck at the moment, devs are aware

UndercoverToad: known problem schachmatt, can't reach staff

Astrobytes: Devs are on it

UndercoverToad: oh they are?

schachmatt: gotcha thanks

RoboStac: well, they've been pinged

ZarthaxX: UndercoverToad he didnt sir

ZarthaxX: but you smash me as always

Astrobytes: Thibaud said he pinged them, Saiksy gave me eyes

UndercoverToad: ah

CouscousAgha: should I consider where the sun is pointing when I wanna seed?

UndercoverToad: right, I muted the bug report channel too

ZarthaxX: damn this guy completed everything at the end so funny

ZarthaxX: https://www.codingame.com/share-replay/551425387

AntiSquid: bear you around same rank as me

Astrobytes: Do you have any channel unmuted other than external contest? :D

UndercoverToad: you got me :D

Astrobytes: hehehe

AntiSquid: he surely has memes unmuted

ZarthaxX: AntiSquid wanna cry together?

AntiSquid: jajaja

ZarthaxX: is that a no :(

UndercoverToad: i haven't muted the mods channel yet. but the discord bot makes me wonder if i should

AntiSquid: crying with laughter

Fluxor: @schachmatt: yes, since almost 3h :-(

ZarthaxX: haha :P

ZarthaxX: like your spanish laugh

reCurse: Don't want to deal with noise yet here you are on the webchat :thinking:

UndercoverToad: here i can go away without having the red circle at the top of the tab

UndercoverToad: and just skip some messages

AntiSquid: just mute entire server euler

UndercoverToad: no, #external-contests has some mentions worth considering

reCurse: Like TopCoder? :imp:

AntiSquid: some discord server prevent you from turning off announcements though :(

reCurse: No sorry wrong site

reCurse: Which one is the docker one again

UndercoverToad: hey, I won a tshirt on topcoder at least

Astrobytes: gocoder

reCurse: There

UndercoverToad: in March, still waiting to get contacted

UndercoverToad: gocoder :door:

UndercoverToad: but i told sima n about it who then told val growth

Fallback: If I sell and somebody else seeds that spot on the same turn, does the seed take hold or will the seed be blocked?

UndercoverToad: who won the $2500

AntiSquid: you aren't on gocoder discord anymore recurs ?

UndercoverToad: for me the game itself and the tournament mode had too many red flags

ddreams: if it's the same turn, neither wins, both trees sleep

Scarfield: "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. "

AntiSquid: can't even see your messages on there anymore, did you delete? lol

Fallback: That is for a double seed situation on the same spot but I am asking about one person selling a tree and another trying to seed that tree location on the same turn.

jacek: Fallback you cant

UndercoverToad: see whos messages?

Donald_D._Doge: UndercoverToad, valgrowth won it https://valgrowth.hatenablog.com/entry/2021/05/07/214449

Scarfield: oh, thought you just "misspelled" sell and seed xD

MSmits: it is an illegal move

jacek: that cell wont be free when you list legal moves

UndercoverToad: i know. and dapo 3rd

Scarfield: simul turns, the cell will not be empty untill next turn

Fallback: ok thanks all

reCurse: AntiSquid: I noped out of there pretty fast

AntiSquid: makes sense

ashelkov: so sloooow submit

UndercoverToad: sanity > money

dGrayCoder: How do you apply graph search in turn based game?

ddreams: each turn is a node

Wontonimo: what you mean dGrayCoder?

reCurse: I'm starting to think very few know how to run programming contests

reCurse: Even less so adversarial ones

VizGhar: starting?

UndercoverToad: halite - dead :( RAIC - getting better

reCurse: Fair enough.

VizGhar: omg recurse is here... run guys

Wontonimo: oh, that's one way. another way dGrayCoder and ddreams is that once a player waits, it is constrained to wait till the other player waits

reCurse: That's not nice :(

UndercoverToad: CG - not sure if I should finish that sentence

reCurse: RAIC getting better?

reCurse: What

Wontonimo: reCurse, i think he meant your bots are usually very very hard to beat

Wontonimo: i thought it was a compliment

dreadylein: i think he dont like you, take your pick :P

Scarfield: xD

Scarfield: "always assume the worst"

UndercoverToad: still complex games. but the last ones weren't completely borderline over the top

Scarfield: or how does it go :thinking:

Chainman: How do I stop chat so I can look above haha

Wontonimo: plan for the worst, hope for the best ?

yuyu: What happens when both player do Complete at the same time? They get the same nutrient value and it gets decreased by 2 (unless it is 1 and it decreases to 0) ?

UndercoverToad: add ?disableChat to the URL Chainman

Wontonimo: yuyu yes

Wontonimo: what kind of URL sorcery is this UndercoverToad ?

reCurse: The HTTP kind

yuyu: ok thx, wording wasnt very clear

UndercoverToad: the GET parameter

reCurse: I'll trust RAIC is getting better when I can make it past the first page of rules.

Wontonimo: i know that... was just wonder how you discovered that particular parameter

UndercoverToad: staff mentioned it at some point and used it in their own twitch streams

Chainman: lol

Astrobytes: Rules were all on one page last time reCurse. OK, It was a big page, but still! :P

Chainman: hello World

Wontonimo: sigh ... being top of bronze just doesn't have the same warm feeling anymore. (waves fist at "promoting to silver in 00sec")

reCurse: The RTS game? One page?

Astrobytes: Yeah. A really long page

reCurse: Also I lost my taste for reverse engineering games after fantastic bits

Chainman: disable chat is cool feature, but that's not exactly what I meant :slight_frown:

UndercoverToad: rules were linked on 1 page

UndercoverToad: and then you downloaded a 20 pages PDF

reCurse: Ah that's more like it

struct: lol

Astrobytes: No they did have a really long rule page too

Scarfield: PagestrHydes

UndercoverToad: i still remember 2019 when they described the condition when a unit is standing on a ladder

Astrobytes: wetrwertewrfieldthing

AntiSquid: they'll make next one with really small font size, 1 page is 1 page

Scarfield: ? XD

UndercoverToad: ladder = rechtangle. the line from the center of the unit to the top must be at least partially inside the rectangle

Astrobytes: I couldn't think of anything Scarfield :)

miszu: do you need to do sims to get to silver? I am kinda lazy to spend 3h for writing the engine + sims

Scarfield: fair enough, was thinking there was a german joke in there xD

Default avatar.png Ruruthia: definitely not miszu

Default avatar.png Ruruthia: good if-elses are everything xD

jacek: german joke? https://img-9gag-fun.9cache.com/photo/aqn40bv_700bwp.webp

UndercoverToad: > really small font size, 1 page is 1 page

sounds like the extra homework tasks back in school. just that you used an extra large font

VaseSimion: @miszu, I got to silver with if-else statements

miszu: well, everything is an if else statement

reCurse: The good old 1.5 line spacing

reCurse: 2 line was too obvious

jacek: 2 lines

jacek: meh

UndercoverToad: no, in hand writing

reCurse: What were you raised by, barbarians?

jacek: how can you set font in handwriting?

UndercoverToad: once i was sitting next to a student who got those extra tasks almost every time

miszu: but thanks for feedback, I guess I can reach silver in an hour if I am lucky with my thresholds

UndercoverToad: he was writing complete and utter nonsense

UndercoverToad: once he passed a paper with a note to a classmate (around 9th grade)

AntiSquid: import boostrap, does everything for you jacek

UndercoverToad: teacher saw it and read it out loudly

UndercoverToad: "say car tut tut"

ANJACE_Z: than what happened?

UndercoverToad: class laughed

ANJACE_Z: haha

ddreams: mission accomplished

Wontonimo: hey miszu, what are you basing your logic on?

AntiSquid: ah we trolled one of the teachers with the paper thing, just wrap multiple messages inside each other and pass on until teacher notices UndercoverToad

AntiSquid: he read out all of them ... took a while

UndercoverToad: we called him Döner because he introduced himself wrong in 5th grade, never got rid of the name. "my name is Döner and my favorite food is Patrick"

VaseSimion: Guys, how do high level people approach a game like this? Do you simulate 10 moves ahead and choose the best one (like computer engines)? of are you going recurrent NN? I am genuinely curious as still entry level developer

Astrobytes: toad :D

ddreams: Vase, take a look at older postmortems

VaseSimion: Where do I find those?

UndercoverToad: simulating several turns ahead and choosing the best is a good summary

Wontonimo: hey miszu, i just looked at one of your replays. if you seed 2 squares away (but not in a straight line) then you'll probably see a HUGE jump in your score

UndercoverToad: go to the forum and search for "feedback and strategies"

ddreams: google gives many results too

VaseSimion: Thanks toad

VaseSimion: And dream :)

miszu: Wontonimo I basically select the 2nd available command

UndercoverToad: and then go by most upvotes, these are usually the more advanced posts

Wontonimo: VaseSimion - really depends on the game.

Sparky610: 5

itzluku: actions.append((i,mountain_h)) if not mountain_h not in [x[1] for x in actions]

Default avatar.png botbtw33: pepe

itzluku: what is that not the same as

itzluku: if mountain_h not in [x[1] for x in actions]:

           actions.append((i,mountain_h))

Wontonimo: miszu, if that's the case, can you rank the seed commands by how many of your neighbours there are.

itzluku: why*

miszu: I notice the seed command is at the end, let me take the 2nd last :D

Wontonimo: VaseSimion - the popular ones are Beam, Minimax, MonteCarlo and GA. Not that many NNs, but definitely some killer NNs out there.

Marchete: MonteCarlo => MonteCarlo and MCTS

Wontonimo: miszu you've got to create your own ranking for each move, then take the move with the best ranking. For example some moves are really really inefficient with sun points

miszu: no I get it Wontonimo

Wontonimo: right Marchete.

miszu: it's just I am super lazy and I am at "work"

VaseSimion: Thanks a lot Wontonimo, I was reading recently on how minmax works and I was looking at monte carlo some long time ago. I feel so far from being a real developer seeing the people here :)))

miszu: but thanks for the input

miszu: my code at work takes an hour to run

7amasa: is java used by cg, 8 or 9

reCurse: codingame.com/faq

Astrobytes: VaseSimion: 'real developer' eh, it's a very niche field making bots for games tbh, it has no reflection on you as a dev

Marchete: yeah

cegprakash: catboss is changed?

Marchete: job development has little in common

cegprakash: cat boss suddenly 55 points

Wontonimo: Astrobytes :thumbsup:

reCurse: Yes it's a bus now

Astrobytes: :rofl:

Astrobytes: That is weird

VaseSimion: @Astrobytes, I know, I actually am developing embedded C, but seeing the people here doing all these bots makes me feel so basic with my simple loops and registries on a small processot :))

Ashbury: Any news on when silver promotion will be fixed ?

Wontonimo: oh nos, my poor bot is now below catboss suddenly :(

Marchete: embedded C?

Marchete: that's hard :D

ddreams: really depends on the application

Astrobytes: You can really use that to your advantage here VaseSimion!

VaseSimion: Compared to these games that's a walk in the park

Marchete: well

Marchete: pretty much any job coding is a piece of cake compared to challenges

reCurse: lol

Wontonimo: hey VaseSimion, if it is any consolation it took me about 3 bot battles before i had a library of reusable bot code. A lot of "senior" people here has lots of reusable experience from previous competitions.

Marchete: at least what I have at work

Marchete: it's meh

Marchete: boring

cegprakash: catboss if u really dare resubmit and show ur true score

VaseSimion: I also realized I'm getting better at compatitions, I know they are different but somehow every new one feels more familiar and "easy" somehow. For this one it's really a big help getting the list with possible actions, made my life 10 times easier :D

Astrobytes: Do you also talk to the bosses in multis ceg?

Smelty: o.O

Marchete: cegprakash you weren't higher at leaderboard?

Marchete: I remember you near my rankings some days ago

cegprakash: well silver boss came and screwed

Smelty: lolol

Marchete: ahh

Marchete: :D

Astrobytes: The boss has just been reset to 55+ points

Smelty: hm

cegprakash: fake score silver boss

Astrobytes: Ah no, back to normal now

cegprakash: bronze boss

cegprakash: bronze boss 55 and rank 2 is 44 points

Marchete: :D

jacek: gate keeping eh

Astrobytes: It should be all good now

GreatTux: yes silver league! fot fixed for me

cegprakash: wth promoted in middle of submission

cegprakash: :P

GreatTux: thanks for fixing the promotion server @CG

Astrobytes: Well, it's a bugfix cegprakash

Marchete: :D

ANJACE_Z: guyz this is giving me arithmetic exception:

ANJACE_Z: timo=(distance[i])/speed;

Marchete: speed is zero?

Astrobytes: div by zero?

ANJACE_Z: no

Marchete: ahh, then speed is zero

Astrobytes: lmao

particleflux: :D

Marchete: jk check if you have numbers

azriel1rf: anyone using official game program? https://github.com/CodinGame/SpringChallenge2021

I'm fully new to Java. How can I make battle of two of my program?

Wontonimo: YEAH Finally in Silver

Astrobytes: :tada:

Dr-D: Congrats! I am happy you are now out of my league ;)

Default avatar.png Tuo: Yes Silver! but battles are running 1 every 2 mins :(

Dr-D: Jeah, my last evaluation took ~ 45 min

Astrobytes: It'll settle down a bit at some point

VizGhar: just wait 1 week

Astrobytes: :D

VizGhar: what? Am I not telling truth? :)

VizGhar: so how many players were taken from bronze to silver? 2k?

Queuebee: when I try to find someone to add as AI to battle, why can't I find some people (even when toggling every field to <all> (atleast, trying to toggle them to all but they dont seem to stay on what I select, could it be a browser issue?))

Astrobytes: lol, you speak the truth. But things should speed up again in the next few hours.

Scarfield: its limited to the top 1000 of your league, or something like that Queuebee

Astrobytes: ^that

Queuebee: ah, that explains

VizGhar: so how many players were taken from bronze to silver? 2k?


Queuebee: 2073 are in it atm

FatIvan: If you want someone lower you can grab one of the games when you submit to the arena but hard to find someone specific.

Queuebee: time to whip out the ol' random.choice(possible_actions)

miszu: what's an easy way to check if a string starts with certain words?

miszu: in c++

particleflux: strpos

VizGhar: find

miszu: i want to take the string for actions and break it down quickly so I can use to find berst move

Scarfield: from the input?

miszu: yeah

Scarfield: just check the first letter

miszu: so like I can break into datastructure quickly

Astrobytes: stringstream and tokenize

Astrobytes: it

Astrobytes: using space as a delimiter

Default avatar.png CameronWatt: dangit

xxk1ng0fh3artzxx: How do I tag people in the chat?

Scarfield: you can ping by mentioning their name xxk1ng0fh3artzxx

xxk1ng0fh3artzxx: So, just by typing their name, like Scarfield, it'll automatically ping them?

Scarfield: yup, my message was red only for you, your message only red for me

xxk1ng0fh3artzxx: Oh! Okay, that's genius. Thank you!

Scarfield: you can also autocomplete: sca -> tab

xxk1ng0fh3artzxx: Scarfield <-- That's awesome!

Scarfield: i am arent I

Scarfield: xD

xxk1ng0fh3artzxx: :heart_eyes:

miszu: let's say your best move is to plant a seed, the best seed is the one with the most rich richness place?

Scarfield: depends on shadows from other trees, but simply put i guess so

miszu: do shadow matter a lot?

miszu: in term of performance

Scarfield: no idea, i still havent finished my sim

Queuebee: S ->tab -> you're now coding Csomething

VizGhar: this is much nicer then iterating through some objects: result.dormantTrees = 0ULL;

Wontonimo: miszu I currently don't take shadows into account directly. indirectly my bot doesn't seed into a straight line from the seeding tree.

Wontonimo: and that is placing me somewhere around 300-400th in silver

miszu: Wontonimo what if the only seed you can place in a green are is a straight line?

miszu: area*

miszu: btw anyone figure out a mathematical formula that calculates distance between 2 index?

Wontonimo: then i don't place it. obviously my bot has many blind spots and i'm not suggesting it is the ultimate bot. I do plan on replacing it with a sim.

VizGhar: I'm picking those places that have highest probability to not be covered in shadow (counting trees in all directions) and I'm 150

CouscousAgha: if a neighbor cell is not in the forest what's its id?

VizGhar: still shitty, but...

miszu: like if I give you index 2 and 21, what's the distance

VizGhar: miszu 2... why?

miszu: anyone found a formula for general case

Marchete: precalc all at turn 0

VizGhar: not 100% sure what you mean

miszu: I want to avoid precalc haha

Marchete: https://github.com/CodinGame/SpringChallenge2021/blob/main/src/main/java/com/codingame/game/CubeCoord.java

miszu: VizGhar basically this function:

int distance(index i, index i2)

WolfDarrigan: Sweet, only takes 15 minutes for my bot to search to a depth of 4 days.

Marchete: then try to play at CubeCoord distances

miszu: genious

Marchete: but you can't directly

VizGhar: I have them precalculated as well... 1 array on single line

miszu: what's z?

Marchete: you need to keep that CubeCoord for each coordinate

Marchete: then you can calc distances

miszu: so complex

Marchete: in CubeCoord

Marchete: it is

VizGhar: miszu then precalculate :D

miszu: I want to precalculate lol

Marchete: int distance(index i, index i2) ---> distance[i,i2]

Marchete: on a matriz

Marchete: matrix

WolfDarrigan: Miszu https://www.redblobgames.com/grids/hexagons/

VizGhar: U using that Marchete?

miszu: man coordinates in a hex is something...

King_Coda: Hontoni

VizGhar: you dont have to use them at all

Marchete: I've used it in my heuristic bot, yes

Marchete: to calculate neighbours at distance 2 and 3

icecream17: oh, 2073 made it to silver? i might make it to gold then

Marchete: on bitboard/sim, nope

itzluku: guys whats tehr am limitation again?

itzluku: the ram*

Astrobytes: 768mb

Astrobytes: it's on the faq page

AntiSquid: bitboard simplifies life a lot.

AntiSquid: ladder games are very slow o.q

miszu: ok I get the cube coordinates

iconic-coder: i am stuck

miszu: basically 3 axis for 2 diagnoals and last for horizontal

miszu: you could do a map from index to x,y,z coordinates

Default avatar.png MuhammadIdham: I am just trying enter this web, suddenly dificult test

miszu: and then calculating distances is just taking a diff of x y and z

miszu: dividing by 2

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

miszu: ┬─┬ノ( º _ ºノ) bruuh

particleflux: lol, silver for my quick n dirty bash bot

LADYSMAN905: Hi im JUstin and im new can i get help on "the Desent"

miszu: coding coordinates system took me 15 min

miszu: pretty neat

Lysk: brutaltester finishing with all bot threads still hanging = pc :skull:

struct: windows?

Lysk: ubuntu

struct: hmm I havent had problems with brutaltester on my wsl ubuntu machine

Lysk: bot threads are dying after exactly 1 minute of existence

struct: ah

struct: referee times out due to timelimit

Lysk: which timeout am I looking at here?

struct: you are using zeno referee right?

Lysk: yes

struct: What I did was write my own referee :/

struct: But I did it before the contest

struct: When I had no access to the referee

struct: I dont know any easy fix to that

struct: SDK has limit of time for games

Lysk: I tried to add something in my bot (if last day and order=wait then return) to no avail

struct: if you only print wait

struct: does it still timeout?

Lysk: let me check

Nerchio: official referee times out for me on round 1

Nerchio: rest is fine

Nerchio: i just set longer round 1 couldnt care less not sure if this is the problem you have

cegprakash: anyone in silver top 300 with depth of 1 (ours + opp)

struct: I would share my referee but it has the bitboard implementation I use

Lysk: I have kind of the opposite of a timeout, after running 10 games and getting results about winrate, all the processes 10 games x 2 bots are still running

Lysk: they die automatically after being 1 minute old

Counterbalance: I have if (! cin.good() ) break as the while condition and afer reading the turn input, maybe that'll help?

ddreams: yes

Lysk: > printing "WAIT" at the end does change the outcome

Lysk: Counterbalance I'll try

ddreams: I put cin.good() inside and after the possibleactions loop

ddreams: sometimes the number of possible actions was billions, so it got stuck there

miszu: in c++, easiest way to access the 2nd and 3rd word of a string?

ddreams: I'd say either scanf or stringstream

Astrobytes: miszu I answered this earlier: stringstream and tokenize based on space as a delimiter

miszu: ok thanks Astrobytes

miszu: and ddreams

Counterbalance: doesn't cin >> command; if (command == "SEED") cin >> from >> to; do the trick?

ddreams: yes

ddreams: but not if you have a string and not cin

miszu: that's even better

miszu: using cin

Lysk: no luck with `cin.good()` either, maybe I should look in how bot processes are killed?

Lysk: thanks for the help though, I appreciate :)

ddreams: did you put them where I said, Lysk?

Lysk: I have one after reading the "possible moves", you have one earlier right?

ddreams: you need it inside the loop

Lysk: oh I haven't check inside that loop

Counterbalance: preferrably after reading first input line

ddreams: that should work best, actually

Counterbalance: it's only then that the iostream knows there's an eof

Lysk: let me try after each input!

ddreams: I had the same problem and fixed it by checking in the loop, but after the first read should be sufficient

Lysk: that would be the "day" read

Counterbalance: are you using a 'recent' brutaltester? (i'm using the one from 30 jul 2018)

ddreams: yes

Lysk: Yes, I think I downloaded it during last fall challeng

ddreams: compiled it from source now

Counterbalance: you could try the cli branch on my fork of the referee as a last resort

AntiSquid: you don't get all possible moves in game do you ? i have level 3 trees, i get all sedable areas but no COMPLETE commands ...

ddreams: not enough sun?

Lysk: Not enough sunpoints maybe?

AntiSquid: oh

ddreams: you do get all the moves

AntiSquid: right .

AntiSquid: fk too many tiny details ...

ddreams: my first bot verified that I generated the same as the input

Counterbalance: struct does your referee generate the same board as the official one for the same seed?

struct: no

struct: I did it before the official referee was available

AntiSquid: how early on did you join the testing struct ?

Counterbalance: allright.. I don't think it's possible as it depends on the JRE version

struct: 14-20 days before I think

Lysk: no luck with `cin.good` I had a kill switch after each input, same thing

AntiSquid: you couldn't change anything about the game if you didn't like it could you ?

ddreams: how do you use the cin.good though?

struct: I couldnt make drastic changes

AntiSquid: or give feedback to change certain rules

AntiSquid: ya ok

Marchete: turns with 72 moves :S

Marchete: possible moves

struct: Would be a good thing to have strong players to test these games

struct: But with so few contests I dont see anyone joining testing

cegprakash: omg ppl deplete the nutrients so fast

miszu: you can use my bot struct

struct: I only joined because I have no chance for top 20

Lysk: I had `if(!cin.good()){kill=true;return;}` to get out of the read function, then in the main loop `if(kill){break[}`

Marchete: thanks for your time testing it :)

Marchete: no bugs for now, right?

struct: There were

struct: Even after release

ddreams: strange, that worked for me, perhaps your bots get stuck elsewhere

ddreams: attach a debugger and see?

Counterbalance: Lysk I'm running the cli branch of my fork of the referee on AdoptOpenJDK 1.8, no issues (on windows though)

struct: There was a bug where a player that timed out could win

AlexAnselmo: My time to shine!

Lysk: ddreams yeah it's weird at least I have an idea where to look for, thanks!

struct: if his total suns + -1 > opponent current score

Lysk: Counterbalance, I just built yours

Marchete: ohh

Marchete: nice

struct: I didnt find it :(

Marchete: so if you timeout early you won

struct: yes

Marchete: hahaha

AliMourtada: try{

AliMourtada: to

Lysk: ha the dreaded no main maniest

Lysk: *manifest

Lysk: wrong branch probably

Counterbalance: java -jar target/*-shaded.jar

Lysk: :+1:

Marchete: well, I calculated possible moves, getting the same as CG

Marchete: at least 1 game

struct: :D

ddreams: it's a good thing to verify, I found a bug that way

struct: I tested for 5k games during testing

ddreams: made it suicide if it didn't match

miszu: what would be considered as the best grow command?

Astrobytes: grow treeCellIndex

ddreams: when my trees grow, and not yours

miszu: no but like, I am doing basic strats

miszu: I coded the best seed

miszu: which is best richness and furthest away

miszu: now it's the growing part

miszu: I guess most richness and biggest size?

AlexAnselmo: Grow the ones you think will shadow theirs and won't be shadowed.

ddreams: most sun

miszu: I don't take opponents yet

itzluku: did anyone reach death 3 ?

itzluku: depth* 3 xD

Astrobytes: I'm on Death 5

Smelty: nope, just have scoring system

miszu: thing is you need to adjust your heuristics based on # of turns

miszu: because strats changes once you reach endgame

Smelty: o.O

Smelty: true

itzluku: u dont even have 6byte per state

itzluku: wtf

Astrobytes: who doesn't have 6 bytes per state?

Queuebee: I have only 4 :worried:

Marchete: 6 bytes per state?

struct: my state is 96

Marchete: I have more like 95

Marchete: + movelist

Smelty: hmms

Astrobytes: I have no idea what they're talking about with 6 bytes

Smelty: [y] same

RoboStac: sounds like a msmits implementation

Astrobytes: lol

RoboStac: every bit must be used and probably used multiple times

Marchete: and 3 bits free to pack another 18 games inside

icecream17: ...wow my state representation must be really inefficient

Queuebee: me neither I have 14 ints , 2int[37], 3 bool[37] 3 List<Idontevenknow> its a mess

Astrobytes: Yes. Bit reuse - during the sim - then restored.

struct: My state is currently 1MB

struct: help

Marchete: :rofl:

Marchete: you have 760 states

miszu: what are you storing?!?

icecream17: I have a class `game` with multiple `rounds`

Marchete: mine is work in progress

Marchete: so it's a draft

struct: I wont go lower than what I currently have

Astrobytes: I still didn't finish my sim

Marchete: http://chat.codingame.com/pastebin/520bc47a-2c0c-485f-a0dd-d51d50b5af5a

struct: I doubt performance is important

icecream17: game stores 2 players, another copy of two players, 37 cells, and a list of rounds

Marchete: ugly C# is ugly

Astrobytes: I'm still less than motivated :D

Marchete: why not struct?

icecream17: round stores ....5 numbers, 4 arrays

Astrobytes: wtf MArchete

AntiSquid: what's that about adding and remove bits during sim @_@ i thought fixed state is best and then just run checks

struct: oh no marchete using avx

Astrobytes: get that code out my eyes

Marchete: not really useful

Marchete: I tried

Marchete: but meh

struct: I just feel like it isnt important, I could be wrong though

AntiSquid: thanks marchete, it's good to cross reference stuff

Marchete: this stuff generates moves correctly

Marchete: it does shadow calc too

Marchete: but I need to test on real states

Astrobytes: Once, you said.

Astrobytes: :D

Marchete: twice

Marchete: :D

Astrobytes: :rofl:

Marchete: I need to pack all classes

Marchete: and test in IDE

AntiSquid: wait does it all need to be uint and such ?

Marchete: also it's not for C&P damn

Marchete: it's just as a reference

struct: http://chat.codingame.com/pastebin/346b775f-2039-4876-bfad-31678720cc6e

Smelty: just doubled my length of code....."yay"

dreadylein: @Marchete check Msmiths bot atm, he is using the Say function for sim checks, its quick and dirty... i like it :D

Marchete: what Say?

Marchete: I need a good way to check

AntiSquid: "Sim perfect" all he says

Marchete: probably as usual

dreadylein: the last parm of the output

Marchete: play against itself and validate all

dreadylein: if you spam fails there its easy to check if you dont hae tooling for it

struct: msmits expand all possible states and check if any of them matches next state

AntiSquid: message, dreadylein

struct: that he erad

struct: that he read*

Smelty: interesting game: https://www.codingame.com/share-replay/551581856

dreadylein: @antiSquid :D

struct: I played vs myself to check

Smelty: i plant to the outside for somer eason

dreadylein: thats the word that was missing ;)

Marchete: play with predefined moves

Goulstem: Hello, world!

Marchete: I always do that

struct: not predefined

Smelty: hello, goul

struct: ok its predefined

Marchete: ahh

Goulstem: :grin:

struct: it uses xor rand

Marchete: it's not possible to calc sun in most cases

struct: but is constant

Marchete: if you are waiting

struct: true

Marchete: you can't know the whole state

Marchete: in fact

Marchete: I can't detect endgame right now

RoboStac: yeah, if you wait you just don't check the next turn as there is no way to be correct

dreadylein: yep, i just did exhaustive depth 1 and checked if gamehash in the next turn was in my list

RoboStac: unless the opponent was already waiting

struct: thats what I did yeah

Marchete: if you control both players it's possible

struct: vs the same version is the perfect way

Marchete: so I'll go this way

Marchete: well, tomorrow we'll see, gn!

struct: gn

AntiSquid: day > 23 (end game) @_@ what do you mean you can't detect?

AntiSquid: gn8

Marchete: you never have day 23 at inputs

struct: thats not what he meant by end game

Marchete: day 24

Marchete: you can have N turns at day 23

Marchete: and if you can't play

Marchete: you don't know the real endgame

AntiSquid: Sims: 61187 Completed: 22263 Remaining: 38932

Game Endings: 1770

AntiSquid: ignore the count, it's a little bit bugged

AntiSquid: and yes my eval is garbage

zenwraight: when do we get promoted to next league ?

zenwraight: like I am in bronze now, do we need to be in some rank range to be promoted to next league /

RoboStac: if you are bronze you should be able to see the boss - you need to be ranked above it

RoboStac: I think it's called catboss?

zenwraight: got it ya i can see it

zenwraight: makes sense

ddreams: bitboard time, I guess... perhaps more speed will make up for my lack of heuristic smartness

AntiSquid: you're doing well ddreams

ddreams: thanks, hopefully I can improve further

Smelty: ooh

Wontonimo: more speed is always good.

Westicles: Spring Challenge 2021 (temporary upload): Did a Cat get this through some devious API thingee?

Wontonimo: ddreams, did you compete on UTTT?

Astrobytes: Wontonimo: that depends how many days you've been awake

Wontonimo: lol Astrobytes

Wontonimo: gotta rest at least 1:3 days

Smelty: hi?

Wontonimo: hi Smelty ?

Smelty: lol

Smelty: just taught my trees to not stand in a line

Smelty: didn't really improve ranking but oh well

Wontonimo: yeah, jungle warfare works better in this game

Smelty: yes.

Smelty: they stil seem to plant in a line occasionally though

Smelty: weird;

Astrobytes: TF. I'm sitting here in full camo and it's nto helping.

Astrobytes: *not

Smelty: where'd astro go

Smelty: can't see him

Astrobytes: :smirk:

icecream17: Ok, I now spam trees if my resulting points > opponent doesnt do anything for this turn, and gets Infinity trees on 0 nutrient ground

icecream17: *on the turns afterward

icecream17: oof, i won 6/10

icecream17: oh no, I still spam trees even if I don't have enough sun

icecream17: It's taking quite a while to play battles

icecream17: 261 out of 2148 computing

reCurse: It only gets decent at 100 and less or so

reCurse: Limiting plays didn't help, who would have thought

reCurse: :P

CouscousAgha: my new bot beats my old one, but my old one wins more games in the arena?

CouscousAgha: this is the funniest thing I witnessed today

casmith789: maybe it's just good against your bot but not against bots in general

CouscousAgha: yeah I adjusted the new one according to the weaknesses of the old one

CouscousAgha: but something about all of this is funny to me lol

reCurse: You haven't lived until you fixed a bug and dropped 400 ranks

AntiSquid: 800

AntiSquid: or i thought i had

icecream17: i lost by 2 trees https://www.codingame.com/replay/551610512

Ard1998: auch. thats a really tight match

icecream17: i already fixed a bug where trees were being spammed when i dint have enough sun, and I won 132 to 111. should I submit again

Ard1998: probably. i know my code is bad but somehouw im consistant top 20 in bronze and the only thing keeping me awake is me wanting to see promotion

Astrobytes: I'm still looking for reasons as to why everybody seems to find this game so fun and interesting?

Ard1998: competition

RoboStac: you could have got the draw there icecream17

Nerchio: well do you like other more classic board games?

AntiSquid: i don't Astrobytes, it's just contest time

Astrobytes: Of course Nerchio.

Nerchio: so whats so wrong with this one idk

AntiSquid: i really hate this board game . will avoid in real life for sure

Astrobytes: I just find it unbelievably boring! It's purely my opinion

Nerchio: haha lol

Nerchio: haters

Astrobytes: I cannot get excited about it at all

Astrobytes: Not hating at all. I just wonder what people get out of it.

AntiSquid: i am more excited about my code

AntiSquid: i am trying some ideas, well tried, now i just want to see if i can finally find the magic heuristics .

BlitzProg: the feeling of validation from having an AI that outperforms other competitors

AntiSquid: ya that's it

Astrobytes: That's independent of the actual game though

AntiSquid: as i said i hate the game so ...

icecream17: that reminds me

AntiSquid: it's not the game that keeps me here

icecream17: i made up a very arbitrary game called "tic tac toe grow"

Astrobytes: Well. To put it in context, I love competition but why play a game you hate?

AntiSquid: other contests require more fuss for setup and getting used to the starter ... cg is more convinient

Astrobytes: *strongly dislike

XeroOl: I just wrote my first mcts implementation

XeroOl: for ultimate tic tac toe

XeroOl: I'm just watching my bot go straight from bronze to legend

Nerchio: you only get these twice a year

Nerchio: i guess its kinda fun

AntiSquid: ya

Nerchio: personally i dont enjoy grinding dead multies

Nerchio: i sometimes do but usually not

AntiSquid: when else is the community active ?

Astrobytes: I prefer live comps too

XeroOl: I just don't know how to go about making a search

Astrobytes: But, if I don't like it then I won't.

XeroOl: and the spring challenge game is not fun to hardcode

Astrobytes: And Nerchio, who grinds dead multis? Grinding the community contribs is far better.

reCurse: Hey, I spent more time grinding dead multis than on contests

AntiSquid: well what are you up to astro ?

Astrobytes: Anyway, I'm not here judging anyones preferences, was just wondering about what everyone likes about the contest

XeroOl: if you're grinding the multis, are they really dead ?? :)

AntiSquid: i mean what do you keep yourself busy with

Nerchio: Astrobytes i missed many multies in the past I assume they are better in average than contribs

Astrobytes: Currently getting a job AntiSquid

reCurse: Some of the most popular multis (GitC, C4L), I hate with a passion.

reCurse: Different tastes, Astrobytes...

Nerchio: and don't really have time to sort through valuable contribs :D

Astrobytes: I can't get on with C4L at all

AntiSquid: do you like this contest reCurse ?

AntiSquid: the game itself .

reCurse: For the sake of clarity I ignore contest related questions until further notice

Astrobytes: Heh heh heh

Nerchio: its emil again

AntiSquid: :thinking: what's the best way i could misinterpret that?

reCurse: The whole point is to be non-committal whenever I want, so I have to play along regardless of if I actually participate

Astrobytes: Am I wrong in saying it lacks any real depth?

Westicles: This one seems better than usual for the dumb guys who can't write sims in 20 minutes

cegprakash: top 8 guys at a whoomping lead in silver

XeroOl: @westicles, writing a sim isn't the hard part

XeroOl: the hard part is writing a fast sim

AntiSquid: i might be wrong, but you need good sim and good heuristics for this one

Westicles: Yeah, but even the eval only guys are getting up to, what 100-200?

reCurse: 4 points spread in top 10, I would say enough depth so far Astrobytes

AntiSquid: they got good early start i guess

Astrobytes: And a lot of patience for watching replays of a soporific nature

reCurse: I'd start getting worried at 1

XeroOl: yeah I feel like you could just hardcode a strategy for this and get really far

Nerchio: I also thought it was too simple but now i have no idea what im supposed to be doing

XeroOl: the whole simultaneous moves thing means I don't know how to search it

icecream17: i remember someone said they got top 10 with hueristics, but i don't remember who... it was like yesterday

Astrobytes: reCurse: I don't think it'll go much further than that tbh unless some magic meta emerges

cegprakash: one streamer actually tried surrounding strat and ended up in top 200

icecream17: surrounding strat?

cegprakash: capture corners

AntiSquid: lol

cegprakash: no sunlight enters inside

AntiSquid: that sounds funny .

icecream17: wow genius

XeroOl: I imagine there's a during-day turn order meta that nobody's explored yet

XeroOl: unless people have spotted that already

Astrobytes: Meh. I just don't like the game as I said (imo), I find it completely uninteresting :D So don't mind my cantankerous meanderings too much

AntiSquid: you are more vocal than me about it :P

XeroOl: yeah I don't vibe with this game too much

Nerchio: asd

Nerchio: for now the meta is make big trees and chop them down

XeroOl: it looks interesting for the people who enjoy it

XeroOl: it's just draining for me to stay heuristicing

Astrobytes: Yeah, I'm not knocking it at all

icecream17: maybe if there was time travel, send trees back in time, but it costs sun....

icecream17: just idea

cegprakash: well no fog of war and no tracking enemy and no physics.. well I like it 100 times more than last 3 contests for these reasons

Astrobytes: hehehe, I'll give you that one cegprakash :D

Wontonimo: icecream17 it was Oioi who was N1 and heuristic only

AntiSquid: i'd rather play mean max with fog of war right now

Wontonimo: outch AntiSquid!

cegprakash: time travel to start of spring challenge spending real money icecream17

reCurse: Lots of energy put into not knocking something

reCurse: :P

Astrobytes: aw shush you

Astrobytes: :D

Nerchio: also Astrobytes i think we should get used to events being a copy of existing board games

XeroOl: not knocking something is a time consuming hobby

XeroOl: you gotta put energy into it

icecream17: ugh, ceg somehow harvested 11 trees. how can I compete with that

AntiSquid: pacman was great in hindsight

Astrobytes: I don't mind that at all Nerchio, I love board games. I just don't like this one.

struct: I hope not Nerchio

Wontonimo: so, what happens when gold opens? do they do the same thing, pick a bot at about 50% mark in Silver and make that the Boss?

Astrobytes: Noooooo AntiSquid. No it was not.

struct: Might aswell just make amazons a contest

icecream17: btw, who's the bronze boss?

Nerchio: Im just seeing a pattern lately and I think thats what we can expect but i would like to be wrong

reCurse: Pacman is the reason why you copy board games

Astrobytes: ^

cegprakash: anyone else trying minimax or just me? :P

AntiSquid: this game makes me miss pacman .

XeroOl: what happened with pacman?

struct: well they have moved away from games like fb/csb a long time ago

struct: So I guess its this from now on

Astrobytes: Did think about it ceg, but probably in combination with another algo

AntiSquid: they can return anytime struct

Astrobytes: Only in semi-privates. Gotta cater to the demographic that matters.

Astrobytes: It's sensible in a way.

AntiSquid: how about something like a Mean(Max) (Ghost)Busters ? :D

Astrobytes: Get that ghostbuster game outta my sight :P

icecream17: 5d chess with time travel

Astrobytes: Anyway, out for tonight, gn all

AntiSquid: gn

King_Coda: gn astro

Astrobytes: Also, nice to see you reCurse

RoboStac: oh god can you imagine the chat about the statement if they did 5d chess

AntiSquid: yes

AntiSquid: questions every second message

Westicles: that reminds me, JBM still owes us 5D Chests stream part 2

Astrobytes: yeah, I can imagine

reCurse: Thanks

reCurse: Nice to see you too

icecream17: i wonder what's the most complicated game

icecream17: *contest

AntiSquid: OOC

reCurse: botg

cegprakash: fantastic bits

struct: on fb you can tell easily whats hapening

struct: sim might be hard

Default avatar.png gamerboy15: yo guys

Default avatar.png gamerboy15: hi

cegprakash: botg ppl hide inside bushes I hate that

cegprakash: wantonly iron man hits the neutral and neutral comes to me

cegprakash: crappy lame strats

AntiSquid: botg go with a meta, you can ignore quite a lot of the bits of info

icecream17: ok, i just opened botg

miszu: oh wow, did a small fix in my bot and it beats the CatBoss

AntiSquid: you rock miszu

miszu: ok so won 4 out of 10 times

miszu: sigh

miszu: when you lose by 1 tree

miszu: https://www.codingame.com/replay/551652403

icecream17: that's the world record

struct: who had the ideas for botg?

AntiSquid: the team :D

miszu: I'll try my luck in arena

Default avatar.png mainman: I have only join this site a week or two ago! this is so awesome, I enjoy programming so this makes even even more fun to put practice

cegprakash: ppl improve super fast in Silver

miszu: well silver is currently like a legend

Default avatar.png ZVRKK: It's really hard to maintain the same position :/

Default avatar.png mainman: started the Ghost in shell yesterday so I could practice before joining the community tournament

AntiSquid: the contest started last week only lasts until next monday morning mainman

AntiSquid: also completely different games

Default avatar.png mainman: yeah, would need to up my skills before the next tournament

AntiSquid: just play this one

AntiSquid: watch some streams

Wontonimo: just join this one tournament. it's not like you will lose money or something

Default avatar.png mainman: yeah that's true

XeroOl: there's no harm in doing the live one

AntiSquid: don't be shy lol

icecream17: there's 0 streams...

XeroOl: except the fact that it's a hard game to search

Default avatar.png mainman: can you still continue after it ends?

XeroOl: I am a one trick pony and I only know MCTS

AntiSquid: yes

icecream17: y

Default avatar.png ZVRKK: Totally agree just try, it's fun !

Wontonimo: also mainman , i've heard that a live contest like this is way easier to get a high ranking in than the other older competitions.

XeroOl: ^ yeah, because it's only been out for a couple days

XeroOl: so there's not write-ups describing optimal strategies

XeroOl: or people taking months to perfect their bots

itzluku: so

Default avatar.png mainman: made it to bronze in ghost in shell, fairly simple game but takes time to map out the functions and some strategy

Nerchio: nice mainman good start

itzluku: if u pre filter some choices u could simulate the game in maybe depth 5 ?

icecream17: people take months? wow

Wontonimo: yeah, i played UTTT for 1 month, including a week off of work

Wontonimo: uttt = Ultimate TicTacToe

icecream17: i know, i'm in the contest

daniserrano7: I guess there are less people in spring challenge than in regular challenge due to time

rafaelSorel: Wontonimo, took the time to write to write those fancy sentences while playing :D

XeroOl: @wontonimo I just submitted my bot for UTTT and I'm watching it go from bronze up to legend

daniserrano7: I made to silver in spring challenge pretty easy, but strugle in bronze in ghost in the cell

miszu: so many people are going to silver

Default avatar.png mainman: thanks Ice, that's encouraging

miszu: 13 people at least

XeroOl: I'm just doing vanilla MCTS with no heuristics

Default avatar.png ZVRKK: Everyone is talking about simulations and complexe algo and i'am here with my if /else statements :joy:

XeroOl: lmao @ZVRKK that's where I'm at in the spring challenge

annaproxy: vanilla MCTS gang

XeroOl: I somehow got into silver in the spring challenge with just if statements

XeroOl: and heuristics

XeroOl: no simulation at all

XeroOl: no shadow code at all

Default avatar.png mainman: lol @ZVRKK that's me :)

daniserrano7: me too

Default avatar.png ZVRKK: Same only if/else and got to around 500 silver

daniserrano7: I'd like to get into genetich algos but that seems to hard for me

alchemsti: if/else but with shading calculation?

Default avatar.png ZVRKK: Same i'm too noob for now (my first compet)

mybk: isn't too easy to enter silver league this time (current contest)

Default avatar.png ZVRKK: alchemsti without shadow calculation for now

XeroOl: getting out of wood into bronze is just choosing action[1]

itzluku: i have 134 if

itzluku: xD

XeroOl: I don't know how hard it is to get into silver because I was in silver the moment it was created

Default avatar.png ZVRKK: itzluku really ?

herrmann: MCTS gang too, but still late to the party

Default avatar.png actualCoderTrevor: I find GA to be pretty easy (easier than searching) but I haven't heard anyone saying they're using them. I think with this contest the challenge would be making sure your bot is doing valid moves

alchemsti: Wow! I'm doing a pretty simple shadowing, but only ending up at the same place. That suggest my non-shading could improve a lot ZVRKK

XeroOl: @herrmann MCTS for spring challenge?

XeroOl: how does that work?

herrmann: It's a tree search too

XeroOl: lmao puns

XeroOl: I guess

XeroOl: I just don't know how mcts works for simultaneous actions

XeroOl: by you and your opponent

struct: it doesnt

Wontonimo: herrmann , how many playouts per turn are you able to simulate?

struct: specially here

XeroOl: I do understand how it works for out-of-order turns

XeroOl: but I don't think mcts works like that

herrmann: I'll try implementing plain UCT and seeing how it goes.. anyone got a clue about the approximate rank that strategy pushes someone up to?

XeroOl: I think it depends on the details

Wontonimo: XeroOl , you can implement MCTS to have 2 trees, one for you and one for your opponent.

herrmann: Wontonimo, still implementing game logic

Wontonimo: :thumbsup:

XeroOl: @wontonimo there's interaction if both players try to plant on the same tile

daniserrano7: how many score points do you need will be needed to reach gold league?

XeroOl: I don't think you can just do two trees

XeroOl: that's just wrong

Wontonimo: XeroOl how would that be a problem?

Default avatar.png ZVRKK: What's the best type of algorithm to use in this type of game ?

herrmann: No, plain UCT would need a single tree with the product of both player actions (a huge ramification factor)

Wontonimo: XeroOl - take a look at this https://www.codingame.com/playgrounds/36476/smitsimax

mybk: Wontonimo, hi, can explain the two tree strategy,

herrmann: I'll consider my actions only at first and see what happens... not actually in the challenge after a high rank

Wontonimo: mybk , are you saying you'll explain the 2 tree strategy or are you asking me to? I'd be happy to

mybk: asking you :p

Wontonimo: okay, cool. Let's start with a 1 tree MCTS but with a twist, it plays against a really really fast human.

mybk: how can you have a tree for you and a tree for your opponent and chose the best action for you

KelvinAndHubbles: by making two trees

Wontonimo: we can imagine that it would find a playout that is good, right? I mean, that's what MCTS is good at

mybk: yes

Wontonimo: okay, now hear me out ... what if ... that second player was MCTS also !

Wontonimo: :O

XeroOl: the two players interact

XeroOl: you can't just have two separate MCTS things that ignore opponent moves

mybk: yes and he will give you he's best action

Default avatar.png ZVRKK: But how can you tell which move is the best ?

XeroOl: yeah, that's usually done with one MCTS

miszu: silver bitches!

XeroOl: but with nodes for different players

Wontonimo: how that would work with this game, i don't know yet. i've got it to work with the pacman game

XeroOl: I don't understand having two trees

XeroOl: that's just crazy

struct: it works better when opponent actions dont affect your actions

struct: In this game I think its not even worth to think about it

XeroOl: if the opponents actions don't affect yours, there's not really a point in doing a MCTS for themn

struct: no

XeroOl: you can just ignore them instead of wasting half your processing power

PatrickMcGinnisII: acorn bounce affects everything

struct: I mean dont affect your future possible actions

struct: https://www.codingame.com/playgrounds/36476

herrmann: Exactly... having independent trees would give a goo opponent action but considering plays never interact. It's a different game... can be useful, but it remains to be seen if it's better to spend computation on your tree or half of it on an opponent alone in a different board

Nerchio: euler 2nd very nice ;)

PatrickMcGinnisII: ^ a few top players have showed up, i think we're missing a bunch

struct: ok i have to start coding

Wontonimo: yeah, i was thinking the same struct

struct: I havent really coded since the start...

struct: only a few lines

Wontonimo: i have more than a few lines, but not much too it really.

cegprakash: I haven't coded - Ranks 229 Silver

struct: i tested the contest

struct: this bot is from that time

cegprakash: nice tester

cegprakash: no bugs

struct: there were bugs

cegprakash: bad tester

struct: true

herrmann: :joy:

miszu: how you guys are top 1000. I barely made it to silver

Default avatar.png mainman: just doing a bit of reading regarding MTCS, how would you set it up between different games, if it is machine learning shouldn't it learn from previous games and then modify actions in the next game?

Nerchio: mcts is not machine learning

Nerchio: pls stop

Default avatar.png mainman: :joy:

Smelty: o.O

miszu: it's reinforcment learning

Default avatar.png mainman: Reinforcement Learning, ok cool

miszu: big difference young padawan

Smelty: yes master

Default avatar.png mainman: that's my misconception , sorry :)

miszu: coding I shall return to

Nerchio: its not reinforcement learning either

miszu: yeah it is

Smelty: nay, it is none of the above

struct: no

miszu: cuz you start with nothing and learn which moves a re better

struct: what does mcts learn?

orangesnowfox: It's a probabilistic search algorithm...

Nerchio: i will not discuss it anymore i think you are trollig

Nerchio: trolling*

PatrickMcGinnisII: http://chat.codingame.com/pastebin/cdf26f90-638b-4da4-bf9d-41e5212ab2e9

Kellthazar: Relax folks

miszu: let me google it before I say nonsense

Smelty: ah yes, google the master

fvla: plz everyone, mcts learns look at alphazero

annaproxy: Vanilla mcts learns nothing

Nerchio: PatrickMcGinnisII its good but then you need evaluation and its the hard part here

fvla: .../s

ClockSort:

annaproxy: I fell for it :^)

icecream17: I made a quick "code complexity" thing: https://js.do/celiasnt/codecomplexity

Smelty: hi icecream :D

miszu: my bot sucks... 2 248

miszu: in silver

icecream17: hi

Nerchio: ok time to go back to my machine learning neural network beam search

Nerchio: kappa

Smelty: lol im 1153

Smelty: miszu out of 2268?

miszu: yeah

miszu: barely made it to silver

miszu: I am a weak silver

Smelty: dang

Smelty: first round or second round promotion

miszu: I will use the CCP algorithm

Smelty: or...whatever

fvla: Nerchio that's redundant, machine learning = neural network

icecream17: miszu, are you sure your bot doesn't just crash?

XeroOl: I'm at 1958 in silver tbh

fvla: .../s

XeroOl: bottom of silver

miszu: gonna look at pros and copy their strats

fvla: I don't even have a search yet

fvla: Stuck at 1830 because of that

XeroOl: this whole two tree thing is eye opening to me

miszu: I have a stupid strats

cegprakash: fvla start with linear search

cegprakash: that's what I do and I'm at top 500 :P

miszu: I do basic if else with some thresholds

casmith789: I have no search at 207

fvla: I just need to finish implementing some stuff

miszu: I don't feel like doing searches

Default avatar.png ZVRKK: fvla you don't really need search to get out of 1000 rank

fvla: I'm finishing up a bitboard implementation

Smelty: yes

Default avatar.png ZVRKK: casmith789 if else ?

fvla: What I've written is basically C with templates...

casmith789: my if else bot was about 350 but this one is just an eval function

XeroOl: do people roll their own memory management?

XeroOl: or just use std::vector all the way

fvla: depends

casmith789: I use vectors until I get timeouts and then be more careful

fvla: you can use std::vector very efficiently

Zenoscave: State[] searchStates = State[1000000]

Default avatar.png ZVRKK: casmth789 i work with statements but i'am stuck 500 don't know what to improve :/

PatrickMcGinnisII: there's 2.2k in silver, that's pretty good

Zenoscave: casmith789 that's really good

Zenoscave: Some of these evals are really doing well

cegprakash: I kinda feel like dbdr predict every move of mine few turns earlier

Zenoscave: Well how high ranked is he ;)

cegprakash: no matter how many replays I watch against him I barely have any bugs :P he is just super aggressive and predictive

cegprakash: he is rank 5 now

fvla: Does anyone here want to be terrorized by gnarly template code?

Mourfette: I'm ranking 3 in bronze, just in front of catBoss, how do I get to silver, do I just wait for BATTLES IN PROGRESS to go to 100%?

Zenoscave: yes Mourfette

Capim: just wait

miszu: yeah

Zenoscave: You'll get a notif when it's done

fvla: Can I fight catBoss in Silver?

miszu: and then watch how you get above me in silver

PatrickMcGinnisII: I still think NN training is gonna win this

cegprakash: how many points difference Mourfette

miszu: how can you train a NN

Mourfette: ok thanks. I'm only losing to the guys in position 1 and 2, but working on that would mean stop the tests, and it's 2 am

Zenoscave: miszu no. Only top 1000 of your league or below show up

miszu: and also around you in the leaderboard

PatrickMcGinnisII: run local miszu, like 2M games

Zenoscave: if you're below 1000 yeah

miszu: PatrickMcGinnisII that's what you do?

PatrickMcGinnisII: miszu nah, but I'm considering it

miszu: you will need a super good sims

PatrickMcGinnisII: no timeouts in local. ;0

AntiSquid: are these good enough miszu ? https://images-na.ssl-images-amazon.com/images/I/71otyq1xFNL._SL1499_.jpg

Zenoscave: no there's only 4 of them

miszu: I have the game

Zenoscave: you need more

miszu: I copied some strats from first people and it improved my bot

PatrickMcGinnisII: there's 8000+minutes in 6 days... each game for 1M games could only take 1/2 a second...omg, maybe not

Smelty: o.O

PatrickMcGinnisII: prolly not enough time to NN for the win

PatrickMcGinnisII: interesting thought experiment tho

miszu: I'll try my tweaked code now

PatrickMcGinnisII: covered in filth from work, cya

miszu: alright my code is better now

miszu: top 2000

cegprakash: Zenoscave how u win me every game :o

Rag: do shadows stack?

struct: yes

miszu: how can it stack? Either there is shadow on a square or not

cegprakash: miszu is right

cegprakash: there is nothing called stacking

icecream17: if tree size 3 is behind tree size 4, first tree has shadow of "4"

cegprakash: there is a shadow chain

icecream17: *size 3 behind size 3

struct: I think he is asking if a tree of height size 3 that is shadowed will still cast a shadow

Rag: yeah sorry I was referring to tht

miszu: ohh yeah

XeroOl: does it matter?

XeroOl: does it change mechanics?

struct: yes

itzluku: yes the spooked tree wil still spook others

miszu: compute each tree's shadow and it willl come to the same

cegprakash: it doesn't matter in my opinion

herrmann: Loo for "spooky" in the rules

cegprakash: XeroOl is right

itzluku: how is he right, he asked the question XD

cegprakash: shadow chain or not shadow is a shadow

icecream17: wait, but if that wasnt true, then you could just put a size 1 tree in front of a size 3 tree, and that size 3 tree wouldnt have a shadow

XeroOl: itzluku no such thing as a bad question :)

miszu: size 3 tree will have its own shadow

XeroOl: every tree no matter what casts a shadow

XeroOl: the shadows pass through all other trees

XeroOl: you can't "block" a shadow

icecream17: i wasnt saying that

cegprakash: assuming earth is flat ofcourse chain shadow exist

miszu: of course the earth is flat

miszu: everybody knows that

miszu: conspiracy theorists be like: we send a rocket in space and we did a picture

Asterixk: say you have a size 2 tree in 3 range from a size 3

XeroOl: sure

icecream17: but wait, aren't there mountains

itzluku: im just saying your answer cant be right or wrong if u didnt even answer, because u made up the question. lul

icecream17: \s

XeroOl: @asterixk the 2 tree casts a shadow

cegprakash: sun is playing hide and seek with my AI

XeroOl: the shadows overlap, they don't extend eachother's range though

XeroOl: if multiple trees cast a shadow on the same tile, it will take the properties of the stronger shadow

cegprakash: le me beat rank 500-600 bots with 100%.. rank 400 to 500 bots be like get the hell outta here with a 0% win rate

cegprakash: top 500 bots be like "You shall not pass"

Asterixk: all trees cast shadow from their size gotcha

Asterixk: no matter if they are spooked, they still cast same shade

icecream17: https://www.codingame.com/replay/551723178 another beautiful game

cegprakash: clash of the icecreams

Default avatar.png KarlMark: I took 43 lines and couldnt solve a puzzle and someone else in my match did it in one line

Default avatar.png KarlMark: lmao, rip

cegprakash: F

miszu: I have a feeling that doing sims is not the key to do well in this comp

Tyir: if you see typescript, or python in the top 20-30, then you are probably right about sims not being super important

icecream17: ceg, your bot _always_ beats me

miszu: You need super good heuristics that's all

miszu: and some magic thresholds

fvla: btw this game is unfair and asymmetrical

Rag: ?

fvla: shadows make the game an asymmetrical affair

icecream17: hmm, if i made tic-tac-toe-grow, i should make it symmetrical somehow

icecream17: ok, i figured out the perfect way to not place my trees all bunched up

icecream17: don't place seeds if the seed makes a line with 3 trees

LLG: randomly reached silver with my half assed beam search 😆

icecream17: nvm, I finally found a position with 8 unused cells where i beat ceg by 1 pt

Default avatar.png ZVRKK: :clap:

icecream17: oh wait, my ide code actually improved that score

Wontonimo: LLG way to go!

Wontonimo: what does your beam search take into account?

LLG: lemme see

Default avatar.png NotSureWhyThisWorks: anyone able to run the brutalTester?

LLG: my current trees and the soil quality they're planted on

LLG: amount of sun points I can generate this turn

LLG: amount of opponent trees I can block this turn

LLG: my total score and current sun points

LLG: I ignore COMPLETE on the first few days, and give infinite priority on COMPLETE if it's the final day

LLG: negative infinite priority for WAIT if it's the last day, so it will always be the last move performed

Wontonimo: that's pretty good

LLG: my main objectives rn are to improve my sim performance, and write a better heuristics

Wontonimo: i mean, that isn't 1/2ass in my book. That's pretty comprehensive

Default avatar.png NotSureWhyThisWorks: completing too late will mean you may get less points because of nutrient vaue decreasing

LLG: the half ass part is that I just threw in random numbers for coefficient

Default avatar.png NotSureWhyThisWorks: something i learnt

Wontonimo: you asked about brutaltest - https://github.com/LSmith-Zenoscave/SpringChallenge2021

LLG: on the flip side, completing too early will gut your sun generation and shadow presence

Wontonimo: Zenoscave was very kind to the community

LLG: most top bots I observe starts completing around day 12 or so

Zenoscave: thx for ping ;)

ZarthaxX: pewpew

Zenoscave: pewpew

Wontonimo: hey Zenoscave!

Default avatar.png NotSureWhyThisWorks: wontonimo is this just a fork of the repo with a patch?

Zenoscave: Yeah

Default avatar.png NotSureWhyThisWorks: Awesome

Wontonimo: not sure, it's not mine ^^. Thank Zenoscave

Default avatar.png NotSureWhyThisWorks: thx

LLG: I just realized my bot only completes 1 out of 2 trees in the final round even though it has enough sun for both

Zenoscave: It still will timeout locally if your bot is slow on your machine. So local tests set timer to like 75ms

LLG: time to check my move priority code

Default avatar.png NotSureWhyThisWorks: ok I will keep in mind thanks

Zenoscave: also `java -Dleague.level=3 -jar spring2021-SNAPSHOT-1.0.jar ...` for bronze and above rules

Wontonimo: oh, i'm loving my if/else bot. i haven't had this much fun with non-sim in a long time

Zenoscave: setting the league.level to 3 in the properties enables bronze rules

Smelty: o.O

Default avatar.png NotSureWhyThisWorks: yep

Smelty: wontonimo lol

Smelty: does a if/else plus scoring with if/else count as if/else bot

Smelty: it only just rates each squar

Wontonimo: if it doesn't use search (like minimax, MCTS, beam) then it's an if/else

Smelty: kk if/else gang

Default avatar.png actualCoderTrevor: Is anyone else not seeing the game board right now?

Wontonimo: there's some steps you can take to reset your browser. it hasn't happened to me

Wontonimo: something like turn off graphics acceleration on your browser then restart then turn it back on. i don't know exactly

Default avatar.png actualCoderTrevor: Hmm I guess I'll try closing all my tabs and restarting my browser first then. Such a shame, this is going to take me a while...

Wontonimo: try just turning graphics acceleration off then on

Wontonimo: and just the one tab

Default avatar.png actualCoderTrevor: ok thanks

Zenoscave: what depth are you all doing for search?

icecream17: 1

Zenoscave: I feel like 10 is overkill and limiting my beam radius

LLG: what's your beam radius atm?

Zenoscave: 500

Zenoscave: it seems small

ZarthaxX: yeah

LLG: probably so

Default avatar.png NotSureWhyThisWorks: zenoscave I get this. [com.magusgeek.brutaltester.GameThread] ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.

NinjaDoggy: zeno how are you counting depth?

NinjaDoggy: # of actions? or days?

Zenoscave: # actions

NinjaDoggy: hm...

NinjaDoggy: idk i feel like going off days is probably better

Zenoscave: NotSureWhyThisWorks theres another flag todisable logging one second

Zenoscave: then I get a depth of 2-3

NinjaDoggy: otherwise your eval function needs to eval different states from different days

ClockSort: finally got my monte carlo working. That took way too long.

Zenoscave: Nah I don't sim opponent yet

NinjaDoggy: hey ClockSort :D

NinjaDoggy: nice!

NinjaDoggy: I finally submitted my MCTS bot too

ClockSort: how does your MCTS rank?

NinjaDoggy: currently 23/24 on submit

NinjaDoggy: rank 242

ClockSort: sweet

NinjaDoggy: I almost rage quit an hour ago :P

ClockSort: do you just put own states into the tree? because if you add opponents states then it seems it would have too many branches?

Default avatar.png actualCoderTrevor: When you have a MCTS bot (or any bot with randomness) do the replays reproduce the game exactly or can it change?

NinjaDoggy: it's MCTS for simultaneous so it takes into account of both

NinjaDoggy: bots with randomness will produce different results

NinjaDoggy: but you can use a tool to get the game from replay

ClockSort: i guess if each player has 6 trees then that's 36 nodes at depth=1?

Default avatar.png actualCoderTrevor: Thanks

NinjaDoggy: yea I had to add some aggressive pruning for SEED

NinjaDoggy: to make it work

NinjaDoggy: almost gave up earlier without pruning out SEED moves

NinjaDoggy: 32/34 rank 86 :eyes:

NinjaDoggy: top 20 submit?

Zenoscave: nice NinjaDoggy

Wontonimo: how many simulations are you doing per turn NinjaDoggy ?

ZarthaxX: damn boi

ZarthaxX: gz

NinjaDoggy: uh... i don't really count sim :/

Wontonimo: what do you count?

NinjaDoggy: currently i search depth 5(5 days)

ZarthaxX: complex eval? :thinking:

NinjaDoggy: and count iterations

Zenoscave: beam search?

Smelty: o.O

NinjaDoggy: where 1 iterations = playout from current state to 5 days later

NinjaDoggy: it's MCTS :)

Zenoscave: gotcha

Smelty: ah yes

Zenoscave: Perhaps opp sim will be needed soon

NinjaDoggy: i'm still convinced beamsearch sucks this contest

Wontonimo: right, so how many playouts can you do in like the time constraint? 10,000 ?

NinjaDoggy: too hard to sim opponent in it

Smelty: lol

Zenoscave: Man my beam search is gonna be complex

ZarthaxX: do you have a complex eval dogo?

NinjaDoggy: not too complex

ZarthaxX: damn

Zenoscave: score + sun / 3 ;)

ZarthaxX: :rofl:

NinjaDoggy: yea that + 2 variables per tree

Smelty: :rofl:

NinjaDoggy: and 1 variable for soil

NinjaDoggy: ;)

ZarthaxX: hell

Default avatar.png NotSureWhyThisWorks: Zenoscave do you know the flag to disable logging to fix the error?

ZarthaxX: so simple

Zenoscave: Oh yeaeh one second I spaced

Default avatar.png NotSureWhyThisWorks: lol all good

Zenoscave: well it's a bit more complex than need be. you gotta edit their log4j2.xml file. let me see if I can make a config that silents logs and make a second branch for it

NinjaDoggy: oh and I simulate each day's shadows in my eval which i guess you can argue is "complex"

ZarthaxX: so till end of game to know sun points avg

ZarthaxX: like toad said

NinjaDoggy: yea

ZarthaxX: i meant complex in design, not expensive

ZarthaxX: but nice

NinjaDoggy: gonna spend tomorrow optimizing performance and tweaking constants XD

ZarthaxX: haha gl with that

ZarthaxX: is this like smitsi mcts

ZarthaxX: or your own

ZarthaxX: thought it didnt work

NinjaDoggy: it's a pretty popular simul mcts

NinjaDoggy: not smitsi though cuz valid actions change too much

ZarthaxX: ah i see

ZarthaxX: right

ZarthaxX: still ,the big problem with this game is evaluating states in different days

ZarthaxX: your approach fixes that i guess

ZarthaxX: it's cool

NinjaDoggy: yea... it kinda does not really though :P

ZarthaxX: oh :(

NinjaDoggy: i'm thinking about building a big table of constants one per day...

NinjaDoggy: and somehow auto tuning but

NinjaDoggy: we'll see

ZarthaxX: gl with that haha

ZarthaxX: prob top 20 :)

ClockSort: the hardest part of this game is knowing when to cut the first tree

NinjaDoggy: yea simul mcts does that part really well inherently i think

ClockSort: but if you only go to depth 5, how does it foresee game end?

ClockSort: i.e. if nutrients were 40 or game was 36 turns, depth 5 would act the same.

NinjaDoggy: um.. depth 5 is pretty deep i think

NinjaDoggy: like midgame around 10-15

NinjaDoggy: if you choose to start cutting trees and forsee consequences till 15-20

ClockSort: oh, you mean 5 days, not 5 turns.. ?

NinjaDoggy: it's enough

NinjaDoggy: yea 5 days

ClockSort: first cut seems like it's around day 10-15

Smelty: o.O

Smelty: untzing

Wontonimo: good job NinjaDoggy

Default avatar.png dartz27: hi ninjadoggy

NinjaDoggy: thanks Wontonimo!

NinjaDoggy: hi dartz27

Default avatar.png dartz27: is your name yibo

NinjaDoggy: ._. leaking?

Default avatar.png dartz27: what

Default avatar.png dartz27: is it actually

Zenoscave: dartz27 this seems like a not global chat discussion ;)

Zenoscave: ok looks like depth 20 actions works a lot better.

Zenoscave: even if less raduis

ZarthaxX: did you notice that depth 1 works better than depth 5 for example?

NinjaDoggy: nice

Zenoscave: me ZarthaxX?

ZarthaxX: yes

Zenoscave: Haven't tried either

ZarthaxX: okey :(

Zenoscave: does that mean bad eval if a lower depth is better?

ZarthaxX: idk haha

Smelty: lol

bitsNflips: Zarthax r u working on a sim or pure heuristics ?

Smelty: o . o

Thienu: i literally add one feature to my bot and it went from rank 800 to top 40

Thienu: what

Kellthazar: Hmmm.. did some improvement on my if/else code and climbed some positions. XD

Wontonimo: cool Thienu , and is it sim or if/else ?

Thienu: its if/else

Wontonimo: very very nice

Thienu: well also technically depth 1 sim

ZarthaxX: WAT?

ZarthaxX: let me guess

bitsNflips: 0.O

ZarthaxX: deciding when to complete trees

ZarthaxX: e.e

Thienu: actually no lol

Thienu: i need to work on that

Thienu: it was about tree spacing

Thienu: and placement

ZarthaxX: wow impressive

ZarthaxX: oh placement

ZarthaxX: :thinking:

ZarthaxX: gz anyway <3

Kellthazar: Thienu thats impressive... o.O

Smelty: wow

Thienu: thx Kellthazar

Kellthazar: yieks 103 x 139 against the Thienu's bot.