Chat:World/2021-07-21

From CG community
Revision as of 05:29, 22 July 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png ShadowTaz: How do yoy play the clash battle? File:Default_avatar.png Jakhongir2003: hi <img src=/a/64869146225502> derjack: good morning <im...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png ShadowTaz: How do yoy play the clash battle?

Default avatar.png Jakhongir2003: hi

derjack: good morning

struct: hi

Default avatar.png Benedikt.Huber: Morning everyone

Default avatar.png tImProCodEr: hi

TK-421: Greetings

BlaiseEbuth: Happy caturday.

Default avatar.png T-UMM: hello

Marchete: MSmits: https://www.codingame.com/share-replay/571294311

Marchete: I sometimes can win

Marchete: but I have many timeoutes

struct: nice

MSmits: Marchete how do you win exactly?.

MSmits: is it when scores are nearly equal?

Marchete: I got more points

MSmits: yeah i see, you actually didnt beat his nim calculator

MSmits: this is an example of mikla not knowing how the endgame works

MSmits: he says "win"

MSmits: because he got control over the endgame

MSmits: but he sacrificed too many boxes

MSmits: and plays out the endgame poorly

derjack: he says win to discourage opponent

MSmits: that would be funny

derjack: if only the referee could give the name of the opponent

MSmits: Marchete check how he says win at frame 36

MSmits: that's when he won the nim game. But he doesnt realize there's 2 4-loops there and other relatively small objects. So he loses on score

MSmits: this is why your idea of setting up the board unfavorably for the person in control is a winning strategy vs him

MSmits: he gave away all the 4 loops to you when he should have just taken them and given you control

MSmits: Marchete did you do this on purpose? Getting the board like this?

Marchete: nope :D

MSmits: oh ok well you should

Marchete: I'm in early tests

MSmits: ahh ok

Marchete: https://www.codingame.com/share-replay/571295887

Marchete: :)

Marchete: you seem better at counting

MSmits: yes my score counting is perfect, but i sacrificed that box and it made you win

Marchete: I mean I hardly win you

MSmits: the nim game is risky

Marchete: it's your fault

MSmits: if the board has too many small objects it can make you lose if you also sacrifice boxes

MSmits: yes it s

Marchete: you know I didn't want to go D&B

MSmits: oh ok, yes

Marchete: I mean talking about D&B

MSmits: it's fun :)

derjack: you keep using that word

Wontonimo: "i don't think it means what you think it means"

Wontonimo: https://www.youtube.com/watch?v=dTRKCXC0JFg

MSmits: heh that movie

MSmits: i watched it because someone said it is a classic

MSmits: but it was pretty crappy

MSmits: willow is a far better movie

MSmits: nice to see grand nagus zek in there though

Wontonimo: i'm sorry MSmits, we can no longer be friends

MSmits: lol

MSmits: you don't like willow?

Wontonimo: willow was awesome

MSmits: good

MSmits: you have taste

MSmits: maybe it's because i saw princess bride when i was 30+

MSmits: and willow when i was 10 or something

MSmits: nostalgia did not enter into it with me with princess bride

Wontonimo: age plays a big part for sure. I remember "Highlander" as an awesome movie. I rewatched it a few years back and man it's shit

MSmits: ah yes highlander too

MSmits: the worst part of highlander is when they made the sequal and suddenly they're all aliens from some planet

MSmits: sequel

MSmits: made no sense at all

Wontonimo: yeah, that was just horrible

MSmits: I preferred the series to the movies tbh

MSmits: they even made a 3rd movie with actors from the movies and series together

Wontonimo: there was a series?

MSmits: yes

Astrobytes: It was far better than the movies at least

MSmits: reminds me of stargate

MSmits: series >> movie

MSmits: people forget there is even a movie

Wontonimo: avatar

Astrobytes: didn't really get into SG tbh, movie or series

MSmits: SG is one of the all time great series

MSmits: over 10 seasons i think? Or exactly 10

Wontonimo: the avatar air bender series >> >> movie

MSmits: oh you mean that avatar

MSmits: not the giant smurf one

Wontonimo: i couldn't make it through 1/2 of 1 episode of SG

MSmits: sometimes it takes a bit

MSmits: i could not make it through breaking bad the first 2 episodes

derjack: 10 seasons, 5 seasons of atlantis and 2 seasons of universe*

MSmits: and it's the best series of all time

MSmits: derjack i liked universe too, was sorry to see it go

MSmits: atlantis got a bit lame

derjack: and yes, many episodes from first seasons are cringy

Astrobytes: SG used to bore me to tears

derjack: :rage:

MSmits: farscape was pretty cool too, it might have been more your thing

MSmits: actually 2 of the actors went into SG1 at the end

Astrobytes: I mean, there were far (far, far) worse series out there, but it just did nothing for me

MSmits: babylon 5 was my favorite sci fi when i was young

Astrobytes: Never got into Farscape either

Default avatar.png 21stCenturyPeon: The apex of Series > Movie is still Buffy

derjack: never watched babylon 5, but watched deep space 9

Astrobytes: B5 was OK, preferred the ST universe though

Astrobytes: 21stCenturyPeon: you are not wrong

MSmits: personally I felt only ds9 was as good as the best of the other sci fi out there. TNG was good but it was mostly good because it had no competition. DS9 trumps it i think

MSmits: voyager is worse than either of them i feel

Astrobytes: When it eventually gets going yeah. Last series or 2 of TNG was amazing though

MSmits: i agree yeah

MSmits: I liked St enterprise too

MSmits: it's not that well known

Astrobytes: I can take or leave Voyager, some good characters but never really was fulfilling enough

MSmits: yeah i watched it for the doctor :P

derjack: or 7

Astrobytes: Never got into Enterprise tbh, saw a few episodes but just didn't grab me

MSmits: yeah 7 was cool, but came in later

derjack: ive only seen the bashed final episode of enterprise

Astrobytes: 7 eventually became a good character

MSmits: yeah

Astrobytes: Cool when she came back in Picard

