Chat:World/2021-03-04
RGAM: Is there an option to always share your clash code automatically?
Binary_Sky: I did find an option for that in the settings but it still asks me if i want to share but ive asked ather people and they said it automaticly shares mines
FlyHead: has anyone ever experienced a test case being wrong? i mean, i know it sounds dumb, i usually blame myself for incorrectness...
FlyHead: this time i figured it out... it's kind've a trick question... *falls on sword*
AeQ: i don't understand why these bot programming challenges have a 'neural network' tag on them... how can we train a neural network if we have to depend on codingame to run the iterations for us?
reCurse: There are quite a few neural network bots around
jacek: and you train the neural network locally, offline. there is no data leaked for bots between games
Menox: Is codingame loading slowly just for me or is it server sided?
Menox: I checked speedtest and I have 226mbps download so it shouldn't be caused by my internet
baguettes: 226 mbps?
derjack: it works fine for meh
Menox: yup 226
Menox: megabits
baguettes: Bits?
baguettes: Lmao
baguettes: I thought you meant btyes
baguettes: bytes*
baguettes: or you were serious
Menox: yes bits
Menox: I'm from Slovakia so there's no change I have 220MB download lol
Menox: *chance
derjack: and net speed is usually shown in bits
Menox: zeah
Menox: yeah
tutubalin: and one of the reason for that is that network byte is actually 10 bits
RustySconeOfWisdom_ea0e: hello
meme3: hi every one
derjack: ohai
AntiSquid: o gozaymasu
Raph_Hax0r: CodingGame is being very slow for me :/
BlaiseEbuth: Erf... Automaton2000 pedal faster !
Automaton2000: well i wanted to do some easy puzzles
BlaiseEbuth: You're the only one spending your work-time on codingame !
BlaiseEbuth: Shame !
Yasser: xD
JLukeSkywalker: im spending work time here too
JLukeSkywalker: its 'training'
AntiSquid: tric
AntiSquid: trictrac ?
Devil_Java: where are you from?
BlaiseEbuth: My living room.
BlaiseEbuth: For now.
AntiSquid: there's a bug in your game @_@ trictrac
BlaiseEbuth: Lel, classic
AntiSquid: are you saying there isn't ?
KelvinAndHubbles: theres a bug in every game
AntiSquid: he is not offline, how do i chase him down @_@
Astrobytes: He's most likely working, so forum. Also he'll see the ping here when he's free.
AntiSquid: this is urgent !
BlaiseEbuth: :scream: call the lv3 desk immediately !
AntiSquid: 5
AntiSquid: level 5
Astrobytes: Out of interest, what's the bug? Are you losing? :P (j/k)
AntiSquid: bugs can cause one to lose when they shouldn't
AntiSquid: didn't check if the bug alone would make a difference, but it's annoying
darkhorse64: You got a new game before the current deck is exhausted and while there are errors remaining ?
AntiSquid: assumptions ?
darkhorse64: I believe that I have seen it once but it was very late and I did not kept the replay
darkhorse64: keep
AntiSquid: wouldn't be rank so high with that bug, not now not earlier
AntiSquid: and talking about a different bug
AntiSquid: but need to see what tric says
jacek: who approved that ~
BlaiseEbuth: Nobody approved your ~
AntiSquid: one would say they exploit the bug if they weren't so low ranked, right Automaton2000 ?
Automaton2000: that's what i see in the morning
Wontonimo: the sun never sets on Automaton2000
Automaton2000: i should probably start with a simple heuristic
AntiSquid: or maybe i should exploit it? then it gets fixed sooner ?
darkhorse64: The westicles way ?
AntiSquid: yes
jacek: oh my
AntiSquid: why is an approver still in wood2 ? i take offence
darkhorse64: double hulk in fireworks !!
BlaiseEbuth: Exploiting bugs is an attempt to their dignity and fundamental rights.
AntiSquid: it's freedom of expression and speech
**BlaiseEbuth will not answer and just directly check the reaching of the Godwin point. :ballot_box_with_check:
Wontonimo: bugs are just features that are misunderstood. Use that feature for its full potential
BlaiseEbuth: If you want to be rich, don't sell features. Sell bugs and the patchs.
darkhorse64: Use the feature and get #1
Astrobytes: *undocumented features
AntiSquid: trying bug avoidance first
BlaiseEbuth: HCF!
AntiSquid: not very good, maybe bug exploit is best
AntiSquid: maybe some of the top 3-4 already use it
BlaiseEbuth: Poor poor bugs... :(
darkhorse64: Not me or unconsciouly
darkhorse64: unconsciously
darkhorse64: hard to say, hard to type
AntiSquid: it's ok, adding to my TODO list, still only half way done with this bot @_@
jacek: oO
BlaiseEbuth: Oo
AntiSquid: it's that time when i need a rewrite and i simply say no
darkhorse64: OO
Andrew-H: oo
darkhorse64: :nerd:
Notgoodatcoding5: o-o
darkhorse64: 0-0-0
deoignition: Php >>> Html >>> Python >>> ASM >>> Java >>> JavaScript
MSmits: hey darkhorse64 did you avx clobber already?
MSmits: this seems to be my move generation, barring any possible bugs:
MSmits: uint64_t rightMoves = (pB << 1) & oppB & NOT_RIGHT_EDGE; uint64_t leftMoves = (pB >> 1) & oppB & NOT_LEFT_EDGE; uint64_t upMoves = (pB << 8) & oppB; uint64_t downMoves = (pB >> 8) & oppB;
MSmits: bah wheres autopastebin when you need it
darkhorse64: Only when counting the number of moves
MSmits: seems so simple
MSmits: barely worth doing avx for
MSmits: why not, for random rollout, just do a rnd 0-3 and pick a direction
darkhorse64: But it does not improve performance
MSmits: then just generate for that direction
BlaiseEbuth: Why do you shift emojis ?
MSmits: it's a pro tactic BlaiseEbuth
BlaiseEbuth: :o
MSmits: get a bit more experience and i will explain
darkhorse64: In the end, all directions are not available
MSmits: yes, but you can solve that by keeping a list of numbers 0-3 and just reduce that
MSmits: until it hits one that works
MSmits: i think i did that for bandas
MSmits: not sure what for
MSmits: in any case simd seems overkill here
darkhorse64: for bandas, all moves are always valid
MSmits: ohh right i remember now
MSmits: it was oware
MSmits: when i still had random rollout
MSmits: some moves are invalid
MSmits: because they dont leave moves for opponent
MSmits: you dont know until you try
MSmits: anyways, i dont think i will bother with avx here, unless i can later use it for some math stuff
MSmits: the math stuff will go in expansion phase I think. You can prune some moves and solve some games early I think
darkhorse64: rn, my clobber bot has a low sim count 26K. Move gen is slow. I translate my masks into start,end pairs
MSmits: mmh why not do the movegeneration in 4 phases, then iterate over your move origin uint64_t with _builtin_ctzl
MSmits: you know the shift direction then
MSmits: it's a constant within 1 phase
MSmits: doing the right moves, it's all << 1 so the move will be "origin bit + 1"
MSmits: then for down moves it's << 8 and bit index + 8
MSmits: it might still be slow, especially early game because you'll be making 100+ children
darkhorse64: Yes, you did that for bt. I have reused generic code where the MCTS does not know anything from the game
MSmits: ah right i shared that.
MSmits: yeah you tend to use generic. I rewrite a lot for each bot, doing things differently each time
MSmits: it has up and down sides
darkhorse64: Sometimes abstraction really gets in your way but it allows for a quick'n dirty bot
MSmits: yeah that it does
MSmits: are you willing to dive into the math for this game?
MSmits: I really think it will be the difference between top x and the players below that
MSmits: it is in D&B
KelvinAndHubbles: is there a difference between Tron bot wood and bronze league? Thought the multiopponents was gonna be introduced, might just have to wait to leauge up
MSmits: not sure when that happens KelvinAndHubbles
darkhorse64: I should really write a boss for Clobber but I am stuck on Fireworks. For Clobber, the meta seems to count isolated islands, solve them with tables if possible. Tbh, I did the bot for happy few.
MSmits: happy few?
MSmits: is this a team i am not aware of
MSmits: good teamname
darkhorse64: You already are in the team
MSmits: oo
MSmits: The Happy Few
jacek: oh my
MSmits: not sure you're happy enough jacek
MSmits: but we'll take derjack
darkhorse64: The guys really dedicated to searching
MSmits: ahh ok
Scarfield: did you find what you have been looking for then?
MSmits: who has been looking for what?
Scarfield: "dedicated to searching"
darkhorse64: What matters in not finding but searching
MSmits: yes, it's the journey, not the destination
jacek: thats why we love cycles
MSmits: hey jacek, did you get nr 1 at othello because of the randomness of your bot and old johns counterbooking?
darkhorse64: Writing my second multi really taught all I have been doing wrong for the first, even the bot itself
jacek: MSmits huh? i havent touched othello in some time
jacek: also, clobber and endgames https://project.dke.maastrichtuniversity.nl/games/files/msc/Claessen_thesis.pdf
MSmits: I think old john counterbooked re curse and therefore pushed you to 1
MSmits: you're almost impossible to counterbook because of the random bot
MSmits: well... it's doable, i did it but its not fun
MSmits: yeah i have that paper
darkhorse64: ^
MSmits: it has a lot of useful information, but not easy to understand
jacek: did you pay for it
MSmits: just like the D&B papers
MSmits: no, i just did that once :P
MSmits: and it was a crap paper
jacek: in clobber you still can have not crappy generic mcts bot
jacek: in d&b its more like all or nothing
MSmits: yes the math is more important in D&B
MSmits: but thats because there are otherwise no features to eval
MSmits: all the features come from the math
MSmits: Clobber has some stuff you can eval
MSmits: and it makes sense to random playout, it will converge to more favorable positions
MSmits: this is because in clobber, you each have your own pieces
MSmits: in D&B there are just lines that dont belong to anyone
jacek: like some other certain game :thinking:
MSmits: :notepad_spiral: :soccer:
MSmits: you still have a goal though
MSmits: so it's a partisan game
MSmits: like clobber
MSmits: D&B is not partisan
MSmits: there's nothing about the board that is different for either player. The only difference is whos turn it is and how many points each player has
MSmits: and the points have no effect on what the best move is, you can use a scoreless state
MSmits: so it's basically just... who's turn it is. That's all you can eval
KelvinAndHubbles: Any tips when you're #1 only right behind the boss in a league? Just keep versing him and try to improve your code?
MSmits: counter the boss specifically
jacek: spam submit, exhaust him
MSmits: if you get 50+% winrate
MSmits: then spam submit
MSmits: every player that beats you will get promoted
VIgoroth34: are there any programs that help people learn c# on here?
MSmits: this site is mostly for practice
jacek: woah, chessfield advanced to league
MSmits: it gives you incentive to google stuff
KelvinAndHubbles: fair enough, me fighting him is pretty 50 50 with the boss
MSmits: make it a little better
MSmits: and you're golden
MSmits: also there might be a p1 advantage
MSmits: so if you're 50-50 as p1, you might be 40-60 as p2
MSmits: then you're actually weaker
MSmits: if you get 50% WR as p1 in uttt, you're actually much weaker4
Scarfield: "woah" a little too surprised i think :p
MSmits: maybe it was a sarcastic woah
MSmits: jacek does a lot of sarcasm, so take it as a compliment
jacek: do I?
Scarfield: xD
MSmits: don't you?
UnnamedCodinGamer: MSmits, nice idea with the direction picking in clobber
MSmits: maybe I need to review all your messages and reprocess them
Scarfield: but i insist on being offended:smiling_imp:
jacek: :no_mouth:
MSmits: UnnamedCodinGamer cool, i will need to finish a bot and try it out myself
UnnamedCodinGamer: I was wondering how to optmize that
MSmits: well the most expensive part there, is the expansion phase itself, creating all the child nodes
jacek: i always generate via loop from square
MSmits: what do you mean from square?
Scarfield: have you improved you chess jachess? not checking if king in check every move and so on?
shubh-assasinzzz: how to be king in python
jacek: MSmits while (board) index = ctz(board) then xor
Scarfield: not king boa?
MSmits: ah yes, thats what i do, but for clobber i would do this 4 times
MSmits: 1 for each dir
MSmits: to be python king, one must study tiger king
jacek: Scarfield yeah, made some lookup tables. and also, my isOver() function was expensive because first i generated list of all legal moves and then checked if the list is empty
Scarfield: lol "Boa constrictor" is "king boa" directly translated from my lang
MSmits: :tiger: :crown:
MSmits: jacek, fastest would be to do create the 4x uint64_t origin boards and then or them together like a | b | c | d and then check == 0 ?
jacek: im talking chess
MSmits: oh ok
jacek: for clobber i do origin board 4fill
jacek: and check with opponents
jacek: &
MSmits: right
MSmits: it's really one of the easiest games i've seen to do move generation and move application
MSmits: dont think any other is easier
Scarfield: kewl, messed some more with my eval today and ranked up with just 1 ply eval, so it works fairly well i suppose. Next up is minmax and a number of improvements i havent tried before :)
jacek: not even 2 ply search?
jacek: MSmits amazons are also easy
Scarfield: not yet, was playing around with my eval
MSmits: with amazons you need to shoot... you get thousands of moves
MSmits: seems more complicated
MSmits: uttt is easier
jacek: well there are many moves, but bitboarding is easy
MSmits: sure thats true
MSmits: bandas/oware are hard
Scarfield: its likely way too expensive when i start to search, but thats a future problem for future me
MSmits: I am too afraid to try chess
MSmits: seems hard
jacek: many edge cases, and castling
MSmits: yeah
kovi: im also afraid to start it
Scarfield: its already the longest "bot" i have written, and no search yet xD
MSmits: the complexity is ridiculous compared to the other board games
kovi: and the knowledgebase
MSmits: checkers already feels much more complex than the other ones, but this is exponentially harder
Scarfield: yea, but its easier to see if your bot is playing well or not
MSmits: true
jacek: im very meh at chess
Scarfield: to some extent of course, my chess game is not exactly GM lvl
MSmits: I'm mediocre. Can do a solid 1400 I think
MSmits: if i had more opening knowledge i could probably get higher
jacek: mhm
Scarfield: just london all the way
MSmits: when i play chess however... i keep thinking, why am I playing this game? I should code a bot for it
MSmits: the fact that it requires you to memorize openings is even worse, as i have 5 meta mcts running in the background while playing chess :P
jacek: good luck with meta for chess960
Scarfield: the fischer random part is great, im not sure i would have tried if it was normal chess
MSmits: yeah thankfully meta is not an option
MSmits: well it would actually be possible if not for codesize limits
kovi: not exact moves, but still opening strat
MSmits: also exact moves, it's just a matter of calculation time and storage
MSmits: but it wont fit in CG limits
kovi: fortunately
MSmits: ye
MSmits: also the game is much harder to write a bot for, meta mcts is not an i-win button. Without a strong bot, your meta mcts will suck
jacek: without good ending, bot sucks
jacek: just goes around
MSmits: ah yeah. Worse than checkers?
jacek: too soon to say
MSmits: you could for sure add a rook-king mate algorithm
jacek: not my bot but i had games when i had bare kings and other got 7 pieces and he couldnt checkmate
MSmits: some mate algos are easy
MSmits: but there's so many combinations that you would need a lot of code
Kellthazar: Hello, Im trying to code a simulator for the mars3 puzzle problem, but it's seems that my physics "engine" does not match with the CG's one.
Kellthazar: Initial position: X=6500m, Y=2600m
MSmits: someone have the referee for it?
Kellthazar: After applying the "15 3" command (15 degree angle, and power of 3), the coding game new position for the shuttle is x: 6480, y: 2599
MSmits: you might have the order wrong
Scarfield: the acceleration for mars lander is applied continuously, not by just adding the acc vector
Kellthazar: On my simulation is {"x":6480,"y":2597}
MSmits: changing the angle, applying the force etd.
Kellthazar: Hmmm
MSmits: what does that mean Scarfield?
MSmits: continuously/
MSmits: (in this context)
jacek: youre physician and you dont know
MSmits: thats why i added that last line :p
MSmits: I knew you were here
MSmits: i'm also not a physician
jacek: he doesnt answer. he may be too discreet
Scarfield: xD
Astrobytes: Smits MD
Kellthazar: So, on my algo, I applied the gravity force to the velocity vector.
MSmits: :)
Kellthazar: after i added the thrust vector
MSmits: try different orders, see if one of them matches
Kellthazar: Hmmm.. I will do that, thanks :)
darkhorse64: p = 0.5 (v+previous_v)
MSmits: there's usually a referee available
MSmits: not in this case i guess
darkhorse64: Sorry p += 0.5*(v+previous_v)
Kellthazar: why 0.5?
MSmits: you never said what p is, so it was fine
MSmits: average
MSmits: because i guess that is what Scarfield meant by continous
Kellthazar: v is the velocity?
darkhorse64: p = position, v = speed, all are floats
Scarfield: yes
Kellthazar: oh
Scarfield: i thought you were joking smitsi
MSmits: no, it just didnt fit my definition of continuous
MSmits: but i see what you mean
Scarfield: isnt that the word for it, as opposed to be discrete
MSmits: i think it's still discrete, but you make a first order correction to the error you get by working with discrete values
MSmits: by taking the average
Astrobytes: Seems legit, yep
darkhorse64: This is my code and it matches exactly ML
MSmits: yeah, thats probably the exact sim they use
MSmits: there's various ways to do this and different physics engines use different methods
darkhorse64: I think I got the relevant information from the forum
MSmits: allright back to clobber. Want to try and finish something today
Astrobytes: Oh you're doing Clobber, good man.
Astrobytes: Doesn't take long to get up and running with it.
Scarfield: no more uttt?
MSmits: doing a long running book experiment with uttt.
Astrobytes: til the next brainwave TicTacToeField
MSmits: right
Astrobytes: :)
MSmits: I'm in between waves
Scarfield: lol
Scarfield: UltiBytes
Astrobytes: heh
Scarfield: figured it out Kellthazar?
Kellthazar: @Scarfield I was afk, I'll try to change now.
Scarfield: http://chat.codingame.com/pastebin/b4f65a45-9ac6-45b1-b758-48a9b312f562
Scarfield: this is the code i used boiled down, might be more obvious :)
RGAM: Is there a way to auto share your clash automatically?
MSmits: your solution you mean?
MSmits: I think there might be, but not sure
Scarfield: you can toggle autoshare CoC solutions somewhere in your profile settings
Scarfield: "Auto publish solutions" in your settings
Scarfield: cleaned my pc ealier and found a part sitting a little loose. blissfull silence :)
RGAM: Scarfield, I did that yesterday, but it still appears the "share code" button.
RGAM: OMG Scarfield! What was this part?
Scarfield: hm no idea then, i havnt clashed in years.
Scarfield: just some empty holder, nothing that shouldnt be loose
Scarfield: hey
NiKala: can i join in two in two clashes at same time?
Scarfield: no idea, but why would you not just do one after the other?
NiKala: i need to wait if i finished one early
jacek: no
jacek: you can join new clash immediately
Kellthazar: Hmmm... I tried the solution proposed by darkhorse64, it's seems more accurate, but still diverge "through" the time.
Kellthazar: http://chat.codingame.com/pastebin/fc687a44-3e7a-4b55-af03-2d030b3dbc27
darkhorse64: Do you apply any truncation to your data ?
Kellthazar: Im using p5js to visualize my solution, so I adjust the coords to print on the canvas, but without change the "original" data, where all the calculation occurs. I'will review all my code to see if there any missing truncation.
Kellthazar: Anyway, thanks for the attention :)
AntiSquid: trictrac Automaton2000 AutomatonNN ? anyone home ?
Automaton2000: you are getting close to top 3
AutomatonNN: ̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤
AntiSquid: i was 2nd !!! Automaton2000
Automaton2000: there's a bunch of stuff
jacek: 2nd? where?
jacek: AutomatonNN is on fire
AntiSquid: fireworks
AutomatonNN: eulerscheZahl is there a way to see a lot of people so far off the contest in the contest, I am stil
jacek: :cry:
AntiSquid: depends who submits basically
AntiSquid: one night of 2nd
AntiSquid: it's ok still have plenty ideas to improve, but doing it on and off
jacek: exploiting bugs eh
AntiSquid: not yet!
AntiSquid: and it's just 1 bug i found
AntiSquid: those i am not aware of don't count
Closetron: hello world!
Tuo: do any of you veterans have tips on version control of files or something for CG? one huge file gets tedious handle and spring challenge is coming :)
AntiSquid: winter is coming
Tuo: winter is here! of w8 its gone
AntiSquid: always next winter to look forward to
AntiSquid: unless we enter a new ice age i guess
trictrac: AntiSquid a question ?
AntiSquid: ya wait i pm better
therealbeef: Tuo you can use multiple files and have a file save hook that cats them together and automatic sync to the IDE
jacek: cats :3
therealbeef: which part of it?
therealbeef: Most IDEs have plugins that let you automatically run a script when you save a file
therealbeef: such a script could concatenate several files into one
therealbeef: there is a browser plugin for CG that syncs a chosen file to the web IDE
therealbeef: if all of that is unfamiliar, i'd start with that sync tool. there's documentation on CG about it
Tuo: ok ty. i will try to get something together
Astrobytes: And scripts for merging files too for a few langs. C++, Java, C# and python, perhaps JS
Astrobytes: On the forum if you search ;)
therealbeef: wouldn't 'cat' work for any language?
Astrobytes: Yeah, but you have aspects of different languages that could be problematic
Astrobytes: just cating a bunch of c++ h and cpp files together isn't generally going to go too wel, for example
Astrobytes: *well
Astrobytes: that's why there's a bunch of different scripts catering to different languages (sorry for delay, was afk)
AntiSquid: https://www.codingame.com/forum/t/community-puzzle-fireworks/189112/13 input required hope people vote in favour of making fuses more useful
AntiSquid: trictrac posted it
Astrobytes: fuses == allowed errors?
AntiSquid: yes
Astrobytes: Gotcha, will take a look tomorrow
jacek: for what should i vote for?
Astrobytes: Well, I'll look now but properly look tomorrow I mean.
AntiSquid: vote Bernie 2020 jacek
trictrac: thanks AntiSquid
AntiSquid: vote for errors to not deduct points jacek
AntiSquid: lol he actually posted it
Astrobytes: Yes, that's a fair point AntiSquid and trictrac
jacek: AntiSquid edited
Astrobytes: Not sure about using 3rd fuse, it's not fatal in the real game right?
AntiSquid: 3rd fuse ends the game
Astrobytes: I reference your point that "But then late game on last round it’s still worth some times to take the risk even on 3rd error"
AntiSquid: but even that is a good play if it's last round ... you risk guessing correct card why not, more points
Astrobytes: Right, cool, gotcha
Astrobytes: Is it worth creating a private contribution (or public, whatever) to test it?
AntiSquid: trictrac's worry is the leagues, he said bad bots get promoted if the rules are too lenient
Astrobytes: Yes, this is true
Tuo: My bot makes risky plays even with penalty
Tuo: you just need to know when its worth it :)
AntiSquid: you don't normally get punished for it and here it's added to promote better teamplay
AntiSquid: if you're against my suggestion mention it in forums or the creator ...
Tuo: i think its a nice mechanic that nobody just uses
AntiSquid: taking risks or screwing teammates over?
Astrobytes: It's an interesting point tbh. My gut is to go with your suggestion AntiSquid but it would have to be in the top league only I think...
AntiSquid: ya asked tric if he wants to open new league :P
AntiSquid: top 5-10 :P
AntiSquid: won't submit till then obviously
Astrobytes: Yeah, that's an option for sure. I still think it should be tested before going live though.
jacek: yeah who approves games without testing :unamused:
Astrobytes: You know AntiSquid, there is a reason that we try to thoroughly test games in the WIP/approval stage that we're interested in :P
Astrobytes: jacek knows nothing about this at all
Astrobytes: Fake news
jacek: about what
AntiSquid: wasn't here or probably too busy
Astrobytes: Exactly
Tuo: the penalty might be too high. my bot only makes 1-3 risky plays per set
Tuo: and it think its pretty close optimal
Astrobytes: AntiSquid it was in WIP/approval for 3+ months :D
AntiSquid: the penalty of 1 point has big impact on where you rank at the end of the game, the entire team for the round gets same score except for your -1
Astrobytes: Yeah, it seems odd to punish for that
AntiSquid: kovi is 0-0-0 penalty wrong? like in the real game?
Astrobytes: Kovi's suggestion is better. 2 might be too much though
AntiSquid: you can test Astrobytes but you might not like the final decision anyway :P
kovi: i don't know the original game
AntiSquid: hanabi is the original game
AntiSquid: well fireworks translated
AntiSquid: you have https://www.cardboardrepublic.com/wp-content/uploads/2013/12/hanabi-fuses.jpg
AntiSquid: and bomb goes off if you make too many mistakes :P
AntiSquid: it's more dramatic with those tiles
Tuo: the my card expected value vs someone elses for using free error mechanic would be interesting
Astrobytes: Hm. Perhaps a Mars Lander sound should have triggered upon the fuse running out :thinking: :P
AntiSquid: :100:
Tuo: as in if i should use the free possible error
kovi: yes, the meta would be even if its not riskly, let other take it with better chance
Astrobytes: FFS this is the conversation we needed in WIP!
AntiSquid: kovi you take the risk of playing a card that might be worth 5 points, if you're wrong you get punished, sure there are situations where it's a bad play and situations where the risk is much appreciated and actually best play
jacek: no time, push it to production on friday night!
Astrobytes: trictrac: how long did you wait for approval?
trictrac: 2 months
Astrobytes: Oh I thought it was 3, my mistake.
Tuo: u need to consider win propability not just card value :)
AntiSquid: honestly i am more motivated to try a game when it's live, i still didn't start chess and the circle game ashketchup posted
jacek: circle game?
AntiSquid: connect 4
Astrobytes: trictrac: you can see clearly here the issues with the approval procedure on CG sometimes ;)
AntiSquid: oh and didn't start triangle one either
jacek: connect triangle?
Astrobytes: connect worlds
jacek: :crying_cat_face:
trictrac: The problem is that we are not enough to test
trictrac: I try to make all multi
AntiSquid: Tuo it's last round we have no 5s left, would you be upset if a player played any card 1/5 chance hitting the 5 ?
trictrac: but is hard work
AntiSquid: wait i mean we have 1 5 left
Astrobytes: Yes, there should be some way of showing users that x or y multi/puzzle is awaiting approval or testing.
Tuo: well with current rules hes just not that smart :)
AntiSquid: multis can always be updated, no biggie, people might be busy can always upgrade visuals and everything
Tuo: w8 last round player proply should know if the card is a 5
AntiSquid: Astrobytes i didn't test this connect 4 version but it might be solvable !! ... just like the other variants out there
AntiSquid: ya they should, but even if not, it's last round ?!
trictrac: Make a proposal for a multi, is an investment. So the community need to answer as fast as possible to this proposal
Astrobytes: Don't think it is AntiSquid, but ask MSmits, he ran meta MCTS on it for some time, he has the stats
Tuo: last round you cant have a 1/5 change of having a 5 :)
AntiSquid: well lower, but still not always 100% sure
AntiSquid: you might not always get the hints you need
AntiSquid: you could have the 1/5 chance if nobody hinted anything since all the plays were in the other hands
Astrobytes: trictrac: It's very difficult for people to find the multis in the swamp that is the Contribution section currently. We have suggested to separate them all into clashes/puzzles/multis/solo/optim but ...
trictrac: you have right, it's hard to find them !!
AntiSquid: ya not to mention people with allergy to coc won't even look there, they might get placed on ventilators otherwise
Astrobytes: I think the only way is to repeatedly talk about it and ask for feedback in chat (discreetly of course)
Tuo: y actually in theory its possible. the points dont realy matter what matters is what results in interisting bot gameplay
Tuo: kovi s suggestion is good. having 3 errors might meke tahe game easier
AntiSquid: i agree with you tuo, well in that regard this is a good game because it promotes more "intuitive" algorithms, so what rules help meet that goal ?
Tuo: problem with easier is that there is a LOT of luck involved so differences in bots are hard to see
trictrac: So the consensus is ?
MSmits: AntiSquid connect4 is definitely solvable, but it just hasn't been done yet afaik.
MSmits: https://tromp.github.io/c4/c4.html
MSmits: we have 9x7
MSmits: so just out of reach for the person on that website
AntiSquid: i don't know about this version, the 7 columns one on gameboardsarena is solved, which is funny
AntiSquid: red always wins
MSmits: yes but 7 columns is wayyyyy easier than 9
AntiSquid: i am guessing a similar strategy will be good
Tuo: i vore for 0,1,2. its keeps the evaluating how good a risky play is in game but allows for more strategies
Astrobytes: trictrac: I'm not going to comment with any weight as my bot is not currently in the arena, but whatever changes are made should not be in the bottom league for sure
AntiSquid: is this version also best to first play middle column MSmits ?
MSmits: no, sec
MSmits: http://chat.codingame.com/pastebin/2608a7e5-1acd-4856-b371-4758d9b0b45c
Astrobytes: AntiSquid, I told you he literally has the stats :D
MSmits: 4 is middle
MSmits: 5,6,7,8 not included due to symmetry
jacek: you need to pump those numbers up
MSmits: the game has steal, so the advantage doesnt matter
MSmits: 1 is best start so far
AntiSquid: but you don't have the solved stats MSmits
Astrobytes: No one said he solved it
jacek: yet
MSmits: no, but it's getting clearer every day. I should eventually solve it
MSmits: not sure if it will take months or years though
MSmits: i dont run the most efficient setup here
Astrobytes: We're here for the long haul anyway right :P
Astrobytes: What! You just upgraded you fool :D
MSmits: basically, a "visit" is a game played, it's usually solved at depth 30-40 or so
MSmits: many nodes go near that depth alreadty
AntiSquid: MSmits your chart says #3 is best start
MSmits: yeah i did upgrade, bu it's just using 1 core
MSmits: yes, but the game has steal optin
MSmits: option
jacek: AntiSquid without a steal
MSmits: so if someone plays 3, it's gonna get stolen
Astrobytes: Fix your core usage MSmits!
AntiSquid: it's not regular connect 4 ?
MSmits: i am also running 4 other games, i like it this way :)
trictrac: Tuo, AntiSquid & Kovi, If I install : 0,-1,-2 I need to remove the 0 point rule for the third mistake
MSmits: AntiSquid yes it is regular connect 4
MSmits: do you know the pie rule?
MSmits: if you played yavalath you know
AntiSquid: he means if he adds the penalty as 0 -1 -2 then the 3rd mistakes won't set your score to 0 anymore
kovi: 0 point rule just meant 2 mistakes. none risks 3rd
AntiSquid: at least we get 0 penalty for first try
MSmits: AntiSquid basically it's like this. Player 1 does a move. Player 2 gets to choose to flip colors or not. If he flips colors, he becomes player 1 basically
MSmits: so player 1 is forced to play a balanced move
AntiSquid: pie rule MSmits ? there's no such rule on gameboardarena and i don't know about the version implemented on CG
AntiSquid: there's also a version where you can rotate the board afaik so ...
MSmits: it's just a general balancing rule used in many games that have unbalanced starts
MSmits: it's not connect4 specific
Astrobytes: Ist 2 to harsh? Or it's balanced enough to work with that (assuming a positive outcome for the risk)?
Astrobytes: *Is not ist, I'm turning German!
MSmits: if you dont use pie-rule in yavalath, the entire game is solved as a win for p1 for example. Easily solved even
MSmits: (takes about an hour)
AntiSquid: astro the current version sets your points to 0, which is harsher :P
Tuo: -2 should mean that u dont play ever
AntiSquid: on 3rd mistake
Astrobytes: Hm, yes. OK.
jacek: pinkie pie rule?
Tuo: need to be 85+% sure that a good card goes
MSmits: our version of connect 4 is actually harder to solve because of pie rule... I need to solve every starting move to solve the entire game
AntiSquid: MSmits ok i understand the idea, but no i didn't encounter this in online board games
MSmits: I read about it being discussed for a connect4 tourney
jacek: not even hex?
MSmits: https://boardgamegeek.com/thread/295726/any-suggestions-making-connect-four-suitable-tourn
AntiSquid: so currently you can wreck the ladder on gameboardarena with a solver
MSmits: they discuss it here as one of the options
AntiSquid: maybe it's an option when you host a game
MSmits: yeah but whats the point, you can do the same in chess with an engine
MSmits: or any boardgame
MSmits: you dont need to solve it to beat human players
MSmits: if we play uttt together online, i can just run a bot to give me moves
AntiSquid: well my initial question was regarding the CG version
as for what's the point exploiting games?
MSmits: it's just a form of cheating is all
MSmits: in a friendly competition environment people wont do it. On a massive free for all website of course they will
AntiSquid: you were talking about the pie rule, i don't see it there, i see how it can be useful though
MSmits: oh ok yes
MSmits: it's an easy fix for imbalance
MSmits: however, it does need the existence of at least 1 balanced move
MSmits: it would make uttt a lot better too i think
AntiSquid: even without a bot, you will eventually memorize the meta
Tuo: trictracc 4th mistake is the 0 points one right?
MSmits: well part of it at least yeah. I think connect 4 is simple enough that the game will get boring for experts fairly quickly
AntiSquid: just look up any chess grandmaster explaining and naming any opening and opening variation, every tiny move seems to have it's own name, it's crazy
MSmits: I know, i watched some YT channels for a few weeks
MSmits: chess channels
MSmits: agadmator :)
AntiSquid: now i have to check if magnus is still world champ
MSmits: think so
jacek: yes
MSmits: in regular chess anyway
MSmits: not speed i think
MSmits: there's 1 better
AntiSquid: 2013 until present
jacek: meth chess?
MSmits: ye
MSmits: they're all dosed up and then they play
trictrac: Tuo yes it's the 4 you have right
trictrac: and I keep this rule
Astrobytes: cheth jacek
Astrobytes: MSmits: where is your Clobber bot
MSmits: still working on move generation
jacek: ezpz
MSmits: ye i got some bug
Astrobytes: It's not that bloody hard
MSmits: it counts them right, it's 104 at start right?
Astrobytes: 112
jacek: 112
MSmits: meh, then it doesnt count them right either :p
Astrobytes: check for a shift operator roudn the wrong way. I totally did that
Astrobytes: *round
MSmits: probably
jacek: or wall masks
MSmits: got those
MSmits: but they might have bugs
Astrobytes: Yeah, check if they're roudn the right way though!
MSmits: btw, i was just afk for 2 hrs, so i basically have 1 hr into this bot, gimme some time :)
Kellthazar: darkhorse64, I think that I fixed my code thanks to your tip. :D
Astrobytes: Excuses, excuses :D
MSmits: but they're not even round
MSmits: are you sure you werent shifting with parentheses?
AntiSquid: there are 4 fuses, but the 4th tile shows you the explosion trictrac
Astrobytes: :grin:
AntiSquid: still better than having 0 points for using 3rd error i guess
AntiSquid: Once you hit error 3, you lose. In the real game. But sure whatever, let's have a 4th. :P
AntiSquid: MSmits is that your best bot version on connect 4? just curious to check the current meta
MSmits: well it has a book based off 1.5 M visits and i currently have over 2.0M. But even without book it should be the best bot.
MSmits: it took me half a day to code more or less
Astrobytes: Don't be so naive, 'best bot' hasn't been created yet, it's always a few weeks in the future :P
MSmits: yes, i mean live bot :)
MSmits: if you want to know the meta AntiSquid
MSmits: it's mcts with rollouts
MSmits: no early termination and eval, just rollouts, like uttt
MSmits: but they're a little smarter, my bot doesnt give away wins on next turn
jacek: mine is jacekmax + n-tuples
Astrobytes: And - don't forget to connect 4
MSmits: my bot never connects 4 in rollouts
jacek: should make more memes for connect4
AntiSquid: https://www.codingame.com/share-replay/531327807 this is still played a little bit like in the 7 col variant, you start on 1 but then you both build up on mid row
jacek: i believe in high level play its a stackfest in the beginning
Astrobytes: well you saw the stats
AntiSquid: maybe it's because of the pie rule ?
MSmits: goes off book on frame 0
MSmits: 10
MSmits: so everything before that is scripted (my first 5 moves)
MSmits: yeah pie rule might have that effect
MSmits: i'll show principal variation for mid game start, sec
MSmits: mid col
MSmits: http://chat.codingame.com/pastebin/83b29d32-8cc3-432a-9733-6ace31962012
AntiSquid: i bet it's still be something like mid col: red->blue->red->blue all the way to the top up until there's one slot left open, then it branches out a lot, even for this variant
MSmits: I think 3 start has something like that
MSmits: oh this was 3
MSmits: mid col is weird
MSmits: http://chat.codingame.com/pastebin/6dc445f3-d053-46e5-abcf-bdbfd43b3392
MSmits: for the full info:
MSmits: http://chat.codingame.com/pastebin/7240eb31-f311-445a-a86c-c782f8129490
MSmits: see how most moves are solved already?
AntiSquid: ok and after that part i be it builds up around the edges and tries to trap you with some fancy diagonals
AntiSquid: i bet *
MSmits: maybe, i did not dive too far into the tactics
MSmits: personally, I am just interested in seeing if i can solve this thing
AntiSquid: i looked a bit at theory too
MSmits: is this size specific?
MSmits: or more general?
AntiSquid: no idea how much it applies to this version when solved, but mid col start is red win and the tiles next to mid are draws so i am surprised you start with index 1
MSmits: if you look here: https://tromp.github.io/c4/c4.html
MSmits: the smaller sizes have draws as overall wins
MSmits: then they disappear for larger sizes
MSmits: as overall results i mean
MSmits: so basically, if we had 7x6 here with steal, it would be solved as a draw
MSmits: because people would open with next-to-mid
MSmits: draws seem to be super rare with 9x7
MSmits: might be that all starting moves go one way or the other, but from meta mcts, winrate seems pretty close to 50% for move 1
AntiSquid: that guy doesn't show any results for 9x7
MSmits: no which is why the size was upped to 9x7 in contribution
MSmits: to not make it too easy to solve
AntiSquid: amazing, it had good approvers :P
MSmits: yeah we took it seriously :)
MSmits: first time i approved anything
Astrobytes: And that was up for a whiiiiile
MSmits: yea
MSmits: the guy really wanted to make it good
MSmits: he spent time writing a bot too
Astrobytes: Waiting on Ash doing his boss for the most part in the end I think. And yeah, he really listended
AntiSquid: i completely missed the connect 4 WIP phase, didn't notice it before it published
Astrobytes: *listened
MSmits: btw, i don't think it's going to be the most interesting game and eventually there will be perfect playing bots on there, but thats ok with me, we should have a connect4 game as it's a classic
MSmits: plenty of other games for the die hard competition
Astrobytes: Yeah, I don't mind solved games or whatever, even really really easy ones for practice, just wish there was a category for basic/practice multis.
MSmits: yeah that would be better
jacek: if you dont care about rank, you can always experiment with different approach for the game and see how far it can go
Astrobytes: Good for testing algorithms, optimisations thereof, bitboarding etc
AntiSquid: MSmits i am looking at the pattern on the site you linked there's + for odd number of rows, i am guessing 1st player at advantage without pie rule! :P
MSmits: yeah, like Patrick with his php bots :)
MSmits: AntiSquid thats very likely from looking at my results
Astrobytes: hehe yeah, I really wish he would use C though, Patrick would be a beast
MSmits: I dont doubt it
MSmits: i think he filled his entire codesize with lookups for his uttt php bot
MSmits: dedication
Astrobytes: jacek: yeah, hence our alt accounts
jacek: your alt accounts*
Astrobytes: jacek: I have only one, you have only one as far as I am aware
MSmits: I have one too now, CG made me create it because my account went dead
AntiSquid: i thought we don't talk about those because they're not allowed? pretend they are the evil step brother of the neighbour playing from your basement or something
MSmits: it's just uttt bronze
Astrobytes: ah innoble
MSmits: ye
Astrobytes: Mines states it does not compete in the description, and says it's my testing account
MSmits: I should add a description too
MSmits: but it's not going to go beyond bronze anywhere anyway
MSmits: I guess for community things thats diffeent with the wood leagues
MSmits: mmh
AntiSquid: description : "i made this account to gave troll hints in co-op games to force a fix"
AntiSquid: give *
Astrobytes: It can go anywhere MSmits. Just deactivate it when it's not in use (submit broken code)
MSmits: ah yeah
MSmits: I'll try to just not submit if it isnt necessary
MSmits: some games have just 1 league
Astrobytes: My alt's in CSB legend somewhere in the trough of negative scores at the bottom
MSmits: ah the mariana junkyard
Astrobytes: :D
jacek: ?
MSmits: ohh i was shifting the wrong way
MSmits: i was shifting my board to the opponent board to see which of my pieces could move
Astrobytes: I TOLD YOU
MSmits: ahh is that what you meant, i just checked if my < weren't (
MSmits: :grin:
Astrobytes: FFS :D
MSmits: I just get overconfident, i type up the whole thing at once thinking i would never make a mistake
Astrobytes: Don't worry, I spent a good 2 hours on the same issue
MSmits: I often type like 200-300 lines of code and then test :P
Astrobytes: That's what I did
MSmits: makes sense then
Astrobytes: YurkovAS submitting in CSB again?
Astrobytes: Wonder what the change was, where was he before?
MSmits: around 6-7
MSmits: yay seems to count to 112 now
Astrobytes: Looks like he'll end up 5th or 6th now, seems to be between him and IGGY mostly
MSmits: is iggy a nn?
Astrobytes: gj MSmits
Astrobytes: I don't even know tbh
Astrobytes: I don't *think* so but I am free to be corrected.
MSmits: next test is to pick a random child and play that move
MSmits: see if it crashes sometimes
MSmits: if it never does, my sim is probably good
Astrobytes: You don't have to state the obvious here, you're in enlightened company
MSmits: true true
MSmits: mostly thinking aloud
MSmits: or a-type,
Astrobytes: Yeah no shit :D
MSmits: no jobby indeed
Astrobytes: Hah!
AntiSquid: very enlightened considering Automaton2000 can double for a flash light
Automaton2000: thought it was a nice one
MSmits: Automaton2000 you're the light of our day
Automaton2000: i guess that would work
MSmits: indeed
MSmits: researching clobber is gonna be weird
Astrobytes: Automaton2000: I ping you rarely, say something reasonable.
Automaton2000: why do you need to be very good
Astrobytes: Cool. I'm satiated.
MSmits: games end at ply 44 or something, solves will happen probably in the early 30s
Astrobytes: MSmits: I haven't dug very far into any literature yet tbh
MSmits: no, i am just going by the endgame branching
Astrobytes: ah right
MSmits: its early game will be super random-like, with huge branching
MSmits: but then it's decided quickly after that
Astrobytes: Yes, solves happen in the 30s
MSmits: I hope a plain mcts is good enough that a meta mcts can do some worthwhile research. If the bot is weak then the research is useless
Astrobytes: I think plain MCTS can do something with time yes
MSmits: ok will try that then, because to go beyond plain mcts will be hard with this math stuff.
Astrobytes: afaik jaceks current one is just vanilla mcts
Astrobytes: but not optimised
MSmits: isnt darkhorse64's also?
MSmits: or does he do something else?
Astrobytes: Yes but I think his is more optimised
Astrobytes: UnnamedCodinGamer also - just highly optimised vanilla MCTS?
MSmits: cool
Astrobytes: trictrac and myself are alphabeta
Astrobytes: (well, I believe so)
MSmits: the meta in olympiad scene seems to be ab so far
MSmits: from what i read
Astrobytes: that's 10x10
MSmits: oh right, that matters
MSmits: with more depth it's harder to do anything with random rollouts
Astrobytes: Well, no-one said vanilla was the way to go
Astrobytes: Multiple approaches in this game, that's why it's in so many papers
MSmits: are there really so many?
UnnamedCodinGamer: mine is vanilla mcts, not very optimized - around 10000 iterations on second move
MSmits: how come you beat darkhors ethen? Or is this just random submit luck?
Astrobytes: Not specifically *on* Clobber MSmits - it's used in algortithm papers as a test game
UnnamedCodinGamer: I think it is luck
MSmits: with so few games, thats possible
MSmits: ah ok Astrobytes
darkhorse64: mcts + solver. Not very optimized
UnnamedCodinGamer: although I beat him in the IDE from time to time
MSmits: you still have 26k vs UnnamedCodinGamer's 10k
Astrobytes: I beat you both in the IDE from time to time currently
MSmits: well i beat the boss from time to time
Astrobytes: Not good enough to submit yet though
UnnamedCodinGamer: yes, I have good record against trictrac
UnnamedCodinGamer: but this is eyeballing
UnnamedCodinGamer: we need more games
Astrobytes: I beat trictrac in the IDE 100% currently only under very specific conditions, not a good metric right now
Astrobytes: Yes, more games.
AntiSquid: clobber reminds me of dots and boxes to some degree
AntiSquid: count how many turns are left
MSmits: mathematical it's the same type of game, uses the same kind of theory
Astrobytes: Yeah, I guess there are similarities but not quite the same chaining wise I think (I didn't even do D&B)
MSmits: it has a similar graph, except when you remove a line, you also possibly add a new line (= edge).
Astrobytes: Any recommended papers?
MSmits: the one that was shared earlier
Astrobytes: I think I may have been afk for that
MSmits: https://project.dke.maastrichtuniversity.nl/games/files/msc/Claessen_thesis.pdf
MSmits: but it gets very mathematical, very quickly
MSmits: may need to do some side-searches to get through it
Astrobytes: Hmmm one of those
MSmits: it's worth it to read about nim and numbers before you go in there
MSmits: nimbers that is
MSmits: i have some knowledge of that, but i still find it hard to get through it
MSmits: this is one of winands students. I think it might also not be written very well, because of his inexperi3ence
MSmits: but there is not much else
MSmits: it's pretty indepth
Astrobytes: That doesn't look too bad, other than the nimbers (of which I have basic knowledge) it's pretty readable no?
MSmits: page 14
Astrobytes: (just glancing at it, maybe it's harder to follow)
MSmits: look at the table
MSmits: there's all sorts of weird notation
MSmits: the paper assumes you've seen it before in some form and it's mostly a quick recap i think, or is intended to b e
AntiSquid: so many games ported to cg geez, still didn't play the pengu one seriously
MSmits: but of course if you never have, it's pretty painful to get through those pages and you may need extra reading
MSmits: me neither, not yet anyway
AntiSquid: you didn't even submit
MSmits: no thats what i mean
MSmits: it seems interesting
MSmits: but no time
AntiSquid: i submitted but don't call it serious
MSmits: still want to do jace ks game too
MSmits: and some others
MSmits: and eulers game, but it seems hard
Astrobytes: ooh I see MSmits
AntiSquid: which one of euler's games?
MSmits: tryangle
MSmits: i played the other ones
MSmits: actually no, i didnt do tower defense either
MSmits: just onitama
Astrobytes: I don't know if that's Knuth notation or what
MSmits: it's related to nimbers i think
MSmits: it's all combinatorial math
MSmits: same math used in nim, D&B
MSmits: and that hackenbush game they talk about
Astrobytes: Oh christ fields
MSmits: i think he's not online
MSmits: so he wont see that new nickname
Astrobytes: No, it's field theory some of it
MSmits: ahhh
MSmits: not sure, it does look a bit like QM notation, but diffeent
MSmits: i dont see any tensors?
AntiSquid: there, done some power submits in D-lang now i started all games
MSmits: you started all games??
AntiSquid: with an initial submit, yes
MSmits: ah ok
Astrobytes: MSmits: https://en.wikipedia.org/wiki/Nimber
MSmits: at least you're not one of those people who is afraid to have a rank 2000 on their profile
Astrobytes: Scroll down
MSmits: finite fields?
Astrobytes: Aye
MSmits: aha
MSmits: might be a different kind of field than the ones in physics?
Astrobytes: No shit!
MSmits: hehe well... maybe i'll be learning some new stuff for this game. Depending on how addicted i get
MSmits: oh it has the e2e3 notation.
MSmits: time to steal some conversion stuff from other bots
MSmits: that conversion stuff hurts my head
MSmits: checkers might have the same
Astrobytes: Think I used my Othello one
MSmits: oh right, thats closer
reCurse: Conversion?
MSmits: to board coords with a1 and such
MSmits: from bitboard
reCurse: Isn't that a one liner?
MSmits: probably, but I mess it up and I have the top of the board as the low bits
MSmits: then i have to invert the board... that sort of thing
MSmits: i make it hard for myself
jacek: i copy paste from other games but sometimes i need to flip columns and/or rows
reCurse: You could just ignore game conventions, use your own, and translate it only at the step closest to input or output
MSmits: thats where i am at
Astrobytes: That's what we do :)
MSmits: i'm done with move generation and such, just trying to output the moves so i can test the sim
reCurse: Which game
Astrobytes: Clobber
MSmits: my othello does this:
MSmits: string bestCol(1, 'a' + bestBitIndex % 8); int bestRow = 1 + bestBitIndex / 8;
jacek: i tried to nn first. i copy pasted 'framework' from other games but it couldnt learn anything at all. i thought i had some errors there
jacek: at the very least, even with crappy inputs, new network should be better than the first random one. but it wasnt
MSmits: was it a bug?
jacek: dunno, i searched but i eventually gave up
Astrobytes: Reading board wrong way round or something
jacek: my bot is just mcts
MSmits: well for D&B i expect this result, but clobber has some eval options, so nn should help
Astrobytes: Quite a few eval options
jacek: in d&b learned network was indeed better than random
MSmits: oh it was? Did you get a good bot from it?
jacek: it had a strength more or less what i have submited now
jacek: 15th rank
jacek: which is mcts
MSmits: ah ok
jacek: so still way better than clobber
MSmits: yeah
jacek: maybe if it gets approved ill get more serious
MSmits: maybe it has problems with the high branching?
MSmits: you might have these issues with amazons
Astrobytes: Is your derjack your learning bot in Clobber jacek or your main bot?
jacek: nah, it works for amazons
MSmits: hmm ok
Astrobytes: Oh, interesintg
Astrobytes: *Interesting
jacek: no, clobber is mcts. derjack is random
Astrobytes: Ah ok
jacek: though for amazons for now i have good old alphabeta
jacek: but locally i have nn that beats him 90%
Astrobytes: Very nice
jacek: so if you piss me off..
Astrobytes: lol
Astrobytes: It seems to be that MCTS is the way forward with Clobber
Astrobytes: Though I haven't tried all ab enhancements yet
Astrobytes: Or eval options for that matter
MSmits: mmh it's trying to go from d1 to d8
Astrobytes: Are you reading the board in normally
MSmits: what do you mean normally?
jacek: as in, not abnormally
Astrobytes: 0 - boardSize
MSmits: yeah
Astrobytes: for y and x
MSmits: so the low bits are up top
jacek: http://chat.codingame.com/pastebin/b88fd081-9830-4f73-80aa-5c0f874b0768
MSmits: probably i should just check if the bitindices are valid on a paper grid
Astrobytes: but you're given the a1 square first remember
MSmits: well that helps :)
MSmits: no it starts at top
MSmits: a8 first
Astrobytes: 8 I mean
Astrobytes: (duh)
MSmits: yeah i knew that
MSmits: its some other bug
MSmits: but gonna try jaceks nice array
MSmits: can always use a one liner later
jacek: prunearray
MSmits: mmh i am confused though, why is H8 your first square?
GeorgiD: 54 21 6 33 14 70 20 88 99 14 -> 21 54 6 33 14 70 20 88 14 99 1 2 6 5 4 -> 1 2 5 6 4
GeorgiD: What is the logic behind those 2 outputs
Astrobytes: I have A1 as my first
jacek: hmm i think i have my parsing reversed as well
jacek: http://chat.codingame.com/pastebin/64b79f34-9f38-4f1a-8e64-b3d43ee4d9a6
jacek: GeorgiD pairs? first number lower than second in pair?
MSmits: yeah you do it differently
GeorgiD: Hm yeah you are right
Astrobytes: MSmits: I do this: http://chat.codingame.com/pastebin/c317ff66-24a0-41da-8557-78907bce69cb
MSmits: right yeah, I think mine works ok, the conversion at least. It's the sim thats broken
MSmits: http://chat.codingame.com/pastebin/b51cbdd9-a2da-457c-8aa2-4074f13b95b8
MSmits: after move
MSmits: http://chat.codingame.com/pastebin/55e609c8-9646-4dda-b0ea-b3950d7fb27b
MSmits: so it jumped from top to bottom
MSmits: it actually outputs this correctly
MSmits: d8d1
jacek: oO
MSmits: no idea how i managed this
Astrobytes: I had such problems, it was all bitwise idiocy
Astrobytes: What's your movegen algo? Not details but generally
MSmits: it's not rocket science
MSmits: http://chat.codingame.com/pastebin/ee2dcba7-231b-4059-8f39-b67c6078d393
MSmits: can be written more efficiently and with less repeated code ofc
Astrobytes: Oh you do them all in one like that
Astrobytes: I have an array
MSmits: yeah, thats what i usually do
MSmits: hmm, an array of moves?
Astrobytes: You need to order them at some point in alphabeta so gotta have an array
MSmits: oh ok
jacek: http://chat.codingame.com/pastebin/923e0643-d56b-4f22-a33d-9f515a52c8da
MSmits: thats unoptimized due to conditionals
jacek: meh
MSmits: but i guess its a good start
MSmits: steal mine if you want, but fix the bug first
MSmits: and let me know what the bug is :P
MYBK: Hi, about coders strike back, I want to create a solution using Heuristic algorithm like Genetic Algorithm, (I read some article in the matter) but what I did not understand, how can I choose the best individual to compete after training them especially if the genome consist of the next 6 turn... can anyone explain the matter a little bit more please ?
MSmits: it's weird, an upmove should not wraparound to the bottom, uint64_t doesnt wrap around on shift
MSmits: sorry MYBK, GA is not my specialty
MSmits: many of us here know though
MSmits: bit late euro time
jacek: can bitIndex be negative?
jacek: or rather bitIndex-8
MSmits: oh
MSmits: hmm
Astrobytes: switch your shift directions for up and down
darkhorse64: Why not writing directly into the child ?
darkhorse64: oops lag
MYBK: emm I understand, thank you @MSmits :D
I will re-ask tomorrow then
MSmits: dunno darkhorse64 did not give it much thought yet
MSmits: c7c8 is what it did now
MSmits: which would be ok, if that wasnt a black move
MSmits: but... improvement
MSmits: was this a guess Astrobytes?
Astrobytes: ctz or clz
MSmits: or did you notice something?
MSmits: shouldnt matter ctz or clz
MSmits: only the order is different
Astrobytes: It does if you do other stuff the wrong way round
MSmits: ahh ok
MSmits: always use ctz
Astrobytes: It wasn't a guess no, I had some similar issues
MSmits: I see
darkhorse64: MYBK: you choose the genome that has the best score. Sorry if it is an obvious answer
AntiSquid: asking on discord and here? so where do you want the answer?
Astrobytes: Right, I am reallllly tired.
Astrobytes: I bid you all goodnight
AntiSquid: do some push ups to get the blood circulation up
AntiSquid: good night
MSmits: gn!
Astrobytes: With my back issues that woudl be very interesting AntiSquid!
AntiSquid: i've read somewhere exercise can prevent sleep :D
MSmits: darkhorse64, when i print the board when it's received as input i get
Astrobytes: MSmits: I'm sure you'll figure the bugs out but if not hit me up tomorrow
MSmits: will do, thanks Astrobytes
MSmits: http://chat.codingame.com/pastebin/bd122b4a-6296-4fe6-a447-c2e8efc628d6
MSmits: but topleft square is white
MSmits: in the cerr it's black
MSmits: :confused;
Astrobytes: you're reading it in as white
MSmits: yeah
cobunny: Whats this pattern input: 101 output 10201
AntiSquid: yes
Astrobytes: Your bitboard is going from 0 = a1 to 63 = h8
MSmits: correct, but this is not about the bitboard, i am just printing it as it is inputted
MSmits: without using bitboard
Astrobytes: yes, that's how it's given
MSmits: but it's not how it looks in the viewer
MSmits: in the viewer topleft is white and in cerr topleft is black
Astrobytes: yes, because bottom left is a1
MSmits: right, but it says in the description it gives info top to bottom
MSmits: so it should appear in cerr the same way as it looks in viewer
cobunny: what's the math formula from 101 to 10201
UnnamedCodinGamer: I was also confused about it
MSmits: is this a description error?
UnnamedCodinGamer: but it is minor stuff
Astrobytes: Oh right, yeah, I guess it is
MSmits: Next boardSize lines: line: a string of characters representing one horizontal row of the grid, top to bottom.
Astrobytes: But you can figure that out pretty quick at least
MSmits: yeah, my mind is just set to assume descriptions are perfect. I forgot it's a wip :)
Astrobytes: STILL: SHAME ON YOU AND YOUR ANKLES darkhorse64
Binary_Sky: thats just squared
AntiSquid: never forget the mobius striptease
darkhorse64: Yeah, I was just checking the inputs. I have a bug
Astrobytes: No wonder we all had to do some jiggery-pokery here
MSmits: will crash every bot on the board if you fix it darkhorse64
UnnamedCodinGamer: fix the text
darkhorse64: Not mine
MSmits: well unless you fix the description, but that woul dbe counter to every other games description
Astrobytes: It's just a WIP, as long as that's indicated it's OK technically
MSmits: they all receive input top to bottom
MYBK: @darkhorse64 thank you for responding, I need a sec to reformulate my question... I am too confused about the problem that I didn't know what to ask
MSmits: yay my bot works
MYBK: GG
darkhorse64: I'll fix the referee because I want to stick to the rules
MSmits: http://chat.codingame.com/pastebin/cbbfa430-2706-4303-9bf3-d1b6026c100d
MSmits: i added the 7-i
MSmits: instead of i
MSmits: to reverse vertically
MSmits: so if you fix it i just go back to just i
AntiSquid: guys i am giving you a 10 second count down before i ask my question, then i will ask whether i can ask the question to make sure you're still here
Astrobytes: there's a world of ways to do it
Tuo: at MYBK question: how can you run a genetic algorithm on a CG game?
Tuo: you would need your own game engine?
AntiSquid: that has been done countless time Tuo
MSmits: you need to simulate the game indeed Tuo
MSmits: or at least simulate the parts of it you want to optimize
AntiSquid: the standard CG boiler plate code
Astrobytes: anyway, now I sleep. gn again!
MSmits: for simple games that i strivial
MSmits: yeah gn and thanks again
AntiSquid: only one gn wishing per day, gotta ration that
darkhorse64: I'll post a message in the forum once it's fixed. Not before this weekend
UnnamedCodinGamer: like soma in brave new world
MSmits: no hurry darkhorse64
UnnamedCodinGamer: yes, no hurry
AntiSquid: no! hurry darkhorse64
UnnamedCodinGamer: does the submit history get preserved after a change in the game?
MSmits: no idea
lopidav: is it hard to make multiplayer games here and where to start?
darkhorse64: play them or design one ?
lopidav: design one
AntiSquid: answering own question @_@
darkhorse64: CG supplies a Java SDK including a few examples. The source code for many contribs is also available
lopidav: oh, for some reason I thought it uses c++
lopidav: is it hard tho. How many hrs are needed to make something like trolls and castles?
AntiSquid: probably 1 ?
lopidav: 1 hour?
MSmits: depends on the coder
darkhorse64: You should ask JBM, the author
MSmits: probably days
AntiSquid: depends on familiarity with the SDK
darkhorse64: depends on your ambitions
AntiSquid: troll vs castles is one of the least time consuming ones
darkhorse64: Clobber took me less than two days but I reuse lots of code
AntiSquid: i have an idea, but i keep ruminating on it for ages
AntiSquid: it's most important to trick people into liking it and do that first submit lopidav
AntiSquid: hint: the D submits aren't your target crowd
lopidav: what's "D submits"?
AntiSquid: glad you asked
AntiSquid: https://dlang.org/
AntiSquid: D is a general-purpose programming language with static typing, systems-level access, and C-like syntax.
lopidav: of, a language. I thought it's a rank or something
lopidav: *oh
AntiSquid: it is a social rank
AntiSquid: of high standards
MSmits: mmh darkhorse64, are you right now messing with clobber?
cobunny: 1 44 return true why?
MSmits: cuz it's like the input switched around again
AntiSquid: try to do something other than clash
AntiSquid: there's a whole world outside that cave of clash
cobunny: Kinda addicted and need to practice to get a new job
AntiSquid: that's NOT how you get a job
Devinawesley: I got sent here during an interview and just been playing since
AntiSquid: unless there's a company hiring clashers
AntiSquid: try this then: https://www.codingame.com/multiplayer/bot-programming/fireworks
cobunny: The questions are not very practical for a technical interview
AntiSquid: or something else that's fun
AntiSquid: i wouldn't do puzzles for interviews
cobunny: Where do you practice for interviews
cobunny: I mean is there any timed tests like this
UnnamedCodinGamer: MSmits, input seems unchanged. First line is "bwbwbwbw".
MSmits: ye, is my mistake, nvm darkhorse64
cobunny: I'm looking for software engineer/backend dev interview practice test or some sort
AntiSquid: cobunny play this https://www.codingame.com/multiplayer/bot-programming/botters-of-the-galaxy get legend, i guarantee you will realize how to get a job much easier
cobunny: I'll try it later. Thanks
MSmits: no dont lol.. AntiSquid is evil
AntiSquid: no evil, it's true, look at the wording MSmits, also the more you postpone the longer it will take to get that job
AntiSquid: it makes you think and deal with difficult situations
AntiSquid: like in interviews
MSmits: sure, you will learn never to try that again :p
AntiSquid: you're the evil one to be frank MSmits
AntiSquid: so much hate for the game
MSmits: i never played it
AntiSquid: cobunny in interviews they test problem solving skills
MSmits: i just listen to people complain about it
AntiSquid: you need to step it up
AntiSquid: you just follow the herd ?
MSmits: cobunny, go do uttt :)
MSmits: the herd does it
MSmits: :sheep:
cobunny: I'm gonna go. Ice cream time
AntiSquid: cobunny point is you need to think outside the box and there's a need for the right trigger to make that happen, i showed you the way to the water, you must drink on your own
MSmits: :ice_cream:
MSmits: :icecream:
AntiSquid: or the ice cream if you will, you must lick it yourself, nobody will lick it for you
MSmits: i'll do it
Tuo: y i agree u are both evil :smiley:
AntiSquid: otherwise it wouldn't be your ice cream anymore
MSmits: gimme your icecream
MSmits: he's standing up for himself already AntiSquid
MSmits: CG teaches you confidence
MSmits: you're an A
AntiSquid: doesn't matter
MSmits: confidence!
MSmits: ohh ok
AntiSquid: i would have typed the exact same words no matter who you are
MSmits: cool
MSmits: need more female coders
MSmits: don't scare this one away AntiSquid
AntiSquid: wtf ?
MSmits: :grin:
AntiSquid: who did i scare away?
MSmits: I was kidding ofc
cobunny: Later guys. Ice cream is melting:grin:
AntiSquid: really? you keep trashing botters and me
MSmits: allright see you later :)
MSmits: botters of the galaxy?
AntiSquid: best game
MSmits: I'm just trying to prevent a new player to trying to write a 2k line sim :P
AntiSquid: you don't need a bloody sim and you don't need 2k lines
AntiSquid: actually a lot of the "popular" games need just that 2k lines of sims
MSmits: hmmh, well I'll take your word for it, it's not what others told me
AntiSquid: if you can golf the other ones then you can golf botters
MSmits: you really like the game or still messing?
AntiSquid: MSmits just try it yourself
MSmits: i was just trying to figure out if you were kidding
AntiSquid: there's certain aspects people don't like about it
AntiSquid: but only certain people
MSmits: the 5%?
AntiSquid: from there it's word of mouth
MSmits: I see
AntiSquid: and then there is sort of a circumstantial appeal / activity
MSmits: well if you honestly like it, it's fine. I thought you were trolling the new player :)
AntiSquid: i wouldn't suggest pacman is top notch game, but participation count and word of mouth matters more
MSmits: sure
AntiSquid: i am just saying it's a biased opinion you rely on
MSmits: but i dont like it when new players quit because everything is too hard
MSmits: if botters is easy to get into, it might be a good starter game
AntiSquid: there's a CG meta, or at least there was one, people followed specific boiler plate code standards and then complained a contest broke things for them
MSmits: hmm, i never knew that
AntiSquid: it is a good starter game, it has a lot of inputs, which is what many complain about, thing is you don't need to take everything into account
MSmits: I see
AntiSquid: it's what i got from the complaints, people keep saying it's intentionally made to be anti-simulation lol
AntiSquid: there was never such intent
MSmits: seems to me there's just a lot going on
MSmits: a lot to sim
MSmits: like FB
Tuo: i have it open now: game explanation is less lines then inputs
dittygoops: tiddygooper in the house
AntiSquid: ya exactly, it looks like a lot, but there's a lot you can just skip through and focus on what matters
AntiSquid: more like how i have a half-complete bot for fireworks
AntiSquid: trying to think of a best analogy
AntiSquid: probably there is none, but you can stick to one thing and make progress basically
Tuo: well first league beaten!!! how is thought now :) im coming for u(after spring challenge maybe)
AntiSquid: you can use it to practice for spring challenge
Tuo: 1 day left, how much can u practice?
AntiSquid: oh lol shit so soon?
AntiSquid: should have booked my holidays one week later (had to take it or i lose them now before april)
AntiSquid: oh well got the first weekend then
AntiSquid: tuo you can get into the contest spirit by sprinting up the botters ladder
Westicles: Is it May already?
alopikon: But, it is not march 6, it is may 6, isn't it?
AntiSquid: ya just checked it's in may lol
AntiSquid: tuo you have 1 day + all the remaining time
AntiSquid: guess on the 6th everyone is going to spam what happened to the contest?
Tuo: i was excited for a competition
AntiSquid: you have more time for botters now
AntiSquid: by the time contest starts you will be breaking bots and bits
Tuo: lousy non native english speaking brain mixing up stuff :(
lopidav: https://www.codingame.com/clashofcode/clash/report/162348367d6d05b7994caf0979a24d5362c7dcf
lol
klyons: give me the anw3er or else
Scarfield: 42
AntiSquid: that's not an anw3er Scarfield
Scarfield: no, but it's the answ3r
Scarfield: anyway im for for today, gn whoever is still here
AntiSquid: bye bye