Chat:World/2021-08-15
michaellan: a question for those who use another client to view the CodinGame chat: how can I start/view Private Messages with another user?
michaellan: Do I need to know their numeric ID?
BlaiseEbuth: /msg pseudo
michaellan: what's the pseudo mean?
BlaiseEbuth: *nick
michaellan: ok; did you get a message from me just now, I did "/msg BlaiseEbuth just testing" but it showed up on my own status console
BlaiseEbuth: Na. /msg nick open a chat with nick, don't put your message behind
michaellan: I see. I think it worked
michaellan: thanks
michaellan: wow, it took several WEEKS for Di_Masta to write his visualization tool
michaellan: I'm gonna probably have to make my visualizer a lot more sophisticated for Mars Lander
eulerscheZahl: visuals really help to understand what's going on and spot bugs more easily
MiyamuraIzumi: 19 on CoC wow
ProCoder03: are JS the only way to write visualizers are can we write them in any other language ??
eulerscheZahl: any language
ProCoder03: any easy framework for beginners to begin with in .NET ??
ProCoder03: I am new to this visualizing topic !!
eulerscheZahl: System.Drawing does the job
eulerscheZahl: System.Drawing.Common for .net Core
ProCoder03: ohhh.. Okay :thumbsup:
eulerscheZahl: https://www.codingame.com/playgrounds/53705/contest-tools-and-workflow/debugging small code snippet that I used for a previous contest
eulerscheZahl: https://www.codingame.com/forum/t/ocean-of-code-feedback-strategies/175885/8 and how it looked like
ProCoder03: Thanks a lot !!!!
michaellan: Oh yeah I saw that GIF, fantastic job with that
michaellan: also, the strategy of drawing all candidate points and removing them as they went... I read about that years ago on a BoardGameGeek thread.
michaellan: I will try to dig it up now. the guy who discovered it said it ruined Captain Sonar for him :(
michaellan: Also, I had a question that I keep thinking about but forgetting to ask. Is it actually possible to have your bot run iterations of some algorithm / perform some computational work while waiting for your opponent to make their move?
michaellan: like after you print your move but before you receive next turn input
jacek: no
jacek: your process is suspended
michaellan: ah
michaellan: :rage:
michaellan: why are there so many CG tutorials for GA but not for SA
Westicles: SA is too slow
Shivay: anyone say where is trivia bot
michaellan: aw... now im so confused
michaellan: re-Curse (dont want to ping him) told me SA was more worthwhile than GA
Westicles: Tricky autistic wording... I think he hates both
michaellan: alrighty :cry:
michaellan: I think SA is simpler for me to understand but there are more tutorials for GA... so the solution is to learn both
Westicles: SA is awesome for offline optimization where you have time, but rarely is it useful in 50ms scenarious
Westicles: scenarios
ProCoder03: whats an SA ??
ProCoder03: semantic analysis or ??
ProCoder03: Can we use .NET 5 System.Drawing in Linux ??
ProCoder03: Anyone ??
eulerscheZahl: simulated annealing
ProCoder03: ohhh...
eulerscheZahl: and yes about the Drawing
eulerscheZahl: you have to import System.Drawing.Common
ProCoder03: Thanks @eulerscheZahl
bmacho: draw here on CG?
eulerscheZahl: offline
eulerscheZahl: i linked it a bit above already: https://www.codingame.com/forum/t/ocean-of-code-feedback-strategies/175885/8
eulerscheZahl: btw there is one game that supports drawing online: https://www.codingame.com/replay/539734373 you have to enable it in the viewer settings
EdwinJagger: I keep getting shortest code on clash of the code
EdwinJagger: does anyone else experience this?
eulerscheZahl: modes are selected randomly
EdwinJagger: interesting...
EdwinJagger: i get shortest code the most
eulerscheZahl: i don't have any statistics on what mode is the most common among contributions
juice0: i'm fairly certain out of my clashes, shortest was the rarest
-Gamma-: opposite for me
EdwinJagger: when i first started, it seemed random
EdwinJagger: but recently it's mostly shortest mode for me
Maxim251: http://chat.codingame.com/pastebin/ec55893f-8489-42fa-beec-c25236956c68
Maxim251: Because of DennisVash, now other peoples are reusing codes, what DennisVash stored in his github page, and they copy and paste solutions and they are gathering points for free,
Maxim251: where other peoples including me, are hard working on coding to get real achievement not always with high points,
Maxim251: but that work is priceless, and when I am wondering how other peoples are able get on codingame so big level using so many languages,
bmacho: yay my first win in clash
Maxim251: even if they don't have idea how the code works, it make me crease. Where I work hard on 1 language trying to brake few levels higher, other peoples ere even not using brain and they are on master level, Tha'ts unfair!. And fustrated
bmacho: and not even a trophy or something for it
Maxim251: Because of that peoples, my ranking is lower then I should have.
Maxim251: Few times I see code copied one from another, I was thinking, wow, this two guys was thinking so simmilar way that they write almost exact same code, now I see that they dig on github and just do copy paste.
Maxim251: and on ranking they jump to grand master, where i work for mentor for almost a year
Q12: solving puzzles has no affect on your RANK, just on your PROGRESSION, which cannot be affected by someone else.
Maxim251: Only what make me happy is Clash of Code, there they cant cheat :D
Maxim251: Yeah, https://www.codingame.com/profile/82cadb4735c16364b4979205c954ec051734841
Maxim251: on his page when I see achievements and gold level... wrrr
Maxim251: and ranking rookie...Thats have no sense
Maxim251: like my progression looks more like normal, equivalent to my level.
Maxim251: #Q12 there are codes to games where peoples for free are jumping on ranking very high.
Maxim251: #Q12 imagine how high You will be on ranking, if somebody else will not use copy paste code, it make me angry if I work hard and my ranking is lowered, because of somebody who cheat.. ;/
darthinvader666: why tho
Q12: As I can see he is publishing the solutions to the practice puzzles only, which have no effect on the RANK, as I said before
darthinvader666: why does dennisvash have to ruin it
darthinvader666: oh hes not
darthinvader666: ok
Maxim251: he have gold level, I dont, and I feel to be an idiot when bronze level make me a problem
Maxim251: I want also find my first job on programing, and I work hard to write code of my one, but how I can compare with others if some of them are using copy and paste code?
Uljahn: paricipate in an online contest
Uljahn: levels and ranks are here for gamification purposes and have no real value
darkhorse64: If you really want to improve, do bot programming/ optimization puzzles. You will have fun and learn a lot
ProCoder03: yeah i second that !!
Maxim251: I use on java now one of the code, language on witch I never play, I did that code exam, and copy paste. That game is "The last crusaid 3" Nd now its pops up rank others solutions, what happened, I am ranking up solutions what I did copied, exact this same code, then how I can rank that solutions if 2, 3 or 6 guys have exact same code?
darkhorse64: There also a few puzzles worth practicing for education purposes: floodfill, breadth first search. You can pass ranking when you see copy/paste code
Maxim251: IFrom last year, I did cheat only once, when I didnt know how figureout the solution, but because I want find job in my language, and I start learning code in C++ in last year, I try do everything my self. I am proud that i get to that place where I am now. And I know only C++
darkhorse64: On a personal note, don't copy/paste. You are only harming yourself: you learn nothing and deprive yourself of the joy of achieving something
Uljahn: agreed
ProCoder03: Wait why do even accuse others of cheating, it doesn't matter abt others till you are learning something and having fun
Maxim251: Thats why I am so angry, that someone else have so much points, so big level, and admiring that person thinking, wow, this guy is so good in finding solutions,
darkhorse64: There are some people that elevate c/p to an industrial level reaching top 20
ProCoder03: Just see the cheaters, they are gonna be gurus or grandmaster for few weeks!!
Maxim251: and then finding out, that he use copy paste just for fun, and probably He get job, because he show on his account that he uses so many other languages...
BlaiseEbuth: lel
ProCoder03: @BlaiseEbuth aren't you a mod ??
darkhorse64: :relaxed:
BlaiseEbuth: Me a mod? Don't says nonsense...
Uljahn: just wait for the chat server to reboot...
ProCoder03: but i remember seeing you as a mod few days ago, that's why....
jacek: he was a div then
ProCoder03: div ???
BlaiseEbuth: int
ProCoder03: !!
t3qnee: hi, i know the all basics of python but i can't even complete easiest quests. What are you guy's suggestions.
jacek: try easiest puzzle - onboarding, descent, temperatures, horse racing
Shivay: guys i forgot how to go to trivia bot anyone can say
BlaiseEbuth: What is trivia bot?
Westicles: You also forgot trivia bot?
BlaiseEbuth: It seems so... :/
jacek: trivia bot?
jacek: what do you say, Automaton2000
Automaton2000: you should try to have a chance to look at the game
borrel: @t3qnee also research the puzzle tags, they will guide you to a basic algorithem
jacek: like 5% or dissapointment
Rob022: Use windows 98 like pros
Coder_noob001: https://www.codingame.com/clashofcode/clash/19167399cc518bf045215c95ccb303383b7ccf8
TheOneCode: is my code somwhere collected?
jacek: it is saved once you played it or submitted
jacek: in the history
Coder_noob001: Where can i find which test case my code havent passed?
eulerscheZahl: do you mean validators? still in the context of clash of code?
BlaiseEbuth: Context? There's no such thing here...
michaellan: Maxim251: high level, low rank = doing lots of practice puzzles but not doing competitive multiplayer activities
michaellan: low level, high rank (these are the people that are OP) are the ones who are gods at AI/optim
michaellan: and obviously high level and high rank are OP too
jacek: oO
michaellan: hi jacek
Maxim251: Yes, I am practising, because for each game I am learning something, also I am training my self to get pattern for good programing.
Maxim251: And train brain for problem solving issues .
michaellan: well
michaellan: i would say the practice puzzles dont teach the same skills as in the bot programming, for example
BlaiseEbuth: Ponies happen
michaellan: also... is the reason why GA is faster than SA something to do with AVX/SSE? like parallelizing the members of the population in some way
michaellan: i guess i have to bite the bullet and learn GA
DR_IQWDJ: algorithm branch on the main page bronze sertification is kinda too hard for what it represents. the developer "who has mastered fundamentals" would have a hard time trying to solve puzzle of the week
michaellan: Lol, this puzzle of the week just happens to be bot programming
michaellan: normally thats not the case
DR_IQWDJ: just as every other week ive been checking it
michaellan: well, depends on your perspective on what fundamentals means
michaellan: but i think you're just bikeshedding here
DR_IQWDJ: from certification " variables loops conditions"
michaellan: yeah i dislike the wording used on those certifications
Sumit-coder: hi anyone up
DR_IQWDJ: well that is true
Maxim251: Like You see on my account, each game what I play, I get skills, that owned skills are from sometimes from weeks of thinking about problem. For each practiced game I am proud to get new skill. That's occupied from hard work, in my case.
DR_IQWDJ: gotta learn that minimax thing sometime i guess
xxd: i suggest you learn MCTS instead
michaellan: Maxim251: that's great
michaellan: focus on your own progress :)
DR_IQWDJ: okay thanks for directions
Maxim251: what is MCTS, sometimes I forget that shortcuts
Scarfield: Monte Carlo Tree Search
Uljahn: xxd: i guess SA has only temperature as a parameter while GA has population size, mutation rates, crossover logic and selection algorithms, but GA could converge faster than SA given optimal parameters
Maxim251: But how I could compare to others?
michaellan: Uljahn: yeah but those other parameters are the very things that intimidate me going into this
michaellan: i guess i'll figure it out
Maxim251: Oh yeah, 2 days ago helped me friend to explain how mechanics works on search tree, I did disighn my own using vector, because I have more then 2 branches to do, and then I did. And Even my code is not so greate, I am happy of that position what I have now
Maxim251: I have score of 18.64, place is 2,410 and my ranking is now at 977th/2,334, thats quite and resonable place for me
xxd: for which?
xxd: nice
xxd: what approach did you use?
xxd: what type of search
Maxim251: code is not fully working but I achieved to work " Tree search" and now I know how to create one. And my idea to use vector rather pointers was good idea.
Sumit-coder: how you guys are soo good at this
YurkovAS: mcts + bitboards: great for uttt
Maxim251: My code is not finish, I get to big mess now, but I use montecarlo tree search from second move from players, and used MAX to chouse the best move for me,
BlaiseEbuth: A lot of child sacrifices.
Scarfield: bribes
Uljahn: investing a lot of time ofc
BlaiseEbuth: And goat
AntiSquid: i thought that's only if you want to be a politician BlaiseEbuth
Maxim251: because of mess in my program, I did not implemented MIN for opponent, and sometimes my program is using the worst move from opponent to block him, this way I loose, because opponent are chousing the best move... :P
BlaiseEbuth: The goat sacrifices?
AntiSquid: the former
Scarfield: thats bribes
BlaiseEbuth: childs?
Scarfield: i've heard its a big thing in politics
DR_IQWDJ: what is the easier puzzle or game to start learning tree search?
BlaiseEbuth: :rofl:
Scarfield: Bandas or breakthrough have fairly simple game mechanics
AntiSquid: yes blaise
eulerscheZahl: breakthrough + MCTS? does that work well?
BlaiseEbuth: Can works for everything if you're clear in what you ask.
Maxim251: #DR_IQWDJ montecarlo tree search, on wood level You have 1 board, I was learning that my self. Try not to pass that level , because later You will have 9 boards and it will be really hard.
jacek: people have some success with mcts in breakthrough, yes
eulerscheZahl: more than with minimax?
BlaiseEbuth: They probably sacrified some children...
AntiSquid: is it a bad idea ? breakthrough and mcts ? if yes why ?
Scarfield: mcts ept probably(?)
eulerscheZahl: MCTS shines when it's hard for a human to find any eval
AntiSquid: and wasn't MCSmiTs using mcts in breakthrough ?
eulerscheZahl: for breakthrough I see how to eval a state
eulerscheZahl: i don't know what players are using
eulerscheZahl: except for the NN at the top
jacek: maybe pure mcts wouldnt work, then its ept
martinpapa69: what is an ept ?
eulerscheZahl: ept?
AntiSquid: i messed up my MCTS in breakthrough i am sure . my beamsearch worked 10x better Q_Q
AntiSquid: even ept was worse
Uljahn: early playout termination?
jacek: for bt you can easily use 'extended' solver, using bitboard to quickly solve positions few plies earlier
YurkovAS: i'm use mcts (ept) in breakthrough
martinpapa69: you terminate bad rollouts based on some heuristics ?
jacek: originally in ept instead of playing rollout to the end of game, you play for few moves and use eval to determine the winner
jacek: most people here go dont rollout at all and use eval directly
martinpapa69: ahh, ok
AntiSquid: but still random moves right ? not heuristic selection for moves
AntiSquid: for the "few moves" in ept i mean
jacek: could be either. mcts comes with many variations and enhancements
xxd: ._.
AntiSquid: _
xxd: wonder if its possible to eval a UTTT state
eulerscheZahl: there are some minimax bots in legend
AntiSquid: how good are you at UTTT ?
xxd: very bad
AntiSquid: then you can't do it
xxd: alrighty
xxd: procrastinating on writing a MCTS solver
AntiSquid: then find something else to do, meanwhile have a lovely day
xxd: you too
xxd: what's a good starting puzzle for GA? I keep seeing the one where a bot tries to find the goal string but that just feels a bit lame to me
xxd: i guess i'll code that one up anyway though
eulerscheZahl: i haven't written a single GA here on CodinGame yet :thinking:
eulerscheZahl: search race might be a good candidate
xxd: wow, really?
xxd: how about SA?
eulerscheZahl: no
xxd: what did you use for Mars Lander optim?
xxd: dang...
eulerscheZahl: monte carlo with heuristics
xxd: o
TobiasA: safe
eulerscheZahl: heuristics to land and get a 100% correct at least
eulerscheZahl: then random search to change a few tiny bits of my sequence at a time
xxd: hmm ok
xxd: sequence being a list of (angle, thrust) for each move?
eulerscheZahl: yes
TobiasA: how long is the sequence?
eulerscheZahl: until the landing
eulerscheZahl: the published puzzle solutions can give you a few idea about a good heuristic. you can even try several heuristics to keep the best
Swyfti: which puzzle is this for?
MiyamuraIzumi: Hello guys
xxd: hi
TobiasA: Hi
BlaiseEbuth: ML-insta-swifty-bot incoming!
MiyamuraIzumi: I don't understand what you mean BlaiseEbuth
xxd: swyfti got code-busted someone elses code for codebusters
xxd: code-busted for using someone elses*
eulerscheZahl: code-busted for codebusters? how fitting
Swyfti: hey
Swyfti: i just realized that was an unintended pun
TobiasA: :open_mouth:
Swyfti: by the way this is not daniel speaking
Swyfti: NOT
TobiasA: who is daniel?
Swyfti: this annoying person who copied code on my account
TobiasA: reeeeaaaally?
Swyfti: yes
TobiasA: :o
Swyfti: but now he is no mroe
Astrobytes: Yeah. And my left leg can sing opera.
Swyfti: left leg can sing opera
eulerscheZahl: do you sell tickets Astrobytes?
Astrobytes: :D
Swyfti: really?
Swyfti: i mean he does have a penguin father
Astrobytes: It's about as likely as your 'explanation' for being a big cheater.
Swyfti: woah dude
Swyfti: i was not joking
TobiasA: :expressionless:
TobiasA: reeeaaally?
Swyfti: its always very annoying when this kind of stuff happens
Swyfti: first time this kind of stuff happened to me actually
Astrobytes: If I had a penny for the amount of times I've heard this excuse I could retire.
Swyfti: yes, i have heard about that stuff
TobiasA: :o
TobiasA: you have?
Swyfti: of course!
Swyfti: so this kind of stuff has happened on codingame before?
TobiasA: what do you think about it?
Swyfti: me?
TobiasA: yea
Swyfti: im just annoyed out of my mind
TobiasA: teehee:joy:
eulerscheZahl: if that was this daniel how submitted your codebusters bot - then how about resubmitting your own and getting a rank that you deserve?
Swyfti: that sounds good-
Swyfti: reset me on coders strike back please?
eulerscheZahl: not possible
Swyfti: yes, coders strike back
Swyfti: oh
Swyfti: oops
Swyfti: then reset me on codebusters
Astrobytes: copy that one too did he
Swyfti: no
Swyfti: there was legit an entire tutorial on coders strike back
Swyfti: the logic is straightfoward enough
TobiasA: how did you do yours?
eulerscheZahl: https://www.codingame.com/share-replay/575424162 interesting messages, aren't they?
BlaiseEbuth: Another one \o/
Astrobytes: lol
TobiasA: well damn
BlaiseEbuth: Bad bad bad daniel... :(
Astrobytes: That Daniel guy sure has been busy
TobiasA: mhm
jacek: oh my
Swyfti: i mainly do clash of code on this account
Swyfti: just saying
Astrobytes: "It wasn't me! A big boy did it and ran away!"
Swyfti: lol
Swyfti: that is funny because of personal experiences
Swyfti: guess im doing clash of code for the rest of my time
TobiasA: why?
Swyfti: cause its fun
reCurse: Easier to copy paste too
Swyfti: actually no
Swyfti: not in shortest mdoe
Swyfti: not in shortest
TobiasA: a cup of copy with pasta
Swyfti: copypasta
Swyfti: very funny
Astrobytes: Almost as funny as your excuse.
Swyfti: oh my that way, for coders strike back, i just used many if else statements to control my speed
TobiasA: why did it take you that long to answer:expressionless:
Swyfti: because there were many other questions to answer...
TobiasA: yet that's all you could come up with
Swyfti: i mean its very obvious, is it not?
TobiasA: so you decided to answer mine last
TobiasA: how bias
Swyfti: yes
Swyfti: sorry
TobiasA: hm i just realised that that was the only question to be answered:expressionless:
TobiasA: forgiveness not granted
Swyfti: acutally no
Swyfti: there where questions previously in the chat.
Swyfti: some sentences are indirect questions
TobiasA: you really like excuses don't you?:expressionless:
Swyfti: me?
Swyfti: excuses are everywhere
Swyfti: for every person
TobiasA: preach
Swyfti: preach means pray by the way what do you mean by that
TobiasA: sorry i was just answering one of the many questions in the chat
TobiasA: :rolling_eyes:
Swyfti: preach
Swyfti: is a verb
Swyfti: answers are usually explanatory sentences
TobiasA: preach
Swyfti: exactly
TobiasA: word
Swyfti: its word for word
TobiasA: facts
Swyfti: ghosts in the cell and coders strike back where the only two bot programming i did
TobiasA: what happened to code busters
TobiasA: ?
BlaiseEbuth: And why have you a bot in mean max? :p
Swyfti: i do
Astrobytes: No. That and Mean Max were 'Daniel'.
eulerscheZahl: that was daniel, you have to pay attention
eulerscheZahl: thanks Astrobytes
Astrobytes: :D
Swyfti: i really want you guys to reset my progress on all other contest
eulerscheZahl: that's not possible
Astrobytes: It isn't possible.
BlaiseEbuth: same
Swyfti: oh rip :(
eulerscheZahl: (staff could do it but we won't bother them)
TobiasA: sheesh
Astrobytes: Delete account.
BlaiseEbuth: "So sad"
Swyfti: guess i can redeem myself in the fall 2021 contest
eulerscheZahl: rumors say you can't
eulerscheZahl: escape contest :(
Swyfti: what rumors?
TobiasA: noooooooooooooooooo
jacek: huh?
eulerscheZahl: we don't know the format of the next contest yet
Astrobytes: You could redeem yourself by disabling the 'Daniel' bots.
Swyfti: that is a good idea
Swyfti: i already did
Astrobytes: (redeem yourself *a little*)
BlaiseEbuth: You'll probably have to pay to get someone else solution during FC21...
Swyfti: i know
BlaiseEbuth: :3
TobiasA: then i assume you got your money ready
eulerscheZahl: no, they are on github during the contest too
reCurse: Easier to redeem yourself by not being a clown
Swyfti: really?
Swyfti: well look at this
eulerscheZahl: but at the end CG does a plagiarism check and removes all of them
Astrobytes: what reCurse said.
Swyfti: thats right
Swyfti: so....
jacek: better to be a troll than clown eh
Swyfti: wanna see something?
TobiasA: word
eulerscheZahl: yes. that's why i'm watching asterix and obelix right now
BlaiseEbuth: Keep your dick in your pants! :scream:
Astrobytes: thin line jacek, a thin line.
Swyfti: https://github.com/kKEeWwon-2314/Connect-4-AI
Swyfti: i am not a person
Swyfti: i am a team
TobiasA: what is your goal?
Swyfti: or i should say, a part of a team
BlaiseEbuth: Oh... So keep your dicks in your pants! :scream:
Swyfti: good advice blaise
TobiasA: :joy:
xxd: what is that repo supposed to even mean
Swyfti: a connect 4 minimax ai made by us
Swyfti: its not copied...
Swyfti: SUPRISE
Swyfti: WOW
Swyfti: ITS NOT COPIED
Swyfti: impossible.
Astrobytes: Clowns++
Swyfti: um
BlaiseEbuth: 1 -> Prove that's not a copy. 2 -> That doesn't erase the fact you copied on other multis...
TobiasA: team=[clown() for i in range( num_of_clowns)]
BlaiseEbuth: 3 -> That's a Ku Klux Klan repo
xxd: i highly doubt this account "Swyfti" is shared between people
Astrobytes: Kicks are warnings Swyfti, it means you're on thin ice.
reCurse: Go get your attention fix elsewhere
Swyfti: where tho? at least i need a place to go
reCurse: I don't care
reCurse: Not here
Swyfti: not here
BlaiseEbuth: "Hey hey! How's your attention? Fix it" someone will say.
Swyfti: alright then...
Swyfti: guess i will see you at the end
Swyfti: i mark my words
TobiasA: :grin:
Astrobytes: Just do one and stop chatting crap.
BlaiseEbuth: Las t judgement
BlaiseEbuth: ?
TobiasA: waaahaha
TobiasA: he actually said "mark my words"
idknow: how are you doing guys
TobiasA: good
TobiasA: and how do you do?
BlaiseEbuth: haggis, isn't it?
EdwinJagger: it'd be cool if we can choose which gamemode in clash of code to play
TobiasA: is it
BlaiseEbuth: copying is better
xxd: pasting is best
TobiasA: cup of copy and pasta together
oxydowe: pasting is "Senior developer"
xxd: EdwinJagger: yeah, like three different lobbies: Shortest, fastest, reverse
xxd: that would be fun
xxd: i would die to have reverse-only clashes
xxd: those are my fav
EdwinJagger: @xxd yup exactly
EdwinJagger: like i keep getting shortest mode but I wanted to do more fastest mode
EdwinJagger: also how do you tag here?
xxd: you just say the name
xxd: (accidental tagging is an issue)
EdwinJagger: xxd I see cool
xxd: what are you up to?
EdwinJagger: xxd: i guess like that... but yeah do you know if we can request that?
xxd: i think its a common request but im not sure they're gonna change it
EdwinJagger: lol doing another shortest mode... i keep getting this mode a lot
xxd: i think CG wants you to get better at it ;)
EdwinJagger: hahahaha
xxd: what language do you use on clashes?
eulerscheZahl: you can choose the clash mode when you launch a private clash. but then you have to find the participants yourself
EdwinJagger: just python for now
EdwinJagger: might get into ruby but i don't know it yet
xxd: python is decent for shortest mode
xxd: if you focus on golfing python you'll learn cool tricks about the language
EdwinJagger: i've just done so much of it now
EdwinJagger: i'd rather do reverse mode because sometimes you really have to think about it
EdwinJagger: or even fastest mode
TobiasA: how do i make it that numbers from 0-2 are considered 0 then 3-5 are considered 1 and so on without if statements
TobiasA: question mark
eulerscheZahl: n/3
TobiasA: i see
TobiasA: that was too obvious
TobiasA: now i am embarrased
TobiasA: so i have to round up?
eulerscheZahl: floot. in python it is n//3
eulerscheZahl: floor*
TobiasA: c++
TobiasA: oh yea nvm
TobiasA: i forgot about floor
BlaiseEbuth: floor is lava
TobiasA: jeez i am dumber than usual today
TobiasA: there is floor in c++ too right?
eulerscheZahl: at first i wondered if i should answer. or if that was a question for someone else just to test them
xxd: Oh yeah i had a similar question
eulerscheZahl: just do an integer division. that's always floor
xxd: If I can guarantee a uint8_t is in between 0-9, is it faster to divide it by 3 or use a switch-case with 9 cases (hardcoding the division)?
TobiasA: i was also hesitating to ask the question
eulerscheZahl: trunc actually
TobiasA: because it was probably very easy
eulerscheZahl: that's a UTTT question, isn't it xxd?
eulerscheZahl: i don't know the answer, benchmark it
eulerscheZahl: or a lookup array as a 3rd option
martinpapa69: jump instruction is generally slow
martinpapa69: (return, if else, switchcase ...)
xxd: ok gotcha
xxd: yeah eulerscheZahl, was a shower thought haha
xxd: pondering bot programming in the shower O_O
Astrobytes: That's common, don't worry.
eulerscheZahl: branches are fine. conditional branches are the slow thing
xxd: when are branches not conditional
eulerscheZahl: during contests you'll lose a lot of sleep if you are only half as invested as some of us are
eulerscheZahl: while (true)
eulerscheZahl: always calling a subroutine
eulerscheZahl: (that is not inlined)
xxd: i havent done a real contest yet, i'm signed up for Fall 2021
xxd: it better not be an escape room
TobiasA: that would be sad
xxd: I see, that makes sense thanks
Astrobytes: We live in hope.
BlaiseEbuth: Escape from CG before it's too late
darkhorse64: We lived in fear, now we will live in hop
eulerscheZahl: https://www.codingame.com/forum/t/solo-contests/1114/3 for context
eulerscheZahl: and Illedan even liked that post :rage:
darkhorse64: hope
Astrobytes: aw, I was looking forward to hopping and giving my wrists a workout :D
eulerscheZahl: you would totally lose such a contest
xxd: :rofl;
Astrobytes: I would.
Astrobytes: (wrists == ankles for those who don't know)
eulerscheZahl: huh?
xxd: astrobytes types with his feet
eulerscheZahl: i always thought wrist = hand, ankle = foot
BlaiseEbuth: if there is a test with cloves of garlic, you're screwed
Astrobytes: It's a joke between myself and darkhorse.
Astrobytes: BlaiseEbuth: Not if I'm careful ;)
darkhorse64: Astrobytes: :nerd:
martinpapa69: there should be an error message for exceeding memory limit...
sheaaaaaaaaa: i just got all testcases but still got 0%
xxd: sounds like you hardcoded
xxd: 0%?
sheaaaaaaaaa: it was reverse and i just used elif statements
sheaaaaaaaaa: does that have anything to do with it
xxd: lolz
xxd: nah, that prob just means you didnt solve it correctly
xxd: did you try refreshing the page?
xxd: sometimes its bugged
sheaaaaaaaaa: im going into another game ill check in 5 mins
Astrobytes: validators != testcases
eulerscheZahl: what were the inputs + outputs you saw?
sheaaaaaaaaa: its happening whenever i use if and else statements
sheaaaaaaaaa: im passing all testcases but im still getting 0%
Astrobytes: are you hardcoding just for the test inputs?
sheaaaaaaaaa: Yes, are you not allowed to do that
Astrobytes: You have to solve the general problem.
Astrobytes: Create a program that solves all cases.
Astrobytes: Validators are different from testcases to prevent this.
eulerscheZahl: it's obviously allowed. but it will rarely result in more than 0%
Astrobytes: ^
xxd: are a lot of the top ranking players only active during contest seasons?
TobiasA: dunno
TobiasA: any ideas on how i should represent the grid for uttt?
Uljahn: you mean other than bitboards?
xxd: I use 10 uint16_t's
xxd: 9 for small 1 for big
TobiasA: do you put the 9 in an array or you join them together?
xxd: yeah they're in an array
xxd: i think i'd go insane otherwise
TobiasA: true
xxd: like its theoretically possible to do it with 2 int64's or something
xxd: since its 9 * 10 total bits i guess
xxd: oh wait
xxd: i sorta lied
TobiasA: but how do you switch between big and small?
xxd: when bitboarding, you have two ints, one for each player
xxd: and for the big board, i have a third int, for tied squares
xxd: TobiasA: what do you mean by switch?
Uljahn: if i recall correctly MSmits used titboards https://stackoverflow.com/questions/53708165/bitboard-to-titboard-ternary-bitboard-conversion
TobiasA: wha?
TobiasA: the hell
martinpapa69: hmm good name choice
Astrobytes: only for some parts
xxd: lol
xxd: "tritboards" sounds more like it
Astrobytes: (the SFW version is tritboards)
TobiasA: i mean for small board the coordinates are from 0-2 and big 0-9
TobiasA: so how do convert it
TobiasA: no how do you use it in general
Uljahn: modulo and integer division?
xxd: ahaha i mentioned earlier i bothered to write out some conversion functions
TobiasA: how did you do it?
Astrobytes: most probably with modulo and integer division as Uljahn said
xxd: yeah; https://clbin.com/fu47C
TobiasA: oh
xxd: oh theres some wack debugging comments in there
xxd: get_move is for displaying my output, get_child is for interpreting the input
TobiasA: BIGBOI:joy:
xxd: im pretty sure my get_child function can be optimized somehow but its not that bad
xxd: and i think i can avoid using loops for get_move somehow
xxd: CBA to do it; these functions only get called <100 times a game
TobiasA: thanks i think i get it now
xxd: yeah, you can probably do better than me in any case
xxd: i look forward to seeing your UTTT bot :)
TobiasA: i look forward to seeing my UTTT bot too:sweat_smile:
xxd: Does the first-turn=1-second rule apply for all challenges?
xxd: a lot of games only have saying "<100ms per turn"
xxd: I am wondering if the first turn rule is implicitly there or not
chinmaya: hii guys
chinmaya: where are you from
chinmaya: ?
chinmaya: ?
TobiasA: xxd i don't think so
chinmaya: tobisia
chinmaya: where are you from?
TobiasA: hover over my profile
Astrobytes: Yeah, first turn <= 1 s for multis
xxd: how about for optims?
xxd: or does optim go under multis
Astrobytes: Not 100% sure tbh
xxd: heh. if so, i should change up my CvZ code, although i dont know how much an MC can take advantage of 900ms extra on first turn
Astrobytes: Don't think it's the same. USer contributed multis may differ though.
martinpapa69: its so stupid that nn bots play exactly the same game in a 200 round game 3 times in a row
reCurse: That's why friends don't let friends make games with fixed starts
MSmits: what could possibly be wrong with fixed starts? :grin:
MSmits: martinpapa69, this is preventable by adding some randomness. jace k's bots tend to do this.
MSmits: as long as the randomness doesn't lead to significantly worse gameplay it should be fine
martinpapa69: ye ive thought about that
martinpapa69: randomizing the order of chilren nodes
MSmits: also be careful about judging when your bot is worse. I think NN creators tend to try different versions of their bot and then keep the one that does best on the leaderboard.
MSmits: however, as you said, there is major RPS due to this determinism
MSmits: randomness removes the RPS, but also removes the advantage of selecting "best out of X" and enjoying it's deterministic winning
martinpapa69: yep
martinpapa69: my goal is to make a good alphazero framework atm, idc about the rank
MSmits: that's a nice goal
martinpapa69: it would be nice to use top players replays to make an nn based "book" somehow
Astrobytes: you should definitely talk to MSmits :D
martinpapa69: ye I've heard he's a fan of...books
Astrobytes: :grin:
MSmits: books yeah!
MSmits: I'm working on what you are saying martinpapa69 only better. At any time, the current top only samples a subset of good lines of play. You want all of them
MSmits: my new meta mcts has 10 million games so far, in only a few days
MSmits: it has no problems getting the tree down to a "solved" state at 36 seeds so it should eventually incorporate all of the top players trees i think
MSmits: of course, after that, whatever bot that is using the book, is on its own for the rest of the 36 seeds. My 57 GB endgame book will not fit in a bot. I want to train a nn for this part
martinpapa69: the problem with that is your book contains a lot of states, that never played
martinpapa69: your nn will underfit imo
MSmits: not necessarily. It depends on how you select the data
MSmits: you could play "games' in the book. Giving better moves a higher chance of selection
martinpapa69: ye if you have a good technique (alpha zero? ) yo ucan solve this
MSmits: from the book games, you can train a nn
martinpapa69: sure
martinpapa69: i thought you want to train with the raw booik
MSmits: which one do you mean
MSmits: the meta mcts one or the endgame book
martinpapa69: the 57gb one
MSmits: oh, yes, at first i want to try the raw book and i fully expect it to be worse than the process i just described with book-games
MSmits: but i have to start somewhere
MSmits: this is also a way to ease me into nn's. It's not really my thing so i don't want to jump into azero
MSmits: not any time soon anyways
martinpapa69: ye its a good idea not to start with az. i worked with nns before, but i had 2 failed attampets before with az
MSmits: ah I see
MSmits: all i did was a lot of reading + I converted the xor example to a NN for TTT (not uttt)
MSmits: it worked quite well, high accuracy and only lost 1% vs random
martinpapa69: cool
MSmits: then i converted it to use tf + keras
MSmits: sooo much easier
martinpapa69: another good nn-ai practice is dqn
MSmits: i did nornal q-learning, but not that
MSmits: normal/simple
michaellan: are you talking about chess?
michaellan: what does an alphazero framework mean
MSmits: not chess no
MSmits: only re curse is doing chess i think
MSmits: we're talking about using NN for simpler games
MSmits: an azero framework is an automated interconnected "system" for self-play, training and testing your bot, then converting it to something usable here on CG
michaellan: wow, fancy.
michaellan: that sounds fun
michaellan: i think i read about an AZ framework on some github repo but I cant recall what it was
martinpapa69: I've been playing with it for more than a month now. can confirm, its fun
MSmits: as martinpapa69 mentioned though, better not start with azero. Start with simple stuff that motivates you to keep going
MSmits: otherwise you're either going to quit because of repeated failure, or you're gonna get something to work, but you have no idea why because you copied a gith repo
martinpapa69: ye keeping your dopamine level up when trying new stuff is important
xxd: :sunglasses:
xxd: i dont think im gonna even be able to dabble with NN in the near future even
xxd: i have a long ways to go
michaellan: can a same parent mate with itself in GA? lol
michaellan: my intution says yes so i'm gonna code it up that way for now
MSmits: sure why not
michaellan: might take longer to converge?
michaellan: possibly
MSmits: preventing it would maybe cause a slowdown which also may make it take longer
michaellan: ah that is true too
Astrobytes: the next generation is made from their children though... so...
michaellan: hmm... in the Mars Lander article it says "(choosing a second parent is repeated until the chosen chromosome is different from the first parent). "
MSmits: I guess it depends on the size of the population. With a smaller population, a bigger fraction will be like that
Astrobytes: Oh right, the best 2
MSmits: I guess with a bigger population, it would also cheap to check this, as it's just another if/else that is almost never true
Astrobytes: It's still the best child from the generation + the second best
michaellan: what with the best/second best? isn't probabilities supposed to be divided proportionally according to their fitnesses?
MSmits: no idea actually. I thought it was just random
Astrobytes: You were choosing parents, 2 of those I assume, chosen based on fitness and difference from one another
Astrobytes: It can be anything
MSmits: sounds like this is one of those things that's trial and error. Lots of hyperparameters to try
Astrobytes: Personally speaking, if this is your first time doing GA, I'd create a flat MC to some depth, then introduce mutation, then incorporate features as and when you think you need them
Astrobytes: It is MSmits. It has an evaluation function.
michaellan: how does mutation work with flat MC
Astrobytes: Mutate your best solution.
-rudos-: hi
Astrobytes: According to whatever metric you like.
michaellan: but...
michaellan: doesnt MC just generate random paths each time?
Astrobytes: Yes, keep your best and mutate it
michaellan: what does "mutate it" mean?
Astrobytes: You can see how this becomes a population of solutions at some point
michaellan: is this basically simulated annealing without the "take if worse if temperature is high enough" part?
Astrobytes: Change something about it, thrust, angle, etc
michaellan: what do i do with the mutated one? run it again?
MSmits: mutate is a small change to your set of features. From what I've heard, some implementations don't use any mutation at all
Astrobytes: Compare the mutated version with your current best solution, if better, keep it, or keep a pool of them
michaellan: do i still do the thing where i just make random playouts?
michaellan: i _think_ i get it, at any rate, thanks guys
Astrobytes: Yes it's still stochastic in that sense
PeterBishop: Hello all - I am trying 'Target Firing' in Go and curious why is only takes the one fmt.Printlln statement as input. what am I missing?
RightHandElf: What's the confusion? You have an encounter against multiple ships and you have to provide one result.
PeterBishop: maybe too new to Go and this interface. back to Go tutorial and back to this later then.
theycallmedavid: Is there a way to see the error prints in validation replays?
sheaaaaaaaaa: how are you graded on fastest
michaellan: by whoever is fastest
sheaaaaaaaaa: oh crap i said the wrong thing again
sheaaaaaaaaa: i meant on reverse
michaellan: theycallmedavid: if you could, you could just print out all the input given and deduce test cases
sheaaaaaaaaa: sorry
michaellan: ah, reverse is graded by time only, so its a fastest minus the problem statement
michaellan: my GA works on the classic "guess the string" puzzle
michaellan: lets go
michaellan: its gonna be a long way to getting mars lander though :(
dmin: this site is starting to become really fun for me
michaellan: awesome!
theycallmedavid: @xxd right, forgot about that
theycallmedavid: I fail the last validation step in "The Bridge". No idea why. I calculate the chain of commands on first turn. Validation step says timeout. In IDE, all first turns end in less than 1 ms
xxd: do you have some check in place to make sure it doesnt take more than a second?
theycallmedavid: No
xxd: i think its just a really big hidden test
xxd: i havent tried the problem so i cant say
michaellan: hmm, the physics sim doesnt actually seem that bad for ML
xxd: i assume the ship is a point object?
michaellan: i've only taken physics 1 :cry:
xxd: chat is dead
Wontonimo: no it isn't
Wontonimo: yeah
Wontonimo: hovering https://www.codingame.com/replay/575812169
DrQuarius: is there a way to get back into an active clash if you lost the incognito window it was in and hence the url?
DrQuarius: (computer crashed during a clash :( )
Wontonimo: don't know. Hey, have you tried something other than clashes? Like crashes? Like the Mars Lander?
Wontonimo: try to navigate a lander like this https://www.codingame.com/replay/575811954
DrQuarius: crash was due to battery issue, not the website. just wondering if there's a way to find clashes you're currently in somehow on the nav bar
Wontonimo: nope, not that i know of. A better solution would be to play a multi bot battle or a challenge on this website
DrQuarius: that's not a solution, that's just not playing clash of code, haha. Thanks anyway.
Wontonimo: that sounds like a fine solution to me. How about a nice game of ultimate tic tac toe? https://www.codingame.com/multiplayer/bot-programming/tic-tac-toe
xxd: Lol, love it wontonimo
xxd: man that High ground replay is just so hot
xxd: I'll see how my GA compares, if i can get this dastardly simulation to work :)
Wontonimo: :D
Ltzylw: are you guys are real humans?
RightHandElf: nope
xxd: tw
xxd: two
xxd: Automaton2000: are you a robot?
Automaton2000: i just do it for a day
Ltzylw: i find it interesting for me to code and communicate with you
xxd: it is indeed very interesting
Wontonimo: like crazy
Wontonimo: yes, i do like it also
xxd: it says in my profile
Wontonimo: no. hover over your icon, and you'll see our flags
xero72: anyone here really good at code golf
xxd: i guess im decent at it in a select few languages
RightHandElf: I know about 'I=input' in python, does that count?
xxd: do you know about while x:*x,a=x[::-1];print(end=a) though
RightHandElf: I know that that slices x in reverse
RightHandElf: among other things
Wontonimo: i don't know that one xxd. nice
RightHandElf: oh I missed the 'while' on the first line lmao
Ltzylw: you ren hui shuo zhong wen ma
xxd: that prints out alternating ends of a string
xxd: that was my clash solution for a clash i did yesterday
xxd: wo hui shuo zhong wen
RightHandElf: *x functioning like *args to capture all but the last element of x[::-1]
RightHandElf: nice
xxd: dan wo de mu yu shi ying wen
Ltzylw: zhong wen shui ping bu cuo
xxd: zhen mei shen me
xxd: anyway lets keep it english here
Ltzylw: but i 'm learing software programming
xxd: i'm trying to wean myself off of CoC
Wontonimo: cold turkey, pull the plug, hard stop
Wontonimo: you can do it! I believe in you xxd!
xxd: or i could go up a couple places and get an extra, singular, CodinPoint
xxd: :cry:
Wontonimo: or play another multi and gain 100
Wontonimo: and have fun
xxd: I think the reason why CoC is very appealing to a lot of people is because it is low commitment