MSmits: there was apparently a lot of conflict about her character

MSmits: on set i mean

Astrobytes: Indeed there was.

Astrobytes: Kate Mulgrew hated her

MSmits: but they made a good decision bringing her on

MSmits: right

Astrobytes: They got rid of Kes for 7 right?

MSmits: kate mulgrew was a bit like william shatner on the original star trek I think

MSmits: i know she left, not sure why

Astrobytes: Male and bad at acting?

MSmits: did you hear will weathon talk about william shatner?

MSmits: he's a reall ass

Astrobytes: lol no

MSmits: wants to be the center of attention

Astrobytes: I've heard it from some of the other cast though

Astrobytes: George Takei and William Shatner absolutely detest each other

Astrobytes: oh lol, found it. "The William F**king Shatner story"

MSmits: thats it

MSmits: he also tells it on video

Astrobytes: Wil Wheaton is a legend

MSmits: https://www.youtube.com/watch?v=r7cwz7DJ4N8

MSmits: I love him yeah

MSmits: he does a channel on boardgames and such i think, not sure if he still does

Astrobytes: He used to yeah, I remember that

derjack: shut up weasley

MSmits: heh thats a ST meme though

MSmits: right?

MSmits: well unless you mean harry potter and its not a spelling error

Astrobytes: Could be either, this is jacek after all

MSmits: true

MSmits: do you think he's different when he's on his upside down pony?

derjack: personnaly i dont know why, but weasley crusher was most hated character

MSmits: pony did not catch on to the spelling error i think

Astrobytes: Indeed

Default avatar.png The_Camoflauged: i am 13

MSmits: unlucky

Astrobytes: Good for you.

derjack: oh i was reading about weasels

MSmits: as one does

Default avatar.png The_Camoflauged: IKR 13 unlucky number

Astrobytes: Video's great MSmits

MSmits: yeah that's why i remembered it

Wontonimo: just state your age in hex and it just doesn't seem unlucky anymore The_Camoflauged

Wontonimo: you are D years old

MSmits: I knew it

MSmits: he appeared and I thought: This person is a D

Wontonimo: Dangerous, Dubious, Deadily. That's what I'd always tell my parents what D means when i gave them my report card

The_10x_Engineer: Hello chat 😀

martinpapa69: hi

MSmits: now here's an obvious A

Wontonimo: he he

Wontonimo: There are 10 kinds of people in the world. Those who understand binary and those who don't

The_10x_Engineer: good one

Wontonimo: hey The_10x_Engineer , check out the multis (bot battles) and challenges. There is way more than just Clash of Code

Wontonimo: This was the last multi that you can still play https://www.codingame.com/multiplayer/bot-programming/spring-challenge-2021

Wontonimo: *contest

The_10x_Engineer: Wontonimo I do a lot besides Clash of Code lmao

The_10x_Engineer: But thanks lol

Wontonimo: no problem. you can count on me for useless and unneeded suggestions. just drop me a line anytime and I've got plenty. Flush even

Tiramon: always fascinating when you watch a NN learn and see the results improving =)

ThereIsFunInFuneral--Jewelery: ls -l

Marchete: yours?

Tiramon: just tried to set up a little backend i can run on one of my servers and monitor from outside and currently started training a NN from scratch =)

Wontonimo: nice

**Wontonimo i wish i had "servers"

Tiramon: agent is playing against himself and had an avg score of 45 for quite some time on oware

Tiramon: but he still has a 6% chance to end the game with an invalid move :(

Wontonimo: valid move constraint should not be up to the NN.

Tiramon: it is not ... it's just a stat i monitor

Wontonimo: ah

Tiramon: i currently monitor avg score, win ratio, avg invalid and avg time per game

Wontonimo: well, there is a difference between "man i'd really like to be able to just remove the opponents queen" and "i am technically able to". Depending on how you are training it, it can learn the first instead of the second

Wontonimo: i know we arn't talking chess... just an analogy

The_10x_Engineer: Where is Automaton2000

Automaton2000: i never got around to it

Tiramon: if i'm not completling wrong it just tries to get the highest possible score which should result in a high win ratio

Tiramon: *completly

The_10x_Engineer: Oh nevermind he's still here :o

Wontonimo: highest score would be by cheating

Tiramon: except when the agent plays against himself ... then ration should stay around 50%

Wontonimo: so, yeah, take the enemy queen when they arn't looking

Tiramon: game rules don't allow cheating ... so he hast to reach highest score with valid moves ;)

Wontonimo: absolutely. what i mean is, if you are teaching it which moves to prefer and that is disconnected from valid moves, then it will suggest a move that isn't valid. That's okay, that's why you have constraints. I don't know if how i'm saying this is clear

Wontonimo: or maybe i dont understand what you mean by 6% chance of an invalid move

Tiramon: in 6% of his games he currently thinks at some point that doing a invalid move is the best choice ...

Tiramon: guess because in some game situations you have no choice to win and just have to do any move ... this ratio will never go to 0 because it does not matter if he does a invalid move and lose or a valid move and lose

Wontonimo: oh interesting. it's basically flipping the table

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

Tiramon: if i only have 1 seed in my first house .. i can't make a move to win so it does not matter if i take the seed from house 1 and move it to 2 and opponent has no valid move and i lose or i pick an empty house and loose because i made an invalid move


Tiramon: so both actions have more or less the same value

Wontonimo: makes sense

Tiramon: but hey after 1.3k games it is currently reduced to 3% so there was still some space ;)

Wontonimo: do you block backprop of invalid moves, or do you mix the learning of preferred moves and valid moves?

Tiramon: i currently use a random sample of moves made to learn i think the one i submited had a prioritized experience replay

Tiramon: the one i currently run is just a DQN with experience replay

Tiramon: hm the agent has probably learned to avoid situtations that result in a invalid move =) was at 0% for a short time ;)

MSmits: Marchete I implemented your hash thingy

MSmits: it seems to be similar in performance to unordered set

MSmits: and 4 or 5 seems to work fine as a number of times to keep searching for a free spot

