Chat:World/2021-05-10
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
UndercoverToad: good morning
icecream17: 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
NotSureWhyThisWorks: LLG you can use the neigbours from the input and loop through them twice
algeo: oh i see the forum is closed
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
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
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
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
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
LLG: don't we all
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...
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
[MK]: how can I redo a question unfinished in clash of codes?
UndercoverToad: search it here https://eulerschezahl.herokuapp.com/codingame/puzzles/
[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
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?
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
jrke: nope any lang
jrke: "lang", dir
UndercoverToad: it just spawns a separate process
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
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
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
NotSureWhyThisWorks: I've never tried rust. I'll have a look. thanks
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
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
NotSureWhyThisWorks: Marchete or the top 10 are all trying to throw everyone else off lol
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
Marchete: mcts and failed it's a common relationship :D
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
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
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
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
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
NotSureWhyThisWorks: wow brutalTester looks really useful
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?
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
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
struct: not the best one
NotSureWhyThisWorks: best n ones
struct: Best N ( N being beam width)
ddreams: ^ I responded to the final action question
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
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
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
Marchete: thanks Ille
Marchete: btw how do I create a simple exe with dotnet?
JorgeBernal: thanks ddream, that was my first step, I'm in bronze now
Zenoscave: like a self contained exe Marchete?
Marchete: yes
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
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
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++
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
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?
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
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
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
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
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.
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
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
Fiddle: will those walk me through it bc i get so confused
Gedzius: VizGhar if we dumb it down the cells don't change i suppose
Gedzius: because i cant read code im quite a beginner
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
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
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
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
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
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:
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)
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
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
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
DetoBot: good luck
MSmits: in early game that is
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
kamaci: pyhton coders are lucky
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
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
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
ChristianDowns: How do you progress?
cegprakash: cat boss at rank 9
The_ZimaBlue: a few seconds back
reCurse: Love the totoro theme
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
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
ZVRKK: Why we have same bot in silver :thinking:?
Lucky30_: Wontonimo life is hard
AntiSquid: 25% promote to gold or so
AntiSquid: just watch .
Tuo: Promotion to Silver League in : 00H 00MN 00SC
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
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
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#
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
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
if-loop69420: well im 1st and im not promoted yet
UndercoverToad: or lack of style
UndercoverToad: did your submit reach 100% yet?
UndercoverToad: is there a red circle at your name on the leaderboard?
ddreams: in "Last Battles", there's a completion percentage
if-loop69420: that has to reach 100% ?
UndercoverToad: wait till the circle is gone
if-loop69420: how long does that take?
gmessier: The time for your bot to have ~100 battles
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
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
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
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
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
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
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 !!
CameronWatt: dang, getting rekd by python coders in clash of code
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?
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
Ruruthia: definitely not miszu
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]
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 ;)
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
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
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
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
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
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
ZVRKK: It's really hard to maintain the same position :/
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
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
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
mainman: can you still continue after it ends?
XeroOl: I am a one trick pony and I only know MCTS
AntiSquid: yes
icecream17: y
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
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
mainman: thanks Ice, that's encouraging
miszu: 13 people at least
XeroOl: I'm just doing vanilla MCTS with no heuristics
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
mainman: lol @ZVRKK that's me :)
daniserrano7: me too
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?
ZVRKK: Same i'm too noob for now (my first compet)
mybk: isn't too easy to enter silver league this time (current contest)
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
herrmann: MCTS gang too, but still late to the party
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?
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
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
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
Smelty: o.O
miszu: it's reinforcment learning
mainman: Reinforcement Learning, ok cool
miszu: big difference young padawan
Smelty: yes master
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
ZVRKK: fvla you don't really need search to get out of 1000 rank
fvla: I'm finishing up a bitboard implementation
Smelty: yes
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]
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
KarlMark: I took 43 lines and couldnt solve a puzzle and someone else in my match did it in one line
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
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
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
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
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!
NotSureWhyThisWorks: wontonimo is this just a fork of the repo with a patch?
Zenoscave: Yeah
Wontonimo: not sure, it's not mine ^^. Thank Zenoscave
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
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
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
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
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
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
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?
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?
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
NotSureWhyThisWorks: Zenoscave do you know the flag to disable logging to fix the error?
ZarthaxX: so simple
Zenoscave: Oh yeaeh one second I spaced
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
NinjaDoggy: thanks Wontonimo!
NinjaDoggy: hi dartz27
NinjaDoggy: ._. leaking?
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.