Chat:World/2021-06-04

From CG community
Revision as of 12:08, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/61534620981261> Jeanpier: What happened to CoC? I can't start <img src=/a/50728347735682> jrke: website looks slo <img src=/a/50728347735682> jrke: w File:De...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Jeanpier: What happened to CoC? I can't start

jrke: website looks slo

jrke: w

Default avatar.png codergurl: https://www.codingame.com/clashofcode/clash/1793041998fcb2937f5f89452e91c7e63d82d10

Default avatar.png codergurl: Coc is down so let's try a private clash

Default avatar.png johnny_the_programmer: Servers still down, made a private clash: https://www.codingame.com/clashofcode/clash/1793056735856b7b12bbf4cfb6b0c9fe51d94ab

Default avatar.png johnny_the_programmer: Private servers not working either

teddy2021.1096: Seems like the private method doesn't work.

Default avatar.png johnny_the_programmer: :(

teddy2021.1096: Looks like it's Project Euler sadly alone tonight.

The_ZimaBlue: Even bot programming seems down

The_ZimaBlue: testing in arena is not working.

Golyat: everything multiplayer related seems not to work

The_ZimaBlue: yah, so the server host must be down

The_ZimaBlue: hope it gets fixed soon

Golyat: i still can practice with puzzles. even submitting them works fine

The_ZimaBlue: yes

The_ZimaBlue: only multiplayer....

SubwayMan: yeah multiplayer is a hot mess rn :head_bandage:

dscientist: :unamused:

firmac: it's so sad

dscientist: I am trying since 3pm GMT. i Got back here 5 times to check it.

struct: well

struct: they are on france

struct: its not like this is a paid service

Monarc: clash of code is broken

Monarc: bad day

LuisAFK: it is?

Default avatar.png RR--R: can you try join for private clash to check whether working fine?

Default avatar.png RR--R: https://www.codingame.com/clashofcode/clash/1793117a612391d753a24d001f9600feafeb081

Default avatar.png Anonymous_Maddy: hii

LuisAFK: seems to be working

Default avatar.png RR--R: yeah no luck

LuisAFK: but theres no count down

Default avatar.png Anonymous_Maddy: what happend to clash of code

LuisAFK: should i start it?

Default avatar.png Anonymous_Maddy: not working

Default avatar.png Anonymous_Maddy: linking many times

Uljahn: Automaton2000: it's a good day to be a bit more productive than just playing clashes

Automaton2000: yeah, i can see that

Default avatar.png Anonymous_Maddy: why clash not working

Uljahn: servers are down, waiting for admins to fix it

LuisAFK: k

aCat: automaton is back ? :P

Default avatar.png Anonymous_Maddy: k

nyn_[Nguyen]: Maybe clashofcode server has broken.

Default avatar.png vgg-zf: yes

The_ZimaBlue: all multiplayer servers

The_ZimaBlue: even bot programming

The_ZimaBlue: testing in arena doesn't work

Azhy: hello

Azhy: why i can't test this bo

Azhy: t

Azhy: ohh so the bot servers doesnt work also

Azhy: pleaseee

Azhy: it's about 7 hours I am doing this week's shit

Azhy: and this is not working

struct: chill

Uljahn: the problem's been reported on discord bug-report channel already, just have patience and wait for [CG]Thibaud to tell us when it's resolved

[-Shishir]: is clashofcode not working?

Azhy: nope

Golyat: everything multiplayer related is not working

SubwayMan: Just calm down, it's not like we're paying for it. I can go a day without clash :)

aCat: solve some puzzles in the meantime ;]

Chainman: heyyy

LazyMammal: great time to figure out cg-brutaltester

sprkrd: and the SDK

sprkrd: wanna know something funny? Since I have no knowledge whatsoever about Java building tools, and I cannot be bothered with learning maven, ant, and all that, I made my own viz for spring 2021 using SFML: https://imgur.com/a/qN49knD

struct: nice

sprkrd: Just to check that my environment implementation was working fine, didn't want to debug from hundreds of line of text

sprkrd: bit time spent there instead of doing my AI, but I feel somewhat proud of that (I don't usually do graphic stuff)

sprkrd: For next time, probably should learn the SDK

derjack: noivr

derjack: noice ~

Zangwill: Is COC working?

Default avatar.png Crusher54: I think it is broken.

Default avatar.png HeisenDelta: The contest never starts

nyn_[Nguyen]: it's still broken

ArtLiteracyStory: I think the server is down

MaiHuynhTrucAnh: i agree

ArtLiteracyStory: The server is sleeping

MaiHuynhTrucAnh: too bad connect

NguyenVinhHien: why clash of code not working guys

ArtLiteracyStory: Because we don't pay for it lol

ArtLiteracyStory: I don't know

MaiHuynhTrucAnh: :joy: let purchase your first payment

ArtLiteracyStory: Are there any other alternative games like this?

Default avatar.png Voudrais: Guys why i cant play clash of code

B4tiste: Theservers are down, the admin is aware of the problem

Default avatar.png 21stCenturyPeon: OK, we'll do it the old fashioned way: There's a W*H image of a star field...

Ultrixx: is it possible that the arena is down? i try to run https://www.codingame.com/ide/puzzle/mean-max using the "TEST IN ARENA" button, but nothing happens in arena

struct: servers are down

Ultrixx: good to know thanks

[CG]Thibaud: should be better now Ultrixx

dbdr: MSmits, improving your connect 4?

Ultrixx: thanks they seem to work now

MSmits: just let my meta mcts run overnight and resubmitted

MSmits: same bot otherwise

dbdr: aha, so better opening book

MSmits: it has some rps problems vs robo

MSmits: and plays the same games most times, so any small change can do the trick. Apparently 8 hrs of running 40 games/second is enough

struct: 40 games a second o.o

MSmits: yeah it was a little scary, running it next to my oware book generator, but went ok :P

MSmits: book generator slowed down about 30%

MSmits: (remember, the book thing is using 30 GB)

MSmits: I guess windows is using swap file in some way for it which is what made it slow down

dbdr: spammers created 1/2 million pages on my wiki, cleaning it up now :)

struct: you still had ram avaiable for meta?

struct: damn dbdr

Astrobytes: Is that what's slowed it right down dbdr?

dbdr: I think so, yes

MSmits: struct no i didnt, so it spit some book generator stuff to swap file *I assume"*. Who knows what windows does

struct: ah it stores on hd

MSmits: well i didnt tell it to

MSmits: windows is weird

struct: well it has no space available

struct: so it does that

MSmits: yeah

Astrobytes: You can change the swap file size

Astrobytes: If you want to bother with it

MSmits: ahh ok

MSmits: well it should not usually be necessary

struct: i finished solver, I think its working ok

MSmits: great

struct: at least for ttt it gives the results I wanted

derjack: mcts solver?

struct: yes

struct: if all childrens are draws + loses the parent should be a draw right?

derjack: yes

MSmits: you can take it a bit further even

Taka-Li: COC resumed?

Astrobytes: yes

MSmits: if 1 child is a draw and all siblings of that child have a child that is a draw, then the parent is a draw

MSmits: it's a form of ab pruning

derjack: hmm interesting

MSmits: might not be efficient to implement, but it should help locally when running a meta mcts or similar

MSmits: well on a nearly solved game that is

MSmits: otherwise you probably wont reach draws

derjack: you just ran meta against opponent or general?

MSmits: what do you mean? Just now overnight for C4?

MSmits: no i dont counterbook

MSmits: it's all seflplay

struct: how does it improve?

MSmits: it just plays more games and one of the percentages somewhere in the tree beats a previously best move

MSmits: it only needs 1 change when your opponent always plays the same moves

MSmits: these NN's are both deterministic *and* good, so they generally play the same moves every time and they also go deep into my meta mcts trees because the good moves get explored deepest

darkhorse64: my winrate against the new C4 book is better but you are really wrecking all others

MSmits: well i always was wrecking most except you

MSmits: still not using compression in book. It's just numbers between 0 and 8 and { and } for closing and opening branches

darkhorse64: Previously, I had a very hard time, now it's more balanced

MSmits: it's hard to say with such small statistics though. Your bot always did well vs me

MSmits: somehwere between 30-60%

MSmits: maybe I should try the unicode thing and make the book Chinese

MSmits: it's 40 kB now

MSmits: Moves Added: 12894

MSmits: thats a lot

darkhorse64: total moves ?

MSmits: yeah, well, you mirror it to get 25k or so

MSmits: 1 symmetry axis

MSmits: way more than other games. I never went this far before

MSmits: because I was hoping to try and solve the game

derjack: transpositions included?

MSmits: you mean if the game doesnt follow my tree, yet gets to the same state?

MSmits: yeah it can go off book and go back on it

derjack: phew

MSmits: i always code it that way

MSmits: there's another kind of transposition for C4 i havent coded

darkhorse64: you hash the state so that you can enter into the book at given places ?

MSmits: yeah

MSmits: about halfway through the game, you start to have parts of the board that can't connect to 4 anymore

MSmits: so it doesnt matter what color they are

MSmits: you could use this for transpositions as well

MSmits: but complicated

aCat: Is there a way to call other language from closure?

MSmits: no idea

MSmits: not even sure i understand the question

aCat: you can solve bash puzzles by running python e.g. ;]

MSmits: i knew that yeah

aCat: I'm looking for a way to cheat on closure achievement for roller coaster :P

MSmits: oh, i dont know roller coaster

darkhorse64: clojure = torture ?