MSmits: your way seems to be slightly better even

MSmits: about 5%

MSmits: seems to be quite sensitive to the capacity. If I set it too low and dont have enough space, speed plummets

derjack: DQN? so its still no search?

MSmits: what do you mean DQN?

derjack: double q-learning network

Astrobytes: Deep-Q Network

derjack: or deep hmm

Wontonimo: Dairy Queen Numerology

Astrobytes: :rofl:

MSmits: I have none of those things

MSmits: I was just talking about the simple hash scheme Astrobytes explained to me expanded with the loop Marchete told me about

MSmits: basically if you dont find your item, you look x more times near it

MSmits: and also when you insert, if the space is occupied by another item, you look x more times for an empty spot

Astrobytes: I think he was talking to Tiramon ;)

MSmits: ohhh

MSmits: why do people talk to other people, dont they know everythign is about me

Astrobytes: :D

Marchete: I won't talk anymore without my lawyer present

MSmits: lol

MSmits: I did it right though Marchete? this is what you meant

MSmits: including the time required blowing up when you have too little capacity

Marchete: yes, and at insert you need to make an special case for all places filled

MSmits: whats the special case?

MSmits: just not inserting?

Marchete: either you randomly add it at any point (not at end always)

MSmits: how do you find it, if you randomly add it?

Marchete: or if lossless then make some extra steps

Marchete: to save it

Marchete: random [0..5]

Marchete: inside your bucket size

MSmits: ok, so you do add it?

MSmits: currently i just dont add it

MSmits: isnt it better to just add it at 0 then? Then you can find it better next time

Marchete: it depends on your needs

Marchete: but as a rule of thumb, new hashes should be more important

MSmits: if you're going to replace another item, you might as well do it at 0

Marchete: always 0?

MSmits: yeah why not

Marchete: then the rest of the bucket won't update ever

MSmits: i dont understand

MSmits: it's not a buckey

MSmits: bucket

Marchete: I do a limited range check

Marchete: hash -> array pos

MSmits: i count up 5 times

Marchete: then pos .. pos+4

MSmits: that doesnt make those 5 times a bucket

Marchete: well

MSmits: because buckets will overlap

Marchete: a ranged search

Marchete: I prefer not to overwrite insert at the same place always

MSmits: what i mean is, that 0 position is only a 0 position to that particular key

Marchete: because that makes the range less useless

MSmits: another key might have a 0 position 1 step below that, or 2 steps above it

Marchete: it is

MSmits: so if the 0 is only 0 to that key, why would random be better

MSmits: I should just try both ways

Marchete: maybe your hashing sucks and you have a lot of collisions

Marchete: like always using 99999

Marchete: but not 99998

MSmits: ohh, good point

MSmits: when hashing sucks it does matter yes

MSmits: the 0 might be popular

Marchete: it means even if you add a big range

MSmits: it's better to just try it though

Marchete: all collisions will be to 0

MSmits: true, but the disadvantage of inserting at 2 is that you can be 100% sure you need the loop when you do the lookup

Marchete: trust me, I have no idea about what I'm talking about

derjack: youre hired

MSmits: if at 0, there's at least a chance you dont need the loop

Marchete: imo fixed index insert defeats the purpose of ranged search

MSmits: I'll try it

MSmits: inserting at 0 gave no advantage to not inserting at all btw, trying the random thing now

Marchete: meanwhile I'll try to beat you at D&B

MSmits: sure :)

derjack: no clobber?

Marchete: done! I can go eat something :D

Marchete: I just need to fix all the damn bugs

MSmits: yep inserting at random is better

Marchete: how do you check it?

MSmits: basically i create 1000 nim boards at around ply 47

Marchete: I did by intuition but I never checked it

MSmits: then solve them all

MSmits: using whatever hash scheme i want

MSmits: and just look at the time

MSmits: I also use this check to see if i make errors

MSmits: when i change my solver

MSmits: it reads the 1000 solutions from file and checks the solver to see if they are all identical

MSmits: D&B is difficult and you make wrong assumptions, this check will spot them

MSmits: say I always play grounded short strings before non-grounded ones and i put that in as a rule

MSmits: then the solver will give errors

MSmits: some rules are correct, some arent

AllYourTrees: in C4 are you supposed to steal 1 and 7?

MSmits: the cool thing is that it should not matter whether you steal them or not

MSmits: because it is a balanced move

MSmits: maybe not 100% balanced for every bot, but I am pretty sure they are solved as draw if you have enough computation power

MSmits: but so is TTT and player 1 still has a significant advantage

Default avatar.png Oppaimaster: bebus

Astrobytes: oh give it a rest kid

Default avatar.png bebus: bebus

Astrobytes: Ban next.

codeing: holla

codeing: just get a question

Tiramon: isn't it a bit late for school in uk?

Astrobytes: 2pm?

derjack: on vacation?

Tiramon: probably some vacation activity...

Default avatar.png Oppaimaster: its school

Astrobytes: They're breaking up for holidays around now in England

Tiramon: ok so last days before holidays ... that need to be filled somehow ...

Astrobytes: Scottish schools broke up around 27th June

Stefanuk12: :sunglasses:

derjack: scottish kids eh

Default avatar.png Matilda-bit: https://www.codingame.com/clashofcode/clash/18762556a83efd8c3c019b52bd04f168837a70d

Default avatar.png Alinka: :heart_eyes:

Default avatar.png Oppaimaster: bebus

Default avatar.png Oppaimaster: hello

Default avatar.png Oppaimaster: bebusssssssssssss

eulerscheZahl: wow

Astrobytes: Bye bye bebus. And stop DMing me.

Default avatar.png Matilda-bit: :stuck_out_tongue_winking_eye:

eulerscheZahl: what a time to come online

Astrobytes: Indeed. Moin.

Default avatar.png bebus: i havnt DMed you though?

Default avatar.png bebus: anyway

Default avatar.png bebus: BEBUS

derjack: bah

