Chat:World/2021-09-26
nishantsinha: hi all
nishantsinha: how are you?
mr.bossman: good
nishantsinha: https://www.codingame.com/clashofcode/clash/198297441dfb1802bf52ec0c2916f8f84d261f8
nishantsinha: join here
nishantsinha: great
nishantsinha: https://www.codingame.com/clashofcode/clash/1982978a45c08d50706871ad7f18a4f1681c81a
nishantsinha: join COC
nishantsinha: o
nishantsinha: k
nishantsinha: ok
nishantsinha: h
nishantsinha: e
nishantsinha: y
nishantsinha: he
nishantsinha: hy
nishantsinha: ey
nishantsinha: hey
ProCoder03: can we convert a base 12 number to base 10 in C# ??
ProCoder03: without manually doing it ??
eulerscheZahl: no, only for a few bases like 2 and 16 it's possible with System.Convert
eulerscheZahl: don't ask me why, would have been easy to support all bases up to 36 at least
eulerscheZahl: python does that btw
ProCoder03: I have to write my own converter then, okay Thanks eulerscheZahl
raizbro: APA
raizbro: what
raizbro: who kiked me tell it
raizbro: ok
raizbro: he
raizbro: hi
raizbro: halo
raizbro: halo
raizbro: helo
ProCoder03: can you please go to #spam for spamming
raizbro: ok that make me said
raizbro: of kors
eulerscheZahl: thanks ProCoder, I just tabbed away for a few minutes
raizbro: ok
raizbro: friend tell me the code
jacek: you dont get electroshock everytime someone spams?
gavi: @eulerscheZahl Hello! do you remember the fun TicketToRide puzzle?
gavi: You solution was ;-p the fastest by a factor of 2x.... now there is one slightly faster and that uses less memory.... ;-p
jacek: huh
eulerscheZahl: i assume that you are telling me you wrote a more efficient one? congratulations
jacek: impossibru
jacek: i dont see that puzzle
eulerscheZahl: tbh i don't remember that puzzle in detail. solved it > 2 years ago
eulerscheZahl: looking at my code formatting I was still using MonoDevelop when I wrote it
jacek: :upside_down:
el-musleh: what "CHARACTERS" in the result means?
NeevShah: hello
jacek: characters are part of string :tada:
NeevShah: i just started a it is hard to code
**NeevShah slaps NeelShah around a bit with a large fishbot
Swaiyzr: y'a quoi comme module python pour faire des jeu ?
darkhorse64: it depends on what you want to achieve: for writing a bot for a multiplayer, all the usual modules are available. For a precise list, see https://www.codingame.com/playgrounds/40701/help-center/languages-versions. If you want to design a game, you must use CG SDK and Java or Kotlin
eulerscheZahl: or Scala, Groovy, Clojure. But no one should use Clojure for the sanity of those trying to read the referee afterwards
tbt485: How to start as a beginner
evilDeimos: ;)
gavi: I did not mean to criticise. Your code is at least 2x faster than all other C#. And of course you are amazing, so high in the rankings it is super impressive. I am just starting here. And yes, you were on a different version of C#, which makes a lot of difference, and often times I have got the impression that you prefer elegant , short code with a cool strategy rather than maximizing speed.
eulerscheZahl: i didn't see it as criticism, no worries. just saying that i don't remember what I did there or what the puzzle was about
gavi: OK, cool, I just want to say how impressive is what you do. I always go to see your solutions to learn something.
eulerscheZahl: and it's totally possible that I called it a day when all testcases were green. sometimes i try to find a performant solution, sometimes not
eulerscheZahl: glad to hear
gavi: Yes, indeed. Also, you answered an incredible amount of puzzles. Of course, once you get the green light, you don't keep optimizing each one
DimitrisLamprinos: Hey guys! Can I enable vim mode somehow?
eulerscheZahl: there should be something in the IDE settings. not sure how well it works since CG switched from ACE to Monaco Editor
Westicles: what does BA mean in french?
eulerscheZahl: there are multiplayer games and optimization games for this purpose. I try to write more efficient code in those cases. Unfortunately you can't see them, as this would spoil the competition
eulerscheZahl: BA? Bachelor degree?
Scarfield: Baguette?
BlaiseEbuth: In what contest ?
eulerscheZahl: context?
BlaiseEbuth: *context
BlaiseEbuth: ^^
eulerscheZahl: the lack of contests hits us hard
69razer69: 69 in shortest
Westicles: Er, I was angry at the troll so J'ai fait une BA en fait :p
eulerscheZahl: i even went to yare. now i feel this tension the whole day already. glad when it's finally over
gavi: I am only a hobbyist... I learn to code for fun and as a hobby
BlaiseEbuth: Bonne Action
Scarfield: how did your match go yesterday euler?
eulerscheZahl: that's how I (and probably most of us) started
eulerscheZahl: now i'm getting paid for writing code
gavi: that's why I was so surprised of how well that solution did in comparison with the others (time/memory)
eulerscheZahl: there was no match tomorrow. finals in 1.5h
Westicles: ah, thanks Blaise
Scarfield: You got to the final then?
eulerscheZahl: yes. someone even made a video summary https://www.youtube.com/watch?v=c0VIE8k0F34&ab_channel=Yare-io
Scarfield: nice, grats!
eulerscheZahl: thanks
Scarfield: will the final be streamed? think i saw mention that the semi finals were streamed
eulerscheZahl: will be streamed, see video description of my link above
Scarfield: sure :) good "luck"
eulerscheZahl: i've been busy the last 2 days to prepare for this fight. we'll see if it's good enough
eulerscheZahl: completely destroyed boom-bot. but thebitspud is another league
gavi: cool video! Spoiler eulerscheZhal won!
eulerscheZahl: but it was close
eulerscheZahl: me made a few mistakes, he had the win already
gavi: you are inspirational
eulerscheZahl: *he made well, I did too
Scarfield: its weird to see a game that has a level of interactiveness, pretty cool idea
struct: gl on the match euler
eulerscheZahl: yes, you
eulerscheZahl: i can assure you that my bot is not as interactive as Aecert's
eulerscheZahl: when he attacked my star from the side, i just couldn't counter it and place my units in between. because the code didn't cover it
eulerscheZahl: i always move on a straight line
eulerscheZahl: from by base to his
eulerscheZahl: my*
eulerscheZahl: other contest:
eulerscheZahl: Submit your agent by 11.59PM UTC today (~12H from now) to qualify for the Round 1 Leaderboard. Submission instructions: https://www.gocoder.one/docs/submission-instructions
eulerscheZahl: but i don't have a bot there
struct: is that the same game?
struct: from previous gocoder
eulerscheZahl: oh wow, it's 3 vs 3 now https://www.gocoder.one/bomberland
eulerscheZahl: i muted most of their discord so i missed out a lot
struct: I always thought that 2vs2 bomberman would be better than 1vs1
struct: maybe 3vs3 is good too
struct: I was gonna port it to cg, some version of it
eulerscheZahl: we have hypersonic already, i don't think we need it
eulerscheZahl: and not all rules of their game convince me
struct: i hate multiple players games
eulerscheZahl: and possible copyright?
eulerscheZahl: vindinium was fine because MIT. i have no idea about bomberland
struct: https://www.pommerman.com/
struct: no prizes this time?
eulerscheZahl: at bomberland? i have no idea
eulerscheZahl: "Join the leaderboard to win prizes, get featured on Twitch streams, and live your AlphaGo dreams."
eulerscheZahl: and i thought CG certificates were exaggerated
struct: ah
struct: this is jsut to check the game
struct: "We've just released an early access version of our first sandbox environment, Bomberland, and plan to launch our first competition in late 2021."
struct: With the low amount of players that participated last time
struct: I might give this time a try
eulerscheZahl: sometimes the player count and game design are related
eulerscheZahl: but yare deserves more than 23 players IMO
struct: very high prizepool for just 23 players
eulerscheZahl: or very few players for that prizepool, as the prize was announced before the players joined
eulerscheZahl: to be fair: you had to beat boom-bot to join the contest. that's like silver boss on CG i would say. so reaching gold
eulerscheZahl: keeping the player count low is reasonable when you can't automate the matches because of human interaction
eulerscheZahl: and i think i would have joined the contest for a much lower prizepool like the standard tshirt prize as well
struct: yeah, people on cg dont join the contest for the prize
eulerscheZahl: a small carrot hanging in front of me helps to get my attention and stand out from other games that I could play at the same time
eulerscheZahl: but a tshirt is enough is the game design is solid
eulerscheZahl: i decided against bomberland despite money prizes for top ranks. would have been pretty easy to get a few bucks at least
wlesavo: euler finals will be on the same twich channel right?
eulerscheZahl: yes
wlesavo: gl
eulerscheZahl: thanks
eulerscheZahl: right now it has some weird advertising. not sure when the stream starts but should be soon
wlesavo: yeah, thats why asked
eulerscheZahl: https://www.twitch.tv/baumannzone this one might stream it too, at least did so for the semifinal
eulerscheZahl: yes, opened yare right now. but spanish
eulerscheZahl: cat is here. why now :(
eulerscheZahl: sleeping outside all day long
eulerscheZahl: roxkstar is there too
struct: I see
struct: gl euler
struct: the spanish streamer is watching your cg profile :p
eulerscheZahl: i just closed him as i don't understand a word
gavi: @eulerscheZhal i see that you prefer C#. CG site is is my fav so far. Are there other interesting sites with a very updated version of C# ?
gavi: if it can be asked here
Kawaii-san_Shadow_Wolf: Hi everyone
struct: gg euler
Scarfield: gg
wlesavo: gg
Astrobytes: i'm late, did I miss it?
wlesavo: yes
Astrobytes: score?
wlesavo: 3-1 fast games
Scarfield: latestrobytes
Astrobytes: yeah, sorry, youtube moderating, totally forgot about this
eulerscheZahl: toad only won the first game with cheese. bitspud could counter
eulerscheZahl: you don't have to excuse yourself, you don't have to watch ;)
Astrobytes: I was looking forward to it!
eulerscheZahl: i mostly got my but kicked
Astrobytes: Tough opponent that one
Scarfield: nice prize though, had no idea about the ethereum prices
Astrobytes: Well done regardless euler, you did well
eulerscheZahl: i may have done some misjudgement about shape strength. or he's just the better coder of us
eulerscheZahl: could quickly react to my cheese, i couldn't have done the same with my bot
Scarfield: bool cheeseCounter = false/true
Astrobytes: Your bot was a little rigid/inflexible in certain situations yeah
Scarfield: maybe circles where just better than squares? there were triangles mentioned as well?
eulerscheZahl: triangles were eliminated quickly. not sure if bad bots or bad shape
eulerscheZahl: anyone experience with ETH? is there something to store your coins offline like Electrum for BTC?
eulerscheZahl: i see lots of websites to store it for you but that's not what I want
Scarfield: i think its called a wallet, no idea though, never got into bitcoin
eulerscheZahl: i have BTC but now i need an ETH address
eulerscheZahl: there is the official one: https://github.com/ethereum/mist but archived
eulerscheZahl: i guess i'll ask on the yare discord directly
struct: I guess you could use a temporary one and then convert it into bitcoin and send it to the btc wallet
eulerscheZahl: downloaded MyCrypto now, that's an offline wallet
eulerscheZahl: asks you to re-enter your recovery key each time
3r1c_02: You mean something like the CDC Defi Wallet or a Ledger Wallet? Are you looking for a spftware or a hardware wallet?
eulerscheZahl: i don't want to buy extra hardware, i trust my OS
eulerscheZahl: and a written recovery phrase as a backup
3r1c_02: Do you also want to perform DeFi-Transactions with the wallet or do you want to use it only to store the value?
eulerscheZahl: only as a storage. keep it there and maybe react to prize changes in a year or 2. but i've created my wallet now
eulerscheZahl: and yare already sent the prize. really fast
Astrobytes: That was indeed extremely fast!
Scarfield: easy shipping
eulerscheZahl: hackerrank took 1 month to transfer $75 worth of BTC
jacek: maybe they didnt pay for the fee
eulerscheZahl: they even managed to ship the tshirt faster to my place than the money (i won both in the same contest)
Astrobytes: lol, noobs
eulerscheZahl: a tshirt from India. with a tracker showing different locations there for 2 weeks until it got international. faster than bits
eulerscheZahl: and during that month BTC climbed, so i got less BTC out of it
eulerscheZahl: still was around $900 at that time. so a huge win on the long run
eulerscheZahl: winner got $2500 iirc. but not in BTC, so I actually won more
Eden998: when creating a contribution, what is validator?
eulerscheZahl: a testcase that's only executed on submit
Eden998: so whats the difference between this and test?
eulerscheZahl: testcase: visible in the IDE validator: to make sure that you don't hardcode vs the visible testcases
Eden998: oh so I do something similar to the test but different situation?
eulerscheZahl: yes. if the testcase asks you to primefactor a large number, make the validator another number in a similar range (a bit smaller maybe)
eulerscheZahl: a validator should never be harder than a testcase so you don't get random timeouts on submit
eulerscheZahl: and cover the same aspect of the problem
eulerscheZahl: testcase: is a prime number validator: should also be a prime
jacek: not much love for counting tictactoe? https://www.codingame.com/contribute/view/7262f1d66b7bd09545686dcbb89441db1161
struct: ptsd from uttt
jacek: lets make it counting uttt
jacek: woah teapot updated loa
jacek: and increased to 150ms :thinking:
eulerscheZahl: how many turns?
eulerscheZahl: 200?
jacek: max 150
eulerscheZahl: then he could go up to 200ms
jacek: but sane games end around 40
struct: limit should be like 100
eulerscheZahl: and the insane ones?
struct: I dont see any game with good bots lasting that long
struct: a good bot vs a bad one will be under 20 turns
jacek: their wives dont like it either
struct: most long games happen due to move repetition
Eden998: when entering a string to input in a test case, do I need to write it with quotation mark?
struct: no
struct: should negamax return the same number of iterations that minimax does?
struct: Currently its a massive diference :/
jacek: you mean alpha beta?
Eden998: is there anyway to check my contribution before submitting?
struct: yes jacek
struct: negamax with ab
jacek: dunno if the same. but at the very least the same order of magnitude
jacek: Eden998 private contribution
Arlo_codes: how do we code a app
struct: What kind of app?
struct: i have no idea how to code minecraft
Uljahn: learn Unity like a true indie gamedev, also Ren'Py for visual novels
jacek: code yourscraft
jacek: struct you sure you get the sign alright?
jacek: i based my code on this and it works https://en.wikipedia.org/wiki/Negamax#Negamax_with_alpha_beta_pruning_and_transposition_tables
jacek: it also has TT
struct: I must have something wrong
struct: I think its the wincheck condition
struct: I must be doing it wrong
Arlo_codes: wave you ever herd of scratch up
Arlo_codes: struck are you there
struct: temp.boards[0] &= ~moves[i]; temp.boards[1] ^= moves[i];
struct: ...
Arlo_codes: www.play produgy.com
struct: stop spamming
Arlo_codes: pleas play scetchup
struct: I think you might be on the wrong place
DimiMav: hello all! I am trying to play a challenge of tic tac toe in javascript and i get confused with that readline() is doing. Does someone have an idea?
struct: reads the next line in input
BlaiseEbuth: Yeah... This name isn't explicit at all...
DimiMav: i dont get what it actually reads and how am i supposed to play this game
Uljahn: isn't it more reasonable to start with something more simple and feasible
DimiMav: i cant find many games that are more simple than this one
struct: puzzles
struct: work the same way
DimiMav: others seem more complicated
Uljahn: Power of Thor ep.1
struct: or the descent
jacek: coders strike back
jacek: it has tutorial
struct: :notebook::soccer:
DimiMav: the descent i tried and it was ok
DimiMav: I will try the other too
Uljahn: also read the hints on the left
DimiMav: it would have been a bit more helpful for these games to have some starting instructions on how the written code is being used
DimiMav: for someone to start the game
struct: only coders strike back has that
DimiMav: as whats makes it difficult for me is not how to play but how to translate the starting code to my benefit
jacek: yeah, it teaches inputs and outputs
Uljahn: https://www.codingame.com/playgrounds/40701/help-center/how-does-it-work
DimiMav: thank you!
struct: jacek how do you add randomness to negamax?
Scarfield: The statements describe how the input is given, not all statements are as clear as others though. Are you sure you have read the statement fully, also error printing can be used both for debugging and checking the "format" of the input
struct: do you just add randomness to the eval
jacek: i use no randomness for negamax
jacek: at most random few first moves
struct: due to iterative deepening?
jacek: yes
struct: Ill add that next I guess
struct: and then the TT
struct: also will still need to figure how to hash
jacek: just smoke it
Westicles: what's the best way to store a hexagon shaped grid of hexagons?
BlaiseEbuth: https://www.redblobgames.com/grids/hexagons/
Westicles: I was afraid that would be the answer
struct: which size Westicles?
Westicles: 2 to 578
struct: ah ok, I was thinking about spring challenge 21
struct: Than the answer would be bitboards
Westicles: Nah, just looking at this
Westicles: http://azspcs.com/Contest/APMath
Thyl: good evening
Schwase: damn thyl 1 second
Thyl: Im so sad
Thyl: 1 second
Thyl: I want to cry
jacek: :c
AyakorK: We are together my friend Thyl
Loule95450: Retourne travailler
AyakorK: Let me join you to cry
Loule95450: Retourne travailler
jacek: hi back here
Arlo_codes: hi i am going to folo you
jacek: :scream:
bucketsarec0ding: hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Kawaii-san_Shadow_Wolf: Hi
bucketsarec0ding: who does javascript
Astrobytes: Arlo_codes: stop it
Arlo_codes: hi hi hi hi hi ih ihi hi hi hi hin hi hi hi hi yhi hinhi ih ihhn i hi hi
bucketsarec0ding: oh hi moderator
Astrobytes: bye bye
bucketsarec0ding: do you have any knowledge of javascript
Astrobytes: A little yes.
bucketsarec0ding: well i need help
bucketsarec0ding: i jsut started this website and have absouletly no experience
Astrobytes: You asked on the discord correct?
bucketsarec0ding: yes
bucketsarec0ding: they said to look at a page in codingame but i havent found anything useful
struct: I dont think this is the place to learn programming
Astrobytes: ^
Scarfield: spent half an hour figuring out i forgot to convert rad/deg... bah
bucketsarec0ding: then whats its for?
Astrobytes: Practicing
struct: to improve your current skills
siddharthdeo99: it is for enhancing your skills
Astrobytes: You need to have a solid basic knowledge
bucketsarec0ding: ohhh
bucketsarec0ding: lol
siddharthdeo99: you just need basics
bucketsarec0ding: well where can i get some basics
bucketsarec0ding: how did yall learn to code?
bucketsarec0ding: ok
ProgrammerWanabe218: which language do u want to learn?
bucketsarec0ding: javascript
ericlovesmath: Is there a way to hide the colored braces?
ericlovesmath: I'm not sure if I like them
Uljahn: they will remove them with the next update
Lewisss: what language do you guys use?
struct: cpp
Uljahn: :rolling_eyes:
Uljahn: no you
icecream17: wow, close one: https://www.codingame.com/share-replay/582884829
icecream17: what??? it was worse?
icecream17: I can't find trolls vs castles...
Westicles: https://www.codingame.com/contribute/view/507070b7925f661e2d2835c14f950b9d157e
struct: if I edit and send
struct: does it refresh the timer?
struct: or only the original contributor can do that?
Westicles: struct, not sure
AlexWord: hi
struct: h
struct: hi*
Thorcode: guys how can i speed down my pod in coderstrike back
Thorcode: cause I can see I move towards at power
solution.cpp: Error - Unknown datatype "hello" on line 1
Thorcode: ?
struct: Thorcode on csb
struct: you need to output the coordinates where you want your pod to go
struct: he will aim and thrust there
Thorcode: oh
Thorcode: I fixed it
struct: but he can only rotate 18º per turn
Thorcode: now I know how to slow it down
struct: nice
Thorcode: by changing thrust
Thorcode: thanks
Wontonimo: hey struct
struct: hi Wontonimo
struct: had tab muted
Thorcode: Thanks struct I'm gonna reach sliver soon
struct: nice Thorcode
struct: after silver its a bit harder
Thorcode: yeah
Thorcode: like gold
Thorcode: I need to control 2 pod
mr.bossman: well
Thorcode: wow almost all puzzle of the week is hard
Wontonimo: my tab doesn't notify me about mentions struct. how do you do that?
struct: do what?
Wontonimo: i found it
Wontonimo: can you try using my name plz
struct: sure Wontonimo
TheHeroShade: Probably enable mention notifs
TheHeroShade: aaand nevermind
struct: Did it work Wontonimo?
Wontonimo: nope
Wontonimo: weird
Thorcode: hi doonsibi
Wontonimo: hows your latest bot coming along struct?
struct: im still working on lines of action
doonsibi: where are you from guys??
struct: hard to say tbh
struct: Portugal
NeevShah: hello
Wontonimo: i've seen you talking about LOA
Wontonimo: i tried the counting TTT contribution
struct: I dont know a lot about minimax
Wontonimo: doonsibi, if you hover over peoples names you can see their country
Wontonimo: I got 2nd on the leaderboard by simply playing as close to the middle of the board as possible
Wontonimo: https://www.codingame.com/contribute/view/7262f1d66b7bd09545686dcbb89441db1161
struct: nice
Wontonimo: i think it could benefit from the "second move can steal" concept.
struct: is the game hard?
Wontonimo: getting 2nd place was simply taking the closest space to the center. that's not hard at all
Wontonimo: no bit board, no simulation, no search, no nothing other than 1 if statement
struct: im sure msmits can solve this one easily
struct: and prove that 4 4 is a win
Wontonimo: hehe
Wontonimo: yeah
struct: I need to figure how to sort good moves now
Wontonimo: for LOA ?
struct: I added negamax and iterative deepening
struct: yes
Wontonimo: congrats on the negamax
struct: I also tried transposition tables but is not very good yet
Wontonimo: were you able to add alpha-beta to negamax?
struct: yes
struct: I had a bug where I was doing this
struct: temp.boards[0] &= ~moves[i]; temp.boards[1] ^= moves[i];
struct: And took me so while to find
struct: temp.boards[player] ^= moves[i]; temp.boards[player ^ 1] &= ~moves[i];
struct: I needed to do this instead
struct: I was forgetting to change player :)
Wontonimo: ah, the hardcoded player number
struct: I can get depth 5-6 now
struct: instead of always 5
struct: due to the iterative deepening so I guess it was worth
Wontonimo: that's pretty good depth
struct: eval will be quite hard to do I think
struct: Maybe when I sort moves I can go always depth 6
Wontonimo: sorting moves vastly improves the pruning from alpha-beta, so even depth 7 is a possibility
Wontonimo: using the previous best move to start with when deepening is a good start
struct: I need to figure how to do that
struct: currently I just increase depth and do the negamax again
struct: while I have time
Wontonimo: in UTTT, do you keep a pointer to the parent in your nodes?
struct: no
Wontonimo: right, of course not
Wontonimo: you have a list
struct: http://chat.codingame.com/pastebin/3dfdbaf9-dac4-4cc7-8ebc-0aa2ee11b1b2
Wontonimo: that you make
Wontonimo: where i'm going with this is ...
struct: ah
struct: ok continue :p
Wontonimo: what if you ALSO had a "best parent list" that you copied the current stack of parent node pointers over to when you find the next best move
Wontonimo: no, wait ... that's silly. it won't work
struct: If I store all the moves that lead to taht it should right?
struct: i could even do it before initializing negamax the 2nd time
struct: just to get the alpha and beta
Wontonimo: yes
struct: seems like the easy way to do it
struct: or I can just store the best state
struct: which seems even simpler
struct: ofc the list is more usefull if I want to do more stuff than just update the alpha and beta
Wontonimo: are you doing this as a recursive function?
struct: yes
Wontonimo: good luck. i've not tried ordering minimax
Wontonimo: gotta go
Wontonimo: gn
struct: gn