aCat: :(

MSmits: well that last 3 chars are the same, so it's true darkhorse64

jacek: huh, what kind of comparison is that, javascript?

MSmits: mmh, it would be funny to code Go in Go

Default avatar.png BANANAINDIANA: helo?

MSmits: BANANAINDIANA we hear you

MSmits: but mostly your name

MSmits: it's really loud

Uljahn: Automaton2000: there's something stuck in Diana

Automaton2000: it's nice to have the full rules

MSmits: he's right

MSmits: Automaton2000 what do you think about wood leagues

Automaton2000: it's fun when you can watch the replay

MSmits: I think anatomic issues are not part of Automaton2000's expertise Uljahn

Automaton2000: we have a very bad idea

IvesL: Automaton2000 how are you

Automaton2000: it was a long time to do more than one

MSmits: ok stop about the banana now Automaton2000, that's gross

Automaton2000: what does this even mean

Default avatar.png Hakimm: stull broek

Default avatar.png Hakimm: still broken ?

Default avatar.png Misft: its working already

jacek: :tada:

Default avatar.png Alemhan: hi guys, i have a problem

Default avatar.png Alemhan: i log in by other device, and there is an error, i cant play coding game

The_ZimaBlue: how did you log in?

KalamariKing: The part about "another device"

KalamariKing: what's the error, does it say? and what IS the other device?

KalamariKing: Alemhan

Default avatar.png Alemhan: wait

Default avatar.png Alemhan: "You must be owner of the account"

derjack: oO

Default avatar.png Xzoky174: well did you login??

Default avatar.png Alemhan: but im owner

Default avatar.png Alemhan: and i signed up by another device

KalamariKing: I've never seen that before

KalamariKing: What are you signing in with?

KalamariKing: (Email/password or social)

Default avatar.png Alemhan: just email

KalamariKing: What about a password

KalamariKing: Or did you go through the Google auth

Default avatar.png Alemhan: ok, i will delete account

Default avatar.png Alemhan: but i cant

KalamariKing: why do you have to delete

KalamariKing: ok, then delete

TenDRILLL: Are the servers working now?

KalamariKing: I think they're at least better

AllYourTrees: does anyone know whether AlphaZero uses a single MCTS instance during self play when gathering training data? or does it use a MCTS instance per player?

AllYourTrees: a single instance would allow it to build the tree up further, but idk if its like "cheating" almost? since its using searches from the other player

MSmits: my meta mcts uses a single instance. I am not sure what the consequences are. You don't get that much deeper though, the effect of tree reuse is usually minimal

MSmits: at most it is as if you used twice the calculation time

AllYourTrees: wait i'm looking at the pseudocode from the paper and it looks like they start a new instance of MCTS per turn??

MSmits: but in that case, you could always lower it

AllYourTrees: hmm good points

MSmits: you could also start a new instance yes

MSmits: there is no point reusing the tree when the branching is like 100

MSmits: except if 1 move out of those 100 is obviously the best

AllYourTrees: how is your opening book coming along MSmits?

MSmits: mmh which one. I think you mean the endgame book for oware. In that case, hopefully finishing 31 seeds in about 4 hrs

MSmits: then it's gonna be multiple days for each next one

MSmits: stopping at 36 max

MSmits: if you meant the opening book for C4, then i stopped it again, because my PC became unusable when running both those two :P

AllYourTrees: hahaha gotcha

AllYourTrees: how much data is that making :eyes:

MSmits: 31 seed book is currently making a 3.7 GB restore point every 20 mins and that's also the size it will be in the end (I need about 60-70 iterations)

MSmits: so i have to remember to delete the restore points or my drive will go full :)

MSmits: i like having the option of closing the process and only using max 20 min of calculation

MSmits: only losing

AllYourTrees: hah yeah that would fill up fast

MSmits: https://imgur.com/a/PKNW9kQ

MSmits: these are the finished books, you can see the exponential growth in size

AllYourTrees: yeah very clean growth

dbdr: nice

darkhorse64: 200 people in C4 !

dbdr: I just switched from minimax to mcts in connect 4, definitely stronger. and it's pretty vanilla

MSmits: wow really

MSmits: well.. what kind of rollout did you use/

dbdr: should be fun to add some improvements to it now :)

dbdr: pure random

MSmits: dbdr and I used smarter rollout

MSmits: avoid losing moves

MSmits: err darkhorse64

MSmits: not dbdr :P

darkhorse64: not yet

dbdr: I should try not playing center as p1 :D

AllYourTrees: nice dbdr

MSmits: please do, thats very much losing :)

MSmits: but the moves next to center are worse even

AllYourTrees: oh dbdr btw do you know what flags they pass to rust compiler?

dbdr: AllYourTrees release, as far as I know

MSmits: hey this is cool dbdr, your minimax finds the strongest opening

derjack: :o

dbdr: I don't know the exact ones, I think they don't use cargo

MSmits: the one next to center

MSmits: but minimax is not made for steal option, so hardcode that :)

AllYourTrees: okay gotcha

dbdr: MSmits in arena I have mcts. and yes it does find the stronger, when you ignore steal :D

MSmits: ohh ok

dbdr: http://chat.codingame.com/pastebin/76a6e783-53d7-4af8-b9ae-18d84eac04b0

MSmits: yeah it's really quite obvious and when you play millions of games locally, it never stops being the best

dbdr: the logical dealing of steal would be score -> -abs(score) :)

dbdr: should work on any game

derjack: that way bad move becomes good move

derjack: for steal use as closest to 50%

dbdr: I have scores in -1..1

MSmits: so 0

MSmits: closest to 0

derjack: your way would avoid very good moves (thats alright) but would favor very bad moves as well, so 2nd player would not steal

dbdr: very bad moves is close to -1, -abs(-1) is -1

derjack: oh, the abs

dbdr: it will choose move closest to 0

MSmits: ahh right

derjack: :nerd:

MSmits: in any case it should be picking 2nd move from left or right (index 1 or 7)

dbdr: right, but that's hardcoding :)

MSmits: i meant, that should be the result from not hardcoding, or you're handicapped :)

**dbdr speaking against hardcoding, which shows anything can happen :D

dbdr: agreed

derjack: so as 2nd player how would you choose if the move is worth steal?

dbdr: what kind of stats do you get MSmits? or is that confidential?

derjack: just additional action - steal?

MSmits: not confidential, i am on different system but it's around 30%-50%-70%-80%-70% currently, but WR's become more extreme as parts of the tree get solved

MSmits: for index 0 to 4 i mean

MSmits: ignoring symmetry moves

AllYourTrees: wouldn't it be something like if -steal is better than win pct of other possible moves?

MSmits: thats what abs does AllYourTrees

dbdr: I mean rollout count MSmits

MSmits: ohh

MSmits: sec

MSmits: need to turn off book for this

MSmits: 2nd turn 29k but i do a rollout from each child, so have to do this times 9

MSmits: so 200k i guess?

MSmits: gonna submit without book, see if i still get to 1. darkhorse64 is tough cookie and with robo in there...

MSmits: but games are more random without book so maybe robo is less of an issue then, no idea

darkhorse64: 29k x 9; it's huge, I get only 160K smart rollouts, 350k full random

MSmits: this is likely the difference between our bots then as we both dont do anything else

MSmits: btw i do use simd for calculating winning moves

MSmits: so that might be it

darkhorse64: I thought my code was efficient, it's sluggish

MSmits: my code is not complicated compared to some other bots. Without book under 600 lines

darkhorse64: I do that too but it's not faster than scalar which I really can't figure out

MSmits: well i am not 100% sure mine is faster than scalar. I didnt have scala

MSmits: scalar

MSmits: I literally wrote this bot in half a day. I normally dont get things right in one go :P

MSmits: takes weeks

MSmits: I would really like to share with you how i do the thing, but I dont know how to do it without giving away my whole book

MSmits: other bots have eval and such and thats where the advantage is

darkhorse64: My expand is a bit complicated to account for smart rollouts and solver. I don't start a rollout if there is a winning/losing move

MSmits: my whole bot i mean

MSmits: this bot has no eval, so all it is, is performance and a smart rollout

MSmits: hmm ok

MSmits: i just dont consider moves that are losing

MSmits: they dont become children

MSmits: if this means 0 children get created, then parent is a win

MSmits: only is annoying when making your final move choice and the root is a leaf :P

darkhorse64: I always create children if they are losing not to leave holes in my tree and avoid null ptr

darkhorse64: it's dumb but safe

MSmits: yeah i guess it doesnt matter that much

MSmits: i like saving my node pool a bit more, but its probably negligible

MSmits: my expansion is 70 lines so also pretty long

darkhorse64: Against good bots, shit does not happen but it avoids timeouts against weak ones

MSmits: you mean avoiding them selecting losing moves and you not having it in the tree?

MSmits: I just do checks for that and reset the tree

MSmits: in the update function right after reading input

MSmits: but I agree, I spend too much time fixing bugs as a result of this practice

darkhorse64: I have left #if 0 code for random rollouts as a baseline performance so it's longer. Yep, in a winning position, resetting the tree is harmless

MSmits: ah ok

MSmits: not gonna reach nr 1 this time

MSmits: your bot is still the same right?

darkhorse64: Yes. C4 lore matters

MSmits: i think i just boosted robo

MSmits: http://cgstats.magusgeek.com/app/multi-connect-4/msmits

MSmits: look at this lol

MSmits: what is with Robo's bot

MSmits: i am not even using book this time

MSmits: so this is random

MSmits: this brings back memories from his yavalath NN :P

MSmits: sometimes it was wrecking me and sometimes i got 100%

MSmits: usually playing a bunch of identical games

darkhorse64: One or more training days for robo and he may wrecked us

darkhorse64: wreck

MSmits: not with book i dont think. He's gonna find the same lines of play

MSmits: i already found those and solved them

MSmits: so perpetual draw I'm afraid

darkhorse64: Right, I'll be wrecked

MSmits: but he;ll be 1 because of other players submitting

MSmits: it will depend on how much his NN is generalized

MSmits: apparently they are great at memorization, which makes it a lot like an opening book :P

darkhorse64: If there were bmi for simd, i would consider parallel rollouts

MSmits: bmi for simd?

MSmits: how do you mean

darkhorse64: popcount, pdep, pext

struct: which operation?

struct: ah

MSmits: ahh I see

MSmits: I think avx 512 has those?

MSmits: or some of those

darkhorse64: some

darkhorse64: but not pdep/pext

darkhorse64: I think

MSmits: rollout count only takes you so far though

MSmits: the first few moves are critical

MSmits: nn will train how to do those correctly

MSmits: extra rollout means you have perfect play from ply 28 instead of ply 30

darkhorse64: They all can be emulated but will the performance suffer ? You need a huge boost for rollouts count to gain measurable strength

MSmits: exactly

MSmits: not saying mcts will not play really well early game, but a simple game like this only allows one or two mistakes

MSmits: like oware

darkhorse64: However, I disagree with the idea that rollouts matters in the ending. For me, MCTS is like a sampler, the more samples, the more accurate at the beginning

MSmits: well it matters at some distance from the ending

MSmits: the more rollouts, the further away from the ending your bot will play perfectly

darkhorse64: except when the game is full of traps like Y where you cannot escape all of them

MSmits: then the ending is poorly defined

MSmits: in C4 good players will nearly always fill the board

darkhorse64: But I agree of your comment for ending playing strength

MSmits: in Yavalath that only happens when all traps get avoided

darkhorse64: Which occurs rarely for me

darkhorse64: :grinning:

derjack: :upside_down:

MSmits: yeah its really hard to do for a mcts bot

MSmits: but they are awesome at the late game

MSmits: because their sampling avoids the situation where you cant play hexes at the end