Default avatar.png Matilda-bit: https://www.codingame.com/clashofcode/clash/1876288be50eaafac13f8dadbd6041265bd558a

Astrobytes: Post those links in #clash channel please

Default avatar.png Matilda-bit: no problem

Astrobytes: ty

Astrobytes: derjack/jacek: https://www.codingame.com/replay/571330244

eulerscheZahl: minimax? mcts?

Astrobytes: MCTS

Astrobytes: I have no clue how to eval Clobber

eulerscheZahl: i have no clue what the rules are :D

Astrobytes: Last player standing, you have to 'clobber' your opponents stones, you can move UDRL

eulerscheZahl: ah, so jacek ran out of moves

eulerscheZahl: any rule changes in the higher league?

Astrobytes: iirc it's the same rules

eulerscheZahl: just a boss for the puzzle of the week

Astrobytes: Boss is just there to filter random bots

SoulNinja: :mhm:

SoulNinja: discord.gg/twt

Astrobytes: Stop it SoulNinja

SoulNinja: lol ok

Astrobytes: And to ensure POTW ofc yes :)

Wontonimo: have you tried stone count as an eval Astrobytes?

Wontonimo: for clobber

eulerscheZahl: :D

Wontonimo: or liberty count as an eval?

eulerscheZahl: "stone count", nice trolling

Wontonimo: ah ... it wasn't meant to be a troll, but now that i'm looking at a replay, it doesn't make sense since each player losing 1 stone per round until the end :(

Wontonimo: perhaps liberty count could work

eulerscheZahl: or the almighty NN

Wontonimo: if only there was a way to discover repeating patters in 3x3 or 5x5 patches by some kind of weight combination and activiation function

Astrobytes: I think I had mobility/liberty iirc

MSmits: can islands be solved separately?

MSmits: I know they can in D&B

Astrobytes: If you go the minimax route (or combinatorial) you want to divide into sub games

Astrobytes: Yes MSmits

MSmits: well then you need to solve them and calculate the nimsum

Astrobytes: There's a paper on it, nimbers and such

Astrobytes: https://project.dke.maastrichtuniversity.nl/games/files/msc/Claessen_thesis.pdf

MSmits: split up the board until you no longer can, calculate the nimvalue of all possible moves, and return the mex

MSmits: i remember seeing that. Did not understand it back then

Astrobytes: Bit of Sprague-Grundy goes a long way eh

MSmits: right

Default avatar.png N0T-Harold: hey

MSmits: hi Harold

Astrobytes: He's !Harold

MSmits: sorry, easy mistake to make

eulerscheZahl: let's call him John then. Hi John

martinpapa69: Hisyoung

MSmits: hey eulerscheZahl, what are you up to?

eulerscheZahl: nothing special

eulerscheZahl: tried to get back to CGFunge again

MSmits: oh

eulerscheZahl: halfway through but now I lack motivation

eulerscheZahl: and was ill during the weekend

MSmits: ahh ok, that's why you werent here

eulerscheZahl: no, i just stopped caring

MSmits: ah :(

Astrobytes: :)

dbdr: eulerscheZahl: hard-coding CGF?

eulerscheZahl: yes

jacek: huh

N0T-Harold: i dont know

Default avatar.png FinFree: anybody here rn?


Wontonimo: yup

Default avatar.png FinFree: how do i change programming language if i want to play clash?


Default avatar.png FinFree: i accidentally chose java

Wontonimo: it is a dropdown at the top of your screen

Wontonimo: center top

Default avatar.png FinFree: thank you

Default avatar.png FinFree: my man

Wontonimo: after this class, try something else. there are lots of really cool challenges and bot battles

Wontonimo: the bot battles are A LOT more fun than Clashes

Wontonimo: Try this https://www.codingame.com/multiplayer/bot-programming/coders-strike-back

Wontonimo: when you are done. Feel free to ask questions to get started

LolJuki1234: :mhm:

Wontonimo: for anyone interested in MCTS insights: "the grandparent heuristic" is garbage for UTTT

jacek: oh my

Wontonimo: i just removed it. my bot went from 29th and is now doing better climbing to 25th

LolJuki1234: :ok_hand_tone1:

AllYourTrees: what is grandparent heuristic?

Wontonimo: garbage pre-seed the Node score with the score of parent->parent

Wontonimo: the rational is that most likely the players next move is going to have a score similar to their previous move

LolJuki1234: :ok_hand_tone1::ok_hand_tone1:

Wontonimo: i've had it in my MCTS code for months without quesiton. i think it did work better when I was doing multiple rollouts per expansion.

Wontonimo: but on a hunch, i thought "really, how certain can the grandparent be anyway, maybe 5 or 10 visits"

Wontonimo: which probably means it is completely unreliable

Wontonimo: perhaps with someone with a 200+ branching factor it would be useful

Wontonimo: *something

jacek: uttt is really context dependent

jacek: no rave would work either

Wontonimo: +1

reCurse: As with most advice, what works on one bot may not work on another

jacek: you mean game

reCurse: Implied

MSmits: bot too

MSmits: something may work in one bot and not within another

MSmits: due to other stuff

reCurse: ? I just said that

Astrobytes: I think he was backing your statement ;)

MSmits: yes

jacek: hmph

Marchete: I'm 260th but sometimes I can win top10 :rolling_eyes:

MSmits: just playing out the endgame properly should get you top 20 or so i think

Marchete: except if I constantly crash

MSmits: or not even perfectly, just keeping control

MSmits: btw i had a question about your graphs

MSmits: do you have a graph with strings and coins?

MSmits: so the coins are an object and the strings are as well

MSmits: and if so, do you merge strings to create 1 string for a multiple connected ones

Marchete: I never merge

Marchete: I split

MSmits: well of course when you cut strings nodes become disconnected

MSmits: but what i mean is, as soon as a node has only 2 connections, it could be merged with other nodes with only 2 connections, like chains

MSmits: so that you have only 1 object of size x

Marchete: I don't understand well

MSmits: let me try and draw something sec

jacek: :scream:

