Chat:World/2021-07-08
WhaIe: joe sister
TheoreticalSnowflakeFromHell_bd76: hello
Pantaku: hi
derjack: ohai
TobiasA: hoi
Thyl: Hai !
BlaiseEbuth: Hell
destroyer69: do you like nevgon
derjack: nevgon give you up?
destroyer69: <<<<<<<<>>>>>>><><><><><>
BlaiseEbuth: You know the rules and so do I...
derjack: https://www.youtube.com/watch?v=_uHmywWIgyk
**BlaiseEbuth is suspicious but he does not know why...
**Marchete thinks he knows
MrKrabs1221: do you know any good website to learn java ?
derjack: :cat:
BlaiseEbuth: Here N1cKN4W3 https://imgur.com/a/AF3dqg7
Arthur_Phantasm: hey yall, would it be possible to make a online multiplayer game here?
Arthur_Phantasm: or, atleast learn how to make one?
derjack: online multiplayer? no. there are multis for bots only
Astrobytes: the 'game' in 'codingame' does not imply game development. This is not a game development website.
derjack: :(
Arthur_Phantasm: welp fuck
BlaiseEbuth: Stay polite
Arthur_Phantasm: :thumbsup:
KiwiTae: I mean you can create a bot programming game
KiwiTae: :")
derjack: noice http://www.scholarpedia.org/article/File:TDGammon_Fig2.png
dbdr: derjack: by the author himself :)
Docer: teach me too code
masknksnvsndvo: what is the shortest way of taking int input from the same line for 2 variables
masknksnvsndvo: Because I'm currently using map
masknksnvsndvo: but it's still lengthy
KiwiTae: input returns a string in python sorry
Shozy: im also writing lst = map(int, input.split(" "))
KiwiTae: map(int,input.split())
KiwiTae: and map is not a list
AllYourTrees: a,b=map(int,input.split())
Shozy: ye, I forgot about list before sry
zmx: It's really difficult to python
KiwiTae: zmx nop
Wontonimo: no problem zmx, here is a link you could check out www.google.com
Wontonimo: I've found lots of programming tutorials there
Wontonimo: np dude
struct: hi
Wontonimo: but more seriously, what lang have you tried?
Wontonimo: hi struct :wave:
Wontonimo: Fancy, but i'm not familiar with that programming lang
Wontonimo: you've been coding Python right?
Wontonimo: :eyes:
derjack: thats opening book?
struct: more books on c4
struct: (╯°□°)╯︵ ┻━┻
struct: good thing i only wasted a few hours on that game
derjack: therefore this is c4 library
Wontonimo: have you tried any of the practice puzzles zmx ?
derjack: hows the bt
struct: slow progress
struct: Maybe ill do amazons instead
struct: at least i wont struggle vs books
derjack: no books in bt
derjack: but some challenge in amazons would be welcome
struct: maybe i need to add a covert art to it
Astrobytes: So nobody can see it?
Astrobytes: (covert :P )
zmx: I can only do some simple ones
Wontonimo: cool, good job on doing some
Wontonimo: i sent you a PM
Wontonimo: arn't you going to get on the book bandwagon struct?
struct: no
Wontonimo: take your time, you don't have to answer right away. i know it can take some introspection
struct: not really
Astrobytes: :rofl:
Wontonimo: lol
struct: I have strong opinion on it
Wontonimo: go for it, I'm sitting down
struct: im not against it, but its not really something that i would do
struct: lets keep it at that
Wontonimo: allergies. Yeah, I have a similar reaction to PHP
Astrobytes: heh heh heh
Im9: hi
Illedan: hi
Im9: im9
Wontonimo: (╯°□°)╯︵ ᴉɥ
Im9: ?
Astrobytes: hi Illedan
Wontonimo: i'm just thrown words around
Illedan: Zup astro? You joined the NN wave?
Astrobytes: Not yet lol
Astrobytes: Gonna have to it seems :)
Illedan: Indeed
Illedan: Just need a whole lot more time :D
Astrobytes: For sure!
derjack: cpu/gpu time?
struct: need summer to end first
Illedan: cpu/gpu/irl/spare/life/free time
Illedan: 4p games in blocking is so random -.-
struct: amazons is all you need
Illedan: Is that another game?
struct: yes
Astrobytes: yep
Illedan: hm
struct: unbookable
Astrobytes: A good one at that
struct: NNable
Illedan: Guess I've been far less active for a long time
Astrobytes: You *do* have a good excuse ;)
Illedan: Shh
Illedan: ahhhhh
Illedan: so many board games
Illedan: -.-
struct: this one is different :(
struct: but i understand what you are saying
Illedan: This is just WW with less steps?
Astrobytes: Noooo
derjack: WW?
Illedan: Range on placing walls is infinite?
struct: range is infinite yes
Illedan: Top players doing NN?
struct: also you can move any range
struct: jacek has NN
derjack: no NNs yet
struct: But I dont think its his current submission
derjack: this game is even easier than onitama
struct: you have NN for it right ?
struct: just didnt submit
derjack: locally
derjack: no need to, still have 100% winrate
struct: is it mcts?
struct: the current one
derjack: minimax
derjack: simple yet powerful eval
Astrobytes: "what is this, the 90s?"
Astrobytes: :smirk:
Illedan: How hard could this be :thinking:
Illedan: OK, you had me at I got vacation and coffe
Illedan: I'll give it 2 hours
Illedan: Let's go
struct: gl :D
struct: hf
Illedan: Anyone got a free eval for sale?
Astrobytes: Nope.
derjack: be better than opponent
derjack: [sold]
Illedan: Nice
Illedan: I'll take that
Illedan: Don't blame me when I wreck you
struct: just wait until he sees the ammount of moves :D
Astrobytes: hehehe
Illedan: Whaaat, I don't get possible moves as input?
Illedan: :sob:
Astrobytes: Far too many
struct: you get number of legal moves
derjack: over 1000
derjack: welp heres my train
Illedan: Always 8x8 right?
struct: yes
struct: only difference between games should be the starting positions
Illedan: White always first?
struct: yes
struct: but you play 2 games
struct: one has white and one has black
Illedan: Yeah, but on swap. White is first on the next game too, yeah?
struct: yes
Illedan: struct, wouldn't the scoring on Amazons be better with number of open squares left as scoring? Feel it would often end in draws?
struct: hard to say
struct: if i didnt make it have 2 games there would be no draws :(
Illedan: Sure, but 2 games is nice
MSmits: it's better to have 2 games for balance
MSmits: if this means you get a lot of draws then it's even better as you eliminate the luck factor in going 1st or 2nd
MSmits: imagine uttt without 2 games, it would really suck
MSmits: p1 would win most of the time and your success on the board would depend on how often you were p1
struct: but i wonder if there is a difference in elo
struct: for 2 games
struct: and 2 games in same replay
Illedan: Yeah, but counting the square left would give less draws
struct: draws happen a lot in wood 2 because of random
MSmits: what I know for sure is that your 2 games choices makes it so that the leaderboard gives a more accurate measurement
struct: i make them play exactly same game
MSmits: re curse did this too with chess
MSmits: and langtons ant has it too
Illedan: Yeah, I agree on that part
Illedan: Just unsure about the win condition
struct: yeah the win condition is from the original rules
MSmits: it doesnt work for all games though, if you were to remove steal from yavalath and instead had 2 games, every result on the leaderboard would be a draw
MSmits: (at least between good bots)
MSmits: same with c4
BiMathAx: Hi, me and y friend are blocked on the level of the TV (in come back 80s) Someone can help us pls We have taken the indices but this still doesn't work and return a grid of 0
BiMathAx: (It's in codig espace)
MSmits: you can stream on your phone if you are blocked from TV
MSmits: (if this is a puzzle I have never heard of it )
BiMathAx: It's a puzzle in the coding escape
MSmits: ohhh ok
struct: I think you need to or
struct: both inputs to the tv
struct: iirc
struct: or xor
struct: cant really recall
struct: did the puzzle a few months ago, had trouble recalling what the tv was
Marchete: :tv:
struct: ty
Marchete: np bro
geekHarsh: lets do code https://www.codingame.com/clashofcode/clash/18548436803882324c997dec1ed867c2af4ac1b
Illedan: struct, I would really love some indicator on the tiles on their game color. Like a Blue/Red star or whatnot in the center to make tracking a game easier..
Illedan: *pices
Illedan: *pieces
struct: i guess I can do that
Illedan: Just a circles in the center of small width is sufficient I think :)
struct: you mean on the walls right?
Illedan: No, on the Controllable pieces
struct: ah ok
Illedan: Takes me some time every game to figure who I am
Illedan: Wood 1 :)
struct: that was fast
Illedan: Unless unlucky streak
Illedan: :tada:
Illedan: :)
struct: grats
struct: you beat astroboss
Illedan: Hmm, I don't like Wood 1. Let me down again :scream:
Astrobytes: lol
Astrobytes: I need to work on this soon, don't even have bitboards
Illedan: Who needs bitboards
Astrobytes: Me if I'm going to improve my bot :D
Illedan: ^^
Illedan: My goal is above the fox before doing something else :P
Illedan: oh, done :D
Astrobytes: lol
PatrickMcGinnisII: I smell trouble. eh I need a shower. ;)
Wontonimo: that's not trouble, that's defeat
PatrickMcGinnisII: like fett i do not smell
PatrickMcGinnisII: er, like feet i do not smell
Astrobytes: Boba McGinnis
Wontonimo: what's your bot so far Illedan ?
Illedan: Just bruteforce everything and throw a Vornoi at it
Wontonimo: I haven't used Vornoi on anything on CG yet. Actually, don't think I've ever applied it to any computer problem
PatrickMcGinnisII: voroni works well on tron
Illedan: (╯°□°)╯︵ ┻━┻
Illedan: Losing by 1 move some games vs trictra. Can't quit just jet
Wontonimo: i've done simultaneous flood fill. Are you doing it with lines?
Illedan: Oh, true. I do floodfill on the lines and not Vornoi
Illedan: With altering colors
Wontonimo: colour per player, or colour per round%2 ?
Illedan: Color per player with decay on the depth
Wontonimo: that worked for me for Tron, but no decay. Decay is an interesting twist.
PatrickMcGinnisII: "Back to the code" works too
struct: i see the draws ammout
struct: o.o
struct: I guess it happens more on unbalanced positions
Samson120: any tips on detecting a loop in a map?
jacek: you have bitboards in amazons?
Illedan: Me? No
jacek: oO
Illedan: Why would I?
Illedan: I use 1 ms at most..
jacek: oh my
struct: true ai
jacek: its like theyre not even trying
Illedan: I used 2 hours on this thing :P
struct: only jacek remains undefeated
jacek: w00t
jacek: impossibru https://www.codingame.com/replay/569098620
jacek: time to delete account
DarmorGamz: Built different ^
struct: submit the NN
struct: thats not acceptable
FalINTOblivion0112: hmmm fun clash of codes
FalINTOblivion0112: i sit everyday like a zombie and just code
jacek: Blaise did you hear that? oO
Wontonimo: join the fun in multis FalINTOblivion0112 , and code up a bot to play Connect 4
jacek: or read some connect 4 memes
Wontonimo: https://www.codingame.com/multiplayer/bot-programming/connect-4/leaderboard
jacek: https://forum.codingame.com/t/community-puzzle-connect-4/189435/7
jacek: its thursday and almost no mention of this puzzle of the week
FalINTOblivion0112: its coming out i think
FalINTOblivion0112: later this week
Astrobytes: isn't it coop mate with rook?
jacek: yes, but no one mentioned it in the chat
jacek: while previous week everyone were hyped for sokoban
jacek: or ban
Astrobytes: guess they're probably still doing sokoban
Astrobytes: Or escape rooms
jacek: oh didnt see escape rooms hype either
jacek: maybe they escaped from the chat
Astrobytes: discord is where the hypes at, plus you get your own chat in escapes
punter147: cooperative mate with rook should be solved by bfs right?
punter147: coz we need the shortest sequence of moves
Illedan: lol jacek, that replay :D
FalINTOblivion0112: discord gang?
jacek: punter147 bfs is for shortest, yes
punter147: thanks jacek, will give this puzzle a try.
ja_fica: MSmits, how much speed you do games in your meta MCTS solver?
MSmits: that depends on how deep the branch is.
MSmits: when it is exploring nearly solved branchines, up to 100 games/s
ja_fica: I always start from the begining
MSmits: branches
ja_fica: I m building my first opening book creater
MSmits: oh cool
MSmits: what do you mean starting from the beginning?
ja_fica: Thats what i'm submiting
ja_fica: Well im not doing a meta MCTS
MSmits: oh you're just doing normal mcts with high calculation time?
ja_fica: I'm doing MCTS on top of a AI vs AI MTCS plays
ja_fica: No not taht
ja_fica: Im using MTCS for each play
MSmits: how does that work? It sounds like meta mcts to me
ja_fica: each play is stored in TT
ja_fica: TT also with symetry
MSmits: sure, same as me then
ja_fica: Its close to meta
MSmits: but whats different
ja_fica: I use different UCT formula
MSmits: oh, ok
jacek: D:
MSmits: what is the function of the new formula?
Illedan: Astrobytes, what are you submitting?
MSmits: your end
Astrobytes: Not sure Illedan, since I ran out of plays
MSmits: :)
Illedan: :D
Astrobytes: So I just though fk it
ja_fica: (obp->visits[col]==0 ? 0.4 : (obp->score[col]+obp->visits[col])/(obp->visits[col]*2.0)) + (obp->defaultMove == col && obp->totalVisits<(4+plays*4) ? 2.2f : 1.2f)*sqrt(clog/(obp->visits[col]+1));
MSmits: looks complicated
ja_fica: I want to force replays in MTCS so I can have good intermidiate books
Astrobytes: think my earlier one was better but thanks to CG I don't know
Illedan: Yeah, that replay cap
Illedan: sad panda noises
ja_fica: I tries multiple until I found one that resulted in good entries
Illedan: Anyway, off to play cards and drink beer. Cya
ja_fica: I only have around 65 so far
Illedan: Need a new game tomorrow
MSmits: 65 what?
Astrobytes: Nice, cya later Illedan, enjoy :)
ja_fica: 65 good entries
MSmits: whats an entry? A move?
ja_fica: a state
ja_fica: state->move
MSmits: oh, but how do you know they're good?
MSmits: btw meta mcts, if done well, gives you good opening moves very very slowly
ja_fica: parent >= x visits && (win>=40% || solved && WIN)
MSmits: do you build a meta tree?
ja_fica: No
ja_fica: I have an unordered_map with a good hash function
MSmits: well i have something like that too, but I still use it as if it is a tree
MSmits: i generate the moves and during selection i pick them out of the dictionary (hash map)
ja_fica: In you values from your maps, you have pointer to the other states?
MSmits: no, everything is in a dictionary, similar to your unordered map
MSmits: the state representation is the hash key
MSmits: so i generate children, turn all of them into keys and pick the correct nodes out of the dictionary
MSmits: if they dont exist, i create them
ja_fica: the hash function cannot be the same as the key
MSmits: and select that node as a leaf to run a game from (since its new)
ja_fica: Unless you have spent millions of dollares on memory
MSmits: well C# handles the conversion of Guid (128 bit type) to a hash key
MSmits: but equality is checked so it's all fine
ja_fica: Yes, I prefer to make my hash function
MSmits: I do in C++ as well, but this part of my meta mcts is not a bottleneck even with a really bad hash function
ja_fica: I use the trick I told you last time, it highl reduces collisions
MSmits: the games are run in c++ from the leafs of the dictionary (tree) in my C# windows forms program
ja_fica: the p0 | availablemoves
MSmits: yeah thats nice
MSmits: i would use it if i needed it
ja_fica: I never understood what you mean by playing only the leaf nodes
ja_fica: you don't store every state, I suppose
MSmits: hmm i'll try to explain
MSmits: ok so think of 1 overarching tree in my C# program
MSmits: all of it is stored (currently 6 GB)
MSmits: I start every game at the root of this
MSmits: then i do 1 single selection downwards until i hit a leaf of this stored tree
MSmits: so it's just 1 selection phase of mcts (which is why it can be slow)
MSmits: at some point there's a leaf
MSmits: a c++ mcts selfplay program is run from this leaf
MSmits: this runs my bot that is also on the leaderboard
MSmits: and finishes the game
MSmits: (can be long, or very short)
ja_fica: how you communicate from c# to c++, I tryied so hard and couldn«t do it
ja_fica: .NET?
MSmits: sec yes
ja_fica: advantages of windows
Astrobytes: you can just run another process or you can use a dll
ja_fica: between c# and c++, I can only force it using nodejs as the mensager
ja_fica: MSmits, I have a new map in 4-5 minuts
MSmits: https://pastebin.com/RCwtEJ7c
ja_fica: You want to submit your bot again so we don't harm our points
MSmits: thats most of it
ja_fica: unfortunally it does not work outside .NET
MSmits: start process runs once at the start of the program, once it's running it's just being used by simulation.
MSmits: I use 10 processes in parallel
MSmits: thanks to mutex it's safe
MSmits: gets a bit hot in here though :P
ja_fica: Yes, in c++ should be easy as well
ja_fica: Im also thinking of doing it in cuda
MSmits: i have no experience with any of that. Windows forms was just the first thing i managed to do and i never tried anything else
ja_fica: But is do difficult to SIMD leveraging from UCT formula
MSmits: i never use simd in uct
ja_fica: cuda is playing each game in a graphic thread
ja_fica: I tried, and it was not a good idea
MSmits: i tried also and it was also not a good idea :P
MSmits: struct tried also
Astrobytes: not sure anyone's had success with simd in uct, or did someone? struc t or marchet e?
MSmits: i think struc t did have some success, but only if there was exactly the right amount of children
Astrobytes: oh struct had false positives right
MSmits: or just enough
MSmits: i think so, but not 100% sure
struct: only worth if there are exactly 8 children
Astrobytes: something like that iirc
MSmits: ah good, i remembered correctly then
Astrobytes: There ya go
struct: loading values is expensive
struct: it might be good in games like bit runner
struct: if you have always the same N moves
ja_fica: AVX512 is far superior to AVX2
ja_fica: loading is the same time and have many more instructions like popcount
MSmits: i guess some bots may need some work if that gets onto cg cpus
MSmits: popcount for the full register would be great
MSmits: i wanted that for uttt
MSmits: instead i popcount 3 times 64 bit
ja_fica: yes, I needed that for C4
MSmits: i union 9 miniboards with 3x 64 bit
MSmits: then i can quickly count the free moves
MSmits: for c4 could be helpful as well
AllYourTrees: huh adding draw handling to my mcts solver for C4 bumped up rating more than expected
ja_fica: I open 4 nodes at the same time with AVX in C4
jacek: oO
ja_fica: I couldnt explain it if I could
jacek: how do you handle draws differently than before
PatrickMcGinnisII: o.q
ja_fica: It was a weird idea
AllYourTrees: i ignored draws before, you could only win or lose :D
jacek: oh
AllYourTrees: well in the mcts solver, in the game you could draw
MSmits: they are fairly rare in actual played games, but within the search they may occur way more often
AllYourTrees: yeah
ja_fica: I prepare the nodess to be open without opening them, but still use the process time to predict 3 plays ahead without the memory overhead of opening nodes
ja_fica: The better the AI's the most likely they are to draw
MSmits: seems hard to predict 3 plays ahead
ja_fica: And costly
ja_fica: I only have 45k rollouts in first turn, without AVX I have 27k
MSmits: a rollout is an expansion with 1 similation?
AllYourTrees: are you using a NN fica?
ja_fica: No, although im saving meta MCTS data for NN
MSmits: oh, I guess Icould do that too
ja_fica: I think opening book + NN can work
MSmits: it can, if you balance the code size properly
ja_fica: I can buy your data
AllYourTrees: opening book just play 4 in the center :) there you win!
ja_fica: But for UTTT,
MSmits: maybe after i solve it, if i do :)
ja_fica: I don't think it can be solved when first play it not near the center
MSmits: ja_fica how do you store your state + move?
MSmits: i think it can be solved, maybe not by me. Probably within 10k or so cloudcomputing time
ja_fica: tuple<uint64_t, uint64_t, int>
MSmits: i mean, in codesize
ja_fica: a verctor of tuples
MSmits: how are they written
ja_fica: Rigths now i only have 65 entries so is something like this
lignus: mkæas
Astrobytes: Illedan submitting every time I submit eh :P
lignus: they call me mister hacker man
ja_fica: ({ {0LL, 2LL, 3}, {0LL, 1LL, 5}, {2LL, 16LL, 4}, {1LL, 8LL, 3}})
lignus: wops sorry this is an actual chat
Astrobytes: I'm using submit as my "Play My Code" right now
MSmits: ja_fica so you store whole states with their moves?
MSmits: that's very costly
MSmits: it's cheaper to store a tree, with just the moves
MSmits: the moves build up the state
ja_fica: how?
MSmits: like this:
ja_fica: Thats really smart
MSmits: {4{5{3}}} etc
MSmits: a { means go deeper
ja_fica: I use that technique in regular MCTS
MSmits: } means go back up
MSmits: first move is always best
MSmits: second move is an opponent move you may have to counter
MSmits: and third also
MSmits: etc.
ja_fica: thats a really good idead thanks
MSmits: thats how i stored it before
MSmits: but I converted to unicode thingy
MSmits: now 1 character is 2-3 moves
MSmits: so I can probably store around 200k
MSmits: currently i have 26k stored
struct: this is my book: 1
ja_fica: yes xD
MSmits: great book, exciting till the end :)
jacek: dont spoil the ending
MSmits: you gotta work on the sequel
MSmits: 7
PatrickMcGinnisII: :popcorn:
RoboStac: mines like structs but the 1 can randomly be a 7
MSmits: ahh, one of those choose your own adventure randomly books
MSmits: currently working on D&B mcts
PatrickMcGinnisII: numbers are movees :popcorn:
struct: in d&b you are safe from NNs
ja_fica: robo why not try a neural-opening book with a bigger NN?
MSmits: for now, i do think it's possible, but very hard to get a working NN
PatrickMcGinnisII: ooh, movies with monsters
MSmits: neural opening book?
RoboStac: from what msmits has said my bot pretty much plays his book moves anyway
RoboStac: until a fairly decent depth
MSmits: my current version is weaker though robo, you're 1 again
MSmits: yeah about 18 or so
RoboStac: mm, still have 0% against you though, just better against others
RoboStac: I'll have to try some 8bit magic, worked well on oware
MSmits: yeah, I guess the branches it plays vs you didnt change because it spent millions of games on other branches. I dont watch it much. I just submit and sometimes it's good, sometimes not
ja_fica: neural-opening books can have more moves using less weigths space if you use convolution, it can be advantagous
ja_fica: After X detph use regular algorithm
MSmits: i just dont see how a nn can be a book
PatrickMcGinnisII: ahh, Nightmare on Elmstreet
MSmits: i mean they're mostly eval-machines
PatrickMcGinnisII: glhf
ja_fica: Also convotions usually have better accuracy
Marchete: 8bit magic RoboStac?
Marchete: int8 quantization?
RoboStac: yeah
ja_fica: neural opening book is an imperct book
Marchete: I was thinking about it
Marchete: but int16
ja_fica: *imperfect book
Marchete: maybe I'll recheck later
Marchete: but it's hard to do...
RoboStac: int16 on my current bot was about 20% faster, int8 is closer to 50% faster
MSmits: ja_fica this is like my TTT experiments, fitting a perfect minimax result to a NN. it would be like 98% accurate, but never 100
RoboStac: you do have to retrain for int8 though unless you've capped relu
Marchete: tensorflow like quant, or custom made?
RoboStac: custom (similar to stockfish)
Marchete: no, I have free relus :D
Marchete: ahh ok
RoboStac: the stockfish article is what made me try it, I wasn't aware of the madd instructions before
Marchete: madd?
Marchete: fmadd?
BlaiseEbuth: Breaking the head of someone by hitting him violently with a dictionary, that's a neural opening book.
RoboStac: no, not fma
RoboStac: _mm256_madd_epi16
MSmits: BlaiseEbuth thanks
Astrobytes: BlaiseEbuth: technically that's a cranial opening book
Marchete: ahh I knew it
Marchete: mult going to 16bit, no?
Marchete: hmm no
RoboStac: well, you do 4 int 8's -> 2 int 16's -> 1 int32
Marchete: I need to recheck
BlaiseEbuth: Astrobytes: Depends of how hard you hit.
Astrobytes: BlaiseEbuth: Fair
MSmits: last day at work tomorrow
MSmits: well half a day
MSmits: then 6 weeks off
jacek: 6 weeks of more meta mcts
MSmits: nah, i dont think i will be running it much
MSmits: will be on vacation for a week, also it will be too hot
MSmits: i mostly want to try get nr 1 in D&B, get a oware NN working
MSmits: maybe write that article about uttt and some other stuff
MSmits: those 3 things are my modest goals :)
Astrobytes: 6 weeks, nice :)
MSmits: RoboStac, in this replay https://www.codingame.com/replay/569124769 my meta mcts says your 2nd move is a losing move
Astrobytes: Also, make the most of the vacation and don't CG during it :)
MSmits: so thats frame 4
BlaiseEbuth: :(
MSmits: i think you recover from it in most cases
MSmits: just not vs my bot
MSmits: Astrobytes i will CG 80% of it :)
MSmits: oh
MSmits: you mean on vacation
Astrobytes: Yes
MSmits: no, mostly no Cg :)
Astrobytes: ALL no CG, I insist :P
MSmits: maybe when i am bored and everyone else is sleeping
Astrobytes: Yeah alright, I'll give you that
BlaiseEbuth: :cry:
RoboStac: interesting. My bot thinks 1/3/4 are very equal (all between .495 and .51) and that ones winning on policy
MSmits: https://imgur.com/a/oIW6kMd
MSmits: so it's 66% wins from there on playing 5 for my bot
MSmits: at least in the meta tree
MSmits: it's really hard for any bot to get the first few moves right I guess
MSmits: they changed for me as well even after millions of games
MSmits: just from a strategic perspective, it would seem better to control the center
jacek: oh there is (or will?) 2nd season of kobayashi dragon
jacek: :3
MSmits: aww damn, sucks jacek
RoboStac: yeah, I think it's just struggling with the length of the line to beat that - it's convinced it'll be a draw until frame 15 when you start to get a slight advantage (.55)
MSmits: EuroBronyCon 2021 postponed
MSmits: hmm
MSmits: that could be it
jacek: you wanted to attend it?
MSmits: https://imgur.com/a/oIW6kMd
MSmits: chat crashed for me
Astrobytes: yeah, came back just a min ago
MSmits: ahh ok
Keegangb: how are you guys training the networks
MSmits: so... jacek, I was just sympathetic to you missing the brony conference. Personally I am not a brony :)
AllYourTrees: use a training leash and carry around treats whereever ya go :D
Astrobytes: lol, AllYourJokes
AllYourTrees: AllYourLaughsAreBelongToMe
BlaiseEbuth: I prefer guitar.
MSmits: guitar > trump
MSmits: trump(et)
Astrobytes: hey trumpets are awesome
MSmits: so are guitars
BlaiseEbuth: Is that trump tump site already exists ?
Astrobytes: Yeah but can you pick between Miles Davis and Django Reinhardt? (for example)
Keegangb: are you able to store permanent data during game simulation
Astrobytes: Offline training
Keegangb: so u literally have to remake the game
MSmits: not visually, but yes
Astrobytes: You have to do that for any search algo so it's not much of an issue
Keegangb: ok yea i thought maybe that was what you guys were doing but thats so painful lmao
Astrobytes: The source for most games is available so that helps
Keegangb: so like for the pod racer?
Keegangb: cause that one seems to be the most active
Astrobytes: Only cause it's the tutorial multi
Keegangb: whats most active popualar then
Astrobytes: well what do you like?
MSmits: changes every few weeks
Astrobytes: There are a few physics-based games like the pod racing, lots of board games, lots of grid games
MSmits: ultimate tic tac toe comes back every 6 months or so
Astrobytes: cause of #ru or you usually :D
Keegangb: i mean i was really interested in physics until i found out that all the big boys just use NN, i mean i like ai but i was interested in ig "figuring out" the game
Keegangb: or are people using NNs for pretty much all games including the min-max ones
MSmits: thats not really true Keegangb
Astrobytes: You can still get very high in Legend leagues without an NN, just the top spots are currently occupied in many games
MSmits: in coders strike back it's just top 6 or so
MSmits: and legend alone has 1000 players
Astrobytes: *a NN
jacek: an NN*
jacek: i always read NN as enen
Keegangb: true ig it could go either way
MSmits: in boardgames it's on average 2 players with NN
Astrobytes: me too jacek but everyone else here hated it
Keegangb: okay well that makes me more it=nterested
Astrobytes: Well, Oware...
jacek: for minimax or mcts you still need to simulate game yourself
MSmits: i did say average
Astrobytes: :)
MSmits: yes you can plug a NN into an existing search bot
MSmits: so you'll need to learn those things anyway
MSmits: NN is just the last step
MSmits: and it's up to you if you want to take it
Keegangb: so its doable to get top 10 in whatever game with NN tho
Astrobytes: Yes
MSmits: in csb it's possible, but very very hard with the extreme amount of players
MSmits: in other games it's very possible
MSmits: many games dont even have a NN
MSmits: on the leaderboard
jacek: like :notebook: :soccer:
Keegangb: are NNs prevalent in the seasonal competitions or are you like not even allowed
MSmits: if you're a good coder already, try D&B
MSmits: but sure paper soccer works
MSmits: dots and boxes
jacek: in last contest, top 1 NN dominated the leaderboard
MSmits: it needs a lot of math which turns off most NN players
MSmits: i dont mean they dont understand the math, but they cant just plug in their nn framework into D&B is why
MSmits: takes a lot of adaptation
jacek: d&b is very mathy and more like all-or-nothing
MSmits: yeah, like clobber
MSmits: though more so
MSmits: I like it a lot
Keegangb: i kinda want to experiment with custom models/methods for NNs so maybe i just have to join the boys
jacek: have you read the article on cgzero
MSmits: oware and csb are best then
MSmits: marchet e paved the way for you
MSmits: Keegangb
MSmits: but i would suggest you write a normal oware bot first
Astrobytes: ^
Astrobytes: Get it working first
Astrobytes: Yeah
MSmits: yeah just mcts or minimax or whatever you like
MSmits: get a working sim, check if it makes no mistakes
Astrobytes: Verify your simulation etc
MSmits: or say the same thing in 3 words
Astrobytes: :rofl:
MSmits: i will soon be out of top 10 in oware
struct: just wait until my NN is finished
Keegangb: im confused what oware is
Keegangb: is that a standalone game
Keegangb: i mean a game on this platform
MSmits: https://www.codingame.com/multiplayer/bot-programming/oware-abapa
struct: its currently 40ºC in the room
MSmits: it's a bot game
MSmits: lol struct
Astrobytes: that's just summer in Portugal
MSmits: if you check the leaderboard, my bot is the highest ranking non-NN and it's only 8th :P
MSmits: 9th also NN
Keegangb: jeez nn is just so op
MSmits: Keegangb oware is an exception though
MSmits: it's really easy to write a nn for it
MSmits: much harder for other games
Keegangb: do you know what highest non NN for csb is?
Astrobytes: *relative to some other games that is
MSmits: let me check
Astrobytes: Yurkov?
MSmits: not sure if yurko is NN
MSmits: might be
MSmits: he had a good smitsimax bot, beat mine
MSmits: i think thats still it
MSmits: so yeah yurko
Astrobytes: Yeah he went in hard on that, all of ru did I think
Keegangb: ok cool so doable for sure getting top 10
MSmits: yeah seems so
MSmits: Keegangb it's probably the hardest game on CG to get top 10 in
MSmits: and thats not even because of the NNs
MSmits: some people spent months on their bot
Keegangb: yea i figured it would be since its the first game u get presented with
MSmits: that too
Keegangb: yea i want to make this a little project and a good challenge
MSmits: sure is
TobiasA: i know a lot of people who play that oware game in real life. i didn't even know it was in codingame too:joy:
MSmits: TobiasA cool, there are a lot of variants though
MSmits: different game rules
Astrobytes: Yeah for sure, it's popular though
struct: i still need to finish my csb bot
Keegangb: okay well i might just stick to non-NN for a while cause im far too lazy for all the groundwork required for NN at the moment
Keegangb: does legend introduce yet more information than gold for scb?
MSmits: also if you do csb, then noone shared a full framework, they did for oware
MSmits: (nn framework)
struct: legend has 200 thrust instead of 100
Astrobytes: No, other than the max thrust
Keegangb: ok thats not too bad
Keegangb: most code would still apply
MSmits: all other games stop changing rules after bronze btw
Astrobytes: And there's the Nash-DQN article by pb
MSmits: csb is a big exception in many ways
Astrobytes: *pb and Agad e
MSmits: yeah thats helpful and gives some detail, but nowhere near what marchet e did
MSmits: they specifically kept some things to themselves
Astrobytes: Indeed. Different though
Astrobytes: https://github.com/pb4git/Nash-DQN-CSB-Article
Keegangb: ok bookmarked the marchete link tho for when i want to get into it
MSmits: you and me both
Keegangb: is it common to need a compressor for these games?
struct: no
MSmits: to compress the nn weights yes
BlaiseEbuth: perhaps
MSmits: for nn only Keegangb
MSmits: not for any normal bot
Keegangb: ok thats what i was wondering
MSmits: you have 100k characters
MSmits: depending on how long your lines are that's 3k/4k lines
BlaiseEbuth: Ok, so NN are not normals. Racist
MSmits: most bots are around 1k, 2k if someone gets obsessed
Keegangb: ok yea doubt i'd need to worry then
BlaiseEbuth: Don't worry, be happy
MSmits: yeah, and this is without minifying
MSmits: you could always do that too
Keegangb: yea true thats an easy step to add in
MSmits: anyways i am getting some sleep.
MSmits: gn!
Res-c: I have booboo
jacek: :scream:
Marchete: Oo
jacek: https://img-9gag-fun.9cache.com/photo/a07xD3v_700bwp.webp
geekHarsh: lets code https://www.codingame.com/clashofcode/clash/18553589d9b8a42ee21d68f8b2a08fd16e6c6df
DuhBaconStrip: ok daddy
Keegangb: google c++ on youtube
Keegangb: well this site cant really teach you a language
Keegangb: just asks you to solve a variety of problems