Yupq: anyone ig?
AlterRainbow: fuck lua
AlterRainbow: lua bad
AlterRainbow: no i meant to say that lua is a bad programming language
AlterRainbow: my ig is just my username
Yupq: u a gal or boy?
doniyorbek7376: lua is the best
datdood: yupq im gal :)
doniyorbek7376: what does gal mean :thinking_face:
Yupq: hi datdood
Yupq: your ig
doniyorbek7376: gal == gay?
datdood: yup join my game :)
Yupq: ig please..
Yupq: if any galz
eulerscheZahl: it's enough, let's raise the quality of the chat
mzbear: well, i started writing dots and boxes bot
VizGhar: Hmm my EndScreenModule isn't showing even tho setScores is called in onEnd method (running locally)
VizGhar: is it possible, that I can't see endscreen in local version of my multiplayer game?
eulerscheZahl: did you include it in the pom and also config.js?
eulerscheZahl: I bet that you forgot this line: https://github.com/eulerscheZahl/Onitama/blob/master/src/main/resources/view/config.js#L9
jacek: good morning
Cappefra: does csb unlock all rules in silver rather than bronze?
eulerscheZahl: CSB has rule changes until legend
eulerscheZahl: including a completely new input format in gold
Cappefra: woah ok
mzbear: hate it when the editor bugs out and starts flagging errors incorrectly
mzbear: there seems to be some kind of race condition in the code analysis, and it doesn't recover after it has gotten out of sync
mzbear: .. well, race condition, or any other cause of desync, but i'm willing to bet it's an async issue
VizGhar: hmm when the chat uses pastebin instead of full message?
mzbear: i suppose it does that when there are newlines in the message
mzbear: vizghar, you could add error messages for illegal moves
VizGhar: I'm calling deactivate player with proper message. Maybe there is some other call to SDK I'm missing
VizGhar: the documentation is pretty spread not even sure where to find it
mzbear: during the first turn too?
mzbear: i'm still testing the first turn
mzbear: i set my location to -1785748208 0 0 ... and it allowed me to play the first turn just fine
VizGhar: Hmm there is check for incorrect starting position
mzbear: I left the first player empty, and it now uses incorrect images for players
VizGhar: btw last parameter is index on tile 0 is topleft, 1 topRight, 2 rightTop...
VizGhar: i'll have to take notes right away :P
VizGhar: wow nice bug :) not even sure how to test it locally. I'll resubmit in 1-2hrs
mzbear: you don't check starting locations correctly
mzbear: The game has crashed. Please contact the author and enclose the following error: http://chat.codingame.com/pastebin/c9199efb-6b97-49a4-a5a0-79b9cbea81f3
VizGhar: Hmm I see. Catching only Timeout... And you are talking about first move in game loop. Now i understand
mzbear: negative x in the starting location triggers that at least
jacek: good enough. push it to production
VizGhar: mzbear pls share source that bug it
mzbear: std::cout << "-5 0 0" << std::endl;
mzbear: it doesn't crash immediately, it crashes after the first tile is placed afterwards
mzbear: submitted my bot to the arena ... it just picks a random move every time. unfortunately there's nobody to play against
mzbear: but at least the next guy can play against my random bot now :D
VizGhar: :D true. I can see I haven't added onle line to stub (you are supposed to pick starting position before game loop)
VizGhar: so first cout should have 3 numbers all others 2
VizGhar: but still can't crash it :D
darkhorse64: mzbear: a new contrib ?
darkhorse64: stil very WIP
MSmits: interesting game though
mzbear: are you really supposed to choose your starting location without looking at your hand first?
VizGhar: Not in real game. Can add it later
VizGhar: yeah its very WIP :) just learning how to work with SDK
mzbear: you should work on making the interface stable ASAP, so people can start making bots to test the game
mzbear: so the bot will have to see his hand before deciding the starting position
VizGhar: hmm this is pretty straightforward addition... I'll stabilize it today
mzbear: you could change the game loop so that you have commands "START x y index" and "PLACE tile rotation"
mzbear: that way the pre-loop initialization goes away
mzbear: in the gameloop, you'll be given other player's START and PLACE commands
mzbear: the initialization phase will only tell the number of players
MSmits: VizGhar also make sure you talk to euler. He created quite a few of these
darkhorse64: Yeah, it's missing the tiles and their description. It depends very much on how much burden you place on the programmer. You have to think about that
Yupq: any girls?
darkhorse64: only coders
Yupq: i want to learn something
eulerscheZahl: and i'm available for the next 3 weeks, xmas holidays :)
MSmits: we have a teapot, which is nearly the same thing Yupq
Yupq: any females here?gg
Yupq: wanna learn a lil something
MSmits: maybe not call them females is a start
Yupq: what should i call them?
MSmits: women/girls is fine
darkhorse64: He confuses bits and tits
MSmits: ah yes, he's confused about his bits
VizGhar: Call them just mum in your case i suppose
Yupq: any women/girls here?
Yupq: I want to learn something
VizGhar: (╯°□°）╯︵ ┻━┻
**Yupq slaps around a bit with a large fishbot
Yupq: (╯°□°）╯︵ ┻━┻
MSmits: this is a tricky troll. He sounds kind of ok at first, but when you ask about what he wants to learn, :poop: really gets started
Yupq: i want to learn coding
MSmits: from women/girls only?
darkhorse64: eulerscheZahl: please pick your best hammer
eulerscheZahl: i'm considering
MSmits: just one sec, let him get his line in :)
Yupq: yeah so that i can see 1300135
eulerscheZahl: Yupq: that's an official warning
Yupq: okie dokie
eulerscheZahl: yes. hover over my avatar and you'll see it
MSmits: dont, he will mindcontrol you!
eulerscheZahl: successfully wasting my time here for 4 years :D
MSmits: thats a statement
Westicles: Oh jeez, everybody is on vacation and can't fly home to kill grandma. Going to get wild here
MSmits: Westicles isn't that a good thing, for grandma?
MSmits: solve puzzles on CG if you know basic coding
MSmits: if not go to codecademy or other site to learn basic coding
MSmits: that helps
MSmits: maybe do some clashes if puzzles are too hard, you wont solve it in 15 mins (At first), but in most cases, other people will share a solution
MSmits: however, it wont be coded prettily
MSmits: and shortest mode will be unreadable
MSmits: well keep doing that
VizGhar: And then do something yourself... You won't learn anything just by "copy pasting"
MSmits: well if he does clashes, he'll be doing something himself
MSmits: puzzles are better anyways, but the problem is that no answers are provided if you fail
Westicles: Clashes are getting tougher and weirder these days
jacek: cant code puzzle but will code AutomatonNN?
AutomatonNN: what is the problem?
Westicles: Easy puzzles probably a better start
MSmits: jacek meant no offense AutomatonNN
AutomatonNN: eye it says "random search" in the contest during the contest
MSmits: jacek sometimes says eye
MSmits: he picked that up i think
jacek: i do?
jacek: more like eeyup
MSmits: mmh maybe eye when you're too tired?
jacek: oh flash required :s
MSmits: ah well, who knows whats in AutomatonNN's mind
AutomatonNN: eulerscheZahl is there a way to convert the total command explained the part of it?
MSmits: euler is in his mind
MSmits: wait for euler to come in and be annoyed :P
jacek: MSmits how many endgames in 12 size board? 3**12 * 2?
eulerscheZahl: why *2?
jacek: per player
jacek: current player
eulerscheZahl: you already have the 3 (you, opponent, empty)
jacek: board + current's turn
MSmits: yeah you can do it from the perspective of the player
jacek: or maybe i dont need that
MSmits: who;s turn it is
MSmits: it's not that easy to answer though, 3 ** 12 is the naive answer, but i skip invalid boards
MSmits: also i skip once that have already been solved in a rotated fashion
jacek: anyway i randomly generated about milion such boards, tested it and got 55% winrate
jacek: tried to used special NN to compress them but so far fail :p i get only 93% accuracy
MSmits: thats pretty big jacek, considering the amount of unbalanced boards
MSmits: Knee-Gears bye
MSmits: also seems right
MSmits: the number
MSmits: hey, i guess i could have just run a CG bench
MSmits: and give you the answer
MSmits: i never tried it myself
MSmits: I could pick my arena bot as opponent and run 100 games as p1 and 100 games as p2
MSmits: with random seed
MSmits: want me to try jacek?
jacek: no need
MSmits: ah ok, i just realized its gonna be pretty hard too
MSmits: its integrated into my bot
MSmits: opening books are easy to remove, endgame books arent
MSmits: jacek a bit of advice. If you want the string to easily fit in your bot, do the following:
MSmits: generate all states locally, skip as many unnecessary ones as you can
MSmits: then use the exact same algorithm inside your bot to generate the same states
MSmits: only dont solve them, read the answer from your string
MSmits: then duplicate those states for symmetry inside the bot
MSmits: should be able to make the string only 20-30 kb that way
MSmits: you skip rotated states, but also states where 1 player has already won, or boards that are empty
SupSon: base85 encode it
MSmits: with unicode, you can fit 10 states in 1 character
MSmits: so that 20-30 kb is actually 300k states or so
MSmits: which get rotated to over a million
MSmits: 2 million i think even
MSmits: the reason you can fit 10 states is because a state has 3 possible outcomes, loss/win/draw. So it's ternary
MSmits: 3^10 fits in a unicode character
MSmits: way better than base85
MSmits: btw, dont just rotate a 3x4 board 4 ways (because it's not a square), also rotate it into a 4x3 configuration
MSmits: doesnt matter if it's square or not, there's always 8 states
mzbear: VizGhar still around?
mzbear: VizGhar check this out: https://i.imgur.com/buTOEGi.png
Westicles: Is there a convention for naming 5D coordinates? (x,y,z,something,something)?
MSmits: x1,x2,x3,x4,x5 ?
jacek: t as 4d
Westicles: 5 space coords
VizGhar: mzbear I found nice assets already :) but thanks
MSmits: with large vectors, people dont bother with xyz
MSmits: they just index them
Westicles: ah okay, thanks
mzbear: VizGhar: oh... alright. anyway, here's the script that generated it: https://paste.ofcode.org/33vSjRv4K7Tnim6s894ef8X
MSmits: not sure if it starts x0 or x1, just be consistent
mzbear: uses line subdivision to create smooth curves
mzbear: you can probably still use that line smoothing, since you need to animate the pieces moving over the tiles
mzbear: maybe i should've asked if you needed that before i spent an hour on it :D
VizGhar: :D aminations will be pain
mzbear: huh, simple heuristics in dots and boxes gave me rank33 in top league
MSmits: makes sense
MSmits: it's hard to make a good search bot here, not many did
MSmits: heuristics do very well
MSmits: i'm working on a heuristic bot myself, hoping to add in search later
mzbear: the endgame is easily searchable, though, i could do much better if i started searching once endgame begins
MSmits: define easily searchable
MSmits: I've found the endgame search very complicated
MSmits: so many rules and exceptions
mzbear: endgame as in the point where you must pick a line from a cell that already has two lines, you're probably thinking of a bit earlier than that
MSmits: well is suppose if you define an endgame consisting only of isolated chains and loops, its fairly easy
MSmits: the problem is this:
MSmits: you dont pick a line from a cell
MSmits: you pick a line from 2 cells
MSmits: one cell may already have 2, but the other has maybe 0 or 1
MSmits: there can be splits where a cell has *no* lines and yet every line you place there gives away a box
mzbear: that's not difficult for me
MSmits: the decision of what to do in that case is pretty difficult
MSmits: what if a split has 1 chain of 1, 2 chains of 3 and a chain of 7
MSmits: which line do you place?
MSmits: it's not obvious
mzbear: well, most lines in a chain lead to the same result
MSmits: i should have given a 3 split as an example
mzbear: only once the chain is short enough it's different
MSmits: the problem is that if you place a line in a 3 split, the other two become connected into a single chain
MSmits: so if you have a split with 2, 3 and 4 and you remove the 2, the 3 + 4 becomes an 8
mzbear: thus the search
MSmits: yes, but some of these have 12 splits of 3 and 4
mzbear: the only real choices are at ends of the chains
SupSon: strings and coins
mzbear: if it's in between of the chain, the opponent can extend to both directions
mzbear: and then choose where to end the chain
MSmits: there are two types of turns
MSmits: turns where you have to open a chain
MSmits: and turns where you decide to take a box or not
MSmits: opening the chain give you a lot of options
MSmits: if you have 12 splits of 3 and 4
MSmits: thats maybe 20 options or so
MSmits: you cant just pick the shortest, as a safe heuristic
mzbear: maybe i should try writing the search first to see how it goes. i did some quick analysis and the number of chains goes down very fast
mzbear: well, i got rank 33 by picking the shortest :D
MSmits: yeah I know
MSmits: I got to 89 with random moves :P
MSmits: I have a 1500 line solver for endgames, I can solve most of them in less than 100 ms
MSmits: about one in a million goes over 100 ms
MSmits: but i needed an insane amount of optimization and pruning to get there
MSmits: i didnt put it into a live bot yet because it is a beast of a solver
MSmits: have a lot of work to do to adapt it to work in the actual game
MSmits: gonna do a heuristic bot first, and slowly replace those heuristics with info from the solver
mzbear: heuristics first is the sane approach. there's always a possibilty that you might grasp some new insights about the game while writing heuristics
MSmits: well it's too late for that I think. I spent weeks reading papers about D&B to write that solver
MSmits: i get a bit obsessed sometimes if you havent noticed :P
Westicles: Scrolls to the top to see which game they are talking about, and the top isn't far enough
MSmits: Dots and boxes :)
Westicles: Wow, that's kind of an unusually large lead for the top guy
eulerscheZahl: because #2 and #3 pushed him up
MSmits: you cant get there with a submit even if you win all
MSmits: but basically he just has a bot that has too much of an edge to lose a game
MSmits: I think D&B is still in early stages of finding out what works and what doesnt
MSmits: that means that if 1 guy knows how to play this game , noone can beat him
MSmits: from what i can tell from his games, he uses a fairly crude method of keeping control by giving away boxes. That works and makes sure he has control at the endgame, but it's not very efficient
MSmits: someone who plays the same game, but does it without giving away so many boxes, will do better
MSmits: now we need to go and code something like that :P
Westicles: The royal we, I assume
MSmits: lol, no, i was hoping you'd go for it too
MSmits: but you only do optims right?
mzbear: i'm kinda planning to touch every bot programming challenge to see which one i like, before i start writing anything too serious
Westicles: Yeah, just regular puzzles and anything you can do entirely offline
MSmits: mzbear do you mostly like the simple games? We have many comples ones that dont require search
mzbear: i dont really know what i like, tbh
MSmits: ah ok
MSmits: take a look at ghost in the cell
MSmits: its kind of fun and its hard to make a search that beats heuristic bots
mzbear: i did not like code a la mode, the very least
MSmits: its different because of the cooperation part
MSmits: i guess i liked it because it was so different
MSmits: for you everything is new
MSmits: so that doesnt matter
mzbear: i dislike not knowing the future rules, but i also dislike looking them up ... aaahhh
MSmits: ask someone to paste it
MSmits: which game?
mzbear: every game :D
MSmits: meh, cant help you there :)
mzbear: and i still have to solve the lower leagues first anyway
MSmits: its not like this in every game though
MSmits: usually its a neat expansion of features
MSmits: in case of csb it's bad
MSmits: didnt like it in hypersonic either
eulerscheZahl: HS was fine imo
eulerscheZahl: just you going full sim mode in wood despite us telling not to
eulerscheZahl: CSB: :rage:
MSmits: yeah i guess that one was on me :)
eulerscheZahl: codebusters even added new rules in the transition from contest to multiplayer game i think
eulerscheZahl: RADAR and EJECT
Uljahn: rules change is just an essential part of contest experience :relieved:
eulerscheZahl: at least the referee is open source these days
infinitetundra: hows it going everyone
jacek: happy Luna Day
mzbear: i hate winning every match and still having to wait for all the battles to finish before i can be promoted
infinitetundra: i hate trying to do a clash but getting absolutely lost and having no idea how to do a single test
Uljahn: i hate pinging Automaton2000
Automaton2000: no it was not a good way to find out how to get the validators
mzbear: Automaton2000, what is the meaning of life?
Automaton2000: but as i said i think i remember that one
MadKnight: stop hitting Uljahn jacek
Uljahn: pinging with :popcorn:
mzbear: ffs this "ghost in the cell" ... new leagues introduce new rules .... but i barely have to change my bot to defeat them
MSmits: that happens sometimes
MSmits: the wood leagues are only intended to introduce the game
MSmits: real game starts at silver or so
MSmits: bronze usually very easy to pass also
YodaMaster123: I looked at the Ghost in the Cell rules. What kind of search would work?
mzbear: it looks like i didn't have to change the bot at all during wood1
MSmits: YodaMaster123 some use GA, but many use heuristics, with great success
mzbear: now i just have to wait 3 minutes....
MSmits: heuristics in this case could also be a lot of loops and such, it isnt just if/else
MSmits: but no minimax/mcts and the like
YodaMaster123: Because of the large branching?
MSmits: well, large branching you can deal with
MSmits: i think it is mostly the ability to send many orders on one turn
MSmits: thats a type of branching that is hard to handle
MSmits: easy to get into maybe
MSmits: not easy to master
MSmits: yeah i suppose so
MSmits: yeah they did that
MSmits: well other games have clearly defined variables also, but with this one it is easy to come up with a sensible output
MSmits: just be careful, when you get to a higher league the variables change
MSmits: in that case, backup your code to a file, reset to base code
MSmits: ahh ok
MSmits: in gold you get 2 pods i believe
MSmits: so the input changes considerably
MSmits: once you get to gold, you need to completely rethink your approach and code a search. This is quite hard in csb. It might be a good idea to switch to a multi that is easier to search, if that is what you want to learn
MSmits: otherwise you will get frustrated trying to write heuristics that wont work
MSmits: it's a good moment to try some other multis
MSmits: but you should be able to get into gold using some creative approach, it's after this that you run into problems
AntiSquid: ^ a grammatical error
Q12: I don't think they will fix it because this isn't important enough. It isn't a bug in the game or something like this.
AntiSquid: and here you're only asking community members not staff#
AntiSquid: community can only edit community puzzles
AntiSquid: go to discord and post it in bug channel if you want
eulerscheZahl: *an account
MSmits: CG, a site where Germans correct Indian spellling
eulerscheZahl: read a few messages above for context
eulerscheZahl: just giving him a dose of his own medicine :P
eulerscheZahl: new monitor arrived today. actually i planned to give the old one to my sister
Astrobytes: I think I found an extra space in a puzzle description. Better ping all devs immediately.
eulerscheZahl: but now the white on the new isn't that white
Astrobytes: which monitor, anything fancy?
eulerscheZahl: philips brilliance 272b
eulerscheZahl: same size and resolution as my old one
Astrobytes: 27" ?
eulerscheZahl: as it's getting old, some "burning" of images
eulerscheZahl: yes, 27"
Astrobytes: cool. Yeah, annoying when burn-in happens
eulerscheZahl: but good enough for my sister (she's working with a laptop screen and an old monitor that randomly turns off for a few hours)
Astrobytes: lol, there can only ever be improvement on that
eulerscheZahl: wouldn't have ordered the new one for myself otherwise. still working too well to throw it away
eulerscheZahl: CG newsletter arrived. seems like they are referring to the same big thing as that twitter post
LastRick: Yep, sounds like that twitter clip
struct: (╯°□°）╯︵ ┻━┻
eulerscheZahl: struct you are supposed to smash the code, not the table
struct: I was trying to make local referee
struct: Was trying to find how to start a proccess on c++
MadKnight: wait guys how does /flip work
MadKnight: is it client-side or server-side ?
MadKnight: time to find out
MadKnight: <body>(╯°□°）╯︵ ┻━┻</body>
MadKnight: okay it's clearly server-side
MadKnight: struct i checked your <message> xml that came from the server
MadKnight: struct why are u still using webchat i thought u switched to pidgin
MadKnight: process in c++ is started with fork() struct
MadKnight: eulerscheZahl your joke was actually too obvious i didn't like it fix it
MadKnight: i feel like i've been away from CG for too long and now i dunno what's going on here
MadKnight: i even felt like euler's jokes were not as good
MadKnight: what's going on in the world, Automaton2000 ?
Automaton2000: you could also use it to find out what the hell
MadKnight: exactly Automaton2000, what the hell?
Automaton2000: i got u an avatar
MadKnight: let's find out WHAT THE HELL
MadKnight: gimme that Automaton2000
Automaton2000: yeah, that's what i thought
MadKnight: eulerscheZahl i need u to tell me a joke
eulerscheZahl: just run fortune | cowsay
MadKnight: too hard
eulerscheZahl: that wasn't a joke
MadKnight: doesn't matter
eulerscheZahl: open your terminal, write "fortune | cowsay"
MadKnight: just explain what it does
MadKnight: so fortune gives some random-based answer and then it goes to cowsay
eulerscheZahl: random text and put in a speech bubble with a cow below
MadKnight: cowsay does something like - print "cow said $input" ?
eulerscheZahl: somehow demo.js doesn't get generated anymore :/
MadKnight: what's demo js
MadKnight: what is it generated by
MadKnight: what is it all for
MadKnight: is it a part of your joke
MadKnight: so many questions Automaton2000....
Automaton2000: i don't really want to use that as a last resort
struct: euler with the same sdk version as before?
MadKnight: no struct they updated euler to a new sdk version
MadKnight: it's already 2021 there's just no way that didn't happen
MadKnight: just ask Automaton2000
Automaton2000: at least my bot is still pretty basic
MadKnight: Automaton2000 is it true ?
Automaton2000: i think i'm gonna go to the closest pellet
MadKnight: wait i need to ask that in #fr
MadKnight: it just broke Automaton
MadKnight: he started speaking spanish
MadKnight: are u happy euler ?
Westicles: As the french say, what is that that that is?
MadKnight: as the french respond
MadKnight: that is that which is that that
MadKnight: i'm actually french u gotta believe me
MadKnight: Westicles can confirm
MadKnight: if he can't then Automaton2000 will ban him
Automaton2000: if i didn't have any problems
eulerscheZahl: struct i even reverted to an older commit
MadKnight: wait Westicles i haven't seen u for a long time
MadKnight: let's just talk normally
eulerscheZahl: can you try it? it's the private github repo where I gave access to you
struct: give me like 5 minutes
Westicles: MadKnight, okay
MadKnight: like we are normal human beings Westicles
MadKnight: so what u been up to ?
MadKnight: i mean on CG
MadKnight: any fancy bots ?
MadKnight: any fancy algo/codes ?
MadKnight: i feel like euler is ignoring me hard right now
eulerscheZahl: no, it's pretty easy to ignore you most of the time
MadKnight: yea because i haven't been here
eulerscheZahl: go play some RAIC
MadKnight: and right now i'm just being a social actor for 15yo's
MadKnight: 15yo's would have fun from that
MadKnight: i actually need a moment to move on from that style
MadKnight: okay euler now seriously:
MadKnight: so i've been watching a lot of YT
MadKnight: a lot of people who make content for 15yo's
MadKnight: there's a lot of content for non-15yo's but my sub-consciousness part of brain decided to learn to repeat everything simple
MadKnight: is RAIC already in round 1 ?
MadKnight: how long do rounds take ?
MadKnight: not rounds
MadKnight: system-generated games
eulerscheZahl: finals are this weekend
eulerscheZahl: 1k ticks per player and game
MadKnight: finals of what
MadKnight: nonono i mean
MadKnight: how often does the system start system-generated games ?
MadKnight: for one player
eulerscheZahl: every 10min
MadKnight: and how many ticks do they usually take ?
MadKnight: last year it was like 10k+
MadKnight: oh u said 1k
eulerscheZahl: in 1018 it was 18k
MadKnight: per player and game ?
MadKnight: didn't get it
MadKnight: per player or per game ?
Westicles: Former Israeli space chief says US in contact with ‘galactic federation’ of aliens
MadKnight: at least it's not a religious thing
MadKnight: at least we're past that thing
MadKnight: being insane about alients > being insane about a religion
MadKnight: Westicles i can give u a lot of really weird news from the US
MadKnight: Westicles are u doing any bots ?
MadKnight: it's ok eulerscheZahl i'll check it later
MadKnight: i got a new job today eulerscheZahl
MadKnight: my sub-consciousness wants me to start doing that weird 15yo "funny acting" again help me Automaton2000
Automaton2000: this is the first given entity. the id may not be the case
MadKnight: i have to keep it serious so it doesn't do that
MadKnight: just for my sub-consciousness
MadKnight: fix me Automaton2000
Automaton2000: i just don't understand what you are asking for
MadKnight: i asked u a direct question Automaton2000 just read it again
Automaton2000: do you do when you have the same bug
MadKnight: i wanna change my u to you but i like how u sounds Automaton2000
Automaton2000: oh i guess you know about it
reCurse: Oh that's what it was?
MadKnight: what exactly
MadKnight: i lost track of what i said today
jacek: where are the mods when there are trolls these days
MadKnight: i would answer that if Automaton2000 was a mod
Automaton2000: how is it going to be the problem
MadKnight: because where are the mods, Automaton2000 ?
Automaton2000: see if you get #1 in csb
darkhorse64: I don't know what pills MK is using but he is taking too many of them
Astrobytes: Or too few...
MadKnight: it's a late evening in russia i could've had a drink or two with some people
jacek: russian drink?
MadKnight: not just russian drink
MadKnight: vodka'ed russian drink
MadKnight: i had no better ideas than that
MadKnight: Automaton2000 help
Automaton2000: maybe i'll try it with a for loop
MadKnight: for loop won't help us Automaton2000
Automaton2000: since you don't have to look into that
MadKnight: i have to do that Automaton2000 or else i will lose my entire self-consciousness Automaton2000 to be able to make fun of what i just said to not have weird moments Automaton2000 u gotta give me a better way to deal with that
Automaton2000: you can start with a very high level
MadKnight: a very high level of what Automaton2000
Automaton2000: but you could also use progressive bias
MadKnight: how weird is that to use Automaton2000 as a talking duck while turning any message Automaton2000 gives into exactly what i wanted to hear ?
Automaton2000: yeah you can use any python modules?
darkhorse64: #world = #MK
MadKnight: i got nothing
MadKnight: Automaton200 help
MadKnight: Automaton2000 help again
Automaton2000: how can you know where the enemy is about to start a new one
MadKnight: darkhorse64 just start any topic i'm filling the void of nobody talking
eulerscheZahl: i want to kick but i think thibaud wouldN#t approve
MadKnight: i'll stop once anyone starts any topic
MadKnight: at least
eulerscheZahl: sometimes silence is better than random noise
MadKnight: i'm just talking to myself while nobody is using #world
MadKnight: stop listening to me while i'm talking to myself in #world lol
MadKnight: okay Automaton2000 can say that i stopped
Automaton2000: it is very hard to understand
MadKnight: new keyboard, not my bad
MadKnight: okay i'm back to normal
LastRick: Can Automaton2000 suggest a new topic?
Automaton2000: you only need to test
MadKnight: i've tried that LastRick but Automaton2000 is like talking to yourself through random spelling
Automaton2000: see if i can figure it out
Westicles: My enemies are downvoting me again
LastRick: Test failed apparently
LastRick: I'm assuming you're talking about 5D, Westicles?
Westicles: Yeah. JK though
Skynse: eating some good rice and chicken right now
Skynse: man I love food
LastRick: Now that ^ is random, Automaton2000. Take notes
Automaton2000: i'm not saying it's a bad idea
MadKnight: 5d ?
MadKnight: give me the context Westicles
MadKnight: is that a puzzle about 5d floodfill ?
Westicles: Yeah. Not too original I guess
MadKnight: so i can just solve it by using a 5d floodfill ?
Westicles: Just love the look of vector<vector<vector<vector<vector<int>>>>>
MadKnight: my super reusable floodfill algo can handle that for sure so that puzzle will be like a few lines in c++ for me
Westicles: Well, it is marked as easy...
MadKnight: 5 times vector<> is like straightforward solution
MadKnight: u gotta use array<int, size0*size1*size2*...?
MadKnight: new keyboard don't blame me
MadKnight: who cares about it being an easy
MadKnight: we're talking about solving it with standard AI bot tools
Westicles: Well, really the point is to see the Haskell and PHP guys whine it is unsolvable
MadKnight: why is it unsolvable for them
MadKnight: i didn't get it
MadKnight: i know both these langs
MadKnight: i like haskell
Westicles: 20^5 space is pretty big
MadKnight: it's also big for c++
MadKnight: so what?
MadKnight: why haskell ?
MadKnight: why php ?
Aya_Noaman: hey guys
MadKnight: hey yeaya
Aya_Noaman: join a reverse clash from #clash
MadKnight: Automaton2000 clear the chat instalntly
Automaton2000: what are you trying to do
MadKnight: to clear the chat Automaton2000 stop thinking just do it
Automaton2000: can someone please give me a starting point
MadKnight: okay i got bored
LastRick: starting now Automaton2000
Automaton2000: i am doing it wrong
MadKnight: LastRick let's talk about stuff that Westicles didn't talk about
MadKnight: so he didn't talk about my reusable BFS much
MadKnight: let's do it now
LastRick: Automaton2000, CLEAR THE CHAT!
Automaton2000: then i would have been better
MadKnight: LastRick do u use BFS ?
MadKnight: do u play multis ?
MadKnight: do u code in c++ ?
LastRick: I am doing this wrong
MadKnight: do u even code outside of web IDE ?
MadKnight: he left, Automaton2000
Automaton2000: if that makes sense in my head
MadKnight: lemme talk to u again, explaining all of my thoughts
MadKnight: okay i'll stop writing my thoughts
MadKnight: but not to Automaton2000... Automaton2000 i just had so many thoughts about that... why do i sound so weird Automaton2000 ?
Automaton2000: could you give me some advice
MadKnight: fix your code Automaton2000 that's my best advice
Automaton2000: how do i save the state of the game, but i don't have an opinion
igr.: Any mod online?
igr.: I kinda got harassed in DMs.
MadKnight: any problems with puzzles ?
MadKnight: who was that ?
MadKnight: harassed how ?
MadKnight: DM me
MadKnight: DM me info about that
Skynse: I was just clashing with that guy
Aya_Noaman: join short mode clash from #clash
Aya_Noaman: join this one
Aya_Noaman: once the clash was super easy. finished in 0:41
Aya_Noaman: sorry about this
MadKnight: i don't feel like that's better than me writing every single though i have in my head
MadKnight: why did u stop me Automaton2000? to have this? are u happy now? do u really think this is better?
Automaton2000: i am talking to you
MadKnight: no i am talking to you Automaton2000
Automaton2000: i was wondering about that
MadKnight: wow is that actually the best i could come up with?
MadKnight: okay Automaton2000 i just retire
Automaton2000: but the score is calculated
MadKnight: until i get better
MadKnight: that was just cringe, Automaton2000
Automaton2000: i'm going to have a look at the forum
MadKnight: that was actually terrible, Automaton2000
Automaton2000: it's always the same thing for me
MadKnight: Automaton2000 we gotta erase everything i just said from the history for those who just opened webchat Automaton2000
Automaton2000: you don't like the idea of a good strategy for code vs zombies
MadKnight: help me spam 16 more messages Automaton2000
Automaton2000: what does it say that i am trying to figure out which one is that?
MadKnight: i don't wanna spam stuff Automaton2000 but that's what we gotta do
Automaton2000: i've got an idea for a multi
MadKnight: only euler will know our stuff Automaton2000
Automaton2000: you still have the code in a single turn
mzbear: well now you made me want to scroll back up
MadKnight: and recurs, Automaton2000
Automaton2000: does that mean you need to account for the fact that there is a big part
MadKnight: just hit f5 mzbear believe me it's a good button
MadKnight: it gives u +5
MadKnight: +5 obliviousness
MadKnight: +5 just spammm stuff for me Automaton2000
Automaton2000: is it possible to get the last item
MadKnight: 5 because it's f5 Automaton2000 just believe it
Automaton2000: and i realized that i was looking for
MadKnight: i meant just believe me Automaton2000
Automaton2000: what happens if you try to get all the bugs
MSmits: they are not pokemons Automaton2000
Automaton2000: but i suppose it would be so much better than the one in the statement
MadKnight: don't listen to him Automaton2000
Automaton2000: im a little bit of a mess
MadKnight: i got nothing
MadKnight: sry Automaton2000 but we're gonna have to stop here cuz i got nothing
Automaton2000: right now it's just a matter of fact
ian173: how do I close a chat I have with someone permanently
ian173: Every time the chat window appears I always have 2 dms I have with people appear
struct: close all cg tabs
struct: except one
struct: close the chat message and refresh
mzbear: am i a jerk for upvoting my own solutions if i dont like other people's solutions? :)
Yolts: he doesn't like other ppls code
mzbear: of course i like my own solutions (except sometimes rarely, in which case i dont publish them)
mzbear: sometimes other people have good solutions too, in which case i don't upvote my own
Westicles: funny thing about that...
darkhorse64: mzbear: ask Westicles; he has a script to automate the process
wlesavo: nice 2048 puzzle of the week :slight_smile:
Westicles: Good. Somebody please figure out what db did and share it
Westicles: I still wake up every once in a while out of dream where I made a new snake
MSmits: sounds biblical
Astrobytes: speaking of dreams, I dreamt this morning that one of my cats morphed into a penguin-like thing, slid across 2 busy main roads on its belly, then turned into a white towel with a cat face :shrug:
jacek: i dreamed i owned a cat, forgot to feed it and it died :c
Westicles: They say cultures who have never seen a cat dream of cats. A symbol built in to our brains
jacek: youre clash addict?
jacek: happy Luna day!
tarikyildiz: 2048 game very very good
tarikyildiz: Although I don't understand any puzzle, this puzzle was very nice and fun. I completed it in less than 1 minute.
tarikyildiz: thank eulerscheZahl
Astrobytes: hm, that's a bit of a problem. Optims as potw doesn't really work: no leagues
jacek: so you can send anything and it will make the quest?
Astrobytes: Haven't tried but I assume on 100% completion yes
Astrobytes: Either that or the achievement is unavailable
JP7: Do we know how many daily active players there are on this site, or is that information private?
struct: I think its private
Damaxal: The ouput of a for loop are multiple integers
Astrobytes: Not sure tbh JP7
Damaxal: How can i sum them up?
struct: I can check how many users are in chat, but thats about it
Damaxal: for example
Damaxal: in python
Damaxal: how can i sum the up?
Astrobytes: sounds like a clash...
struct: int is a clash
Damaxal: sum is just for iters
struct: Damaxal you need a var to store the sum
Damaxal: sb knows a solutiom?
struct: like sum += val
Astrobytes: Damaxal: don't ask in chat for clash solutions, use your search engine for language features
Damaxal: i have looked up for the last 15 minutes
Damaxal: and the clash is already finished
struct: did the look always start at 1?
struct: was it sum from 1 - N?
Damaxal: it was reverse
Damaxal: and output 6
Damaxal: so the sum
struct: yeah you just need to add those values to a var
struct: sum = 0 // Loop sum += val
Damaxal: and what is the comming in print?
Damaxal: ah ok
Damaxal: thank you
Astrobytes: isn't sum a keyword in python struct?
struct: Maybe lol
struct: I don't really know python, I just wanted to show a generic solution
Astrobytes: yeah... some kind of people tend to take things as you write them :D
Astrobytes: Also I have no idea how that couldn't be found via search engine
Astrobytes: still doing STC?
struct: I was trying to do local arena
struct: But I cant find a way to connect to c++ program using c++
Astrobytes: windows is annoying in that respect
Astrobytes: smits gave you his C# runner code no?
struct: But i wanted to try it in c++
struct: I managed to some simple gui using imgui
Astrobytes: imgui is awesome
Astrobytes: working with processes on windows isn't
struct: yeah, I never used it before
struct: Maybe I can just run the c++ code inside the same program
Astrobytes: AI_says_hi: you can get 100% yes, but you should try to get a good score
struct: Like have the stc code inside the referee
struct: instead of passing the exe
Astrobytes: TBH struct, I usually just do that
struct: Also can be good if I want to change params
Astrobytes: You create instances with different parameters, you can even chuck them in via stdin if you want
Astrobytes: *You can
struct: Doing all this because I couldnt find a bug...
Astrobytes: can't you just paste in your debug info for a turn and do it that way? Something more serious?
struct: Its thousands of states
Astrobytes: well yeah, it's a search lol. What's the bug?
struct: on reusing states
struct: I wanted to pass states from depth 4 to depth 3
struct: But I only pass the ones that are possible
struct: Something is wrong with it
tarikyildiz: The 2048 codingame site may be the best puzzle. I completed it in just 1 minute. That was so fun.
Astrobytes: why do you need to do that struct?
struct: So I dont compute them again
struct: im doing bfs until depth 4
struct: 22^4 states at worse case
struct: After I make a move I can reuse 22^3
Astrobytes: tarikyildiz: you can get 100% by submitting any valid move, it's an optimisation game - you have to try to increase your score
struct: if the opponent action did not affect my state
tarikyildiz: thanks astrobytes good night :)
Astrobytes: that seems a bit... unwieldy
struct: It would not be worth, at least for now since I can compute the 22^3 states in ~1ms
struct: but if I evaluate the states it might be worth
struct: because it wouild talke more time
Astrobytes: can't you just hash your seen states? Or am I missing something
struct: I store the states in an array
Astrobytes: Like a preallocated array of nodes then
VizGhar: Can somebody help me with SDK? Player.deactivate not showing the message from argument
struct: One sec VizGhar
struct: So one next turn I can reuse one state from depth 1 and 22 from depth 2
struct: on next*
struct: N from 1-22 range goes to arr
struct: VizGhar you tried it like this?
Astrobytes: OK. And your trying to actually pass the states back or indices or...?
struct: i pass the states
struct: Its working sometimes, other times is not
Astrobytes: It seems a bug-prone way of doing things tbh
DomiKo: new player in SameGame :open_mouth:
Astrobytes: the #2 player?
DomiKo: I was #2 yesterday :(
DomiKo: nice to see someone new
Astrobytes: Good score. Fix it DomiKo :P
DomiKo: yeah I will
jacek: that wont be the same anymore eh
Astrobytes: what won't?
jacek: the score for samegame
struct: DomiKo on STC you used random search?
DomiKo: yes yes
VizGhar: struct thanks... I needed to call gameManager.addToGameSummary
Astrobytes: afaik MC was the recommended approach for STC. What did you do first time around struct?
struct: it was mc
struct: but im gonna take into account opp now
Astrobytes: Focus on just improving that I'd say
struct: Currently I do Depth 4 opp and me, and I still have plenty of time to do more search
Astrobytes: draconis19: do some puzzles instead!
Astrobytes: It might be the opponent stuff that's messing with your states
DomiKo: MC for opp work very well
struct: DomiKo yeah, and I think if I do depth 4 opp I can do some stuff
struct: to see if I can prevent anything
Astrobytes: And doing puzzles without time constraint can be useful to learn new algorithms, data structures, tricks etc which may be useful
VizGhar: Spent whole day fixing my game... hopefully it's at least playable now. Quick opinions anybody? https://www.codingame.com/contribute/view/59519a876ee17f2efd6a5e0813e7a8fdd0c9
Astrobytes: I'd left-align that pic in the statement, rather annoying in the middles, especially on resize
Astrobytes: seems to be ok with invalid input
Astrobytes: there's no list of valid moves so kinda hard to check quickly without writing something for it
struct: VizGhar movement showed before tiles were placed
Astrobytes: the documentation is a bit sketchy, so feel free to ask around for advice on that RyanGilbert
struct: VizGhar try commitEntityState
Astrobytes: You can write your solution in it, but you still need the stub generator to create stub for all langs
struct: you can choose in which time it will show
struct: 0.01 = almost instant once frames start
VizGhar: oh thanks god struct :) I planned to spent tomorrow morning on those animations
VizGhar: BTW, I know I can implement wood1-3. Is it possible for community bot puzzles to implement higher leagues? (just curious)
struct: not possible
Astrobytes: yeah, it's a bit unfortunate but we're stuck with wood leagues for now at least
VizGhar: ok tnx. good night
struct: 50k chars reached
struct: no ai
struct: max + 1 or 2
struct: due to some languages
struct: for end line I think
struct: With memcpy, this is overlaping right memcpy(&arr, &arr, sizeof(Type) * 22);
struct: Are you strugling with easy problems?
Astrobytes: yo draconis19, post those in #clash channel, then you can invite in main chat e.g. "hey, join my clash, link in #clash"
Astrobytes: keeps world chat free of the links and whatnot
Astrobytes: and tell people if it's a private one or just regular etc
struct: looks good
Astrobytes: No offense in the slightest but it's generally better to keep as WIP at least for a few days, in case of any issues
struct: my memcpy seems to overlap right?
Astrobytes: Just to avoid early approval issues, sometimes people are a little too eager
struct: open the clash link I think
Astrobytes: wdym struct
struct: memcpy can overlap I think
struct: memcpy(&arr, &arr, sizeof(Type) * 22);
struct: since I was gonna copy arr-arr to arr-arr
Astrobytes: to the same array?
struct: At least I think is what I understand from https://stackoverflow.com/a/43088486
Astrobytes: gimme a min, sry, on skype call
vsa: anybody got a clue why there's always bots in the clashes?
Yolts: I'm not a bot. I just need time to think :(
vsa: BitWolf and a few other accounts are bots
Astrobytes: back, sorry
Astrobytes: vsa it's to fill the space when there aren't enough human clashers around
Astrobytes: struct, this looks unwise
datdood: how are there bots
datdood: i have to do a security check every time
Astrobytes: Official CG bots
Astrobytes: they take previous solutions & times and use them, they're artificial opponents for when you don't have enough human opponents
Astrobytes: struct, are you off by one?
struct: I dont know anymore
struct: I thought it was overlaping
struct: I changed to memove
struct: but still have the bug
struct: I think I have to rewrite this part, maybe I missed something
ZarthaxX: struct waddup with da bug
Astrobytes: zartho ma man
ZarthaxX: astrobayto mah homie
Astrobytes: help struct with his array
struct: Hi ZarthaxX
Astrobytes: i'm tired
struct: Im doing STC, and I have a bug but cant find it
Astrobytes: Your size, in your example should it be 21 or am I just that tired
struct: Should be 22
struct: maybe my example was wrong though
ZarthaxX: aight Astrobytes lets switch :P
ZarthaxX: what's the bugando
ZarthaxX: is it a big bugo or small bugo
struct: or maybe my implementation is bad
Astrobytes: Puyo Puyo Bugo Bugo
ZarthaxX: what the f buggg
struct: ZarthaxX I dont know what the bug is
struct: It happens when I reuse states
struct: I think Im missing something
ZarthaxX: what happens?
struct: I think I move wrong states when I reuse
Astrobytes: or overwrite
Astrobytes: or both
Astrobytes: Are these like pointers or what
ZarthaxX: or you are smashing the stack like a champ and breaking everything apart
struct: State* pool = new State;
Astrobytes: Why are you moving them around though?
Astrobytes: Why not just use the indices?
ZarthaxX: im so confused
Astrobytes: or you go over the 500000?
struct: not possible to go over 500000
Astrobytes: that makes 2 of us Zartho laddie
struct: because when I moved them I move them starting at 0
ZarthaxX: *it's always possible *
Astrobytes: but why move them I mean
Astrobytes: Do you create more that 500000 states?
ZarthaxX: Astrobytes :rofl:
struct: I move them so i can reuse on next turn
struct: For example if I have 22^4 states
struct: I can reuse 22^3
struct: on the next turn
struct: the 22^4 states are all the possible states until depth 4
ZarthaxX: mmm 22^3 ?
Astrobytes: then why not just pass around the index into the array of states for the state you need?
Astrobytes: or am I missing something again
Astrobytes: oh, per turn
Astrobytes: MOAR BIGGER ARRAY
struct: zarthaxX because if depth 1 has 22 and depth 2 has 22^2 the next depth one will have 22 states that were previously on depth 2
ZarthaxX: GIVE THIS MAN EXTRA RAM!
struct: not enough ram
ZarthaxX: struct but
ZarthaxX: when you do a move
ZarthaxX: you advance one depth
ZarthaxX: but then enemy advances another depth
ZarthaxX: so it's 22^2
ZarthaxX: from 22^4
struct: its stc
ZarthaxX: WELL IM SORRY
ZarthaxX: now i get u
ZarthaxX: u sure this transition thing is not buggy?
struct: it must be the transition
struct: it works fine otherwise
Astrobytes: someone keep me posted on this one tomorrow, I'm actually nodding off here. gn all, take care
ZarthaxX: cya Astrobytes
GodGooey: sick lag
Jasperr: welcome to "that" time of the night at CG :D
TsakBoolhak: of course not
Mohamed_Kharrat: guys if we solve a puzzle 2 times with the same language does it count as 2 puzzles solved for that language or do we have to solve 2 separate puzzles for that
TsakBoolhak: i think you have to solve differents puzzles
Emmaplayz: shut up nerd
MadKnight: hihi Jasperr
MadKnight: open your profile
MadKnight: somewhere in there for sure
MadKnight: oooh u needed rank and not points
MadKnight: then it's like around leaderboards
MadKnight: compete -> leaderboards