Marchete: I have bitEdge , bitBox, and staticEdge and staticBox

jacek: beatbox

MSmits: https://imgur.com/a/9NFWnz0

MSmits: my endgame solver does this

Marchete: I'll review it later

Astrobytes: It makes necklaces and pendants?

MSmits: yes :P

Marchete: right now I can't

MSmits: I've been thinking about mikla's bot

MSmits: we nimsolve nearly at the same time

MSmits: yet he is way more often in control at the end, it solves as win for him

MSmits: so i am wondering if he does something else, earlier, to raise his chances

MSmits: no idea what though

MSmits: Marchete I think I finished my special mcts

MSmits: http://chat.codingame.com/pastebin/6e39edea-cdcc-4326-880b-783fdaa06c87

MSmits: thats what it made

MSmits: this happens when my bot tries to focus on these kinds of maps and the opponent plays randomly

MSmits: this would be horrible for mikla

MSmits: here's another:

MSmits: http://chat.codingame.com/pastebin/4fe514a6-0608-4b86-8e89-29a077109b3c

MSmits: fairly consistent

AllYourTrees: is there almost a collaborative aspect to D&B? both players are trying to build long chains, but i guess at a certain point they are trying to make sure they can use the chains and not the opponent?

MSmits: not exactly, there's a rule that says player A needs an odd number of long chains and player B needs an even number. Or the other way around, not sure

MSmits: so it's not true that both of them try to get as many long chains as possible

MSmits: what you try to be is the player that has the last safe move

MSmits: because then the other player is forced to start one of the chains, giving you the boxes

MSmits: the player that made the last safe move is said to be "in control"

MSmits: or that he made a move resulting in nimber value 0

struct: stockfish is suing chessbase o.o

struct: https://stockfishchess.org/blog/2021/our-lawsuit-against-chessbase/

reCurse: Wishing them the best

struct: yeah, I saw some stuff before about chessbase using their engine and renaming it

Astrobytes: Shady gits

reCurse: fat fraud

MSmits: ugh... now I somehow need to merg a 500 line mcts with a bot thats already 2.5k lines. So messy

MSmits: cg limit are definitely meant for using multiple search algorithms in the same bot

MSmits: definitely not

reCurse: You need a preprocess step for your bots

MSmits: you mean like work in seperate files and then merge them?

MSmits: automatically?

reCurse: Anything that goes through your source and then has the possibility to discard code you don't need

reCurse: That way you keep more locally

reCurse: Could be a ifdef-like

Wontonimo: i use a python file to strip and combine my cpp files for CG

reCurse: e.g. My bundler looks for stuff like // BUNDLE_IGNORE_START and // BUNDLE_IGNORE_END

MSmits: for D&B I have 3 completely different projects

MSmits: well 4 actually

MSmits: this mcts, a nim solver, a score solver and the combination is the bot on CG

BlaiseEbuth: You're impure Wontonimo

BlaiseEbuth: My merger is also in c++

MSmits: my main problem is variable naming

reCurse: C++ is unfortunately terrible to handle text out of the box

MSmits: when merging

reCurse: Mine is in C#

BlaiseEbuth: Some regex do well

reCurse: Regex can go diaf

BlaiseEbuth: diaf?

reCurse: die in a fire

MSmits: die in :fire:

BlaiseEbuth: Oh ^^

Wontonimo: i love regex :heart:

reCurse: We're no longer friends

BlaiseEbuth: Matter of habit I suppose...

MSmits: :broken_heart:

Wontonimo: we were? oh wow, achievement unlocked

BlaiseEbuth: Put it on your profile, I have some good ones :3

MSmits: funny

MSmits: it looks real BlaiseEbuth

MSmits: maybe could be a bit bigger

BlaiseEbuth: Yeah. Got a little display issue. Will take a looke at it

Wontonimo: oh, i like your achievements

reCurse: "Disliked by reCurse" bronze level

BlaiseEbuth: An easy one

Wontonimo: "part of the tutorial"

MSmits: :grin:

Wontonimo: rules change all the way to legend

Marchete: MSmits can you share the image again?

Marchete: I lost that part of the chat

BlaiseEbuth: NSFW?

Marchete: yeah

Wontonimo: -()-()-()- = -(3)-

Wontonimo: that's it

Wontonimo: or was it another image?

Astrobytes: I still have it open: https://imgur.com/a/9NFWnz0


Astrobytes: (no idea why)

martinpapa69: NeauralnetworkSoFtWare

Astrobytes: Pretty damn good Wontonimo

Marchete: \o/

BlaiseEbuth: Ben wa balls he...

MSmits: do you mean the imgur or the pastebinned chat with maps of D&B end games

MSmits: Marchete

Marchete: dunno, the img 30 min ago

Marchete: or so

MSmits: oh thats what Astrobytes shared

Marchete: great artist

Marchete: and what was the question?

MSmits: well whether it would be a good idea to merge stuff like that

Marchete: or PM if you like

MSmits: saves you time in floodfilling and such

Marchete: to not break the chat

MSmits: sure

jacek: not floodfilling the chat eh

Default avatar.png borrel: time for a nice old-school chat worm virus :sunglasses: /

Default avatar.png borrel: s

BlaiseEbuth: :snake:

Astrobytes: that's a snek Blaise

BlaiseEbuth: No worm emoji.

BlaiseEbuth: Ask tibo

Astrobytes: ~ <= very small worm

martinpapa69: worm from back: .

Astrobytes: :)

BlaiseEbuth: Still waiting for the lice one.

BlaiseEbuth: And the salt ofc.

MSmits: http://chat.codingame.com/pastebin/e9891611-e35d-4029-8d62-0b1d13551c94

BlaiseEbuth: :o

Astrobytes: I'll take that as a worm and not a new discovery in string theory

jacek: :upside_down:

dbdr: looks like a twisted chain of boxes to me

Default avatar.png Retroblaze: hi

jacek: ohai

struct: potw done

jacek: now do the yinsh potw

struct: I would need to make a bot for it :/