MSmits: because random playouts randomly go to end, so you avoid situations like that

MSmits: hard to quantify this with an eval

darkhorse64: There is one thing that I have not done for Y: biasing the rollout or selection towards moves 4 hexes from my current pieces or use EPT at least at the start for the same purpose

MSmits: i did try to filter for those

MSmits: not allowing moves 4 away from everything else

MSmits: did not do anything

darkhorse64: I mean: sampling far away moves is just a waste of cycles. 4 hexes away maybe is too crude

MSmits: EPT at start might help but it might also let you set up situations where in the endgames theres many places where you cant move

MSmits: far away moves do not help you avoid traps at all

MSmits: and since most games end with a trap, i agree

Default avatar.png Xzoky174: why are there so many bots

darkhorse64: because it's the "raison d'être" for CG

reCurse: Think he meant clash bots

MSmits: ahh makes sense

MSmits: Xzoky174 because there aren't enough players to fill the roster

reCurse: Past tense because he's gone :P

MSmits: ah well, someone else may read :P

MSmits: what are you up to reCurse?

ja_fica: NN is impressive but how is Lks10 in 22th in UTTT using C#, O3 from c++ is much faster...

darkhorse64: my answer applies to CoCs :stuck_out_tongue:

MSmits: ja_fica just using the fastest language doesn't mean your bot has the most rollouts. This is aside from the fact that rollouts arent everything

reCurse: Putting a bit of time in my chess sim, busy otherwise

reCurse: You?

MSmits: you can use a language inefficientgly

MSmits: still making endgame book for oware to use in supervised learning and adapting meta mcts for same purpose

MSmits: 31 seeds almost finished

ja_fica: Ofc there is no doubt that the algorithm is the most important

ja_fica: BUT, the same algorithm in c++ with O3 is probably faster

MSmits: thats very true

MSmits: 2 times faster compared to C# probably

KalamariKing: oh hey MSmits!

MSmits: maybe more

reCurse: C# can actually be competitive, especially with the latest versions of .net core

ja_fica: In my computer it was actualy 41x faster

ZarthaxX: maybe you coded it bad ja_fica

MSmits: it was always competitive in most games, but uttt? That would be news to me. How much did it change?

KalamariKing: are there actually coc bots?

ja_fica: 20x faster when I have been careful with garbage collector

reCurse: No it wasn't always

reCurse: Was still in debug mode until recently

MSmits: ja_fica you need to use object pools

reCurse: Was still Mono until recently

reCurse: That was hard to compete

MSmits: ah I see

MSmits: it used to be similar in speed to java

MSmits: but much faster now i guess

reCurse: Don't know enough about java if it's affected by debug mode

reCurse: But much harder to be nearly as low level

reCurse: Even with older c#

MSmits: btw, i meant it was always competitive, because in most games a 2 or 3x faster algorithm isnt enough to make you win

reCurse: :thinking:

MSmits: uttt is different like that

reCurse: Most games?

ja_fica: I agree

MSmits: smart approaches are more important

MSmits: is what i am sayingh

MSmits: most contests do not have c++ at the top because it is fastest

ja_fica: Yes, going from MTCS to a MTCS-solver makes a huge difference even with half of the rollouts

MSmits: it is because top players like to pick the fastest language

MSmits: no reason you can tbe nr 1 with C#

reCurse: I meant competitive as in reaching top ~~ legend

ja_fica: Yes, but the real discussion is why not use the same algorithm into a faster environment

MSmits: yeah. In uttt its not

reCurse: Maybe top 100, I don't know the exact number

reCurse: Past a certain point though, good luck

MSmits: but in many of those ex contest multis, top 10 is very possible with something other than c, c++ or rust

AllYourTrees: what is an MCTS solver?

MSmits: it's mostly the simple boardgames where you get stuck with somewhat slower languages

MSmits: because everyone does the same thing and then performance matters more

reCurse: Everyone does the same thing except there's a 5-10 points spread in the top 20...

struct: bit runner might be the exception

ja_fica: MTCS -solver is an upgrade from regular MTCS where you start tagging nodes as WIN, LOSS and DRAW heavly prunning the tree

MSmits: reCurse well there is now that there are NN's :)

MSmits: thats a whole different subject

reCurse: Forget NNs

MSmits: ok check out langtons ant

ja_fica: You use NN?

ja_fica: in UTTT?

MSmits: noone figured out what nr 1 did

MSmits: and he's nr 1 with slow language

MSmits: ja_fica yes reCurse and jacek do NN in uttt

reCurse: I'd say it's more the exception

reCurse: Than "most multis"

MSmits: I think in most cases where +5 happens it's because of coder creativity and not the choice of language

reCurse: I say it's b oth

MSmits: it is both, to some degree

MSmits: the degree is much more heavily skewed toward performance in uttt

MSmits: and less so in other games

MSmits: connect4 is also one of those games

MSmits: but when eval becomes important, performance becomes less important

ja_fica: I have created a bot using DRL for uttt but I cant transfer the weigths as I have used keras with multiple shared layers (made a huge difference), and it too difficult to make them useful in 100ms

MSmits: ah

MSmits: use Mokka

MSmits: assuming no convolution layers

MSmits: if you have convolution, then good luck :P

MSmits: https://github.com/marchete/Mokka

MSmits: havent tried it myself, but he provides jupyter notebooks with tests that show keras gives same output as his c++ framework

MSmits: for using weights in CG, you need to compress them

MSmits: < 50k should not be hard

ja_fica: I dont found it useful to use convolution in this, although I have written then from scrath for fun :). The bes result was to used a shared NN for top left bot and right, other for the 4 diagonals and 1 for the center, and linking neural network for all

AllYourTrees: dbdr have you used avx in rust yet?

MSmits: ja_fica interesting. It would be cool to see it in action on CG

KalamariKing: oh my god

MSmits: what is it KalamariKing?

KalamariKing: ja_fica *didn't *scratch *best *use

MSmits: It's cool to write from scratch

MSmits: just have to verify that it's actually doing what it's supposed to

KalamariKing: MSmits were you there yesterday when I announced my challenge?

MSmits: what is your challenge?

MSmits: i wasnt here

ja_fica: Convolution are just small neuralnetworks for each set of neighbour pixeis using the same weigths, the difficult part is joining the cahnnel and avegare the error

MSmits: you mean small layers?

AllYourTrees: the hardest part for me was stride & padding

ja_fica: I have used regular padding

dbdr: AllYourTrees yes, avx in rust

MSmits: dbdr did you use avx in both c++ and rust and is there any difference?

AllYourTrees: dbdr nice!!!! do you know of a tutorial for using avx in rust?

MSmits: or just naming of functions?

dbdr: I don't do c++ ;)

MSmits: oh, i thought you did before, so you were always rusty?

ja_fica: How do you send red messages to anyone?

KalamariKing: ok my challenge was to make a simple program in css

KalamariKing: pure css

MSmits: it contains your name ja_fica, when it's red

dbdr: AllYourTrees basics in https://doc.rust-lang.org/edition-guide/rust-2018/simd-for-faster-computing.html

dbdr: MSmits on CG I went Java -> Rust

MSmits: KalamariKing ahh ok, that's not my thing. I barely have experience with css. I have to prepare my classes well, when teaching html/css

dbdr: I did some C ages ago

MSmits: oh right, you had that java uttt bot

dbdr: still do :)

MSmits: yea

ja_fica: MSmits, you can use convoluiton layeres or a groups of conv layers, I was not smart enought the join layers

dbdr: one day I'll convert it to rust :)

ja_fica: *backpropagate the error twice

MSmits: and this is minimax right?

dbdr: minimax, yes

ja_fica: Rust is faster then c++?

dbdr: no

dbdr: roughly the same

ja_fica: Is there a big advantage using rust?

dbdr: more advanced type system

KalamariKing: is that it?

MSmits: I wonder how well it'll do. It will get at most 1 extra iteration, but most turns it won't

MSmits: thats the problem with iterative deepening

KalamariKing: I thought rust kinda sucked fsr

dbdr: basically you can't get segfault unless you use unsafe blocks (which can be useful for some performance tricks)

dbdr: MSmits even half an iteration can be useful

MSmits: how does that work dbdr, i never used half iterations?

MSmits: is this because you finished best move from last iteration

MSmits: and the new iteration has a new move that is better?

dbdr: I start the nest iteration with the best move of the previous one. so if another move beats it, I can use it, even if I did not explore the whole width

dbdr: *next

MSmits: ah i see yeah thats what i meant. Smart

MSmits: now all my minimax will be better

AllYourTrees: i love the rust type system

MSmits: thanks :)

dbdr: :scream:

AllYourTrees: its such a guilty pleasure for me, spending all day coding in python at work

dbdr: but you're in MCTS everywhere, aren't you?

ja_fica: The current processors lack a shared memory for an attached GPU

MSmits: yeah, but I occasionally try minimax and then it's always worse. Maybe because I dont include things like this

AllYourTrees: ty for the link dbdr

dbdr: minimax might be better for shallow traps, no?

MSmits: sure

MSmits: not many games have them though

AllYourTrees: also for anyone who is interested in Rust, the documentation is very great, built in package manager, great IDE support in VS code, works on every OS

MSmits: and when they do... and its early game, i have other ways :P

dbdr: only for bookable games...

AllYourTrees: and i'd argue helps build good coding practices, but i guess thats debatable

MSmits: dbdr true, wont work on onitama, clobber, bandas etc.

MSmits: btw, jacek training a nn on onitama is pretty cool

MSmits: with that card stuff. Pretty creative

MSmits: I can see how it would be doable for me in most boardgames, the way jacek does, but that one...

derjack: :blush:

MSmits: if you see how much trouble you guys have beating karliso in uttt and compare that to how much karliso got wrecked in onitama

MSmits: he's nr 1 almost everywhere he makes a good effort

MSmits: I dunno, I just love onitama. Too bad I ran out of ideas. Would have liked to have played it a bit more

reCurse: I'm using chess partly not to relapse in uttt

MSmits: lol

MSmits: step in a rabbit hole to avoid dropping into a sink hole?

reCurse: Sick of putting so much time in a game I hate

AllYourTrees: sounds like we need an ultimate chess game

MSmits: yeah I can see that. I actually like uttt generally, with all its flaws, but if you hate it and still feel you have to maintain nr 1 position... yeah that could get annoying :)

BlaiseEbuth: Nobody forces you...

MSmits: he forces him :P

reCurse: Yeah no kidding... competitiveness is a thing.

PatrickMcGinnisII: oh, sote working again?

PatrickMcGinnisII: er site

Astrobytes: yes the sote is wirking

