Chat:World/2020-04-06
shubhamGoswami: https://www.codingame.com/clashofcode/clash/11767727ecc1edb05d28b00896b9529f78b77b6
shubhamGoswami: https://www.codingame.com/clashofcode/clash/11767727ecc1edb05d28b00896b9529f78b77b6
shubhamGoswami: ghj
shubhamGoswami: gg
dbdr: kovi jo reggelt :)
kovi: joregg
dbdr: ruining my tats as usual :D
dbdr: stats
kovi: same here
dbdr: me?
dbdr: you have 100% against me I think
dbdr: I mean you are ruining my stats, which are fine otherwise
kovi: i just resubmit to see how perfrom vs. latest
kovi: oh ruining, sorry i read running
kovi: too early
dbdr: np :D
dbdr: 13/0 for you :O
dbdr: siman #3
dbdr: (in english ;) )
chucknorris: hm wow in my path searching algo the actual path of my player was not set :p no idea how it worked
AntiSquid: there's lots of "improvements" through bugs because it makes the bot less predictable in a game where it matters a lot
chucknorris: yeah it made some very unpredictable moves :D which I'd rather call stupod
AntiSquid: woke up realizing where i had a bug! :p
AntiSquid: fixted
Zandy156: do your bots ever get to the point where they have too many possible paths for the opponent, that it would timeout if it tried to calculate and store them all?
AntiSquid: Ravi1269 hi, get an avatar, it gives +5% xp bonus
kovi: chucknorris - unpredictable moves sounds like a feature not a bug
AntiSquid: most players have a way to prevent the timeout Zandy156
chucknorris: yeah I'm sure when the opponent was seeing me going into a corner for no reaseon was very surpriesed
chucknorris: the buggy version worked better on the leaderboard tho :D
kovi: told you, its a feature
AntiSquid: time to check where the bug helps?
chucknorris: yeah I guess my bot wont consider going into a corner...at all :p
AntiSquid: had a weird bug in the tracker that eliminated all possible positions very fast, although inaccurate it often narrowed down correctly to 1 single pos ... wonder if i should add it back in as a secondary tracker
thibpat: I'm live again streaming Ocean of Code in JavaScript! https://twitch.tv/thibpat
chucknorris: I like how simans bot is surfacing wheni it's about to get a killing blow, even if it doesn't have to :p
kovi: same here
kovi: the crew enjoying seeing the victory
emh: hey everyone using my fast BFS. mlomb found critical bugs.. I will try to fix them soon
Quidome: Strange, if i resubmit I wil drop to the bottem of the list, after complete recalculation. But 10 hours later i am 30 places up. This looks repeatable :)
AntiSquid: yes there's a lot of randomness on the ladder
Quidome: Yes, but I will always clib 30 places in 10 hours or so
AntiSquid: and some "weaker" bots are still timing out to silence Quidome :p
Quidome: hm, still don't understand
Quidome: But no problem :)
AntiSquid: was a joke referring to this bot: https://www.codingame.com/share-replay/446030261
Zandy156: from what I can tell, timeouts from silence are quite uncommon in gold
AntiSquid: chucknorris you timeout
Zandy156: his doesn't count lol
chucknorris: yeah thanks. 48ms limit seems to be too high sometimes
Zandy156: Is it really worth losing milliseconds each turn to prevent a rare timeout?
chucknorris: we will see..
emh: ok guys I updated https://tech.io/playgrounds/53455/fast-15x15-bit-grid-bfs-breadth-first-search with some critical bugfixes. hope it works better now
infinitetundra: hiya peeps
AntiSquid: ugh need a full rewrite, this mess is too ugly
ZackGabri: hia infinite tundra
AntiSquid: hello new people
AntiSquid: there's a contest if you are interested: https://www.codingame.com/contests/ocean-of-code
Alexzz: codeclash is broken for me
21stCenturyPeon: Interim fix: refresh the page when the clash has started, and it will load the IDE page properly
ItachiEU: Hey guys, anybody had the problem that opponent_orders = input() in python3 was giving you timeout?
yfprojects: How do you know? @ItachiEU
wlesavo: ItachiEU use flush = True while printing to stderr
wlesavo: and you will see the debug messages after input
ItachiEU: oh, thanks a lot!
mark7: What strategy you guess use to choose what power up to recharge?
Valdemar: just torpedo,silence,mine
Valdemar: it's better to have it in that order for me
AntiSquid: sonar seems really bad
mark7: okay!!
MadKnight: m'kay
AntiSquid: fix your bot MadKnight
MadKnight: improve your bot AntiSquid
AntiSquid: get into gold MadKnight
TekeCode: Hi, in clash of code, the countdown reached 00:00 and the screen didn't transition to the IDE, After leaving the challenge I recieve an error 504, the clash already started, someone knows how to solve it?
mark7: what happens if we give comand like this "MOVE W MINE | SILENCE W 1"
RajeshBilla: i faced the same thing
Quidome: first time in top 100 in gold. Me very happy :D
TekeCode: congratss
mark7: congrats :thumbsup:
Quidome: pfff, everyone is getting better all the time ....
Quidome: :P
mark7: how many players are there in gold?\
Quidome: 165
mark7: wayy less than silver
mark7: 440 in silver
AntiSquid: mark7 12:54PM what happens if we give comand like this "MOVE W MINE | SILENCE W 1" what do you mean?
Quidome: What your question Mark7?
AntiSquid: you move to W twice
AntiSquid: or you mean from opponent's perspective?
mark7: My opponent used "MOVE W MINE | SILENCE W 1" and my tracking system crashed
TekeCode: no answers for 504 clash error ? :(
AntiSquid: then you don't track correctly
mark7: I should split action by | and then process them in turn
mark7: Right now its hardcoded to to check silence first
Quidome: Yeah that would help
Quidome: Order is very important
AntiSquid: yay timeout
mark7: ?
TekeCode: Still having 504 error, someone else?
mark7: let me check
mark7: could you join
Quidome: 504 where?
Quidome: uh, 504, gateway timeout
Quidome: everything is working fine for me
Quidome: So it's probably a problem near you at not near the server
AntiSquid: you can always click discord chat button at the top and write about your issue on discord or even CG forums TekeCode
Ravi1269: do I need machine learning to ocean of code
AntiSquid: no, but it sure gives the impression that it's a contest meant for ML practitioners
AntiSquid: fix your bot MSmits
MSmits: lol...
21stCenturyPeon: Hey, Clash Of Code is working again
MSmits: why?
AntiSquid: why is clash working again?
YannT: since late silver this contest is pretty much france vs. hungary (and wlesavo as the outsider :D )
YannT: oh wait no siman is from japan, so that too, it's a very wordly contest
MSmits: it's always France vs the world :P
MSmits: btw, took a couple days break to fix some uttt and do some work. Back now :)
MSmits: I wanna try to at least get legend
MSmits: Fixed my suicidal mine-triggering just now
YannT: you'll be happy to know that I did find one game (out of a gazillion) where double mine laying from one spot turned to to cost me a win :p
MSmits: ohh
MSmits: that's annoying
MSmits: the worst thing is when something almost never happens, but still rarely does and it is a lot of work to fix it
YannT: yeah that one occurence is not sufficient for me to code around it yet
MSmits: then when you fix it, it doesnt help you much at all
YannT: it it happens more we shall see :)
MSmits: yeah
YannT: what's more problematic is my bot having the heart of a suicide bomber and going like SURFACE|MOVE|SILENCE|TORPEDO when it's not even a killshot
YannT: I can't tell if that's a problem or it's actually my edge :p
MSmits: it's hard to tell anything. This game has a strong meta-related component
MSmits: what is your edge now, could be your weakness later
YannT: well given my current results I'll just assume it's a good thing :D
MSmits: I'm just trying to code everything, that is *sure* to help and save the meta related things for later
YannT: I have like one more feature idea, and then I'm down to just tuning constants
MSmits: ahh ok. Well there's 2 more weeks to go...
YannT: yes, maybe new ideas will come...
YannT: I started out with a TODO list of like 20 big pucture items, down to the last one
MSmits: try not to go too crazy on it. I remember wasting 2 whole weeks on locam
MSmits: after my bot was pretty much done
MSmits: even on vacation i was down in the lobby of my hotel frantically trying to think of improvements :)
YannT: locam lasted way too long, by the last week all bots were just stagnating
dbdr: what rank did you finish at locam MSmits?
MSmits: 5th
MSmits: but it was at the high end of a large number of players with pretty much the same rating
dbdr: nice
MSmits: 3-20 I think
YannT: everybody was out of ideas or unwilling to do the necessary rewrites from scratch
dbdr: I wonder how OOC will look at the end
YannT: it's half as long as locam, shouldn't have the same issues
dbdr: similar or not, hard to predict
chucknorris: I expect something like in tron, but with mines
MSmits: Locam I had an almost perfect playing bot I think... the playing wanst the problem. The difference was in the draft and I could not get a handle on that
dbdr: half?
MSmits: it's just as long
MSmits: not half
YannT: one guy did a statistics analysis for draft and everybody pretty much latched on to that as I remember
dbdr: you can't say it's perfect playing, unless you add assumptions
MSmits: thats right YannT
MSmits: dbdr yes, what I meant is, i had a full search, trying all action combinations
YannT: everybody just had static coefficients for draft that were either taken directly from ClosetAI, or established using the same method, which would give the same results
dbdr: only to a given depth
MSmits: for 2 plies even, with more plies not helping
MSmits: because, no information
MSmits: noone was able to make that work
YannT: locam was solvable
dbdr: deeper is harder, but not theoretically impossible
MSmits: sure, i am just going by the fact that noone managed to
dbdr: more plies would help with infinite compute power ;)
dbdr: right
dbdr: top 2 was still above the rest, no?
MSmits: yes, but just because of draft
MSmits: the nr 1 did hundreds of thousands of sims
mark7: Is there a way i can filter matches in which i timeout? trying to fix some buds
mark7: bug*
dbdr: and changed at the last minute?
MSmits: no he was at nr 1 for 2 weeks
dbdr: because draft could be copied otherwise
MSmits: it was somewhat flexible i think
YannT: you couldn't know what was in your opponent's hand so I'm pretty sure no one did that, it was just about 1) drafting (getting your coefficients right) and 2) essentially trying out all of your turn's combinations (which if pruned correctly was solvable in the time given)
MSmits: re curse also had a slightly flexible draft
MSmits: but mostly constant order
MSmits: YannT yeah i think my bot solved a turn 1 out of 200 or so. Sometimes you had 6 creatures with a hand with many improvements and charge creatures. In that case it sometimes missed solving 1 turn
MSmits: 199 out of 200 i mean
MSmits: the calc time was 1 ms 1 ms 1 ms, 95 ms, 1 ms 1m setc.
YannT: yeah me less, that's why I was only 33, less optimized, that's really what it came down to (since we all had close enough draft)
dbdr: and people with MCs has 95ms 95 95 95 ...
dbdr: wasting power
MSmits: haha yeah, MC would work just as well I guess, if you can fully search 1 ms, 95 ms would lead to near perfect play using MC
MSmits: though pruning would still help a MC bot
dbdr: better, theoretically, since MC will have noise
dbdr: but MC would be better if you can't be exhaustive
mark7: what is MC?
YannT: well MC would imply bruteforce, the trick was to prune combinations that "make sense"
dbdr: unless you can have a good heuristic order
YannT: you could
YannT: it's what brings the number of combinations to try down and make it solvable
dbdr: Monte Carlo mark7
dbdr: trying random moves
MSmits: yeah, most important was probably the attack order. If you know two creatures can kill another together and the order doesnt matter, then only consider one order
mark7: thanks
MSmits: usually I did left to right
YannT: there was some trickery with spell orders too
MSmits: yeah that too
YannT: and summoning
MSmits: that shielding ability lead to some branching
MSmits: but other than that, an attack spell should be handled the same when it comes to ordering
YannT: it only made sense to summon first charge creatures
YannT: all other summons better be done at the end
YannT: things like that
MSmits: unless the board is full
MSmits: then you need to attack first
MSmits: technically, there could be several phases
MSmits: every time you attack, make room, place more charge creatures
MSmits: those were the turns where my pruning broke down and I used the full 95 ms
MSmits: super rare ofc.
TekeCode: hey, I already solved my problem
MSmits: Hey YannT, I dont see you much outside of contests. Do you ever do multi's here in between?
TekeCode: thx to all <3
YannT: MSmits: not a lot, I got into UTTT at some point but other than that I just submit my contest bot into the multi when that comes up :)
YannT: I do puzzles sometimes! haven't finished all of the official ones yet (almost)
MSmits: ahh ok. Well it's pretty hard to keep up with all the multi's anyway. I certainly don't manage to.
MSmits: About half I think
YannT: UTTT piked my interest because I was curious about MCTS
MSmits: Yeah, I am working on it a lot again these days.
MSmits: and mcts is super useful in most community multi's
YannT: maybe I'll rewrite it in Go from Kotlin one day to get some of that performance boost
MSmits: wow, you have one in kotlin!
MSmits: that's ballsy :P
YannT: yeah, my objectif was to push a Kotlin bot to legend :D
YannT: did that
YannT: objective*
MSmits: that's pretty hard
YannT: it leaves very little wiggle room to beat the gold boss that's for sure
YannT: the exact same bot in a different language would probably perform a lot better
mark7: will JAVA work?
YannT: well yeah I proved that (Kotlin is Java under the hood)
YannT: it's hard tho
YannT: dbdr proved it even better (but it's not an MCTS)
mark7: okay, I am gettin g timeout in silver when opponent just use silence and nothing else
YannT: oh we were talking about another multi
YannT: in this you can definitely do it in Java
mark7: okay
YannT: performance is really not that much of an issue (which doesn't mean you don't have to optimize your code, but language really isn't a limiting factor)
YannT: one of the top bots is in Python
mark7: What you do guys do if multiple path for opponent result in same cell?
YannT: keep the paths
mark7: What if it results in more that 5k
MSmits: mark7 this problem occurs mostly when an opponent does chain-silence
MSmits: I would suggest you prune at this point
MSmits: Keep at least 1 state for each possible current position for the opponent and prune the visited cells
mark7: ohh! I can do that!
YannT: :)
mark7: And also reset their previous paths
mark7: Thanks
MSmits: dont have to reset completely
mark7: :grinning:
YannT: once you climb higher in the rankings, it's less of an issue (because people will start to mine instead of silencing a lot)
MSmits: if an opponent visits a cell in every path, then just keep that cell as visited
MSmits: pruning also becomes a major pain with mines
MSmits: so its better that it almost never happens :)
mark7: Okay
MSmits: also, if you want to prevent it entirely, just blow some mines
mark7: Or, use sonars
MSmits: or that, but blowing stuff up is more fun
mark7: Hell yeah
mark7: :joy:
YannT: in the lower leagues I did well with just torpedo + sonar and very little silencing actually
YannT: because silence is 6 charges and sonar is 4
MSmits: yeah I guess that works, but not just because of the charges thing, also just because sonar reveals 1/9th of the entire map and silence just moves you to like 12 cells max
MSmits: i'm pretty sure that chain mine blowing will do just as well
MSmits: except it reveals your position :P
YannT: also if your opponent's bot is coded to silence when is reveal is getting high, he'll spend 6 charges to resilence immediately while you spend 4 to resonar him when he resilences
YannT: you get time for mines, he doesn't
mark7: I still confused in which powerup to recharge, right now
YannT: his reveal*
mark7: torpedo 100 % chance
MSmits: mark7 I havent even coded that right yet
YannT: well that's a strategy choice mark7 :)
mark7: 80% silence
mark7: 80% mine
MSmits: I wouldnt just do % though, make it depend on some kind of info
mark7: else silence
MSmits: right now, I charge torpedo when it is not charged, then I charge mine when it is not charged and otherwise i charge silence
AntiSquid: http://chat.codingame.com/pastebin/2a7ee607-e645-4bf3-be82-7a897faf7722
MSmits: it's not a problem because i almost never launch a torpedo... so i will end up mining a lot anyway
ZarthaxX: smitoooooo
MSmits: AntiSquid dont you just love how c++ lets you do that
MSmits: I had the exact same problem
MSmits: hi Zarthy
ZarthaxX: howdy
MSmits: everything good here, did another online class today, went well
MSmits: did some live modelling. And I know that doesn't sound like what i mean
ZarthaxX: my mom is doing an online conference with teachers now
YannT: AntiSquid: well then clearly don't fix it :D
ZarthaxX: lmao :P
ZarthaxX: live modelling of physics stuff?
mark7: :stuck_out_tongue_winking_eye:
MSmits: yes, i modelled someone throwing a ball up in the air
ZarthaxX: or of your physical body :P
MSmits: with graphs and stuff
MSmits: no no :P
ZarthaxX: like the youtube video?
MSmits: yes, same program, only I did it on google meet
ZarthaxX: i see
MSmits: so the student could ask questions while I am doing it
MSmits: 21 of them on. the whole class, noone excepted. It's cool. the students are really perfect students these days, as far as i can tell
MSmits: they do their homework, all attend etc.
MSmits: ZarthaxX is your mom a teacher and is she in a meeting with her colleagues or is this a teacher conference with like 100+ teachers
ZarthaxX: nice..
ZarthaxX: she is having a tutorial with other teachers
MSmits: ahh ok
MSmits: we have those too. I didn't attend any though
ZarthaxX: im curious a how you have all perfect students
ZarthaxX: as*
ZarthaxX: ahhaa okey
ZarthaxX: they are just saying how to use google clasrroom
ZarthaxX: classroom
MSmits: these are 17 year old students of the highest level, they are bit more motivated probably
MSmits: yeah we have those too, google classroom, google meet etc.
ZarthaxX: i woudl say the opposite really
MSmits: some teachers have 0 knowledge on this
ZarthaxX: when they are close to graduating they get super lazy
MSmits: ah yes, but these have another year to go next year
ZarthaxX: i gguess argentina sucks then :P
ZarthaxX: ah ok
MSmits: that's when they will get lazy
ZarthaxX: yeah that may be their peak
MSmits: and that is indeed my experience
ZarthaxX: and u got them
MSmits: also even these guys are lazy usually. It's just that they know I will call their parents if they dont do the job :P
ZarthaxX: i have the students that just got to secondary school
ZarthaxX: haahahah
ZarthaxX: you have that authority :P
MSmits: I do, except when they turn 18
ZarthaxX: well i have that too i guess, but no marks
MSmits: I still have the authority to call *them* though
ZarthaxX: i dont have a way to pressure them with marks
MSmits: ahh i see
MSmits: well this is computer science isnt it?
ZarthaxX: my space is different
MSmits: your subject I mean
ZarthaxX: robotics with arduino but it's something you choose to do
MSmits: ah yes
ZarthaxX: of many options they give u , you get to do 3
eulerscheZahl: we don't know yet how strong the boss will be
MSmits: i noticed the motivation is far stronger for CS related things, than for my own physics related stuff
eulerscheZahl: oh, chat scrolled
ZarthaxX: we were going to do more programming in the beginning
ZarthaxX: it may be stronger yes..
MSmits: hi eulerscheZahl the frogfish
eulerscheZahl: that's a hypnoshark
MSmits: ok
ZarthaxX: at least what i noticed when i did my first class introducing stuff is that kids were dying of boredom
eulerscheZahl: so, your CG motivation is higher than your IT security motivation?
ZarthaxX: until i say, guys grab the computers to see this introduction part and test ti yourself
ZarthaxX: and everyone was like yeeeeeeeees
ZarthaxX: hypnoshark?
MSmits: eulerscheZahl it certainly is, but... tomorrow is my last IT security homework. Then it's done. Except maybe I need to do an oral exam :(
ZarthaxX: is that from futurame
ZarthaxX: congratz
eulerscheZahl: not futurama found it on the internet, don't ask me where
MSmits: eulerscheZahl you really always seem to find the right art. You perfected the skill of finding free art to complement your coding
MSmits: onitama is a good example
eulerscheZahl: this one might be a copyright violation, i don't know
YannT: were you googling for dead fish drawings?
ZarthaxX: lmao
MSmits: lol
eulerscheZahl: but Onitama, true. that one was public domain
mark7: /me
mark7: (╯°□°)╯︵ ┻━┻
mark7: (╯°□°)╯︵ ┻━┻
MSmits: how to manage?
Nagatwin: RoboStac hmmm ouch
Nagatwin: https://www.codingame.com/share-replay/446139203
Nagatwin: nice mine stacking
MSmits: lol
MSmits: Robo knew you were going there
Nagatwin: :'(
MSmits: it's a trap!
Nagatwin: and I gracefully felt into
MSmits: yep
Nagatwin: im supposed to have some pathfinding to avoid mines
MSmits: you mean you should, or do you?
AntiSquid: why did he expect you to go there and why did you go straight there? :D
MSmits: if you do, better tweak a constant :P
Nagatwin: Yeah xD
Nagatwin: Sounds like I went in for the mines
MSmits: AVOID_DYING_IN_CORNER = 0.7f
MSmits: better make that 0.9f
Nagatwin: Let's tune that magic number
AntiSquid: so what is robo's algo? mine every cell in the corner to make it more appealing to suicidal bots?
RoboStac: I've no idea why it did that
Liftyee: can you surface and move at the same time
MSmits: thats how good your bot is Robo. It's emergent behavior
YannT: ahah
YannT: building mine sastles in the corner
MSmits: yes Liftyee
YannT: castles*
Nagatwin: Let's become cautious
Nagatwin: https://www.codingame.com/share-replay/446141898
RoboStac: ah, looking at debug it thought the only area without mines was that top left area
RoboStac: so tried to stay there
Nagatwin: :,)
RoboStac: and since it just spams mines as much as possible it did that
MSmits: well... it worked :)
Nagatwin: Yeah my algo tries to maximise the doubt over the first 30 turns
MSmits: when in doubt, maximize
AntiSquid: i see so naga's bot is braveheart
Nagatwin: nd after turn 30 or so
Nagatwin: It goes crazy and I loose everything
YannT: then maybe maximize for all turns ;)
MSmits: time for some blue facepaint
Nagatwin: YannT Yeah I tried but can't afford the same test amount when I have a lot of paths
Nagatwin: Like, because I maximise doubt, I minimize the amount of simus I can do early on
MSmits: maybe combine the path info into 1
MSmits: then search
Nagatwin: My path structure does not allow that :(
kovi: wow, robo is top10 now
MSmits: that's probably the least suprising thing :P
YannT: wala came in at like 20% push and has +2pts on everyone I was like well shit, but it's going back down now :o
MSmits: he's always in there if he tries to
wlesavo: wow, robo in top10 already, grac
Nagatwin: looks like tuning that number got me back into top 30 with my whole code refactorized
Nagatwin: Gotta plug a brain into the code now
MSmits: good
Nagatwin: 3 ifs is not enough :/
MSmits: hah no
YannT: double the number of ifs, double the brainpower
Nagatwin: :D
Nagatwin: Any of you have some ressources on how to handle the multiple actions per turn for a simu ?
YannT: I have 40 ifs in my entire code, that's how much brain I put in
MSmits: not me Nagatwin
Nagatwin: Im more curious than anything, I don't think that I can afford doing a simu there I'm too slow
YannT: + 6 switches, that's like doublebrain of an if too
MSmits: simu is a very broad term. You don't actually have to simulate all future possibilities
MSmits: just simulate parts of the game to make informed decisions
MSmits: like your mine avoidance
Nagatwin: I wish I could do a full simu on this kind of games tho
YannT: Nagatwin: establish combinations of orders that "make sense" according to some heuristic (to trim down, otherwise the combinatorial value is insane) and then simulate that
MSmits: what YannT said
Nagatwin: Anyone thought of some kind of markov chain to make up this heuristic ?
Nagatwin: I have not enough budget for MCTS I think
YannT: the heuristic is basically "comon sense" based on the game rules (and somewhat on strategy decisions that you make)
Nagatwin: ok right
Nagatwin: Now the question is
Nagatwin: should I implement sonar :p
chucknorris: its possible to use mcts in this contest naga :p
Nagatwin: Yeah I know
Nagatwin: But I feel like my simu's count is too slow to get MCTS running
Nagatwin: I could maybe afford a greedy search at most
AntiSquid: is sonar useful? seems really bad
MSmits: seems so to me as well, but who knows
chucknorris: I personally hate that spell
chucknorris: very boring
Nagatwin: Top players seems to be using it
Nagatwin: Still haven't even implemented it in my code
AntiSquid: maybe only for bots who lay all their mines in a corner?
Nagatwin: :D
Nagatwin: https://www.codingame.com/share-replay/446151727
Nagatwin: I reached paranoia I guess
AntiSquid: that pathing doesn't seem right
Nagatwin: Im avoiding potential damage
Nagatwin: Sounds right
Nagatwin: tuned a 100 to 100000, that was the wise advice of MSmits
Nagatwin: (he said 0.7 to 0.9 but w/e :p
mark7: I can beat rank 2 but still my rank is 420 in silver why???
Liftyee: why is surface move N not working
Liftyee: like it surfaces but doesnt move
Nagatwin: mark7 you probably have a bug or loose against other players
Nagatwin: Liftyee SURFACE|MOVE N should work
mark7: Nagatwin you in gold?
Nagatwin: Yes
mark7: could you share a replay of our bots fighting?
emh: how often does bulls and cows 2 ranking update?
Nagatwin: bulls and cows ?
Nagatwin: https://www.codingame.com/share-replay/446154750
emh: https://www.codingame.com/ide/puzzle/bulls-and-cows-2
Nagatwin: mark7 ^
Nagatwin: emh oh idk
mark7: Probably i have a bug, I timed out in some games
Nagatwin: but the leaderboard is frozen since 4pm or so
emh: ah now updated
wlesavo: nice emh
chucknorris: emh the original python version is buggy too ?
chucknorris: of your bfs
emh: chucknorris yes it was ported from C++ to python
icecream17: time for school....
icecream17: that loading screen sentence is amazing
mark7: online?
2571540: Can't find it ehm
emh: Nagatwin ehm or emh?
emh: find what?
Liftyee: can you charge all things in one turn
mark7: no
mark7: you can only charge one thing
emh: btw thanks wlesavo :)
AntiSquid: ehem
AntiSquid: what does emh stand for?
emh: just my initials
AntiSquid: oh
emh: eivind magnus hvidevold
AntiSquid: i'll probably forget that and ask you again in a year
emh: hehe
MSmits: just remember Magnus
MSmits: Probably the coolest Norwegian name
emh: thanks :)
dbdr: is it from latin or a coincidence?
emh: not sure
2571540: Haha my spellcheck got me emh :( found it, it was the bfs playground
emh: oh hehe ok
accorp: Eivind :) sounds elvish
emh: hehe so much attention for my name today
MSmits: maybe Elvish sounds Norwegian
emh: Elvish is alvisk in Norwegian
Nagatwin: games against myself are weird
Nagatwin: https://www.codingame.com/share-replay/446177186
dbdr: I suspect my bot has a very kind bug
dbdr: if it's leading, it tries to help the opponent catch up :D
wlesavo: so you teaming up with opponent against ocean
dbdr: something like that :)
wlesavo: i guess covering all the water with trace could be counted as a win against nature
RanN42: i have a problem in ocean of code, when i fight the boss i don't get timeout but when i submit against players i get timeout a lot how does it possible?
manmanman: Maybe the other players trigger something that takes more time, might help to write the time it's using to the error log
RanN42: what do you mean by write the time it's using to the error log?
manmanman: Apart from commands you send for your turn you can also write logging to the error log, what language are you using?
RanN42: python
RanN42: i found out that the torpedo takes too long against players for some reason
rwilson: RanN42 i'd take manmanman's suggestion ;) ... add some extra console outpuf for debug. Capturing the runtime of certain functions can be quite helpful ( espectially for python )
RanN42: ye i just don't understand why the same "find torpedo path" function takes more time against players
MSmits: maybe because you don't know where they are?
manmanman: Probably a specific usecase, which doesn't occur often against the boss.
rwilson: Could be a lot of things. Players are all over the place in terms of 'legal', but the boss is pretty predictable..
MSmits: ohh vs the boss
MSmits: yeah the boss is a specific player, he may play a certain way
rwilson: example: Boss might ALWAYS move, but players might sit still & only shoot when that's legal.
RanN42: ye i guess i will go over my code agaub
manmanman: Question from my side: is there a set order in silence/move. Or is it the order of the commands
MSmits: comamnd order
MSmits: a <> m
rwilson: command order , as in the order the player played the commands.
manmanman: Ok, thanks
mark7: how so guys decide where to go
MSmits: so far all I got is -> dont go to where the mines are
MSmits: oh and try not to get stuck and be forced to surface to reset
mark7: how do that not being stuck, I am stucked there
MSmits: floodfill
AntiSquid: 3:2 MSmits
MSmits: whats that AntiSquid
AntiSquid: my wins vs your wins, last battles
MSmits: oh ok
MSmits: I'm just messing around, trying things. I am not even avoiding mines atm
MSmits: also not doing much with strategy/logic
eulerscheZahl: 1.47
AntiSquid: well i just have bugs MSmits
MSmits: ah... dont think I have those atm. But i just lack many features
**mark7 slaps MSmits what if enemy put mines on third move wouldn't it mess up? around a bit with a large fishbot
Nagatwin: thats violent
MSmits: yeah, that hurts
mark7: Oh I didnt mean that
MSmits: lol
MSmits: sure, enemy would mess up your moves
MSmits: just try to make some assumptions
mark7: shit
mark7: hot to mention someone
mark7: (╯°□°)╯︵ ┻━┻
eulerscheZahl: write the name
eulerscheZahl: mark7
eulerscheZahl: hint: you can tab-complete: eu[tab] => eulerscheZahl
Nagatwin: eulerscheZahl
Nagatwin: :o
MadKnight: Nagatwin didn't know that ?
eulerscheZahl: you didn't know that either?
Nagatwin: no
eulerscheZahl: :D
Nagatwin: That nick of yours
eulerscheZahl: my nick must have been a nightmare to you
Nagatwin: Even worse
Nagatwin: you can't imagine
eulerscheZahl: so, when others call me "euler" for short, it's because they don't know tab completion?
Waffle3z: elurezsehlza
Nagatwin: could be
mark7: MSmits I meant this
muy31: What happens if people have simlar names tho?
mark7: Still didnt work
eulerscheZahl: then you tell EugenioToshiAmato to change his nick. He's ToshiTuringMachine now
Waffle3z: hazelhercules
muy31: ToshiTuringMachine
muy31: doesn't work
muy31: :rage:
eulerscheZahl: he's not onilne
muy31: oohh :upside_down: :astonished: :open_mouth:
muy31: no me know
mark7: eulerscheZahl should work?
eulerscheZahl: yes
Nerchio: how to see my response time?
rwilson: Nerchio, as in how long you spend on your turn?
Nerchio: yea i mean some of my turns are skipped because they take too long probably
Nerchio: but i am not sure
AntiSquid: then you would get timeout instead, no turnskip
rwilson: if you take too long the referee will make you lose with 'Timeout!'
eulerscheZahl: i never noticed the watermarks in MSmits' profile pic before :D
ayucaba: i'm on discord who wants to join
struct: had to zoom, but I see it now
eulerscheZahl: https://static.codingame.com/servlet/fileservlet?id=17784428403916
ayucaba: i'm o discord general
ayucaba: we can make some challenges togheter
AntiSquid: ayucaba what are you trying to achieve?
AntiSquid: done
AntiSquid: never!
ayucaba: i need to get the logic of this stuff cause is not that hard but i dont really get the questions
AntiSquid: just ask in chat
ayucaba: why do you won't join i don't give you corona virus lol ahahah
florinpop17: https://youtu.be/ywPNsn_QM0Q
florinpop17: we are live playing if you want to join
AntiSquid: hi youtube
florinpop17: Hi!
florinpop17: you are live!
florinpop17: say hi to my followers!
eulerscheZahl: if you want to stream a little longer, joining the contest might be an option for you
florinpop17: I have a private contest going on :D
mark7: Hi youtube!
AntiSquid: 1 win vs siman, my bot is complete https://www.codingame.com/replay/446209822
AntiSquid: ezpz Automaton2000
Automaton2000: i need a little help
Nerchio: is my league ranking updating only when i click submit?
eulerscheZahl: do you have a bot in the arena already?
eulerscheZahl: then it's possible that other play against you on their submit. in that case your rank can change too
Quidome: @Nerchio, noi
Nerchio: yea it's winning almost every game in wood league but I don't advance in places very fast
Quidome: also when others do a commit
dbdr: the ranking updates only every few minutes
eulerscheZahl: the leaderboard got even slower?
Quidome: @Nerchio, your recalculation is not finished
dbdr: it's been minutes for a long time
Quidome: You can see progress in the leaderboard
Quidome: as well by last battles
Nerchio: is discussing strategy here allowed or not really?
Quidome: Please do
dbdr: it is
eulerscheZahl: no code sharing
dbdr: ^
Quidome: I saw a nice piece on bitboards...
eulerscheZahl: i realized that i take too much damage by mine explosions
Nerchio: more like, do you guys use floodfill to see if it's worth going somewhere?
dbdr: yes
Quidome: me to, but only just 5 minutes ago\
Nerchio: I just started and made my bot shoot and move in random directions but need to ramp it up a little bit :P
Quidome: made it to gold without :D
eulerscheZahl: do you have an opponent tracking Quidome?
Quidome: Yes sure
Quidome: That did the most for me
eulerscheZahl: (curious how far people get without)
emh: dbdr how did you get first place in Bulls and Cows 2? :) many submissions with different random seeds?
dbdr: I needed to get out of wood 2 :D
Quidome: That thing wasn't easy though
dbdr: emh not that many, I optimized the stats
eulerscheZahl: emh the random seed of your solved doesn't matter, as the server has random validators
emh: ohh
eulerscheZahl: my average result (tested offline) is about 316 with 290 as the best
emh: ok
dbdr: I had a 276 offline. I suspect it's not representative to pick random numbers to guess
dbdr: because of the fixed answers
Nerchio: when I hover over your avatar it says you are first in something eulerscheZahl
Nerchio: is it the current league?
eulerscheZahl: but still helps to see if you are getting better
dbdr: he's the first in everything :D
eulerscheZahl: global leaderboard Nerchio
dbdr: global rank
Nerchio: I will be in wood1 soon
Nerchio: catching up to you guys
eulerscheZahl: kovi only places 2.6 mines per game and triggers 1.53 mines. yet he deals 0.81 damage with it :o
eulerscheZahl: meanwhile i spam 18.21 mines, trigger 2.5 and cause 0.9 damage
kovi: nice stats
Quidome: How do you make these numbers?
eulerscheZahl: downloaded thousands of replays :D
Quidome: Aha, nice work :D
kovi: btw i have changed triggering today
Piemert: how am I suddenly in gold? o_O
eulerscheZahl: i use agent 2759044 for your bot
Quidome: NIce work Piemert
Piemert: luck? was stuck at place 20 - 30 @ silver
eulerscheZahl: downloaded at 17:07 CEST
Piemert: didn't change a thing
Piemert: or all better opponents improved and also promoted...
kovi: must be around that euler, cant tell for sure
feinophet: How would i use the debug message to pass The Descent?
ayucaba: general who wants to join
SavinVadim: going live in a couple of minutes https://youtu.be/EBQZTrjABXI
eulerscheZahl: kovi not sure if you fixed that already: https://www.codingame.com/replay/445889881 at frame 41 you charge a mine despite it's fully charged already
eulerscheZahl: you do 0.31 invalid charges per game in the replays that i analyzed
kovi: oh, that is few days old, thx
eulerscheZahl: for comparison: some players have 0.0, the highest are wlesavo (0.81), YannT (1.97) and ValGrowth (2.87)
mark7: did you calculated that or statistics is shown somewhere? eulerscheZahl
eulerscheZahl: i analyzed 3000 replays offline
mark7: Ohhh Man! :thumbsup:
wlesavo: wow, now thats a commitment
eulerscheZahl: i also know which player uses silence how often and what the preferred distance is
manmanman: Weird, I think I would be in the top of the ranking with useless charging :stuck_out_tongue:
eulerscheZahl: https://imgur.com/a/okSMUUO rest of the stats and maybe some CSS after the contest
eulerscheZahl: i only analyzed top players
mark7: eulerscheZahl playing smart to win
manmanman: Ah, ok
wlesavo: nice, looking forward to see it after
eulerscheZahl: there are definitely some differences in player strategies
kovi: i battle barehanded....
kovi: so barehanded that i havent touched vs for a few days....just found a type mismatch bug
eulerscheZahl: i see you submitting quite often?
wlesavo: hm, with some lucky submit back to #3, thought it was already imposible, my bot didnt see improvements for quite a few days
eulerscheZahl: i just hope for legend now :D
kovi: lately i submit after every serious change
wlesavo: euler same here :slight_smile:
AntiSquid: anyone else getting very big differences in rank between submits?
eulerscheZahl: yes
kovi: not today afternoon
1998marcom: Q: Does compile-time have any kind of constraint generally? Is it included in the "First turn time limit" or is it in a separate account?
AntiSquid: one TS user remaining above me, almost reached the main goal
wlesavo: AntiSquid well i got pushed out of top ten and after resub got 3, so yeah
AntiSquid: you're py3 user
AntiSquid: amazing
ayucaba: just noticed you are moderator
1998marcom: @AntiSquid In fact because of time constraint I may fall back to C++
AntiSquid: good idea
RoboStac: 1998marcom - compiling isn't counted as first turn
RoboStac: but there are limits on it
AntiSquid: C++ is generally faster though go for it, but there's a python3 in top 10 1998marcom
1998marcom: Thanks @RoboStac, do you know where can i find those limits?and @AntiSquid,
kovi: good old top siman, wlesavo and me
1998marcom: probably there are many strategy computationally feasible via py3, but mine it's not :sweat_smile:
wlesavo: kovi did you change much last couple of days?
1998marcom: Congrats kovi, siman and wleslavo!
kovi: wlesavo - today there were quite improvements and a few serious bugfixes
wlesavo: 1998marcom the trick is not to compute much when you know little about your opponent
AntiSquid: 1998marcom not sure which limits he was referring to, ping him again
DEIZ21: i just joined the gold league
AntiSquid: nice
aangairbender: do you use any minmax-like algo? I mean bruteforcing enemy move and your reaction move?
DEIZ21: are you all using floodfill as basic moving algo?
aangairbender: I used Smitsimax in pokerchiprace, but here it's not easy to come up with such algo
AntiSquid: maybe you could still do it when there's only 1 possible enemy position? or just a few
DEIZ21: i dont think minmax would be easy to use here since its more for complete information games
AntiSquid: the enemy doesn't stay hidden forever
DEIZ21: if the depth is poor i dont think it ll bring something good
AntiSquid: you got gold, surely you have a good tracking algo
1998marcom: @wlesavo I'm actually trying to compute as much as possible while trying to avoid timing out, I would guess it's more of a matter of what i am computing to find the opponent - i am playing without sonar and mines, and without looking where i shot; @RoboStac do you know where are the limits on compile time written?
AntiSquid: or did you mean the charge count for each skill as reamining hidden info?
DEIZ21: AntiSquid, i track almost every thing, damage i deal damage the enemy deal, surface, movements... yet i see better tracking than me
DEIZ21: the charge only matter foor torpedo i think
DEIZ21: so rest when opponent fire
DEIZ21: and than consider it fully charged 3 turn after or 2 if he moved after firing in the same turn
AntiSquid: ah damn didn't add a charge count estimator to my TODO list @_@
DEIZ21: but its on the agenda ;)
AntiSquid: now all you need is an avatar!
DEIZ21: its a simple tweek to decide you go near a far the opponent
DEIZ21: actually i'm quite happy i reached the gold
DEIZ21: it's my first bot, never experienced this before
AntiSquid: good rank too
DEIZ21: if i can reach legend no matter the rank i would be glad
wlesavo: AntiSquid there is not much to estimate, just be pessimistic and count 3 turns for torpedo and another 6 for silence
daffie: https://www.codingame.com/replay/127192976
daffie: is lirkin using shield here ?
RoboStac: 1998marcom - I'm not sure they're documented anywhere, it's very rare to hit them though
AntiSquid: daffie click the 3 dots, bottom right and then go turn by turn and you can see the commands used
AntiSquid: also there's a contest, have you tried it? https://www.codingame.com/contests/ocean-of-code daffie
daffie: yea I do not care for that one at-all waiting for the big one next month
eulerscheZahl: Max retries exceeded with url: /services/Leaderboards/getFilteredChallengeLeaderboard (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f0bdcb14290>: Failed to establish a new connection: [Errno 113] No route to host'))
eulerscheZahl: oops :(
AntiSquid: from replay downloads?
eulerscheZahl: yes
daffie: and also i tried the 3 dots and looked for the cmds but it isn't showing the commands for lirkin
AntiSquid: frame 209 daffie
AntiSquid: ah nvm :/
AntiSquid: go to IDE > settings > turn on expert mode in IDE above the player avatars click OPTIONS and copy the game parameters from the replay in there, then add the bots individually to the IDE
daffie: I'll just assume that he is not using shield
AntiSquid: he is
AntiSquid: frame 52, pause replay and go with the arrows
AntiSquid: 13513 6864 200 200 -5998 9712 SHIELD
eulerscheZahl: MadKnight you are in the contest trailer https://twitter.com/CodinGame/status/1247220915886272512
AntiSquid: and frame 8 too, it just didn't update when letting the replay play on it's own
AntiSquid: CSB2 confirmed?
ZarthaxX: what is that contest
ZarthaxX: im confused
Quidome: upcoming Pacman
daffie: I was talking more about the whole time he was blocking pb4 from touching checkpoint 3 and 2
daffie: but good thinking adding it to IDE thanks
AntiSquid: EA is highlighted in the video
RockyMullet: oh: https://www.codingame.com/replay/446262695
AntiSquid: hi RockyMullet long time no see
RockyMullet: hi ! :D
RockyMullet: yeah didnt realize before yesterday there was a special contest in progress
Astrobytes: Ocean of Mullets!
RockyMullet: I should make a new avatar for this one
RockyMullet: I though maybe an actual mullet, like the fish, on the canvas
Astrobytes: A mullet is a type of fish so yes, a mullet with a mullet?
RockyMullet: yeah would be pretty meta
Astrobytes: Would also work yep
AntiSquid: there's a mullet in the ocean chasing a shark fin
eulerscheZahl: RockyMullet getting the priorities straight: first the avatar, then the bot :D
RockyMullet: actually, I have messed up my prorities
RockyMullet: im silver, without a new avatar
RockyMullet: a new avatar is what I need to get into gold
eulerscheZahl: ping chucknorris
RockyMullet: he'll roundhouse kick my avatar, I see
eulerscheZahl: some homework four you 446260232 446258531 446257839 446255424 446254269 446253844 446252432 446251632 446247089 446244480 446243363 446241219 446240705 446237812 446237652 446229537 446229424 446226287 446222653 446221996 446220289 446220083 446218797 446208006 446206199 446205041 446202544 446201488 446200861 446200370 446200111 446199806 446197626 446197445 446196923 446194947 446194199
Astrobytes: I guess I should have change nick to Hydrobytes or smth
AntiSquid: lol what's that
RockyMullet: hum, what am I looking at ?
kovi: timeout?
wlesavo: seeds i guess
eulerscheZahl: if chucknorris falls into the water, he won't get wet. the water will get chucknorris
eulerscheZahl: replay IDs with crashes
wlesavo: oh i see
eulerscheZahl: a lot of them for 247 matches
eulerscheZahl: wlesavo with 0 in 147 matches
struct: more than 10%
struct: quite big
AntiSquid: i thought chuck norris would do push ups on water, not fall ...
eulerscheZahl: RoboStac and YannT have some as well. but not of that scale
RoboStac: yeah, I need to up the amount of mines I allow
eulerscheZahl: bit encoding?
AntiSquid: make a circle of mines around the opponent
kovi: didnt know that helps crashing ;)
eulerscheZahl: robo crashes: 446258823 446253091 446251633 446248768 446245303 446224419 446207291 446150495 446145065 446142812 446139442
wlesavo: well i didnt change much since i cleared out most of bugs
eulerscheZahl: wlesavo you have 0.93 invalid charge actions per game
Nerchio: every turn you get information what your opponent did last turn yeah?
kovi: this is an interesting game, new and new ways to win by forcing enemy crash
wlesavo: eulerscheZahl yeah, i meant timeout type bugs :slight_smile:
RoboStac: yeah, they all appear to be mine limit issues
eulerscheZahl: https://www.codingame.com/replay/446241491 around frame 244. but you can't do a valid charge :D
Vrexu: did someone say cpt. haddock (*cough* *cough* *mines* *cough*)?
eulerscheZahl: i should spam even more mines against robo
RoboStac: it's usually me who breaks the limit I think
kovi: btw...if i have killing combo i may randomly recharge something...so that doesnt count ;)
RoboStac: didn't print which player exceeds it
wlesavo: euler, wow, thx
eulerscheZahl: Vrexu has corona, put him in quarantine
kovi: robo: i had my own eval cutlimit an order of magnitude lower than enemy
eulerscheZahl: i do the same kovi
eulerscheZahl: checked it, only invalid charges in my kill turns
wlesavo: in mine there are some in kill turns for sure
kovi: royale is coming
wlesavo: the game is on
eulerscheZahl: was just a matter of time for royale to join
eulerscheZahl: i'm still waiting for Neuman n
eulerscheZahl: and kawano
eulerscheZahl: and where is Magu s?
_Royale: I did not expect such a change, I just adjusted one parameter for my SILENCEs.
wlesavo: euler could you also analyze 1st vs 2nd difference, if it is not much of a problem for you
eulerscheZahl: hm, should be doable...
kovi: that would be interesting
struct: with same seed right?
eulerscheZahl: 1489 1454 6
eulerscheZahl: p1 p2 draw
wlesavo: no, i mean just an average, should be more representative
wlesavo: hm
wlesavo: interesting, thx
eulerscheZahl: i have a 2nd dataset: 1429 1411 7
eulerscheZahl: crashes are removed from that stats
kovi: that is minimal but probably representative
eulerscheZahl: if there is an advantage for p1, it's small enough not to require mirror matches i think
MSmits: also if there is an advantage for p2
MSmits: because it could be either way
eulerscheZahl: my stats imply p1 advantage
kovi: yeah, definitely no need for mirror match with that
MSmits: nah, they don't eulerscheZahl, the difference is too small to tell
eulerscheZahl: i know
eulerscheZahl: but i already got blocked from using the API temporarily
eulerscheZahl: too many requests
MSmits: lol
eulerscheZahl: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.codingame.com', port=443): Max retries exceeded with url: /services/Leaderboards/getFilteredChallengeLeaderboard (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f341c128990>: Failed to establish a new connection: [Errno 113] No route to host'))
eulerscheZahl: just because i used 50 parallel connections :(
MSmits: that seems harsh
eulerscheZahl: but got 1k replays in under a minute
Astrobytes: Hit & run
wlesavo: yeah, testing in the ide i sometimes had the feeling of advantage for the first player, but occasionally its not relevant, thats good
chucknorris: wow thanks eulerscheZahl. thats a lots of timeout
eulerscheZahl: fix it
eulerscheZahl: or don't, you are above me
kovi: oh, the duck also coming...
MSmits: donald?
ZarthaxX: lmaooo
kovi: but teccles said, he will not join
MSmits: sad
AntiSquid: well you need to be crazy to join this one
MSmits: was this a requirement?
kovi: and still no sign for recurse and karliso on the leaderboard
eulerscheZahl: that means nothing
AntiSquid: you pinged them both kovi
AntiSquid: also karl submitted on the very last day in CR2
eulerscheZahl: it was UTG
AntiSquid: CR2
eulerscheZahl: UTG
AntiSquid: crystal rush!
eulerscheZahl: good night
AntiSquid: bye
MSmits: gn eulerscheZahl
ZarthaxX: cya toad
AntiSquid: ZarthaxX https://www.codingame.com/share-replay/446278055
ZarthaxX: wtf
struct: mine hunter
MSmits: has anyone had any luck with picking a better start location?
MSmits: I tried 3 ways, full random, just anywhere with a lot of room to move, or in a secluded corner. I see no difference in performance
AntiSquid: doesn't seem like the most important
MSmits: well it seemed easy to code
MSmits: low hanging fruit and all that
MSmits: might be that I don't see a difference because my bot isnt good yet
rwilson: MSmits - early games definately felt like it mattered ... after wood league, not so much..
MSmits: maybe if you have good mine avoidance, starting in the middle is more of an advantage
wlesavo: MSmits i tried to predict others choosing start location, failed misserably, turn out people dont really care for a start, or care in a way i didnt tried to predict
MSmits: ah ok wlesavo, but mostly what I was asking, say noone knows where you start, what then is a good position?
MSmits: i dont really care about the predictability of it
struct: Hard to say imo
rwilson: wlesavo - lots of corner pickers early on.... makes for easy floodfill.
wlesavo: people were discussing of how many turns you can stay hidden from a certain possition
struct: might be a good choice, but also depends on opponents
MSmits: that probably depends a lot on how you move after you start
MSmits: and what you do
wlesavo: exactly, so shouldnt really matter that much
MSmits: hm ok
wlesavo: so i gave up on that
MSmits: So, back to full random then :)
chucknorris: well...it matters
MSmits: if you dont know which way it matters, then it doesn't matter :P
MSmits: this piece of wisdom brought to you by
MSmits: /me
wlesavo: i mean it could matter if you trying to control your territory by mines, but i dont know if many people doing that already
icecream17: when should i shoot? when there are 20 possible positions?
wlesavo: 20 to much
MSmits: how would you even "control your territory" you cant go to the same place twice
MSmits: unless you surface
wlesavo: surface it is
MSmits: surface is a good choice when you project you will die without it
MSmits: or just get more damage without it
wlesavo: you have to surface once or even twice a game in average
MSmits: yes, but i suspect there are situations where you dont wait until you run out of room
MSmits: you'll know when you enter a minefield
wlesavo: all the top basically doing that to escape mine
MSmits: yeah
wlesavo: minefields
MSmits: makes sense
wlesavo: so yeah, battle for control of a territory is real
icecream17: but wait, if the opponent silences a lot then the opponent will just through the mines
MSmits: yes, but what is control really. I don't see how it has an easy definition here
MSmits: not like in a typical strategy game
wlesavo: icecream17 end you will eventually endup surrounded by mines
icecream17: no, i'm a mine person. the silence person goes through my mines
icecream17: https://www.codingame.com/replay/445995926
MSmits: if you have enough mines up, it pays to just blow one up every turn
wlesavo: MSmits well most of replays i see it is pretty clear who controls what, at leaast in this meta
fingerdash: does someone know how clash of code points work ?
MSmits: yes, but it's not real control when it's not intentional
wlesavo: https://www.codingame.com/share-replay/446274471
wlesavo: im talking about going from unintentional to intentional
MSmits: arent bot subs just trying to avoid mines
MSmits: both
MSmits: note to self: get mine avoidance soon
wlesavo: yes, but how many space you have to move is kind of control
MSmits: sure and I guess some maps give you some nice chokepoints
wlesavo: most of longer games looks like that
MSmits: it looks nice
MSmits: makes it seem like a real game, unlike the early games
MSmits: silence doesnt help you much in that case either, it seems
MSmits: except to get to chokepoints faster maybe
wlesavo: yes, but so is mine spaming in your controled territory
MSmits: most of those mines are pretty useless though
MSmits: i mean, if you've got stuff walled off...
MSmits: he can never get deep into your mined territory anyway
wlesavo: but they give you safe space to move, so not exactly useles
MSmits: yeah, the walling off part is useful
MSmits: you're right
MSmits: the mines in the bottom left corner dont do much
MSmits: but i guess thats a feature of this map really
MSmits: most maps dont have islands configured like that
Nerchio: can you start with torpedo command and the do move?
Nerchio: just asking cause i need to know how to search in string
MSmits: you can do either first
MSmits: the order is free to choose
Nerchio: so it's safe to assume that if i find "move" in string then the char is going to be just after that right?
MSmits: space separated
MSmits: but do it like this
wlesavo: Nerchio you have to split string first
MSmits: first split strings with "|"
MSmits: then split strings with " " (space)
MSmits: the first item of that second split is always the order
MSmits: then the second and third are the details you need with the order
Nerchio: makes sense thanks!
rwilson: http://chat.codingame.com/pastebin/b7373d11-cae9-4c0d-be4d-0a037ad5f6ab
rwilson: lol .. chat doesnj't like embeded newlines
rwilson: anyone have a 'feeling' for what the current split is on types of bots for Oceans of Code? Full Sim/Eval bots vs
Behavior / Strategies Bots
YannT: I t hink most top bots are bruteforce sims (with heuristic pruning /. strategy choices)
YannT: I don't think there's any proper fancy pants alkgorithm being used (yet)
AntiSquid: i am calling my algo fancy pants then
Vrexu: bruteforce is fancy
wlesavo: AntiSquid you have to get to the rop first :wink:
wlesavo: i mean top
YannT: dude don't dare him there's enough fight in the top5 as it is
AntiSquid: my goal is to get above the typescript bots
AntiSquid: then i will try to get some motivation to get legend
Astrobytes: AntiSquid should've used D obvs
AntiSquid: maybe i promote to legend and if there is no typescript i switch to D even with broken submit/ default code
AntiSquid: screenshot it and message the typescript users
YannT: didn't they do a thing so people can't do this anymore
Astrobytes: lol
wlesavo: what the matter with typescript?
YannT: if you switch language you have to pass leagues again
AntiSquid: eh?
YannT: so people can't cheat the first in language achievement
AntiSquid: no idea
AntiSquid: but i already have the 1st in a lang achievement
wlesavo: AntiTypeSquid
AntiSquid: was 1st in JavaScript
MSmits: ouch
MSmits: you had to type a whole bot in that language
YannT: since ES6/TypeScript it looks surprinsgly like a proper language now
YannT: that you can actually work with
AntiSquid: ES6 and TS aren't the same though
YannT: I know that, I'm saying both of those together make JS into a growup thing :)
AntiSquid: "propoer" language, it wasn't created for the same purpose as the others and it's a different language, it doesn't have to be like the others
icecream17: wait, js is bad?
AntiSquid: TS ruins it for me
AntiSquid: no it's not, these people are haters, don't listen to them icecream17
MSmits: haters gotta hate
AntiSquid: lots of companies will look for vanilla JS icecream17
icecream17: yeah... but i'm not thinking about compainies
icecream17: *companies
AntiSquid: when you work on your own JS is fine as it is
icecream17: i see
AntiSquid: for larger groups of people TS might be preferred, because it introduces aspects from other languages
icecream17: i've never heard of TS
icecream17: oh, typescript?
AntiSquid: it's javascript with unnecessary and ugly add-ons
AntiSquid: yes that one
icecream17: i don't know the first thing about typescript
AntiSquid: sorry, not my topic of interest, was just saying i want to rank higher than the TS folks
AntiSquid: something to keep me motivated to participate
MSmits: beating me 3:2 is not enough?
icecream17: Well, i'm still in silver....
AntiSquid: that was a pile of bugs that beat you MSmits
MSmits: good :)
AntiSquid: i remove the bugs and i land bottom of gold :p
AntiSquid: i need to rewrite and i am too lazy
MSmits: I usually get beaten by bugs
MSmits: usually they're my own bugs but still
MSmits: I'm lazy too.... I need to write a proper search with mine avoidance
MSmits: I suspect that would throw me into top 30 at least
icecream17: i'm amazed by this website. i've never written more than 1000 lines of code before
Vrexu: what do you need 1000 lines for?
icecream17: just a number not the important part
inoryy: would be curious to track lines of code written over a lifetime
icecream17: lines_of_code = person{987519857190587958759871}.fact{8734256487561598767}
MSmits: as long as I dont have to look at it. My older code is even worse than what I write now
Astrobytes: inoryy I still can't get used to seeing your country flag as UK :D
Nerchio: If i don't submit for a while then it means my bot stops playing and i need to submit again right?
icecream17: can you exponentiate in js?
Astrobytes: pow()?
AntiSquid: **
Astrobytes: Oh it has that now
Astrobytes: nice(r)
AntiSquid: ES-whatever new version they keep adding has it
Astrobytes: Ah OK
AntiSquid: they keep adding new things, i am behind with the latest updates
AntiSquid: icecream17 are you interested in JS ?
icecream17: my bot is made out of js....
AntiSquid: ah, i thought you were keen on doing JS projects
icecream17: Only language I know
AntiSquid: do you know about freecodecamp ? big community (at least it was years ago) with lots of different projects to build
AntiSquid: icecream17 if you know JS you can do Python easily if you try ...
icecream17: what should i know about Python
icecream17: that must be a hard question to answer, nevermind
AntiSquid: it's easier to code in Python
AntiSquid: i think
icecream17: rly? huh. what languages do you know AntiSquid
AntiSquid: i used a few, but that enables one to use other similar languages, so ...
struct: only need to know D
icecream17: D?
struct: D language
Astrobytes: Yeah, D == C**C
struct: But im joking icecream17
struct: I dont recomend D
struct: I never tried it thoug
icecream17: Uh-oh. x + ' ' + y + ' xy' = -Infinity
AntiSquid: ok the reason D is good is because of the performance and the fact that it's a scripting language
AntiSquid: overall it's far superior to typescript if you want "real" language
AntiSquid: syntax might seem odd at first, but that's with any new language you try
icecream17: wow there's C and D). What other languages are there?
Astrobytes: I've only played with D (lang) a little, seemed a bit clunky. ymmv
Astrobytes: E, F, F#, R
Astrobytes: And more
icecream17: Hmm, I could make my own language if I knew what to put
icecream17: maybe
Astrobytes: glhf
AntiSquid: icecream17 idk: https://en.wikipedia.org/wiki/List_of_programming_languages
AntiSquid: some companies have their own scripting languages
rwilson: would be fun to see a CG contest using only MindF*** or WhiteSpace ;)
Astrobytes: rwilson This uses BF https://www.codingame.com/multiplayer/optimization/code-of-the-rings
2571540: Yeah
rwilson: sweet ;) TY Astrobytes
icecream17: I tried that one it's pretty cool
2571540: That's bf optimization
icecream17: I didn't optimize that much
Astrobytes: And this one is a Funge https://www.codingame.com/multiplayer/optimization/cgfunge-prime
icecream17: wow
Astrobytes: And there's some other eso-lang ones in the puzzles sections
2571540: Looks cool
icecream17: =O the funge one
inoryy: Astrobytes yeah, I'm not still not used to having moved either :) the timing was perfect though...
inoryy: one not is extra in there*
Astrobytes: inoryy lol :D And yeah, impeccable timing. How are things down there?
inoryy: well, Boris is in ICU so there's that
Astrobytes: Yes, saw that a few minutes ago.
inoryy: I live in a dense region so shopping is a bit of a challenge
Astrobytes: What area are you in?
inoryy: King's Cross
Astrobytes: Oh nice. Yes dense indeed. Great under any other circumstances.
AntiSquid: i managed to find toilet paper btw !
Astrobytes: Also inoryy, one could argue dense in both senses, given some of the local characters :D
AntiSquid: the shelves were almost empty, but at least i got one package
inoryy: haha
inoryy: I had the chance to see its natural state during the summer while I was here for internship, I really liked it
Astrobytes: AntiSquid loads of it here now, just not in the supermarkets. So if you don't mind ripping your a*se with cheap prison-grade TP you're good!
AntiSquid: there were all types, just 2-3 packs each
Astrobytes: Yes inoryy, it's awesome. Despite all the negativity London is a great city to live in
inoryy: had to raid waitrose 3 days in a row at 8am to get some tp
Astrobytes: Haha, waiting for the doors to open since 6am
AntiSquid: if you ever do home deliveries from supermarkets, waitrose is the worst in my experience, best to use ocado instead (they also sell waitrose products, but don't give completely stupid replacements)
Astrobytes: You can opt out of replacements
AntiSquid: then you get nothing, they told me they were out of stock for 3-4 different items i wanted
AntiSquid: never had issues with ocado
Astrobytes: I got sent f*cking juniper berries instead of allspice once. Lesson learned
AntiSquid: well waitrose does the dumbest replacements
Astrobytes: That was Sainsbury's actually iirc, my bad.
icecream17: (befunge thing) hey! you didn't say division by 0 wasn't allowed....
MSmits: earlier today i got stuck for a while because my function that was supposed to return an integer, didn't return anything =/
MSmits: c++ makes me feel like a noob
struct: Why didnt it return anything?
struct: no return at all?
Envious: do you guys know if these problems are leetcode easy?
Astrobytes: Doesn't VS warn you of thta MSmits?
Astrobytes: *that
AntiSquid: well you either declare it as void, so returns nothing or you have the function on it's own
blasterpoard: https://www.codingame.com/replay/446326363 ... finally my pathfinding is working as well
AntiSquid: int f() {}
f();
AntiSquid: valid
AntiSquid: does your pathfinding have anything specific?
blasterpoard: AntiSquid well, it avoids mines
MSmits: Astrobytes apparently not =/
Astrobytes: Hm, swear it used to warn you
Astrobytes: Perhaps only for certain return types/cases, :shrug:
MSmits: yeah... I might have some settings wrong or something
AntiSquid: heh now the game looks more like tron (in that replay)
blasterpoard: tbh the thing I just wrote might rank quite high in tron
Nerchio: is torpedo cooldown the amount of power you have or not I am confused
rwilson: turns left till you can use..
rwilson: 0 = you can shoot it now
rwilson: ... turns --- if you charge every turn that is..
Nerchio: btw how do some people do such good tracking without hitting something first ;o
blasterpoard: Nerchio most people are just bruteforcing it
blasterpoard: looking at all the paths the opponent could have taken
rwilson: 1st step, simple path tracking... i.e. if you go East 20 times in a row, then there's only a few places that can 'fit' on the map.
Nerchio: damn long way ahead of me
Astrobytes: Phew. Loads of refactoring done, can finally read my code again. gn all
struct: gn
AntiSquid: Envious what are you up to?
DEIZ21: any idea about how to avoid opponent mines?
rwilson: DEIZ21 are you tracking possible enemy paths?
rwilson: then you might try what i've heard some others doing ;) ( i don't bother yet ) .....
rwilson: map the mins with probabilities of a sort...
rwilson: if they placed a min on turn 7, then for all your paths, go to turn 7 & mark your map with all the locations they COULD put a mine
DEIZ21: yes i have this idea of probability but it sounds very abstract to me
rwilson: lots of ways... simplest is just to have a map of INTS every time a spot COULD have a mine placed .. increment...
rwilson: build a sort of 'heat map' of danger
DEIZ21: the qurstion isnt about how to store
rwilson: i don't think it's the best way IMHO, but it's a fair bit easier than tracking the mines with full logical reasoning ...
DEIZ21: actualy it is how to avoid mines
rwilson: if you're using any sort of scoreing for chosing your next MOVE, then look at your danger map and choose lowest danger
DEIZ21: nop just a imple fluidfill
rwilson: ;) then just add to that once you can get a rough idea of danger...
rwilson: choose movment that has MAX( floodfill score - danger score )
DEIZ21: ok ill need to normalize data then
AntiSquid: nice lead, is that different from the version i just won against? pb4
DEIZ21: i think to avoid mine we need to look little bit far ahead
DEIZ21: to evaluate the danger
YannT: he's tweaking constants
YannT: I'd say that's working ahah
rwilson: for example, my bot had something like that at some point... flood fill was just locations visited ... other criteria was distance... just added good coefficients to get the priority i wanted ..
kovi: gratz pb4
rwilson: DEIZ21 - you can do 1 move if you're ok generalizing ... i.e. only look 1 step, but calculate your danger like a point on the map ... say , average of all possible mine locations
AntiSquid: YannT, just checked, i still win that game, bugs > pb 4
DEIZ21: i m wondering if it doesnt worth it to make surface and go home where i have a lot of mine
YannT: ahahah
pb4: aie
pb4: 5 loss
YannT: doubt it ;)
AntiSquid: doubt what?
pb4: 7 losses in a row :(
AntiSquid: that my bot is bugged? or that i can write competent bugs?
DEIZ21: where we can see win rates guys
pb4: AntiSquid what do you win against me ?
YannT: that you can write competent bugs that beat pb4's current bot
AntiSquid: https://www.codingame.com/share-replay/446346197
YannT: that thing trashes me
AntiSquid: and his previous version: https://www.codingame.com/share-replay/446343016
TidyMaze: DEIZ21 here http://cgstats.magusgeek.com/app/ocean-of-code/pb4
pb4: AntiSquid : yeah haven't implemented a "delete silly moves" function yet
pb4: Will get to it
pb4: Thanks for the replays :)
pb4: keep them coming :)
AntiSquid: np
blasterpoard: pb4 enjoy this one: https://www.codingame.com/replay/446345595
blasterpoard: you just randomly walked into a minefield
YannT: I like how your bot appears to be screaming in MSG
YannT: SWEEEEEEENWWWEEEE
YannT: that thing is not doing well
blasterpoard: yes, writing next 20 moves because I was debugging pathfinding
YannT: SSNNNNEEEEEWEEEEE
pb4: blasterpoard : no idea why it does this :/
blasterpoard: all the bots are still unbelievably bad, or at least buggy
struct: oh rank 1
struct: nice
struct: grats
YannT: no u :angry:
AntiSquid: Automaton2000 you just gonna let him talk about you like that?
Automaton2000: so what are u doing any multi?
blasterpoard: pb4 https://www.codingame.com/replay/446348712 this one also shows that your bot has some serious bugs
YannT: good, bait him into changing his bot that coimpletely owns me :D
YannT: I have a 33% winrate against that iteration, any change is proibably good :p
icecream17: wow i figure out what the bug was
icecream17: but why does it happen ugh
TheMythicMango: is clash of code matchmaking always random or does it depend on level?
pb4: wlesavo ?
pb4: are you here ?
Zenoscave: Anyone know how to transfer product key from a vm to another vm??? I can't find anything
Zenoscave: Win10 VM*
MadKnight: what product key ?
MadKnight: for what ?
Zenoscave: Windows 10
MadKnight: dunno
MadKnight: anyone's still here ?
MadKnight: i got a question on c#
Neon_Tuts: Hello everyone
Ivan-Clark: hi
PatrickMcGinnisII: The Rona got everybody. :P
PatrickMcGinnisII: We are the last people on Earth
PatrickMcGinnisII: I'm gonna re-open disney world, how about you?
MadKnight: hey hey PatrickMcGinnisII
PatrickMcGinnisII: jello madone
MadKnight: why are u the last people on Earth
PatrickMcGinnisII: what if chat people is ALL there is?
MadKnight: do u even need more than that ?
MadKnight: coding + chat people is more than enough
PatrickMcGinnisII: If its the end of the world I'm totally riding roller coasters naked :/
MadKnight: what a weird wish
MadKnight: why ride roller coaster when u can just solve roller coaster puzzle ?
PatrickMcGinnisII: ok, my GF has to survive too
MadKnight: u can't decide who will survive
MadKnight: it doesn't work like that
MadKnight: only Automaton2000 can decide
Automaton2000: i guess i'll try to be a pain
PatrickMcGinnisII: Applications now Accepted for New Rona free GF
PatrickMcGinnisII: tx Automaton2000
Automaton2000: now i understand the question
MadKnight: Automaton2000 he's faking your acceptions! stop him
Automaton2000: i have a hard time