struct: clobber bot is just copy paste from breakthrough bot

jacek: eval as well?

struct: no eval

struct: just full rollout

struct: ept is used in clobber right?

jacek: i bet mostly good old mcts. milka uses some math

Default avatar.png Retroblaze: How do you get good at programming?

Astrobytes: 1... 2... 3... - altogether now: Practice;

Default avatar.png Retroblaze: what do you use to practice?

Astrobytes: In what way?

Astrobytes: General problem solving? Logic? Learning a particular language?

Default avatar.png Retroblaze: well how do you get good at clashes?

Astrobytes: I don't clash.

Default avatar.png Retroblaze: what do you do?

Astrobytes: Multiplayer bot programming, some optimisation, some puzzles

Astrobytes: https://www.codingame.com/multiplayer/bot-programming

Astrobytes: https://www.codingame.com/multiplayer/optimization

Astrobytes: https://www.codingame.com/training

Astrobytes: struct: nice Clobber :)

struct: thanks

struct: I should try pruning moves

Default avatar.png Retroblaze: cool Astrobytes

Astrobytes: Retroblaze: Stick with easy puzzles at first if you do those, there's no time limit (unlike clashes)

Default avatar.png Retroblaze: okay, thanks

Default avatar.png Retroblaze: ill try them out

struct: forgot to use 1 sec as p2 on first turn, should not matter much though

Astrobytes: Cool, good luck. Thor, Temperatures and The Descent are good to start with if you haven't done them Retroblaze

Default avatar.png Retroblaze: alright, will do

Astrobytes: struct: For top you need nim solver

struct: nim solver here aswell?

Astrobytes: Yeah, see who's first :)

Astrobytes: Here: https://project.dke.maastrichtuniversity.nl/games/files/msc/Claessen_thesis.pdf

struct: thanks

jacek: i dont use any of this... nim

struct: is it NN jacek?

Astrobytes: Of course.

jacek: what else

jacek: but something is off

jacek: it often says 0.9 score just to prove a lose 1 turn later

jacek: but it is strong nonetheless

Astrobytes: Definitely. My dumb bot beat you earlier.

BlaiseEbuth: That deaf, dumb, and blind bot sure plays a mean Clobber.

jacek: but can it play blindfold chess

Astrobytes: It's a Clobber wizard, there has to be a twist

BlaiseEbuth: \o/

Astrobytes: "Since I was a young bot, I played with coloured stones"

BlaiseEbuth: :yum:

jacek: https://www.reddit.com/r/AnarchyChess/comments/nx8mfu/blindfold_puzzle_white_to_play_and_win/

Astrobytes: Let's make an album (and movie) called Botty

BlaiseEbuth: Do we have to destroy the chat at the end ?

Astrobytes: A virtual one perhaps.

MSmits: I cant believe it works so well

MSmits: https://www.codingame.com/replay/571393094

MSmits: frame 57

MSmits: look at the layout

MSmits: this is on purpose

jacek: meh

jacek: you say 24-25 but ends up with 27

MSmits: thats because they make mistakes

MSmits: in the end game

jacek: you should predict their mistakes

struct: MSmits on clobber do you prune moves or use ept?

Astrobytes: They? Ille is a team! :o

MSmits: wouldnt that be useful eh ?

struct: or is just normal mcts

MSmits: clobber was written in less than a day

MSmits: like c4

MSmits: so nothing weird

struct: yeah took me 2 hours

MSmits: you can use my bot as a benchmark for good performance & no bells and whistles

jacek: hes already above you

MSmits: yeah

MSmits: good

jacek: and milka is using math there

MSmits: milka is a chocolate brand

jacek: and is using math there

MSmits: lol

Astrobytes: I think he's using that deliberately

AllYourTrees: MSmits how many rollouts are you getting 1st turn for clobber?

struct: ban math

MSmits: i rollout from each child AllYourTrees

MSmits: so it's a bad measurement

AllYourTrees: oh so do i

struct: how many allyourtrees?

MSmits: let me go check then

AllYourTrees: expand all children & do 1 full random rollout

AllYourTrees: for each

struct: I do that

MSmits: ok, but your rollout count, is this for all of them separately? Or counted as 1

struct: I get like 1.5 - 1.8 Million

AllYourTrees: all of them separately

MSmits: ohh ok

AllYourTrees: darn you struct

MSmits: meh it's not enough to beat mikla. I do get a lot of close games this way but only rarely win

MSmits: kinda funny it influences the shape of the map like this though

jacek: you should take a break and eat some bacon

MSmits: why bacon though?

MSmits: oh

jacek:

MSmits: got it :)

jacek: :tada:

Marchete: :bacon:

MSmits: this is what it is supposed to do: https://www.codingame.com/share-replay/571396744

Illedan: Did you NN d&b?

MSmits: huh no, not me

Illedan: Did 1st player do it?

MSmits: no, he's just using math

MSmits: i am too, but he's using it better

Illedan: :D

MSmits: thats why he is also nr 1 at clobber

Astrobytes: you should ask him some more questions MSmits, he was qquite forthcoming last time

MSmits: they are both math games

MSmits: yeah

MSmits: i will if i see him

MSmits: but i'd feel bad if he gives away and I club him over the head with it :P

MSmits: could just be 1 little thing

Astrobytes: Then he can ask you questions ;)

MSmits: true

Illedan: On that lead it has to be more than 1 thing :P

Illedan: Not just a +1 somewhere

MSmits: not really, I made a change in my bot the other day that allowed me to solve 7 plies earlier, making my bot over 1000 times faster

MSmits: he solves 1 ply earlier than me

Astrobytes: Illedan: off-topic, but whatever did you do with your snake game you made for your work colleagues a while back?

Illedan: Was used for 2 social evenings

Illedan: https://www.codingame.com/ide/demo/8462468ed0113b37c6abb9f1a25ad764b388cc

Illedan: Most Norwegian leaderboard xD

MSmits: what does Bekk mean

Illedan: Company name

MSmits: oh

Mazia: ello govners