MSmits: yup, my theory is that you can enjoy CG more if you're not usually nr 1 when you try

HalfLegend: Hey, I need to debug my Connect 4. So my algo works when I'm player 1 but doesn't play when I'm player 2. How can I set the conditions to be player 2 instead of the boss so I can debug?

PatrickMcGinnisII: twork it if your werth it

MSmits: you can let go of games when you run out of ideas, try new stuff

reCurse: You can love the hard competition and hate the game

reCurse: It works

MSmits: sure

reCurse: Until it goes out of balance

PatrickMcGinnisII: tryAngle Catch is kinda deep, very long games

MSmits: thing is, when you're not the best, you can view it more as improvement vs yourself. The leaderboard just becomes a ladder you use to see how much better you've gotten and the actual opponents become less important. But when it's top 5, it's different

darkhorse64: HalfLegend: select boss as player #1 in the IDE

BlaiseEbuth: So it's all good. No need to complain...

reCurse: ?

reCurse: Your point?

MSmits: my point is, you have more fun when you're not as strong :)

reCurse: BlaiseEbuth:

HalfLegend: Thank you :)

BlaiseEbuth: Hmm ?

MSmits: noone is complaining

MSmits: we're just discussing the psychology of competitiveness

BlaiseEbuth: Meh.

MSmits: I see euler enjoy codeforces a lot, even if he's not top player. I doubt tourist has as much fun if he's not nr 1 that one time

MSmits: it's a lot of pressure

MSmits: granted, all the ps5's and laptops help

darkhorse64: I feel daporan pressure to submit 3 mn before the end of private contest

BlaiseEbuth: It is. If you let it put pressure on you...

darkhorse64: 30

MSmits: hah yeah

MSmits: BlaiseEbuth it's not that simple though :)

MSmits: maybe you're wiser and have more self control than the rest of us :)

reCurse: Uh? I don't see that as a self-control issue at all

MSmits: well control as in, not letting things bother you

MSmits: might be wrong choice of words

darkhorse64: He is counting CG tortured souls

BlaiseEbuth: You can be invested, enjoy the fact to be first, but still not fail into depression when you drop second...

MSmits: I generally succeed in not letting stuff bother me, but i did turn my meta mcts back on when robo started wrecking me in c4. so, maybe not entirely succesful

MSmits: BlaiseEbuth you can, but that doesn't mean it's easy to do

Astrobytes: Everyone's mindset is different. Everyone's brain is different. Everyone's personality is different.

darkhorse64: do not forget your "grimoire" if you do want that I wreck you

darkhorse64: do not

Astrobytes: Hence things affect different people differently.

MSmits: bah, not wrecking, 50 % :P

darkhorse64: yes but #1

MSmits: that's it, i am calling it my grimoire now

reCurse: You need to care a lot to compete, so why wouldn't you be happy if things you care about don't go your way? You're misunderstanding the nature of the thing.

reCurse: *unhappy

MSmits: darkhorse64 people pushing me up, I'll wait. As long as robo doesnt submit i am ok :P

BlaiseEbuth: I would rather say that you're generalizing your view of the things. But meh...

BlaiseEbuth: -s

MSmits: well his position is rare

MSmits: by definition

darkhorse64: His training session has not ended

reCurse: Still not sure what your point is, except I should shut up or something

MSmits: darkhorse64 true

PatrickMcGinnisII: we're all addicted. Keyboards should be shaped like (.) (.) ies

BlaiseEbuth: "You can compete in good mood even if things don't go your way"

PatrickMcGinnisII: Elon Musk is scared of CG, too much AI. ;)

reCurse: Ok?

MSmits: BlaiseEbuth some people can, but the more competitive they are, the harder this is

KalamariKing: What's the conversation about rn its too chaotic to keep up with

KalamariKing: competitions?

reCurse: Not sure either

MSmits: it derailed a bit

MSmits: started as the dilemma between disliking a game but doing well and wanting to keep your rank

PatrickMcGinnisII: KalamariKing Online cocaine, I mean comps ... there ARE paid $ comps, now those would be stressful

reCurse: No it started as me not wanting to put time on uttt anymore

MSmits: right

reCurse: Not sure how it got to whatever it is now

MSmits: probably my fault

MSmits: I'll stop steering :)

MSmits: next subject

darkhorse64: or putting too much pressure on yourself for the ranking and losing the fun meanwhile

MSmits: that was my point originally

PatrickMcGinnisII: Stay away from UTTT or start re-cursing

reCurse: It's not about pressure at all

reCurse: I hate communicating so badly

derjack: you pursue the ladder, but then when youre #1 the motivation subsides somewhat

reCurse: There is a love of very hard difficulty found by competing with other people putting a lot of time in doing the same

reCurse: Which can be worth doing even if you hate other aspects of it

MSmits: sure

reCurse: That's all. When it goes out of balance, it stops

reCurse: If you take that as complaining or whatever, not sure what else to say

MSmits: I don't think it's complaining

MSmits: http://chat.codingame.com/pastebin/3bbcf3fc-a09a-4fef-b8ba-54259d148437

MSmits: 31 seeds almost done

MSmits: it's ridiculous to spend so much time just because a few states are still changing their score, but that's the nature of loopy games =/

PatrickMcGinnisII: what r u iterating?

MSmits: i am giving an extra turn to all oware states and seeing what the net capture gain is

MSmits: at some point giving more turns doesnt change anything

MSmits: then i might consider i extended the game to infinity and i solved the boardstate

BlaiseEbuth: I didn't understand it like that... My apologies reCurse, I read and react a bit fast.

reCurse: All good

PatrickMcGinnisII: MSmits run your arbitrary sims on the Mega Millions plz

MSmits: huh what? I am all for mega million sims, but not sure what you mean

PatrickMcGinnisII: https://www.flalottery.com/

PatrickMcGinnisII: ;)

MSmits: mmh doubt that helps :P

MSmits: most I achieve with this is some practice, a better rank and heating my house :P

PatrickMcGinnisII: I ran programs for years, i calculated they increased my chances of winning by almost 3%. Maybe with reCurse NN ... heh ;)

MSmits: wow nice

HalfLegend: First player (BOSS 1) chose columnIndex 1 Sortie d'erreur : Previous player action: -2

MSmits: I love obsession like that

HalfLegend: (Connect 4) Why is the previous player action -2 and not the column index that the first player played in which is 1?

HalfLegend: This is the very first turn

jacek: STEAL move?

HalfLegend: https://www.codingame.com/share-replay/561911196

jacek: oh hmm

PatrickMcGinnisII: About every 3 months there's this critical probability when I break even on the lottery overall, but no big winners. :(

HalfLegend: I'm printing oppPreviousAction right

PatrickMcGinnisII: complete waste of time...yes obsession

jacek: hmm it works for me normally eh

HalfLegend: I prolly did something wrong haha

PatrickMcGinnisII: I hate when i write 300 lines of code and can't get out of wood4

RoboStac: are you sure you've not missed an input line - -2 would be the last valid action given to you?

HalfLegend: This is the part where the game gets the previous action right ?

HalfLegend: http://chat.codingame.com/pastebin/ab9cef86-fc24-41a1-b9ce-6933380f35b4

HalfLegend: Which is -1 if there hasn't been an action yet, -2 for a steal and otherwise the index of the column?

RoboStac: yeah

HalfLegend: So for some reason I'm getting a steal instead of an index :no_mouth:

RoboStac: http://chat.codingame.com/pastebin/cddf5aee-c036-4909-8228-c0b8d046a554

RoboStac: is what the input would be

RoboStac: so the -2 is the line directly before the action

RoboStac: it sounds like you've deleted an input line or something

Default avatar.png pop223: can people help me win this

HalfLegend: I honestly might have haha

HalfLegend: I'mma look into it, thanks

Default avatar.png pop223: can someone give me there hole code

BlaiseEbuth: Of course. How much do you pay ?

HalfLegend: hahaha

Default avatar.png zgooner: hello, can someone help me understand how game of life works?

PatrickMcGinnisII: MSmits physics guy...if you spun a combination of mercury and gallium at room temp w/ a magnetic field... could the contraption lose weight if an upper shell was capable of quantum locking?

1rre: Yeah so you've gotta go pick up samples, get the molecules it says & submit them at the lab

HalfLegend: It's weird cause my previous action is correct when I'm player 1 but wrong when I'm player 2

1rre: I'll see if I can find my setup code that literally goes & does 1 sample at once

1rre: Wait no that was code 4 life sorrt

1rre: *sorry

MSmits: no idea PatrickMcGinnisII

MSmits: not familiar wth quantum locking

PatrickMcGinnisII: ok, tx. win the lotto for me and I'll build it

Westicles: zgooner, there is a new puzzle that explains it

Westicles: https://www.codingame.com/ide/puzzle/custom-game-of-life

MSmits: PatrickMcGinnisII your question might not be valid. I think you mean the mass instead of the weight

Default avatar.png zgooner: thanks

MSmits: weight and mass are very different things

MSmits: one of the most confusing things in my physics classes is the difference between weight, mass and gravity. Most people dont know

AllYourTrees: awwww yisss NN working in C4 in codingame!!!!

MSmits: you mean yours? If so, then GJ!

AllYourTrees: yeah!

AllYourTrees: ty!

jacek: CNN?

MSmits: that would be even more impressive

AllYourTrees: nah MLP, the conv version was too big

AllYourTrees: i have a pure rust conv though, have to figure out the right parameters i think

jacek: MLP sucks for connection games unless you have right inputs

PatrickMcGinnisII: not mass. Want to quantum lock using the earth as a magnet and use the liquid 'engine' to apply a small Newton force upwards. I dunno, I'm crazy. ignore me.

MSmits: yeah when the input is the ntuple, the information about connections is encoded in that

AllYourTrees: i'm just using one hot of the board so far

MSmits: ah ok, I'll try to ignore, but it's hard when you are using physics words :P

MSmits: when are we seeing it on the leaderboard AllYourTrees

MSmits: it doesnt have to be top 10 for it to be an achievement

AllYourTrees: its battling in wood 2 now

MSmits: ah ok

MSmits: curious to see how well it does

AllYourTrees: me too :eyes:

AllYourTrees: it probably needs to be trained more

MSmits: or experimented with more

MSmits: so many things you can try

AllYourTrees: and this was one that was trained using 1 MCTS for the whole game in self play, instead of a new MCTS each turn

AllYourTrees: yeah soooo many hyperparams...

MSmits: yeah i doubt this is a fundamental choice, either way will probably work

Westicles: Didn't someone on here have a brother-in-law who works for DARPA and says they have anti-gravity working already?

