Chat:World/2021-06-04
Jeanpier: What happened to CoC? I can't start
jrke: website looks slo
jrke: w
codergurl: https://www.codingame.com/clashofcode/clash/1793041998fcb2937f5f89452e91c7e63d82d10
codergurl: Coc is down so let's try a private clash
johnny_the_programmer: Servers still down, made a private clash: https://www.codingame.com/clashofcode/clash/1793056735856b7b12bbf4cfb6b0c9fe51d94ab
johnny_the_programmer: Private servers not working either
teddy2021.1096: Seems like the private method doesn't work.
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?
RR--R: can you try join for private clash to check whether working fine?
RR--R: https://www.codingame.com/clashofcode/clash/1793117a612391d753a24d001f9600feafeb081
LuisAFK: seems to be working
LuisAFK: but theres no count down
Anonymous_Maddy: what happend to clash of code
LuisAFK: should i start it?
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
Anonymous_Maddy: why clash not working
Uljahn: servers are down, waiting for admins to fix it
LuisAFK: k
aCat: automaton is back ? :P
nyn_[Nguyen]: Maybe clashofcode server has broken.
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?
Crusher54: I think it is broken.
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?
Voudrais: Guys why i cant play clash of code
B4tiste: Theservers are down, the admin is aware of the problem
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
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
jacek: :tada:
Alemhan: hi guys, i have a problem
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
Alemhan: "You must be owner of the account"
derjack: oO
Xzoky174: well did you login??
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)
KalamariKing: What about a password
KalamariKing: Or did you go through the Google auth
Alemhan: ok, i will delete account
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
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
pop223: can people help me win this
HalfLegend: I honestly might have haha
HalfLegend: I'mma look into it, thanks
pop223: can someone give me there hole code
BlaiseEbuth: Of course. How much do you pay ?
HalfLegend: hahaha
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
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
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
JustEnderBoi: who wants to smash
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
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
- 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
emh: good night everyone
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
8385: @kettle_with_hackintosh I need help
kettle_with_hackintosh: ?
8385: I don't know how to code
kettle_with_hackintosh: learn then :P
MACKEYTH: Python is a good place to start
Stormalix: ooof
Stormalix: imo javascript is a good language to start with
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.
8385: javascript is a high programing language
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
Wontonimo: the one you use
Husoski: Anything but C or C++ for a first language, I'd say.
Stormalix: ^^^
Wontonimo: html isn't
Eltrion: I'd say python over Javascript as javascript lets you get away with some bad habits.
Stormalix: true lol
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
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
8385: what clash are you doing next
8385: i have been there many times
8385: i code minecraft on scratch
8385: block is easy for me so i use scratch
8385: go to http://w3schools.com
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
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.
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
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
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.
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
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?
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