Astrobytes: lol, who could have predicted that winner eh

Illedan: I didnt participate

Illedan: This is my test bot to validate the game :P

Astrobytes: ah lol

MSmits: nice test

Astrobytes: Top was close

MSmits: not to the test :P

MSmits: they failed the test

Illedan: Very few games in contribution :(

MSmits: ah yes

Illedan: Oh, nvm I was wrong. Ille-Stream is my test bot

Illedan: nr1 is some serious stuff to cursh them xD

Illedan: *crush

MSmits: haha

Astrobytes: Oh lol, didn't even notice Ille-Stream bot

MSmits: I'd make a game if i could use it to crush my coworkers too

Illedan: Should I move it to public with a real name and make it a contribution?

Astrobytes: I reckon so yeah

Illedan: Basically snake :P

Illedan: But I feel more like making it an Optim

Illedan: like 2048

Illedan: with known seed

Illedan: to finish the game fastest

Astrobytes: Hmmm, that's an interesting idea

Astrobytes: I'll leave the choice to you but it's definitely publishable

Illedan: hm hm hm. Optim or multi. Which is more fun?

Astrobytes: Depends which day of the week it is

Illedan: xD

Illedan: Friday for optim?

Astrobytes: lol

Astrobytes: You could do both? I donno, might be pointless

Astrobytes: Push to public anyway and ask for opinions

Illedan: Ok, will fix tomorrow. thx for reminding me :)

Astrobytes: I just remembered earlier when Blaise posted a snake emoji

MSmits: you make that sound like a milestone :P

Astrobytes: :D

MSmits: i'll make it a point to post random animals occasionally to see if it does something for you

Astrobytes: hahaha! Please, be my guest

Illedan: Make it a multi and allow players to jump and swap direction? xD

MSmits: jump?

Illedan: *dig then

Illedan: go below ground 1 tile and then up again

MSmits: blaise was talking about worms earlier

MSmits: that fits

Astrobytes: ooh, burrowing. Interesting mechanic

Illedan: Maybe just too much

Illedan: 2p, 3p, 4p?

Astrobytes: Hm. 4p might be too much.

ArunJayaraman: /me

Illedan: yeah, too few turns

Illedan: But 2p is basically just an optim

Illedan: or Tron 2

Illedan: This game has the best story :D

MSmits: tron?

Illedan: my snake

MSmits: the story of how you wrecked your coworkers?

Illedan: There is a story part below most games you know?

Illedan: In the rules

MSmits: oh that one, let me go read

Astrobytes: Yeah. 3p then I guess. Unless optim. Sooo ask for ideas in the contribution I guess would be the best idea.

Astrobytes: lol

MSmits: the cake is a lie

Illedan: :tada:

MSmits: the story too :P

Illedan: You get the reference?

Astrobytes: When life gives ya lemons

MSmits: well it's a meme

Illedan: From the Portal game

Illedan: oooh, I should make a portal game

Illedan: hmmm

Illedan: but, basically Sokoban

Illedan: :(

Astrobytes: Make life take the lemons back! get Mad!!

Illedan: meh, too little time

codeing: holla all

Illedan: Learning Unity these days

Astrobytes: I got it

MSmits: oh thats cool Illedan

codeing: just get a question gays

Astrobytes: For anything interesting?

MSmits: did you do the catlike coding tutorials?

Illedan: Might get to do game dev for work if I can prove myself :)

codeing: does rubik's cube solving make more logic ?

Astrobytes: Oh very nice :)

codeing: 7 * 7

codeing: 7 * 7 rubik's cude

Illedan: Hope the contest on monday is nice :)

MSmits: oh right

Astrobytes: Oh I forgot about that

Illedan: So, Optim for Snake. To get done with it by monday. Done deal

codeing: answer me :smiling_imp:

codeing: does 7 *7 rubik's cube solving make more logic ?

Astrobytes: Hehehe, sounds good to me Illedan

Astrobytes: codeing: if your question made any sense we would answer it

MSmits: ye it's not making any logic

jacek: what's 49 rubic cube?

codeing: Does the resolution of the 7 * 7 rubik cube make the developer more logical?


codeing: yeah jacek

codeing: in 2 minutes

MSmits: are you asking if solving a 7x7 rubiks cube trains you to write better algorithms ?

codeing: sure

codeing: yeah

MSmits: if you do it by using algorithms then yes, but there are probably better ways to practice this general skill

Astrobytes: if it's 7x7 you can do that on paper :P

jacek: yeah make NN for it

Illedan: Anyway, I'm off. Hope ya all are ready for Snake party tomorrow night

Illedan: Damn, that sounded wrong

Illedan: Ignore me

Illedan: bye

Astrobytes: :D

codeing: https://www.youtube.com/watch?v=KHJdc4ox87M&t=200s

Astrobytes: Night Illedan :rofl:

MSmits: gn Illedan

MSmits: nothing wrong with a good ol' snake party

jacek: https://www.youtube.com/watch?v=LyjGhtba_zs

codeing: no, that's basics

Astrobytes: https://www.youtube.com/watch?v=EERaK5wEHQ4

Astrobytes: MSmits

codeing: https://www.youtube.com/watch?v=NQbssl0rmy8

struct: Was this what you were talking about jacek?

struct: https://www.codingame.com/replay/571405727

struct: The eval was quite high

jacek: eeyup

MSmits: nim games being all or nothing kinda makes this seem correct

MSmits: it just did a wrong guess

MSmits: did not know that show Astrobytes

MSmits: but i've seen the actor around shows by jimmy carr

Astrobytes: Peep Show and That Mitchell And Webb Look are worth a watch, ask dbdr

MSmits: dbdr watches peep show?

Astrobytes: I recommended one or the other to him a while back

MSmits: ah

Astrobytes: He knew one already

Default avatar.png MysteriousCarpet_a2d2: hello

LazyMammal: Anyone else getting timeouts on UTTT multi league arena?

Astrobytes: Are you leaving a 3-5ms buffer for your timer?