jacek: its a0? eith policy and value?

AllYourTrees: jacek yeah

MSmits: oh, like robo then

AllYourTrees: okay in wood 1 now

AllYourTrees: immediate loss to darkhorse64 lol

jacek: how many units/layers

MSmits: well it doesnt get much better than darkhorse64 :)

AllYourTrees: this one is 32 units, 2 shared layers, then splits into policy value. both p & v have 2 layers also with 32 units

AllYourTrees: ReLU activations

MSmits: did you hardcode opening move?

AllYourTrees: nope

MSmits: to get a fair comparison with others, you need to hardcode it to move 1 or 7

MSmits: 2nd from left or right

MSmits: and steal the correct moves

MSmits: meaning everything except the corner ones

AllYourTrees: kk

MSmits: oh and you dont have to steal 1 or 7, they are 50% wr moves

MSmits: but you can steal it... shouldnt matter

AllYourTrees: :scream:

AllYourTrees: how big are other ppls NNs?

MSmits: often they fill the codesize

MSmits: or near enough

MSmits: so like 50k weights? Something of that order

MSmits: RoboStac can tell you

AllYourTrees: is there a way to tell how close you are to filling the size?

RoboStac: yeah, paste it into code golf

RoboStac: it shows the character count at the bottom

AllYourTrees: oh man i'm only using 41k chars

MSmits: a crude estimation is your file size, which should be some distance form 200 kb

MSmits: maybe 190 kb or something

MSmits: AllYourTrees if this includes a lot of code then thats small yes

RoboStac: currently mines is 3 conv layers (3x3x16) into a 128 hidden layer into policy / value . But I think I've probably gone too big.

AllYourTrees: actually the code is half of that size currently it looks like

AllYourTrees: i have some comments an unused stuff i can remove

AllYourTrees: RoboStac interesting, ty for details

MSmits: Robo how come your bots always pick on me :P

MSmits: my cg stats result is crazy and i didnt book on this submit

MSmits: http://cgstats.magusgeek.com/app/multi-connect-4/MSmits

AllYourTrees: does anyone minify code when submitting? mines all indented with spaces which probably takes up a good chunk

MSmits: look at the 17% RoboStac

MSmits: I'm sure it's total coincidence, but still funny, it happens a lot

MSmits: AllYourTrees it is what i would do

AllYourTrees: ended up 16th! pretty exciting :D

MSmits: yeah not bad for first try

AllYourTrees: honestly probably better than i would want... now when i have a hard time surpassing its gonna get frustrating hah

AllYourTrees: like what happened in the last contest when i couldn't get better than my day 3 code for the whole contest :scream:

MSmits: best thing is to just focus on improvement. You don't control how good the other bots are

MSmits: and some of us have been doing this for years :)

AllYourTrees: good point :blush:

struct: js driving me crazy

MSmits: not to say some new player can come in, wreck all of us and then start asking us the most basic questions

struct: im trying to draw mcts tree

MSmits: (karliso)

KalamariKing: so what you're saying is, I should dive right in and make a crazy bot without knowing how it works and then once it does, I ask you why MSmits

HalfLegend: I fixed my algo finally haha

AllYourTrees: alright now i need to start working... see ya'll later!

jacek: HalfLegend what was it

HalfLegend: I had an issue due to the extra action on turn 1, and my initial attempt to fix this cause the other issue giving the wrong previous action

HalfLegend: So now I'm just ignoring the steal for now haha

MSmits: KalamariKing worked for karliso :P

MSmits: well he asked some questions during

MSmits: but only simple mcts stuff and minimax stuff

MSmits: he took several nr 1's on board games in a few weeks

MSmits: he's not active now though, but try beating what he has on the leaderboard, mostly NN's succeed. In some games I match him at most, but dont actually beat him

MSmits: just generally a very talented player

dbdr: nice AllYourTrees!

MSmits: yup, 3 rust in top 20. He's coming for you dbdr :)

dbdr: :+1:

MSmits: btw KalamariKing https://cgmulti.azke.fr/players?p=karliso

MSmits: it's a weird list

HalfLegend: I went from rank 59 to 7 let's gooo

Dark_coder9: Have you guys seen the code

Dark_coder9: http://chat.codingame.com/pastebin/c6156c1a-1bb2-4ba0-b8fb-55dd3f56d99a

KalamariKing: why did you paste code.org source

KalamariKing: MSmits there's so many games :cold_sweat:

MSmits: yeah, did maybe half of them

MSmits: but thats over 3 yrs

KalamariKing: which do you think I should start with?

MSmits: start with what is fun, i dont know what you like

MSmits: I like simple boardgames, but thats me

BlaiseEbuth: All

KalamariKing: well gimme a spread of less-complex games

KalamariKing: I don't think the nintendo challenge would be suitable

MSmits: I feel obligated to mention paper soccer, since jacek isnt

MSmits: KalamariKing do you want to try NN's or just a simple search algo?

BlaiseEbuth: Or if/else forest ?

MSmits: or the forest sure

MSmits: i like code a la mode for if else

MSmits: well i did during contest, i would never go back :P

MSmits: there's physics games too

BlaiseEbuth: pcr :scream:

MSmits: coders strike back (csb) and pcr yes

MSmits: pcr has complex sim

MSmits: but I liked it

MSmits: mean max and fantastic bits also physics

BlaiseEbuth: CR is a sort of hybrid...

MSmits: hmm code royale?

BlaiseEbuth: Yes

MSmits: it's not a bad game, but poorly balanced

MSmits: people will only use the knights generally

MSmits: archers and giants are not much used

MSmits: was my first contest game

BlaiseEbuth: Don't remember well, just that I didn't performed... ^^'

MSmits: robo won it with a beamsearch

RoboStac: giants were definitely needed

MSmits: yeah at the top

MSmits: i made 5th without giants

MSmits: during contest that is, no idea where it is at now

BlaiseEbuth: Site say that my first contest was TGE...

BlaiseEbuth: But I probably don't did big things...

darkhorse64: Crystal rush is a nice game. Ocean of Code too but be prepared to write loads of code

darkhorse64: MSmits climbing on C4

BlaiseEbuth: The first one that I remember being a little bit involved in was Mean Max

darkhorse64: claiming #1 while doing nothing, that's stylish

Westicles: He's just a kid. Try 2048 first

BlaiseEbuth: There's no kids on internet.

Westicles: There are kids, just no girls

BlaiseEbuth: Not sure... :thinking:

reCurse: Yay fixed last bug in chess sim

dbdr: "last bug" famous last words? ;)

reCurse: Well I ran perft on a bunch of positions

darkhorse64: I have fixed too many last bugs

reCurse: As good as perfect

reCurse: Almost 67 millions moves / sec

darkhorse64: OO

BlaiseEbuth: Another jacek alt...

KalamariKing: MSmits NN ofc

KalamariKing: nns are just more fun

KalamariKing: reCurse is that on cg or on your personal computer?

reCurse: Personal computer, single core

KalamariKing: Oh wow

KalamariKing: Think I might go with uttt for my first nn and my first bot challenge, thoughts?

reCurse: Don't

BlaiseEbuth: ^^

KalamariKing: Wow alright

Westicles: You want to jump from clash to NN bots?

KalamariKing: I've been doing nns for a while now... I do clashes just because I only have small blocks of time scattered throughout the day

KalamariKing: plus it helps to (imo) challenge critical thinking on-the-fly

Westicles: Oh, I keep getting you mixed up with that guy who just turned 16. Sorry

KalamariKing: who?

Westicles: The other king guy?

KalamariKing: King_Coda?

KalamariKing: he does clashes? I never knew this

KalamariKing: now I wanna beat him and prove who's the better king

KalamariKing: regardless, what games *would* you suggest for nns

reCurse: uttt is the worst by a few orders of magnitude

reCurse: Then you got the rest, take your pick

reCurse: Oware is easy

reCurse: Breakthrough is more fun

reCurse: imo

Westicles: Beats me. There are like 10 guys on here doing NN on CG, and the best ones are already talking to you

Westicles: The optims are nice to try first since you can do them offline first and not get hung up on 100ms time limits

KalamariKing: Alr, thanks... lemme check a few out

KalamariKing: Why IS uttt a poor choice tho?

reCurse: Imagine debugging a game where mostly no one knows what's a good position

MSmits: you might consider this problematic in oware also

KalamariKing: Specifically games good for nns, I've had my go at search algos and don't like them

MSmits: and i am not sure if oware is that easy. Some rules are annoying to sim

reCurse: Uh?

MSmits: like, if a move does not leave seeds for opponent its not allowed

reCurse: Oware actually has real people playing competitively

MSmits: no i mean the complexity of the game, it's deceptive because of the weird rules

MSmits: seems simpler than it is

MSmits: uttt sim is simpler

reCurse: I disagree

reCurse: Oware sim is amongst my shortest sim codes

MSmits: weird, mine is very long :)

MSmits: i guess it's because of the weird bitboard stuff

MSmits: but uttt is a really simple loop over available squares

MSmits: then check for 3 in a row

reCurse: Anyway I don't think sim complexity is much a factor here

MSmits: also, uttt also has real people playing competitively. The game is just unbalanced

reCurse: ???

MSmits: p1 win %

MSmits: it's too much

reCurse: More than 10 weird people across the internet? There's actual roots for oware

MSmits: oware doesnt have that

MSmits: ohhh you mean outside of CG

MSmits: sorry misunderstood

reCurse: Yes because my point was about the understanding of the game

reCurse: Oware is well studied

RoboStac: he said real people, of course he meant outside of cg

MSmits: sure yes, but there are many versions of this game outside of CG and they are all different from our version

Nzk: yay codingame working? :D

reCurse: lol Robostac

MSmits: hehe

reCurse: Real people as opposed to bots sorry :P

MSmits: got it

reCurse: Versions are close enough to be relevant

reCurse: Opening strategies seemed similar enough anyway

MSmits: but isn't your aversion to uttt mostly because of the huge amount of draws, which gets worse near the top when p1 almost always wins

reCurse: I have tons of aversions to uttt

reCurse: My biggest one is it's unreadable

MSmits: i dont think its more unreadable than oware. Not to me

MSmits: but thats personal, maybe i have been staring at uttt too much

reCurse: Uh, I don't get that at all

reCurse: Oware is easily 10x more readable

MSmits: well it's just the score thats readable, more points = better. But other than that, all i can see is that i can do a capture next trun

MSmits: turn

MSmits: looking more than 1 turn ahead is impossible for me in oware

reCurse: The moves are constant

reCurse: You can formulate a win condition

reCurse: etc

