AntiSquid: doesn't show up for me
MadKnight: there is solution given in hints
Quidome: good morning
Quidome: I am doing the Bender-Episode 1 and only the first testcase fails on submit does anyone has the testcase for me
AntiSquid: click setting on the left and then expert mode and then i think you can look at the individual test cases in the IDE ?
AntiSquid: ah i see now, at the bottom click the 3 lines and you can then see individual test cases
Uljahn: i guess he means validators
AntiSquid: but he said test cases so ...
Uljahn: "on submit"
Quidome: Yes, the validation cases
Quidome: the first one
AntiSquid: Uljahn will help you
Uljahn: i'll help you if you're on python
Uljahn: also this could be helpful https://www.codingame.com/training/medium/bender-episode-1/discuss
Quidome: thnxs :)
Quidome: I am on Rust
Quidome: Everything works except the first validator. So that's in this case hard to find
AntiSquid: but how can you fail on that one when everything else works?
AntiSquid: validator says "Simple moves" so i guess you are searching for an obstacle or try to avoid an obstacle that doesn't exist
aCat: what do you mean?
aCat: you can use any available language for your solution
Uljahn: afaik there is no sql-oriented puzzles for python on codingame, but you can practice numpy and pandas
Mentalist: This chat is active!
AntiSquid: why sql pol34 ?
AntiSquid: if you click the searchbar at the top of the site and type in SQL you can see links to some playgrounds, but to practice SQL you should try a different site
AntiSquid: WINWINWIN is it fair when others do it?
AntiSquid: WINWINWIN spam submits like everyone else lol
AntiSquid: pol34 then try diff site, lots out there
Crypticsy: hey! umm can you guys give me feedback on my puzzle?
aCat: I will try to do this later today
aCat: Seems interesting, although i would vote for medium
MSmits: anyone on who wrote a Onitama bot?
Scarfield: nope, but got "vanilla" SmitsiMax to work for CSB yesterday :)
MSmits: great! Including the blocker?
MSmits: that seems to be the hard part for people
Scarfield: only the search itself so far, no pruning, optmisation or blocker eval yet
MSmits: ahh ok, well good progress
Scarfield: has the font in the IDE been changed?
MSmits: no idea, it's a just a place where i paste my code
MSmits: about Onitama, I was just wondering if anyone else thought it is weird that the card moves dy is defined as positive upwards
darkhorse64: MSmits: I wrote one
MSmits: so did you run into that issue?
MSmits: I was stuck for a while until I realized I had to negate my y coord
MSmits: my dy i mean
darkhorse64: sec. reading my code
MSmits: yay my moves work and my card state transitions too. I got past the 64 bit state insanity bugs :)
MSmits: now the rest of the bot
MSmits: at least it seems to work. I didnt get to test capturing and winning yet
MSmits: I just did this test:
darkhorse64: Actually, I do not have this problem because I wrote a table for all possible moves for all cards in the game. I do not use the inputs except for the cardId
MSmits: ohh I do read the cardid
MSmits: I create this table too, but on the first update
MSmits: i mean i do read the dx and dy
MSmits: it's just weird because anything else in CG has y increasing downwards
MSmits: when i first got to CG I was confused the other way around. For example with Thor
darkhorse64: Same. OpenGL has its origin bottom left
Scarfield: yea i just started using row,col instead of x,y
MSmits: ahh, for me it was just coming from basic math x, y graphs
MSmits: ohh that row col thing uttt has is also super confusing
MSmits: i keep reading it wrong
darkhorse64: Yes. Math also is bottom left
MSmits: my expansion function is over 100 lines for onitama :P
darkhorse64: In my first ever CG contest, I mixed x,y and top, bottom for a few hours. The bot was somewhat "working" nevertheless
MSmits: not sure if it is because of my weird state representation or because the game is complicated
Scarfield: the angle being measured positive in the opposite direction in CSB messed with me though, forgot to convert my result from the search back, until i noticed my pods where simply turning in the wrong direction
darkhorse64: expansion like expand in MCTS ?
MSmits: yeah that happens to everyone Scarfield
MSmits: darkhorse64 yes
MSmits: well mostly just move generation
MSmits: which is what expansion is
MSmits: if you'd have a minimax, you'd be doing this too
MSmits: the thing is, you have 2 cards, 2 types and some exceptions for capturing and winning
MSmits: but probably I also have some extra lines to compress and decompress the state into and out of the uint64_t
darkhorse64: I did bitboarding but used more space. My hand is stored outside the bitboard. My code is simple and quite short
MSmits: yeah, I might end up paying for this choice. Not sure what the speed of it will be
MSmits: yes but thats play movre
MSmits: how do you know what moves are available?
MSmits: thats where most of my code is
MSmits: very similar to mine, but I have the master and the cardstate in there too
MSmits: it's a few extra operations
MSmits: the only real reason for it is hashing. I want to be able to have an easy time testing transpositions
MSmits: with a few dead knights, you're talking about maybe a million possible states total, many unreachable, so transpositions should happen
Hovsep: Hi,why is there only 15 people online ?
MSmits: in worldchat Hovsep
Hovsep: I thought it was a wellknown website
MSmits: it is
MSmits: there are other channels
MSmits: also some talk on discord
Hovsep: Same persons as in world
MSmits: it's a bit fragmented
Hovsep: I see
darkhorse64: We have just finished a contest also everyone is exhausted
MSmits: also, you can work on cG related stuff without even being online
MSmits: thousands of people were in that contest
MSmits: the amount of players doing CG in between contests is much smaller
Hovsep: Oh I didn't know that
MSmits: also, people who do CG may be online 1-2 hrs a day, different timezones etc.
Hovsep: Thank's for your precise answer
darkhorse64: What I don't get is how you manage your hand with 5 bits
MSmits: so you have 5 cards right
MSmits: there's 5 ways to pick the first card
MSmits: there;s 4 ways to pick the second
MSmits: all states happen twice
MSmits: so 10 ways for the first player to have a set of cards
MSmits: then there's 3 ways to pick the rest of the cards (because the center card is the variable)
MSmits: so 3 * 10 = 30 cardstates
MSmits: 30 < 5 bit
MSmits: well you need 5 bit obviously
MSmits: but you could have fit 32 cardstates if you wanted to
MSmits: actually I have 2 leftover bits, so i could fit 128 :)
darkhorse64: OK. I need to think about it because I thought there were many more arrangements. I have to go back to my real work
MSmits: there are many more arrangements, but many are equivalent
MSmits: it doesnt matter if a card is your first or your second
MSmits: as long as you can use it
MSmits: allright, go workie :)
MSmits: I'll go try and move some wizards and knights
MSmits: will be a while before it works completely
darkhorse64: You have the moves, the mcts,. WHat's missing ?
Hovsep: Do you guys have a good IA fight challenge to advice ?
Hovsep: Except Coders Strike Back
darkhorse64: Do you like board games ?
Hovsep: But i'd prefer something else than a board game ia
Hovsep: if possible
MSmits: darkhorse64 the mcts is different yet again. Every of my games does stuff differently with playerIndices and signs. So i always run into bugs
MSmits: also i need a good eval
darkhorse64: Go for Yavalath. It's a nice game on its own and interesting to code
darkhorse64: Fantastic bits if you like qquidditch
Hovsep: I'm a beginner, is it something where i can learn new things ?
MSmits: that's an oddly specific hobby :P
MSmits: Hovsep board games are the easiest to start with I think if you want to do real computation heavy tree searches
MSmits: if you're just looking to build an AI with heuristics, code a la mode would be cool
MSmits: btw, dont do yavalath if you're beginner
MSmits: even though it is a great game
darkhorse64: I rehash my mcts on and on. Of course, the game interface changes each time depending on move generation and win/lose conditions but it does not vary too much. So it goes fast for me
Hovsep: Legends of Code and magic is it good for a beginner ?
MSmits: yeah I know, but somehow I dont manage this darkhorse64. The problem is also, that the input is different for each game. Somehow I build on this input and my mcts ends up being different
Hovsep: I know the language C
MSmits: Hovsep it's not good for beginner i would say
MSmits: takes a lot of code to even get started
Hovsep: It seems like Codingame is for real experimented programmers
MSmits: not really
MSmits: coding bots is
MSmits: but you can also solve puzzles
MSmits: also there are some exceptions, we have many multis, some do a really good job of helping you get started
Cappefra: go into the "practice" session and start with the easy ones
Cappefra: tbh it's more about being good at algorithms rather than coding per se
MSmits: to do CG, you basically need to understand your language is all
Hovsep: Ok thank you, i'll practice in easy
MSmits: but C might be a bit hard in and of itself, because it is not exactly coder-friendly
MSmits: old language
MSmits: better to start with python, java, C# etc.
Hovsep: yea but i really like it, i'll try another language after mastering completly the C
Cappefra: that'll take a while hahaha
MSmits: kk, just dont get frustrated and quit because of the language. C# can be a lot of fun and you can do easy puzzles in 10-15 mins each once you get used to them
MSmits: but not in C i think
MSmits: CG can be a lot of fun I mean
MSmits: well C# too :P
MSmits: C++ could be a good choice for you too Hovsep, it's basically C with classes, but also many other things. But even C++ is much harder to use for this than the languages i mentioned
Hovsep: I'm learning C++,C# and Java at school but i did'nt practice a lot
Uljahn: Hovsep: you can read the forum topics (feedback and strategy) to learn new algorithms or just get some hints on most multis, also you can look at community solutions after you finished a puzzle
MSmits: ahh ok
MSmits: might wanna try C#, you will learn it quickly
MSmits: also Visual studio is an awesome C# IDE
Hovsep: Ok thank you guys forthe help
MSmits: just for the IDE, the language is great
auguluk: I aggre
Hovsep: Yea i have it MSmits
andichin: hello guys
MSmits: hi also
AntiSquid: rust is new meta, auto timeout if opponent wants to optimize vs your bot
AntiSquid: mark7 don't post clash links here
cegprakash: how to view only console and game and hide the code on the right side
cegprakash: it's better to view the console on right and game on left
AntiSquid: you could get CG enhancer and edit it to your liking i guess
AntiSquid: actually cg enhancer has that by default, nevermind, cegprakash
Last turn my bot uses surface in order to move away from enemy
cegprakash: bad random
cegprakash: i'll add this to my mutate condition
cegprakash: lets see if it fixes
eulerscheZahl: is that still silver?
eulerscheZahl: are are moving along the edge. be the snail in the center to remain hidden longer
eulerscheZahl: and your mine triggers seem random to be, do you even have the slightest chance to hit your opponent?
eulerscheZahl: i only solved ss_n, rs_n, ss_f, gs_m, ss_m :/
Cappefra: shadows of the night 2 is a real bitch
Cappefra: I can't go over 75% atm, and I even know why but implementing the right solution requires a bunch of refactoring
Cappefra: what is that?
Cappefra: oh ok no I haven't tried it, shadows of the night 2 is my first very hard
Cappefra: yeah it saves your code when you "play all tests"
Cappefra: then you can change language, solve any other puzzle, whatever. That combination of puzzle+language is saved
jacek: huh? try pastebin or something
MSmits: K4Mx CG is a social platform, but all contests, puzzles, etc. are supposed to be solo-coded
MSmits: you can share ideas, maybe the occasional function, but you're not supposed to share full code
MSmits: if you want to code together on something, I recommend repl.it
MSmits: it's great
MSmits: what you can do is
MSmits: fight clashes and turn code sharing on, they'll see your code after the battle
mark7: MSmits up for a clash?
MSmits: well my random move bot is finally working
MSmits: eh no I dont clash. but write an UTTT bot, get to legend and fight me there
eulerscheZahl: just invite him
MSmits: euler look it's working
MSmits: it still plays stupid but i worked out all the crazy bit-bugs
eulerscheZahl: it's alive!
eulerscheZahl: producing valid moves
eulerscheZahl: and even killing his boss with yours
MSmits: well thats a lucky win, boss wins more :)
MSmits: my master tends to go out there and suicide
eulerscheZahl: did you notice that the image above the endscreen changes depending on the outcome?
MSmits: btw, a sizable fraction of syntax bugs in this bot was me writing wizard and master interchangably and getting confused
eulerscheZahl: and the student knights
MSmits: i call them knights and masters now
MSmits: not very consistent
MSmits: but what did you mean with the image
eulerscheZahl: https://prnt.sc/s425rs blue wins
MSmits: oh thats variable. Nice touch
MSmits: btw, I also got confused when you made the y-coord increase upwards
MSmits: i mean its on the visual representation, but i am so used to Y going down that I did not notice it
eulerscheZahl: to match the chessboard image i stole from checkers
MSmits: yeah it's fine, it just got me stuck for a while
eulerscheZahl: me too
MSmits: easily fixed with a minus sign
MSmits: well thats a relief, that you did it to yourself also :P
eulerscheZahl: seemed so easy to code the game
eulerscheZahl: but i repeatedly screwed up
MSmits: the card orientation seems the hardest
MSmits: my turn update function is 150 lines :P
MSmits: just reading the input and figuring out what the new gamestate is
eulerscheZahl: my hole bot is only 3x your input reading
MSmits: it's because I have only 30 card states. I get rid of the duplicate ones (aka, having card 0 and 1 or having card 1 and 0)
MSmits: my card ordering is fixed so I need several loops to figure out how my cardstate system corresponds to the input
MSmits: well once the search is running the problem is gone, but conversions are often tricky
MSmits: I use 3 coordinate systems for uttt
MSmits: in the same bot
MSmits: 4 if you count the input system
eulerscheZahl: you should try mean max. you can apply polar coords on it
MSmits: haha yeah
MSmits: that's cool
MSmits: do people do that?
eulerscheZahl: they were planned as the official input but CG vetoed it
MSmits: K4Mx nope
eulerscheZahl: but you will get it after your action
MSmits: what do you mean pick it?
MSmits: pick what?
MSmits: there are many multiplayer arenas
MSmits: you can do what you like
eulerscheZahl: https://www.codingame.com/multiplayer/bot-programming 43 arenas
MSmits: yes, but it is asynchronous
MSmits: no it is mostly pvp
MSmits: you play against bots players submitted before
MSmits: but there is a pve boss in the lower leagues, all except the highest league
eulerscheZahl: and in 2 weeks we have a contest again with about 2000 players competing
mark7: Spring Challenge
MSmits: sometimes the contests dont require much skill to get started
eulerscheZahl: there are some really strong players but also a lot of beginners competing
jacek: cards were hard in onitama. and confusing, given for the other player they are upsie down
MSmits: but you wont rank high of course
ZarthaxX: has someone ever used avx here? D:
ZarthaxX: robostac ?
eulerscheZahl: did robo even submit there?
MSmits: I used it once, it worked, but i did not get an improvement
ZarthaxX: its not about improvement tho
MSmits: robo uses it, marchete, re curse
MSmits: probably a lot more
ZarthaxX: my code compiled with -mavx2 flag crashes
eulerscheZahl: the theme is known K4Mx: pacman
eulerscheZahl: but not the game
ZarthaxX: it's super weird
eulerscheZahl: watch the video, that's all we know https://www.codingame.com/contests/spring-challenge-2020
ZarthaxX: its not using avx stuff
MSmits: #pragma GCC optimize("Ofast","unroll-loops", "omit-frame-pointer", "inline")
- pragma GCC option("arch=native", "tune=native", "no-zero-upper")
- pragma GCC target("rdrnd", "popcnt", "avx", "bmi2")
MSmits: every bot of mine has this
ZarthaxX: like it crashes at some dynamic allocation part
ZarthaxX: that makes it compile with avx?
ZarthaxX: right i will add a target flaxc and check with a debugger
MSmits: yeah, well it worked anyway
ZarthaxX: hope that works
eulerscheZahl: definitely not enough to start coding now ;)
MSmits: K4Mx btw, you may have to try several multiplayer arenas before you find one thats easy enough to get started in
MSmits: they vary greatly in skill requirement to get started
MSmits: onitama is moderate
eulerscheZahl: you can try connect4: https://www.codingame.com/ide/demo/8292209ca950fe69e9ab715bad4fb1d99a7d8c
MSmits: I am not a dev either, but I coded a lot
linjoehan: NUMBER SHIFTING has 500 levels ?
eulerscheZahl: it has 1000 levels
eulerscheZahl: but top players agreed on a tie
MSmits: K4Mx btw, if you really want to collab on a low level league of a multi, it's not so bad. Just remember that if you get good you're not supposed to share code
linjoehan: huh agreed on a tie? so there are more levels but they don't want to chase it?
MSmits: also, dont submit the code twice
MSmits: if you collab and you both submit, it might flag you as cheating
wlesavo: they shouldve solve another one not to confuse people :slight_smile:
MSmits: i mean twice on different accounts
eulerscheZahl: submit under 2 accounts is what MSmits means
wlesavo: but on the other hand round number
eulerscheZahl: i'm slow
eulerscheZahl: wlesavo i'm not sure anymore if you asked for it too: https://tech.io/playgrounds/cd81cbed2f30b8b14b7912e8ac37e2ff50735/contest-tools-and-workflow/setting-up-the-ide
eulerscheZahl: oh, bad link. not even the beginning
wlesavo: eulerscheZahl oh, thx, i did
eulerscheZahl: no mark7 i won't clash with you
mark7: haha, come on
eulerscheZahl: sorry, i can't code
eulerscheZahl: just here for chatting
MSmits: mark7 don't pick on the newbies
mark7: eulerscheZahl MSmits You both are legends, IM a NOOB
MSmits: I'm a guru, not a legend
mark7: Okay GURUJI
MSmits: taking a break before I try to fix the mcts part of my code
eulerscheZahl: you have a typo in minimax
jacek: mcts in onitama? w00t/
MSmits: why not?
jacek: i guess everything can be done with mcts if youre brave enough
MSmits: doesnt darkhorse use mcts?
MSmits: I also think kar liso doesnt know minimax very well... or at least I think that is what he said
MSmits: so he might be doing mcts as well
eulerscheZahl: by his message i would say it's a minimax
eulerscheZahl: he prints a depth
MSmits: hm ok
MSmits: makes sense
eulerscheZahl: but sure, try MCTS
MSmits: what features makes you think minimax is better btw?
jacek: why it says both are defeated? https://www.codingame.com/share-replay/453986734
jacek: well im using minimax. im 3rd so the eval is at least not crap
MSmits: no, i mean. what part of the game makes you feel like minimax might be better than mcts. Even if you're not sure. I am just curious
eulerscheZahl: because it's a tie and i was too lazy for a good message
eulerscheZahl: maybe it's just that i understand minimax better
MSmits: you use it often
jacek: maybe i see cheese board i think minimax
MSmits: personally I think you can use mcts anywhere you can use minimax as long as you can get enough rollouts. Minimax eval can also be used on mcts
MSmits: makes sense jacek
MSmits: btw my checkers bot is also a mcts. All it does is count pieces
MSmits: as an eval
MSmits: otherwise it would do better I think
MSmits: i was thinking of starting with a knight count as eval for onitama
MSmits: and add stuff later
MSmits: no idea what
eulerscheZahl: do you weight men and kings differently at least?
MSmits: I think a bit
MSmits: or maybe double
MSmits: not sure
jacek: well they found mcts is quite suitable for checkers
jacek: given the forced moves
MSmits: I lost motivation when it was time to get a good eval
MSmits: ahh ok
MSmits: well even on chess, doest Alpha zero use mcts characteristics?
MSmits: except without the random i guess
jacek: yes, but also strong NN for eval. mcts was poor for chess before alpha zero
MSmits: yeah eval seems to factor in.
MSmits: weird that you cant use those minimax evals for a mcts bot in chess
MSmits: maybe it just doesnt get enough rollouts
MSmits: might not be accurate enough
MSmits: nn eval is very accurate
pb4: I'm not a specialist for those evals
pb4: but there's an important requirement for a MCTS eval that is absolutely not a requirement for minimax
pb4: for MCTS it must make sense to add and average two evaluations
andichin: ur mom has big gei lol
MSmits: ah right
pb4: for minimax, you don't care
MSmits: thats why mcts does badly on trappy games
pb4: You just need a proper ordering
MSmits: where 1 move is good and all the rest is crap
MSmits: still wondering how onitama fits into this though
MSmits: the fact that it is very nearly solvable should also factor in
MSmits: there's at most 10^12 available gamestates in an onitama game
MSmits: similar to oware
MSmits: checkers is like 10^20 or more
wlesavo: pb4 hey, wanted to ask you, when approximately you came up with 8th version of ooc bot, gold or early legend?
pb4: somewhere mid gold
pb4: Why that question ?
pb4: Other versions were minor improvements on the immovable references like egaetan and mchl12
wlesavo: just some retrospective
eulerscheZahl: non submitting
reCurse: immutable :)
reCurse: Ah I missed the const reference opportunity
reCurse: Oh well
darkhorse64: my bot is an mcts with an eval
pb4: well you got the point :D
MSmits: thought so darkhorse64, do you random rollout or just immediately eval after expansion like i do in oware?
reCurse: Random rollout never works on any sensible game
reCurse: Wait that worked for go
reCurse: Though it was heavy rollouts
wlesavo: heavy means using heuristics for moves?
MSmits: in yavalath it means not considering insta-loss moves, always taking insta-win moves and some others
jacek: welp for new game i make mechanics
jacek: i have already mcts and minimax 'frameworks' done
jacek: and just see which one is better
jacek: obviously mcts is better than minimax without any eval
MSmits: sounds smart, but there are are some features that may change the balance later
MSmits: like in those rare cases where transpositions are good
MSmits: you might favor minimax more then
jacek: then i compare simple eval with mcts, then fine-tunes mcts, then fine-tune eval etc.
MSmits: ah ok
darkhorse64: 1 depth rollouts
MSmits: like in oware
jacek: having good eval should be easy to incorporate in mcts, but mostly i have worse results than fine-tuned minimax
MSmits: both algorithms have a bit of a learning curve though, you could be moderate with one and expert with the other
MSmits: I am definitely better with mcts
MSmits: i dont mean their vanilla versions obviously
MSmits: i mean all the little things you can do to make them better
jacek: well i was lately mastering minimax. it is not only eval, but also search extentions, pruning
jacek: in chess null-move heuristic, in other games something else
MSmits: yes quiescence search
MSmits: and such
MSmits: killer move
MSmits: null move has issues doesn't it
MSmits: it breaks the tree a bit
jacek: you trade some accuracy with deeper tree
MSmits: yeah, but that "some accuracy" is pretty horrifying to me
MSmits: you cant even run a solver anymore
MSmits: i believe that it improves bots, i just dont like it :0
reCurse: Says the inventor of smitsimax
MSmits: well i would never use that on a boardgame. These physics games arent solvable anyway :)
MSmits: smitsimax is just my way of creating some kind of order in the chaos of games like that.
MSmits: I much prefer board games
reCurse: You're still trading for accuracy in horrible ways
reCurse: Besides didn't you use smitsimax in XR
MSmits: oh yeah, but I am somehow more accepting of that fact with a game like that
MSmits: and it horrified me (read my PM :P)
MSmits: taking a break for real now. ttyl
icecream17: I just typed "board.players.me.pegs.push( [input] )". Is this long chained thing acceptable...?
eulerscheZahl: btw jacek i still wait for you submit in this game
Zenoscave: eulerscheZahl Illedan I never thanked you for your game
Zenoscave: thank you
eulerscheZahl: don't worry, i don't keep track on who does
eulerscheZahl: and my contribution was the smallest among the 3 creators named
Zenoscave: Ah yes And G-Rom thank you as well
Zenoscave: I tend to forge the third sadly
eulerscheZahl: and i enjoyed the contest too, so my motivation was partially egositic
AntiSquid: weird, ocean of code multi points don't show up for me when i click on my ranking
eulerscheZahl: oh, a typo
Zenoscave: Still no points Anti?
eulerscheZahl: didn't notice
eulerscheZahl: but you forgot the t at "forget" :P
Zenoscave: I thought you just knew an english word I didn't. I wouldn't be surprised
AntiSquid: but seems like others have it
Zenoscave: I got mine
eulerscheZahl: i'm good at making up new words that sound like english
Zenoscave: it's a good skill. Shakespear also had the skill
eulerscheZahl: oh, you are still submitting any improvements?
Zenoscave: Small ones.
Zenoscave: I have a statistics class I am using OOC for
eulerscheZahl: as a student or tutor?
stacked: how do you do the one where you replace the 0 with -
Zenoscave: Seeing if sacrificing accuracy for timeout prevention is worthwhile in legend. Student
stacked: the bot does it in 11 chars in bash
stacked: i was thinking read sed s/0/-/g
Zenoscave: tr 0 -
eulerscheZahl: how long till your graduation?
stacked: but how about the N
Zenoscave: read;tr 0 -
Zenoscave: i graduate in December. just finishing small classes i put off now
eulerscheZahl: the end is near
darkhorse64: eulerscheZahl: play a game in the IDE for OOC points
eulerscheZahl: you get the points darkhorse64
eulerscheZahl: just not shown on your profile
Zenoscave: AntiSquid see above
darkhorse64: Yes, only after playing a game in the IDE
eulerscheZahl: same for crystal rush
dbdr: AntiSquid just play one OOC game in the IDE
dbdr: and it will show up
eulerscheZahl: i did that yesterday already btw ;)
eulerscheZahl: you pinged the wrong player darkhorse64
AntiSquid: you need to do it the day before eh ?
eulerscheZahl: i missed a joke telling someone else that it wasn't me :(
dbdr: no it's immediate AntiSquid
AntiSquid: like instant noodles :o
eulerscheZahl: like a CSB submit
Zenoscave: lol CSB
Zenoscave: it shows up when you increase in level I believe
MadKnight: they're mostly french
Zenoscave: I may be wrong
AntiSquid: you can go to any page on CG and click GET A JOB at the top to fillin your details
AntiSquid: but you also need a unique avatar that doesn't scare people when they test against you in the IDE CacheCoherence
Zenoscave: who is that directed at for the scary pic?
AntiSquid: also anime avatars have +5% chance at job offers
AntiSquid: look this guy has one punch man and got a job at CGI because of it https://www.codingame.com/profile/b6b3d2af46caf704ac2bf95c40920e9e4520031
Zenoscave: no but I'm not in France and Like MK said most offers are french
AntiSquid: i am sure they might expand in a decade or so
AntiSquid: increased win rate
Illedan: You've won a CodinGame t-shirt!
AntiSquid: still no avatar and you fail a tada emote in chat, your job opportunities seem to be diminishing
eulerscheZahl: you have enough CG tshirts already Illedan
eulerscheZahl: is it still the glitched cube or did they fix it?
eulerscheZahl: and there's no emoji in the subject? no :) ? what about :tshirt: ?
AntiSquid: yes, we all live in a cow's close up
AntiSquid: CacheCoherence here's more details about the cow's close up we live in https://en.wikipedia.org/wiki/Laniakea_Supercluster
Illedan: Yeah, I'm getting the cube
Illedan: Got a cube the last time for my stream, but I do no longer fit M :(
eulerscheZahl: they award tshirts for streaming?
eulerscheZahl: and the cube still has the glitch with 2 areas merged?
Illedan: hmm, never seen that glitch
Illedan: They did last time
tobk: how can I adapt the turn time in the offline OoC? I thought my laptop is new, but still turns seems to take longer than on CG
tobk: in fact I found the 50ms and changed it to 100ms, but now I get an exception about the game as a whole taking to long...
eulerscheZahl: reflection or modify the SDK itself
eulerscheZahl: or reduce the number of total turns
eulerscheZahl: the SDK was never meant for offline testing of our bots. and there are some limits which are hard to get around
eulerscheZahl: there's also a limit for replay size in total and per turn
eulerscheZahl: and game summary per turn
eulerscheZahl: and what not
tobk: right, there was a number of maximum turns, thanks for the tip
AntiSquid: on the forum
AntiSquid: search feedback and strategy ocean of code
Zenoscave: With DFS would you evaluate the score after the depth is finished only or at each step?
Nerchio: i dont know :(
Uljahn: isn't the score discounted?
Zenoscave: uljahn you mean decay?
Zenoscave: I'll try that
Nerchio: zenos you still working on ooc?
jacek: thats so last week
Nerchio: cool i need a break from that haha :D
Zenoscave: jacek I want a top bot. I think i can get close
Nerchio: does anyone know if you can send a bomb from factory to factory without direct connection
Nerchio: in ghost in a cell
icecream17: How do you replace something with "enter" wqhen find and replace?
icecream17: chat updated? i was taking a long time...
Nerchio: y it lags
AntiSquid: you mean new line?
AntiSquid: no idea how to do that in the IDE
icecream17: ugh =(
AntiSquid: you can do it offline though if you use another program to read your bot file and edit it that way :p
Nerchio: omg wleslavo is everywhere to hunt me
Nerchio: even in bronze ghost in the cell :(
AntiSquid: shouldn't talk so much about it in chat :p
icecream17: hmm... what's the correct way to pronounce wleslavo? (my brain keeps swtiching the l and a)
Nerchio: also i realised how good ooc contest was for my brain i mean
Nerchio: I understood the way of the game
AntiSquid: doubt there's a correct way for most usernames icecream17
Nerchio: meanwhile i am kind of lost in ghost in the cell xD
AntiSquid: ya they usually require different approach
Nerchio: i think my simple bot that got to bronze somehow was better than what i am doing right now ;p
MSmits: I sucked at ghost in the cell. I got to high silver and then somehow, months later, I made gold by being pushed
Nerchio: yea its hard for me as well
Nerchio: but i will try
Nerchio: ooc felt like an easy game compared to this haha
MSmits: I like the game mechanics, but I am not great at writing a bot for it. But it has been a while, maybe I;d do better now
icecream17: AUGH! I give up on this weeks puzzle.
Astrobytes: It's not a puzzle, it's a multi
Nerchio: what are you playing icecream
Astrobytes: "Puzzle of the Week"
Nerchio: idk that one
icecream17: I wish I could make my own thing...
AntiSquid: but you can !!!
MSmits: darkhorse64 what is your onitama rollout count?
MSmits: looks like my onitama mcts is working. 82 games in wood 2, all won, no crashes. But the eval is very bad still, so probably won't get ranked high
Illedan: Nice, enough for wood 1?
Astrobytes: That's the one with the masters and shrines?
MSmits: well i didnt lose a single game, so yeah. It's doing the wood 1 submission now
MSmits: I like it, but will have to think hard on an eval
Astrobytes: Very bitboard-y looking
MSmits: ye, crammed full state into a uint64_t :P
Astrobytes: Of course :D
Illedan: even positions too :thinking:
Illedan: And live/dead?
MSmits: full game state, everything you can think of
Astrobytes: Maniac :D
Astrobytes: looks like most of your MCTS nodes
MSmits: ny oware one is the same
MSmits: except i call it board I think
MSmits: instead of state
Astrobytes: Y thought it looked familiar
MSmits: they are both very narrowly fitting in 64 bit. It;s cool
Astrobytes: I assume this not an early termination one?
MSmits: it is for now
MSmits: not sure what I should be doing
Astrobytes: Oh interesting.
MSmits: the early termination is easiest to code so i start with it
MSmits: no sim = les work
Astrobytes: Ah, yes that may change
MSmits: I may have screwed up my mcts scores. All my values are 0
Uljahn: test__: good puzzle, just've solved it
MSmits: it wins due to solving :P
Astrobytes: That damn solver :D
MSmits: when it wins that is
MSmits: it's ranked about 12 in wood 1, not very good
Astrobytes: I was gonna start Tulips and Daisies tonight but slipped a disc doing my grandads garden so can't concentrate due to painkillers
MSmits: a disc?
Astrobytes: Lower back issue
MSmits: oh, crap
Uljahn: first number is the number of ints in input, then sum the rest and multiply by one of those ints
Astrobytes: Yeah, pretty crap
MSmits: this goes away with rest though?
Astrobytes: Yeahhh, rest when really bad but have to keep moving, hence the painkillers
MSmits: ah yeah
Astrobytes: I'll live, had it before
MSmits: have to be extra careful because hospitals arent much help now
Astrobytes: Don't worry, I'm not remotely near hospitalisation :D
Astrobytes: Just f'ing painful!
MSmits: ahh ok, well that sucks
Astrobytes: Anyway. Quite like the tulips and daisies multi idea, another weird TTT variant
Astrobytes: But makes sense.
struct: Looks hard
MSmits: is it TTT though? It seems a bit like STC
MSmits: whole areas being cleared
Astrobytes: Bit of both
struct: Way harder than STC
MSmits: why is it harder?
struct: more moves
Astrobytes: Areas are only cleared if they meet the 4+ in a row criteria
MadKnight: hey hey struct have u found Snef ?
Astrobytes: So if you got 4 up, 4 across and 2 on diagonal you only clear the up and across
struct: yes, but I will talk with him later
MSmits: oh ok, so multiple 4 in a row at once, but nothing else
Astrobytes: More gold for more in a row, fibonacci-based scoring
MSmits: zombie based?
struct: Arent adjacent cleared aswell?
struct: "if the number of adjacent flowers in this direction is larger or equal to 4, all adjacent flowers in this direction are harvested."
Astrobytes: Yes struct, I think I explained that
Astrobytes: 4+ going right, 4+ going up, both cleared
Astrobytes: If there are 2 in say the top right diagonal, they are not cleared, only the one that is shared with the others
struct: ok, I understood the rules wrong
struct: I was thinking it would also clear the neighbors
struct: Like it clears stones on STC
Astrobytes: only if they form a line of 4+ in each cardinal
Astrobytes: *not cardinal, ordinal
VincentBab: hey thank you MSmits i finally got to legend ;)
MSmits: yay! grats
Astrobytes: gz Vincent
darkhorse64: MSmits: don't know if it's really meaningfull. Anyway, I got 200k per 50ms
MSmits: is that root visits>
MSmits: ah ok, i meant full rollouts
MSmits: but yeah it is hard to compare
MSmits: i dont have a simulation now and a really simple eval. I get somewhere between 200 and 350k root visits
MSmits: full rollouts about 30-50k
MSmits: trying to get transpositions working now. It times out sometimes
darkhorse64: I do not have full rollouts and the way I expand is also peculiar. Let'say I eval 200k positions
MSmits: ah ok, it's not that far from what I have, so thats good
struct: MSmit Ill try send you csb code tomorrow, ill comment some stuff so its easier to understand
MSmits: thats great struct
MSmits: darkhorse64 I am measuring how often transpositions occur
MSmits: they occur a lot
MSmits: if i just record states and dont do anything else (so i dont link them) and then count how often I have a repeated state, then 40% of states during the game are repeated
MSmits: but of course that varies
MSmits: this is huge, by comparison: UTTT has 0,1 - 0,2%
MSmits: so I will for sure use them. Just have to make this stop timing out :)
darkhorse64: Interesting statistics. This validates your tiny board
darkhorse64: The leaderboard is on fire. Just when I wanted to get a break between two contests
Astrobytes: still AVX-Smitsi'ing your CSB struct?
struct: I havent started yet
struct: I stoppped once i ifinished the sim
Astrobytes: Oh OK
MSmits: darkhorse64 I am not trying to draw you back into onitama, just picking your brain, dont feel pushed :)
MSmits: you need something dramatic to beat karlis o anyway
emigr2k1: YO HELLO HOW ARE OYU GUYS
darkhorse64: I was 2nd this morning, now 5th
MSmits: yes but this is random I think
emigr2k1: why you ignore me
MSmits: hi emigr2k1 :P
Astrobytes: HI emigr2k1 HOW ARE YOU
Astrobytes: Alright, gn everyone, damn painkillers making me sleepy
MSmits: gn Astrobytes
struct: GA or Smitsimax
struct: There was a time that Minimax was used
struct: now top is dominated by NN
emigr2k1: I was using rust for coc but it's very annoying. Right now I'm trying ruby even though I'm not familiar with the language. Should I use another language like python?
struct: Just choose one that you are familiar with
emigr2k1: I only use rust
struct: rust and python are good choices
struct: There are differences from Rust on IDE and on Arena
struct: arena runs on release
struct: ide doesnt
cegprakash: is there a good seed to use?
cegprakash: or can I use 42?
cegprakash: in my srand
cegprakash: oh no
cegprakash: the ladder is cruel
cegprakash: in my final 40 games out off the 100 games I lost only 3 games
cegprakash: means my bot is so strong against top guys
AntiSquid: so did you promote ??
cegprakash: that's why ladder cruel
cegprakash: may be unlucky submit
cegprakash: I am right now very scared of enemy mines and that's forcing me to use a lot of surfaces
cegprakash: is this okay for a silver b ot?
cegprakash: I mean to get to gold
YannT: shouldn't need to even worry about mines in silver
YannT: silver boss doesn't avoid them, as long as you lay and detonate mines you should promote easy
cegprakash: no there are a lot of bunch of bots that use mines in silver
cegprakash: without adding mines tracking it's tough to even get into top 50
YannT: in silver?
cegprakash: there are 545 bots in silver now
cegprakash: and about 100 bots use mines
YannT: I think I only did mine tracking/laying in gold
YannT: but it was maybe a different beast during the contest
cegprakash: I have a solid win rate on cgstats > 65%
YannT: still I saw the silver boss, iit has no mine avoidance
YannT: should be easy enough
cegprakash: but my rank is not climbing
cegprakash: should I remove my mine avoidance too? I get scared of mines and get into trouble myself
YannT: I would say so
YannT: focus on pathing, torpedo and laying/triggering mines
YannT: it really should be enough
YannT: again, the silver boss doesn't avoid them
cegprakash: mm.. my submission is at 46%.. If I don't promote I resubmit without mine detection
YannT: hang on I'll watch your replays
icecream17: Wow. I got pushed from 75th and 22nd in Ooc
cegprakash: improved or decreased?
cegprakash: ppl pushed you up?
YannT: cegprakash: few pointers: you are too liberal with your torpedoes, me more sure before you fire, same with your mines, and also, you don't lay enough mines
AntiSquid: if you have overall decent bot you should be able to promote
cegprakash: replay link?
YannT: less silence, more mines, torpedo/trigger when more sure you'll hit somethiing :)
cegprakash: I can explain
YannT: I watched a few
cegprakash: I'm very liberal with mine trigger agreed
cegprakash: but torpedo I'm not liberal at all
YannT: you have an iinsane miss rate with your torpedoes too
YannT: it's actually not good
cegprakash: oh yes
YannT: my final bot has like a 90% requirement to consider firing
YannT: I'll miss like once iin a blue moon
cegprakash: I see I reduced my 75% condition to 50%
cegprakash: I'll change it back to 75%
cegprakash: and see what happens
YannT: my condition was "you hit every ennemy position except one"
YannT: for mine & torpedo
cegprakash: that's too greedy :O
YannT: less torpedo and less silence = more charges for mining
YannT: = easy gold :)
YannT: you don't gain anything by missing a torpedoo, in fact you lose stealth and charges
YannT: it's actually reallly bad
YannT: same for missing triggers btw, but in gold that shouldn't be a factor
YannT: I went from silver to legend with a 100% torpedo requirement actually
cegprakash: this means ur tracking so so perfect
YannT: I only relaxed it in legend because ennemy bots maximize properly their stealth and value having an outlyer position
cegprakash: I have loopholes in my tracking
like when I use both torpedo and a trigger, I do not know which one hit the enemy so I ignore those turns
YannT: ah, you could consider both blast zones though
cegprakash: also when me and opponent uses torpedo in same turn, it's difficult for me to track enemy life because he sometimes self damages
YannT: just remove positions that aren't in either instead of none?
blasterpoard: having tracking without bugs is strictly required in OoC
YannT: I made an executive decision to ignore self damage actually
YannT: it's an approximation, but was never really a problem
cegprakash: if opponent does a self damage that can screw ur prediction bad
cegprakash: and cost a game
YannT: oh yeah
YannT: happens once in every 1000 game
cegprakash: but it seems to be worth it? :O oh
YannT: typically bots will only self damage for finisher moves
YannT: that's been my experience anyway
YannT: it is actually bad for a bot to fire a self damage torpedo, because of retaliation the next turn
YannT: so they don't do it
YannT: torpedo is a tradeoff between giving away your position and doing damage... self damage make that tradeoff bad in nearly every situation
Nerchio: if you do a damage map you can avoid most problems with damage calculation
cegprakash: yeah damage map would be my next addition if this can't promote me
YannT: I made an actual decision to assume that bots don't self damage
cegprakash: I resubmitted assuming bots never self damage
cegprakash: lets see
YannT: allows me to exclude more positions and is true 99.9% of the time
YannT: in 0.01% of the time, that's a guaranteed loss, but it doesn't matter :)
wlesavo: i liked pbs approach with double tracker
YannT: oh yeah!
YannT: wish I thought of that actually
YannT: so many assumptions I didn't wanna make because too risky :(
cegprakash: https://www.codingame.com/share-replay/454091187 the problem with this strat YannT
YannT: no self damage is the only one I actually allowed
cegprakash: I lose to someone who only uses silence
YannT: you detonate mines too liberally I told you
YannT: just mine the fuck out of everything
YannT: chain silence doesn't work
YannT: they will be detected
blasterpoard: if your tracking was good, you'd find him
YannT: and you'll have mines everywhere
cegprakash: alright I go harsh with my mines lets see what happens
cegprakash: like I used to place mines anywhere.. but now I only place it where I suspect enemy can be
YannT: that's bad, you use mines to claim territory
YannT: either he goes on them and gets exploded, or he doesn't and he'll lose by surface
cegprakash: capture territory?
YannT: watch some legend replays ;)
cegprakash: my bot is suffering after removing self damage
cegprakash: may be many silver bots still do self damage?
cegprakash: https://www.codingame.com/share-replay/454093175 like the boss at turn 203
cegprakash: because of that I get into 0 enemy possibilities
cegprakash: and lose the game from there
cegprakash: 0 enemy positions*
cegprakash: I have a code to reset the enemy map when possibilities to 1 for work around.. may be I can add that
cegprakash: I have it commented
MadKnight: hey cegprakash
MadKnight: how's it going ?
MadKnight: your bot
cegprakash: mine stuck in top silver MadKnight
MadKnight: An error occurred (#UNAUTHORIZED): "You must be the owner to share this replay". Please contact codersHS@codingame.com
MadKnight: stop playing in weird link cegprakash
MadKnight: what's your current IDE link ?
cegprakash: YannT do u use surface + silence to move away from enemy?
YannT: surface to avoid mines
MadKnight: cegprakash why is your replay link broken? fix it
YannT: siilence to avoid mines & enemy
YannT: both is overkiill
cegprakash: 1 sec MadKnight
MadKnight: still broken
MadKnight: what's your current IDE address cegprakash ?
cegprakash: IDE address?
MadKnight: page address
MadKnight: and u play vs boss ?
MadKnight: so why am i getting "You must be the owner to share this replay"
MadKnight: fix your replays cegprakash
cegprakash: I give u from my last battlels
MadKnight: works now
icecream17: Amazing! You place down 1 mine only
cegprakash: I made very strict torpedo like you have (if I can cover all possible points -1 at least) and more mines
cegprakash: looks better
cegprakash: and I am no more scared of enemy mines
cegprakash: hope this promotes me
cegprakash: already top 20 at 18%
cegprakash: leaderboard not updating
cegprakash: some bug?
cegprakash: updated now
cegprakash: stuck at #2
cegprakash: I'll park my bot here
cegprakash: I resubmit with a small improvement
cegprakash: lets see
icecream17: Huh. It looks like the French flag kinda blends in in the leaderboard
icecream17: 12% progress. 9th place =O
icecream17: 27% progress 7th place Ah, im stuck.
icecream17: 4th place. Interestingly I win all the games against the boss. Probably push people up.
icecream17: 5 wins against boss. 100th game lost. come on!
icecream17: Sigh 5 - 1 is still really good. gn
MostComplicatedUsername: Nice next contest in only 14 days!