LazyMammal: Yeah, I leave a bit of room already. Today I'm only timing out on the first move. I'm also seeing my opponents time out but I'm not sure if that's normal for them. I'm looking at Legend league.

struct: you need to start the timer after reading the first input

Astrobytes: I don't have a UTTT bot but things seem SNAFU as per usual multi-wise. What changes have you made today?

LazyMammal: I had that problem struct you're right. Fixed that up right away once I found it. Spent too long tweaking the bot offline and forgot a couple things :D

Astrobytes: Ah lol, I checked your level and figured you knew that already :D

LazyMammal: Haha yeah. Well I ruled out the obvious and I was just wondering if anyone else was having trouble.

Astrobytes: hehehe, it happens!

Micheeey: whats up

Astrobytes: the opposite of up last time I checked :P

Astrobytes: *down DOWN FML

Astrobytes: Clearly too much time in CG chat today

Astrobytes: So whats up for me? I'm tired!

Astrobytes: RoboStac: I beat you twice in a row, it must be a bad submit

RoboStac: it's a baby nn, it doesn't know what it's doing yet

Astrobytes: Ah OK. Great

Astrobytes: :P

struct: which game?

Astrobytes: Clobber

RoboStac: it's at least not claiming the enemy is cheating and making invalid moves anymore

RoboStac: so I think my sim is correct

Astrobytes: lol, that's a positive start :)

Astrobytes: Gonna be tough to wreck miklla

struct: There seems to be a few tricks to reduce branching

Astrobytes: (generally I mean, not on this submit)

Astrobytes: Divide and conquer is the name of this game really

struct: ill still try to finish breakthrough first though

Astrobytes: I hate that game. I may convert to EPT.

struct: I have a few bugs on the arena version

struct: I would try EPT

struct: you probably wont have to change a lot of code

Astrobytes: Yeah, not a big job, just tedious :)

Astrobytes: Hm. Still I'm making these invalid actions. Damn bugs.

Astrobytes: Submit looks nice struct

struct: my random starting seed could start at 0

struct: so it would always return 0

struct: ...

Astrobytes: lol

MSmits: I wonder if mikla just nim solves

MSmits: and plays random before

MSmits: on clobber

struct: I have same bug on bt ....

struct: I guess ill resubmit there too

Astrobytes: I doubt that MSmits but nothing is impossible

Astrobytes: defo nim solving but random?

MSmits: what else to do?

MSmits: does it matter what you do in the first 20 plies?

MSmits: are there clear ways to eval?

Astrobytes: Perhaps not if we all play in that way

Astrobytes: Otherwise there are gains to be made

MSmits: just wondering what they are

Astrobytes: it's mostly groupings afaict

MSmits: you eval groupings?

Astrobytes: I eval nothing

MSmits: no i mean the general you

MSmits: not you the friendly scotsman

Astrobytes: yeah, like the islands

MSmits: but thats what you nimsolve

MSmits: the island

Astrobytes: yeah, but you can eval the pre-island configuration surely

Astrobytes: To obtain optimal islands

MSmits: I guess

MSmits: seems like such a short game

MSmits: been watching too many D&B replays

Astrobytes: Hey I'm just thinking out loud

Astrobytes: I could be wrong

MSmits: yeah I dont know how to think about it at all

MSmits: I would guess you nim solve it at the end and use NN before that

MSmits: or something

MSmits: seems hard to write a good eval

MSmits: I see that there are differences in mobility

MSmits: well no not really, every move can be reversed

Astrobytes: All you have to know about this game is even trictrac had to make a MCTS

MSmits: wow

MSmits: are they all using mcts then?

Astrobytes: afaik everyone is MCTS, I could be wrong, it's possible to be lower in the league with ab minimax

MSmits: i guess the players that perform better do pruning in some way

MSmits: I can already see some equivalent moves

Astrobytes: There seem to be numerous pruning possibilities, couldn't tell you which are optimal though

MSmits: well two equivalent moves can always be pruned. It's just that detecting them might be too expensive

Astrobytes: *Might* or may save you a bunch of trouble. Has to be tested

MSmits: yep

struct: cant beat any NN :(

MSmits: mikla can do it :)

struct: i meant in bt

MSmits: oh, right

struct: i resubmited there with 2 small bug fixes

MSmits: I see

Astrobytes: nice

struct: I still have some more things to do there

struct: I have one function ready to solve sooner

struct: im not sure if its worth to check for zugzwang

struct: I know it can happen but never seen it on cg

Astrobytes: It's weird, I do a small null move pruning in BT and without it my bot is much worse.

Astrobytes: (in all versions, not just my current shit one)

struct: I prune some moves

struct: but only for me

struct: for opponent I take into account all

Astrobytes: wtf I'm 24th in Oware

struct: you got pushed down?

Astrobytes: I most certainly did yes

struct: Ah many submits from the same palyer

struct: can do that

Astrobytes: Getting back to a decent position is a lot harder now with all the NNs, still cool though

Astrobytes: More of a case of about 5 people with NNs submitting

Astrobytes: gotta say csip/martinpapa and old john both have done well in there recently

Astrobytes: anyway, off to bed, gn all

struct: gn

Husoski: sweet dreams!

DogCat: struct, how can i to participate of Arena without write my country?

OBenjOne: What other games are there similar to coders strike back where the game is more focused on physics than on a board-game strategy feel? I really enjoyed coders strike back and mars lander so any more similar to that would be really cool

MSmits: bitrunner 2000

MSmits: https://www.codingame.com/multiplayer/bot-programming/bit-runner-2048

OBenjOne: thanks I will check it out

MSmits: https://www.codingame.com/multiplayer/bot-programming/poker-chip-race (hard to sim)

MSmits: https://www.codingame.com/multiplayer/bot-programming/mean-max

MSmits: https://www.codingame.com/multiplayer/bot-programming/fantastic-bits

MSmits: these are games that use physics engines

MSmits: but br2k is the most "pure" physics game

OBenjOne: Thank you so much!

MSmits: np hf