reCurse: There's a lot more opaqueness in uttt, a lot of it is due to the next board

MSmits: well i can consider moves and look 2-3 turns ahead in uttt, i cant do it in oware. the seed thing makes my head hurt

MSmits: 2-3 plies i mean

MSmits: sure uttt is not very readable, a lot less than breakthrough

MSmits: I also find othello to be very unreadable btw

MSmits: probably also personal

reCurse: UTTT --------------------------- Oware, Othello ------ Breakthrough

reCurse: First line is not to scale

struct: oh god https://i.imgur.com/EmBnQ0F.jpeg

MSmits: lol ok

struct: :(

MSmits: well what did you expect struct :P

KalamariKing: struct oh no

reCurse: struct you should use radial

struct: ill try it thanks

reCurse: I'm not saying it will help

struct: I was trying graph js

reCurse: But it will look nicer

reCurse: :P

struct: its a bit slow

reCurse: If you want pure fun and no usefulness

reCurse: Try vivagraph

reCurse: Force-directed graph madness

reCurse: It's very cool

reCurse: Wasted a few hours with it

MSmits: I made this for hexapawn: https://trinket.io/python/70a9b9ef2a?outputOnly=true

MSmits: can walk through tree with arrows

MSmits: and solve with spacebar

MSmits: solving whole game takes a few minutes

MSmits: embedded this in our teaching environment as an extra assignment if they have nothing else left to do

reCurse: Cool

MSmits: It seems a lot harder to make use of a graph visualization in a meaningful way, than actually visualizing it

MSmits: trees get so big so fast

PatrickMcGinnisII: finally array_splice($this->avoid,array_search($house1,$this->avoid),1);

PatrickMcGinnisII: oops

PatrickMcGinnisII: https://www.codingame.com/replay/561938038

MSmits: PatrickMcGinnisIl be careful you dont share an entire bot this way :P

MSmits: I have accidentally pasted a bot in the little chat window before, but caught myself

PatrickMcGinnisII: lol, I'd give U whatever bot I have... if the code is clean ... but I leave 'em kinda dirty. heh

MSmits: problem is they can just paste them in the IDE and run a copy

MSmits: it's more problematic if it is a top 10 bot ofcourse

KalamariKing: How far into the connect 4 challenge to I have to get to complete the weekly challenge

MSmits: i think just wood 1

MSmits: so just a few if else should do it

MSmits: or a simple minimax

Azhy: hi, what does mean minimax

MSmits: search algorithm to find the best move, assuming your opponent plays perfectly

PatrickMcGinnisII: google minmax

MSmits: btw, for a few weeks I had to replace a sick colleague and played yavalath with some students

struct: did any of them win vs you?

King_Coda: Azhy https://lmgtfy.app/?q=minimax+algorithm&iie=1

MSmits: I've gotten much better as a player and always beat them, so i gave them a link to my online version and last week got a message they beat it on the highest level, so they kept playing at home :P

struct: nice

MSmits: yeah it's cool

MSmits: it's really a fun board game to wase a few minutes with

MSmits: waste

struct: very simple rules

MSmits: yeah

Azhy: what about this weeks challenge

MSmits: connect 4

Azhy: yep

MSmits: also a fun game I suppose

Azhy: i got 72 rank

Azhy: yeh

MSmits: I prefer yavalath though, it's more complex and harder to solve

MSmits: also it can end early

Azhy: i dont know nothing about that

MSmits: well i suppose C4 can also

reCurse: I get the impression maybe Hex is more fun, could be wrong

MSmits: hmm maybe, i havent played it

MSmits: Astrobytes has i think

Azhy: good game

Azhy: i may try

MSmits: yavalath is good until you become too good at it. Then its just a matter of filling the board efficiently and thats boring

MSmits: this happens in C4 as well

Azhy: yeh this is the problem of bot programming

MSmits: sooner even, it's easy to avoid stupid mistakes, but when the board fills up, at some point you canrt

Azhy: yep

MSmits: well i guess it's not that strange that both games have the same issue as they have the same win condition :)

Azhy: did u try to solve the tree challenge

MSmits: nope, whats that?

Azhy: growing trees and getting points to win

King_Coda: I think they mean the spring 2021 challenge

KalamariKing: King_Coda!

Azhy: yep

MSmits: ohh ok, yes i was in the contest

King_Coda: KalamariKing!

MSmits: got low legend as the end result

Azhy: how were u

KalamariKing: I think it was reCurse but someone mixed us up

Azhy: great

MSmits: yeah, i was glad to get past gold boss

Azhy: its too boring when you begin

Azhy: it has too much considerations

KalamariKing: the connect 4 boss actually plays the game

KalamariKing: everyone in wood 1 just places a column

IvesL: cuz it only has wood leagues?

PatrickMcGinnisII: ok gonna submit this monstrosity

KalamariKing: the simplest strat I could think of is getting pretty good lol

KalamariKing: its literally just keep pillaring until opp has 3 in a row, then block, then keep pillaring

KalamariKing: HOW IS THIS TOP 20

jrke: kalamkariking top 20 is not too easy i am having depth 6 minimax bot not sure if i am having good eval and i am ranked 28th

KalamariKing: I'm in wood 2

KalamariKing: but still, top 3 with literally one line of actual logic

jrke: here is why you lose

jrke: turn 20

jrke: https://www.codingame.com/share-replay/561943484

jrke: you didn't blocked that

KalamariKing: I'm not checking for blocking anything or catching a possible win. Its literally printing the opponent's last move if the turn index is 5 or 6, otherwise pillar on 7

KalamariKing: except for the boss I'm #1 someone, please, help this leage

struct: wow react updates on change?

KalamariKing: I kinda wanna build a nn for this... if someone wants to either explain here or in dms, could someone explain how nns are ported to cg

KalamariKing: struct react.js?

struct: yes

KalamariKing: it's called... react... I think its... reacting... to a state change

King_Coda: :rofl:

jrke: kalamkariKing you save weights and add those in your code manually

KalamariKing: right but how

KalamariKing: just save it as text and copy-paste into a large string, then decode that as numbers again?

jrke: zipping libs

KalamariKing: which would you suggest

jrke: i haven't tried NN yet so not sure

jrke: maybe try pickle

KalamariKing: alr, thanks

StevensGino: I am trying to have high rank on Mars lander, any suggestion?

StevensGino: for optimize problem

PatrickMcGinnisII: You've made it to the next league

PatrickMcGinnisII: 94% winrate

YoloTheBear: Why does the connect 4 only give 100ms :( If I could get like 250 ms my bot would be insane

IvesL: cuz it doesnt want you to go insane

IvesL: mental health care

ja_fica: So would the enemy bots xD

YoloTheBear: How are you supposed to recursively search a 2d array for the next possible moves and check for rows, columns, and both diagnals in 100 ms. I can go only search 3 moves out and it's not enough I need at least 4, 8 would be best

ja_fica: It should be 100ms to speed up the ranking system, its more fair

ja_fica: binary

ja_fica: http://blog.gamesolver.org/

ja_fica: bit board section

ja_fica: you can check 1 000 000 plays in 100ms

ja_fica: more than*7

YoloTheBear: Ohh thanks that looks interesting

YoloTheBear: Dang that article has a lot of good stuff

ja_fica: yes it does, it has some back efficient code that you can addapt for 9x7, remenber that 9x7 is perfect because it is less than 64

ja_fica: you can check if a move is a win by comparing all integer possibilities of win in that position, it is around 60, checking 60 integers takes 180 clock cycles or only 2 if you store in an array of precomputed booleans

Bob23: hmmmm

ja_fica: It is not easy to implement but it is worth if you can avoid cache misses

StevensGino: connect4 has now more than 200 player

StevensGino: greate

ja_fica: You store all integers (64 bit) possibilities that contain that row and col

PatrickMcGinnisII: 92% winrate You've made it to the next league. You can now ADD and REMOVE paths!

MSmits: gj PatrickMcGinnisII

MSmits: ja_fica if you're creative with simd, fastest is to do winchecking without array lookups

ja_fica: 63 arrays of row/col combinations, each array with 16 (I think is the maximun combinations that fit a position)

MSmits: you can check in 4 directions simultaneously

MSmits: we have 256 bit registers that fit the gamestate 4 times

MSmits: for 1 player anyway

ja_fica: does coding game have AVX for 512?

MSmits: but if you've never done avx/simd then those lookups you mention are a good alternative

MSmits: no it doesnt

struct: no

Lucky30_: guys i found a job

Default avatar.png Xzoky174: your bio is so true

KalamariKing: Lucky30_!

Lucky30_: i had two interview today

Lucky30_: my first i did not do well

Lucky30_: my second i got an offer

Lucky30_: and i said yes

Nzk: congrats :D

Nzk: also yaaas finally got my code working, turns out i was saving the board incorrectly (connect 4)

jacek: :tada:

jrke: where is the treat then lucky30_

jrke: congrats

Lucky30_: thanks Nzk

Nzk: :D

Lucky30_: thanks jacek

Lucky30_: thanks jrke

Lucky30_: no treat so far

**Nzk slaps Nzk around a bit with a large fishbot

Nzk: e

Default avatar.png JustEnderBoi: who wants to smash

Default avatar.png JustEnderBoi: lol jk

Nzk: nintendo

jacek: atari

Nzk: pug promote

KalamariKing: Lucky30_ congrats, I expect rent

Nzk: lol

PatrickMcGinnisII: crap stuck 2nd in wood2 tryangle catch...12th overall... can't complain too much i guess

jacek: nice. if it were contest that would win you a t-shirt

jrke: :grimacing:

jrke: the birth of 5% tag

King_Coda: I hate being stuck in wood 2 league. It's filled with a bunch of people who just submitted blank code. there' no challenge

PatrickMcGinnisII: wood2 in TAC is like gold, but it says bronze

Nzk: lol king

PatrickMcGinnisII: i guess cause full rules are considered bronze

Nzk: im in wood 1 connect now :0

King_Coda: I'm serious, things don't get real until silver league

jacek: silver?

PatrickMcGinnisII: i've dropped 13 ranks in connect4 in 2 days, alot of new players

King_Coda: http://chat.codingame.com/pastebin/fdcee39d-7e19-4657-94f9-5366cec89a82

King_Coda: That's my opinion^

PatrickMcGinnisII: depends on game, some games don't get alot of 'action' and even 'random' bots can give u a challenge in some games

PatrickMcGinnisII: i'm 93rd in connect3 with a depth2 bot, every1 should be above me

PatrickMcGinnisII: er 4

King_Coda: Connect 3... isn't that just bejeweled?

King_Coda: Or candy crush

Nzk: lol

Nzk: PatrickMcGinnisll im 80 with a detect if its i can connect 4 bot

Nzk: also prevent opp connect 4

PatrickMcGinnisII: and i just found a bug

Nzk: lol

Nzk: im tryna do prevent falling into a trap

jacek: you made bot for connect3?

Nzk: nope 4

PatrickMcGinnisII: i said "er 4".. typo

PatrickMcGinnisII: so with a buggy depth2 bot at 93rd everyone should definetely be above me

PatrickMcGinnisII: i still can't spell

PatrickMcGinnisII: not gonna fix it, glhf

Nzk: lol

Nzk: my code is buggy me out

Bob23: Hello World!

Nzk: hello

Nzk: bruh now my map is upside down for no reason

KalamariKing: maybe its upside down because you made it upside down

Nzk: lmao

derjack: :upside_down:

Nzk: hhh out of bounds exception

King_Coda: Bronze league always runs the slowest and I dont know why

Nzk: hm

King_Coda: It has nothing to do with the amount of people, it's just the battles themselves are so slow

KalamariKing: Could be the sheer amount of people

KalamariKing: A decent amount get out of wood and then just leave it; their bots are still in circulation though

King_Coda: "It has nothing to do with the amount of people"

King_Coda: :thinking:

KalamariKing: "its just the battles themselves are so slow"

KalamariKing: more people == more battles == more time

King_Coda: :nerd:

**KalamariKing slaps King_Coda around a bit with a large fishbot

King_Coda: :flushed:

King_Coda: :angry:

**King_Coda slaps KalamariKing around a bit with a large fishbot

**KalamariKing slaps King_Coda around a bit with a large fishbot

King_Coda: :fish::muscle::angry:

KalamariKing: don't make me slap again

KalamariKing: I'll do it

**King_Coda Un-alphebetises your encyclopedia britannica

KalamariKing: how dare you sir

King_Coda: :imp:

Nzk: ahhhh

Nzk: im consistently losing to default ai in connect 4 ;(

Bob23: oof

Default avatar.png Frax11: hello

King_Coda: Oh look, another newbie

King_Coda: Hello Newbie

Lucky30_: KalamariKing no rent for you, my soul does not bet paied

Lucky30_: *get

1rre: haha for ultimate tic-tac-toe I've made a super nice oop representation of the grid but am barely using it to choose my output I imagine there's a great meme for this moment

jacek: uttt meme?

jacek: if there are c4 memes, why not uttt memes then?

1rre: I mean where 1 part is intricately designed then the rest is a mess

King_Coda: I hate how whenever you level up, it opens up every PM and channel that you've ever been in in the history of your life on the chat, and you have to go through and close them all out individually

StevensGino: Hello all

StevensGino: which IDE should I use for coding c++?

King_Coda: StevensGino https://lmgtfy.app/?q=which+IDE+should+I+use+for+coding+c%2B%2B%3F&iie=1

King_Coda: StevensGino https://lmgtfy.app/?q=Eclipse+IDE&iie=1

StevensGino: ?

StevensGino: I ask fo r the point of view of coding gamer

StevensGino: of course I know how to search on GG

King_Coda: Okay, I recommend Eclipse then

King_Coda: It's sold as a Java IDE, but it's also one of the best for C++

StevensGino: thank you

struct: vscode or vs for c++

PatrickMcGinnisII: VStudio, I use Eclipse for Java, but IntelliJ is good for java

StevensGino: thank you guys

King_Coda: Oh, I FORGOT about Visual Studio

King_Coda: Yes, def use VS

1rre: Eh, VSCode is more than enough for Java/other JVM languages if you're doing it yourself, however it can be fiddly to transfer code from idea/eclipse to it I've had super bad experiences with Eclipse (it runs at a crawl with a 5900x & 32gb of ram) but I've only used older versions of it & only with cross compiling C so I'd probably recommend VS (although VSCode is enough for me, the debugging is VS is just better)

King_Coda: WOAH

King_Coda: Big message

1rre: chonk

King_Coda: You have a 5900x?

1rre: yes it's very speedy ty I bought it with my big $$$ cs intern money

jacek: imagine running meta mcts on it

King_Coda: Watch out everybody, 1rre has good taste in CPUs

King_Coda: He also has good taste in profile pictures it seems. #WaluigiGang

StevensGino: thank you, I am installing VS

1rre: The only issue is it's paired with a 1060 super because have you seen the GPU market lately (also I blew all my money on CPU and RAM) so it doesn't run games very well :(

I can just not care how inefficient most of my programs are though it's great

struct: just be aware that msvc is different from gcc

PatrickMcGinnisII: i guess Ryzen gives good thread

Astrobytes: ffs

Bob23: wow

King_Coda: Whats wrong astro

Astrobytes: Your HS bot? :rofl: No, was replying to Patrick's comment

King_Coda: OH

King_Coda: "Gives good thread"

King_Coda: I get it now

King_Coda: I thought he was talking about the threadcount of the CPU, not some dirty joke. For shame, Patrick!

Astrobytes: Anyway, things to do, "Sayonara" for now :rofl:

King_Coda: :joy:

struct: which language is sayonara?

King_Coda: C++

King_Coda: I think, or C#

1rre: see hashtag

King_Coda: #C#

King_Coda: I wonder why Java int can only store values between -2,147,483,648 and 2,147,483,647 :thinking:

1rre: big ol' thonk

dbdr: 31 bits + one bit for sign

1rre: what about math.BigInteger though huh

  1. NotAllInts

King_Coda: Makes sense. Figured it had something to do with bit count

King_Coda: But what If I want to store a variable with the value 2,147,483,648?

1rre: long if it's fairly long or BigInteger if it's a big integer

King_Coda: That variable would be int astrobytes'sAbilityToUnderstandJokes

Nzk: lol

struct: your code uses more than 32 bits

struct: you should know how to do it

Astrobytes: How are your algorithms coming along King_Coda

King_Coda: Not coding atm

Astrobytes: Recently I mean.

King_Coda: Nor stealing code from github repositories

Astrobytes: For a change.

jacek: oO

King_Coda: :sweat_smile:

King_Coda: I haven't messed around with algorithms much

Astrobytes: Clearly.

King_Coda: I'm more interested in AI programming

Astrobytes: ...

King_Coda: Bots are better

**Astrobytes rests his case

jacek: Automaton2000 is that true

Automaton2000: why there is a better way to do this

struct: mcts is too big...

struct: and its for ttt

dbdr: too big?

struct: im trying to display it dbdr

Astrobytes: what are you using struct?

struct: react

Astrobytes: use a graphviz-based thing

Astrobytes: There are react wrappers around

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

struct: ill try to play a bit more with it

struct: to see if i can do something

struct: is not that bad

Nzk: hm

struct: better than console

Astrobytes: lol

struct: that is only a few nodes expanded

struct: if I expand all

struct: Its a mess

struct: only 4917 nodes

struct: if board is empty is near 60k

struct: I think my pc cant handle it

Nzk: "just a couple tens of thousands"

jacek: 60k? but ttt has at most 6k reachable states

jacek: ahh, game tree could be bigger if you dont prune transpositions ~

King_Coda: I got a 69% on a puzzle, nice :sunglasses:

struct: yes jacek

struct: in total there are almost 600k states

struct: 549946

Astrobytes: Ah ok

emh: struct how much did you have?

MSmits: think a contest arrived and didnt go back or something

struct: let me see

MSmits: or someone made yavalath or whatnot

Astrobytes: Hmm, no it was for something else iirc

MSmits: i also had a tron bitboard floodfill thingy

MSmits: but never checked how it compares to other methods

MSmits: and that bot was bad too, never got out of gold

Astrobytes: Could have been that. I am not sure.

emh: on my desktop I get 1.8M floodfills

MSmits: could get depth 17 ab pruning or something

MSmits: still no legend :P

struct: I remember that locally i had over 1.2mill

struct: on ide*

emh: and by floodfill, do you mean the component starting at one index, or all indicies? for one color? or all colors?

MSmits: then we just established your PC is crap struct :P

struct: 1 floodfill = 1 color

Astrobytes: I think one fill from one index and from one colour

emh: ok. I defined floodfill to be for all indicies and for one color

struct: yeah that

struct: what astro said

emh: ok so we are comparing apples and apples then :)

struct: index+color

emh: ohh

emh: the apples and oranges

emh: let me see how filled my test board was

Astrobytes: brb

emh: ~1.8M was for a board with 11 indices

reCurse: More importantly though, did you come up with nice alternative themes for stc?

Astrobytes: hahaha

Astrobytes: God help us all

MSmits: I shudder to think what would come falling down

emh: hahahah

AntiSquid: i can give you an idea

emh: I do have a theme, but it's just some circles in a grid hehe

MSmits: no need AntiSquid, we can all imagine :P

emh: I started using repl.it and dropped a http server in the C++ to show some JSON on a web page

MSmits: ohh repl.it, we used this for teaching for a while

MSmits: until they started asking more money

emh: oh I am just using the free

AntiSquid: emh imagine mannequins that you can rotate like in tetris and you drop them on one another . not saying more, you are bright enough to figure it out

MSmits: yeah the free is fine

MSmits: google collab puzzles me btw

emh: AntiSquid hehe

MSmits: is this one of those things that starts free untill many use it and then it stops being free?

AntiSquid: is youtube free ?

MSmits: they offer free use of gpu and tpu, just not guaranteed when you want them

MSmits: no, but this is hard calculation time

emh: ok doing a checker pattern on the grid, that is, 36 indices out of 72, drops local perf from 1.8M to 800k. so that's worst case I guess

MSmits: expensive

AntiSquid: probably might have to pay at some point for going past a limit ?

MSmits: no idea, i was just wondering if anyone here knew

AntiSquid: they restricted inbox + google drive max free size

MSmits: google drive is driving me nuts

MSmits: maybe i should just pay

Astrobytes: Slave to the capitalists! Repent!

MSmits: :grin:

AntiSquid: so what have you been doing anything interesting on collab?

MSmits: no, i have just been considering it. Two separate colleague teachers sent me mails suggesting it

MSmits: for teaching ML

emh: I paid for google space. gdrive. 100 gig

MSmits: but i think because they dont guarantee timely use, its not useful for live teaching

AntiSquid: i tend to setup locally, find collab somewhat confusing when it comes to installing stuff i need, sometimes it just stops working ....

Astrobytes: Oh they just use what's available at the time then

MSmits: yeah

MSmits: supposedly installing is easier than doing it with jupyter locally

Astrobytes: Anything in your teaching budget for that? Assuming they have an 'academic' package

MSmits: we have a budget, sure. But any big expenditures have to be answered for of course

MSmits: have to be able to show we're using it a lot

Astrobytes: Most things are easier/nicer than Jupyter in my experience (imo)

AntiSquid: MSmits should have benefits like free access to papers, wonder what other benefits he has.

Astrobytes: Hm. Get robots and make them do things. Should impress the board.

MSmits: hmm not sure if i have full free access, it's not a university

MSmits: actually i am a student for a little while yet

MSmits: so currently yeah

AntiSquid: download all papers

MSmits: lol

MSmits: full server dump

AntiSquid: dutch Aaron Swartz

MSmits: just read his wiki, sad story, died young

Astrobytes: You never heard of him previously?

MSmits: nopw

MSmits: I often live under a rock

Astrobytes: I do too but mostly it's pop culture I miss

MSmits: I have a bigger rock

Astrobytes: Rock on Smitty

MSmits: :grin:

MSmits: allright thats it for today, gn, hf, dont kick me off nr 1 or I am getting my grimoire

AntiSquid: idk maybe i invest too much time reading those kind of stories

AntiSquid: gn8 smits

Astrobytes: lol gn dude

emh: gn smits

struct: the entire tree is 5mb...

struct: tab using 3gb of ram

struct: rip

emh: struct what tree?

Astrobytes: :rofl:

struct: mcts tree

struct: for normal ttt

struct: with solver

emh: ohh so not StC

Astrobytes: Don't get him back on STC again emh we'll never see him again

emh: hehe. btw I added an easy optimization: skip empty rows. now getting 3-4M locally

emh: for board filled with 10-20

emh: should verify it's correct before I share anything. maybe I'll write another tech.io article

qlorg: Hi

Astrobytes: Go for it man. Knowledge is power. I like it when people use tech.io for useful CG stuff, it makes the chat a lot more manageable when you can just link something :D

emh: yes. thank you :)

Astrobytes: Anyway, see you all later. Goodnight/day

struct: gn

emh: gn Astrobytes

emh: struct do you use some technique for flood fill other than standard?

struct: no

struct: I guess its not standard

emh: ohh. using bitboards? or something else?

struct: nah

struct: i use int8

struct: I store the cells in array and check if i already visited them

struct: The cells that need checking

struct: then i check in all directions

emh: ohh so it's pretty normal then I guess. wondered if you made some special tweaks to get so good perf

emh: I just love fiddling with bits hehe

1rre: If you like fiddling with bits take a look at erlang's bitstring

1rre: I made a stack based low level interpreter in it when I was writing my C compiler & good god those are good bits to fiddle with

emh: hehe I don't know erlang

emh: wow.. looks a bit arcane :)

emh: ok I got the point you are just concatenating bit strings?

1rre: kinda

emh: and it's self referential* and with When clauses, hmm

emh: but no erlang on CG it seems

emh: phew.. so don't need to learn it hehe

1rre: yes it's the biggest travesty of all time

1rre: it's really cool seeing how the stack works though, eg when calling this function: http://chat.codingame.com/pastebin/6a913238-a1d5-487c-8eb3-faccfd05ec2a

1rre: the output is:[{function,{0,i,32}, http://chat.codingame.com/pastebin/0b88a3df-3041-482e-90d3-643b240b822e

1rre: oi you messed up my IR syntax

1rre: [{function,{0,i,32}, http://chat.codingame.com/pastebin/49480337-9cf2-42e0-9ab2-62653ab9a58b

1rre: great it just doesn't like it lol

emh: ok. is it related to cellular automata or something? bit patterns evolving?

emh: I didn't understand it well, just glanced at it :p

1rre: Nah it's an interpreter

emh: ok. might look into it some day

1rre: but also a stack simulator because why not both

1rre: Isn't a CPU technically a machine code interpreter though? Thought for the dayt

emh: yeah I guess it is

Default avatar.png Dark_Lover: hi

emh: good night everyone

Default avatar.png moez: hi

PatrickMcGinnisII: boss is nutz! https://www.codingame.com/replay/562029125

Wontonimo: why you say nutz? looks like you killed it. How hard was it?

Wontonimo: It's interesting that at first it says "Struct" then changes to "Boss 3". I wonder if that is a glitch or if Structs bot is Boss 3?

PatrickMcGinnisII: The game is crazy, had to change startegy a bit to kill boss

PatrickMcGinnisII: trying to control 50 units was timing me out all over the place

PatrickMcGinnisII: struct vs. euler was the demo game, i think that's why their names pop up on replay

Wontonimo: yeah, so how do you control so many agents?

PatrickMcGinnisII: i optimize the triangle captures by creating a distance-to matrix on turn 0. do 3 units, rinse and repeat up to 20 units...then i take the rest and try to anticipate where enemies will be to either block captures or kill them

PatrickMcGinnisII: the total number of houses /2 is a good startpoint for the number of units I need to have doing triangle captures

PatrickMcGinnisII: i could do more in a faster lang

PatrickMcGinnisII: fer sure

Default avatar.png 8385: hi i joined right now

Default avatar.png 8385: :disappointed:

Default avatar.png 8385: @kettle_with_hackintosh I need help

kettle_with_hackintosh: ?

Default avatar.png 8385: I don't know how to code

kettle_with_hackintosh: learn then :P

Default avatar.png 8385: hmm........

MACKEYTH: Python is a good place to start

Default avatar.png 8385: ok

Default avatar.png 8385: I did go

Stormalix: ooof

Stormalix: imo javascript is a good language to start with

Default avatar.png 8385: a program language

Stormalix: but more people i see here know python so it might be best choise

Stormalix: choice

kettle_with_hackintosh: any popular high-level language is decent for starting imo

MACKEYTH: Also very popular.

Default avatar.png 8385: javascript is a high programing language

Default avatar.png 8385: high level

Stormalix: if you're looking into coding imo codingame is kind of for more experienced people, i learned basic javascript and some HTML from khan academy

Wontonimo: the best programming language is

Default avatar.png 8385: javascript or python?

Wontonimo: the one you use

Husoski: Anything but C or C++ for a first language, I'd say.

Stormalix: ^^^

Default avatar.png 8385: I know html

Wontonimo: html isn't

Default avatar.png 8385: only a few of it

Eltrion: I'd say python over Javascript as javascript lets you get away with some bad habits.

Stormalix: true lol

Default avatar.png 8385: so python?

Eltrion: It's a great starting language.

Stormalix: python requires u to indent code or something which i find mildy irritating

Wontonimo: c is FANTASTIC to get to know the actual computer and its limits. It is a very small language at the core

Husoski: If you know some html, then take a look at JavaScript. Khan Academy videos teach that.

Eltrion: Yeah, but you should indent your code anyway.

Husoski: C is a great 2nd or third language.

Stormalix: Khan Academy was very helpful for me

Wontonimo: ^^

Wontonimo: if you haven't already, go there

Default avatar.png 8385: I heard about khan academy

Wontonimo: also, have fun. There is http://scratch.mit.edu/ which is fun and turing complete. It doesn't look like a "legit language", but you'll have fun and do more

Default avatar.png 8385: what clash are you doing next

Default avatar.png 8385: i have been there many times

Default avatar.png 8385: i code minecraft on scratch

Default avatar.png 8385: block is easy for me so i use scratch

Default avatar.png 8385: go to http://w3schools.com

Default avatar.png 8385: that is were i learn html

PatrickMcGinnisII: Truthfully, pascal is the best 1st language for learning. Then C,C++,C#. Unless you are young as hell, then maybe starting with Lisp would be appropriate. I learned Basic -> ASM -> Pascal -> Fortran -> C -> C++ -> Java and all the scripting languages in-between

kettle_with_hackintosh: asm second language?

kettle_with_hackintosh: tough times xd

PatrickMcGinnisII: the variety of includes and libs can be really daunting imo for a newb. The string operations of C are NOT friendly for a starter, nor the object pointers. PY could be a good choice for the next gen, but imo it's sloppy

PatrickMcGinnisII: I was doing ML b4 DOS

kettle_with_hackintosh: oh

Default avatar.png bitbitthebunny: Hi all, i'm new joiner, total beginner, trying to learn new language. Kinda confused with the wording to use and stuck, is there a source to learn basic in here?

Eltrion: ML is not that hard, especially if you chunk it into small pieces. The problem is that it takes so long before you can do much interesting.

Default avatar.png bitbitthebunny: i used to read a little bit of Python, do you recommend it for a beginner like me or there's other more friendly language?

Eltrion: Depends what you want to learn. Python isn't a bad choice.

PatrickMcGinnisII: google is your friend... try geeksforgeeks.com, interpreting example source code beyond cut/paste is how u learn

Default avatar.png modo_doggo: i think Python is a good start

Wontonimo: hey bitbitthebunny, this site isn't the best place for total noobs. If you can write some logic, loops, and know about arrays, then stick around

kettle_with_hackintosh: btw i started with pascal but still dunno, why people like to say it's best language to start with

PatrickMcGinnisII: easy puzzles are a great place to write real code without having to make-up your own desired project

Default avatar.png bitbitthebunny: Hi Wontonimo, I was trying to solve the Descent, understand what's going on but i guess the wording is not correct and stuck.

Default avatar.png bitbitthebunny: Saw someone of the website you guys recommended above, looking into in now. Thanks guys!

PatrickMcGinnisII: kettle_with_hackintosh I think it is because you don't have to have any overhead understanding to jump into understanding functions

Wontonimo: bitbitthebunny try https://www.codingame.com/training/easy/mars-lander-episode-1 ! it's fun. Turn off your sound though

Default avatar.png bitbitthebunny: Wontonimo Okay let me try.

Wontonimo: it you like it, there are a few more of that theme with increasing difficulty ... like a steep increase

Wontonimo: bitbitthebunny, for the-descent the goal is stated at the top : "shoot the highest mountain on your path."

Wontonimo: that's it. it really isn't anything more than finding the index of the highest mountain and returning it

Bob23: hello

Bob23: Screw Finals! Whos with me?

Default avatar.png modo_doggo: why not

Wontonimo: yeah, i'm not going to study for finals this term

Wontonimo: mind you, it's been over 2 decades since I wrote my last one

Zero23: hi

modo_doggo: hi

StevensGino: hi

StevensGino: too silent

Bob23: always

StevensGino: not really, some time the box is very active

IvesL: you can talk to Automaton2000, isnt it

Automaton2000: i don't see why my code isnt working

StevensGino: haha

**PatrickMcGinnisII <3s Automaton2000

**Automaton2000 slaps around a bit with a large fishbot