From CG community
Jump to navigation Jump to search



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

Default avatar.png Ravi1269: great

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 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!

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:

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 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:

Alexzz: codeclash is broken for me

Default avatar.png Adn_coder: samme

Default avatar.png 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?

Default avatar.png 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"

Default avatar.png 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...

Default avatar.png 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


MSmits: it's not a problem because i almost never launch a torpedo... so i will end up mining a lot anyway

Default avatar.png Liftyee: mining away

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: (╯°□°)╯︵ ┻━┻

Default avatar.png LordZedd: how to amgan

MSmits: how to manage?

Nagatwin: RoboStac hmmm ouch


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: 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

Default avatar.png Liftyee: can you surface and move at the same time

Default avatar.png Liftyee: ie surface move n

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


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: 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???

Default avatar.png Liftyee: why is surface move N not working

Default avatar.png 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: 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

Default avatar.png Liftyee: thanks

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?

Default avatar.png 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

Default avatar.png Liftyee: ok#

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


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?

Default avatar.png nerosiar: heyu

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

Default avatar.png 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.

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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?

Default avatar.png 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

Default avatar.png 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

Default avatar.png ayucaba: i'm on discord who wants to join

struct: had to zoom, but I see it now


Default avatar.png ayucaba: i'm o discord general

Default avatar.png ayucaba: we can make some challenges togheter

AntiSquid: ayucaba what are you trying to achieve?

Default avatar.png ayucaba: anything

AntiSquid: done

Default avatar.png ayucaba: in c or c++ or perl

Default avatar.png ayucaba: better c

Default avatar.png ayucaba: join me on didscord

AntiSquid: never!

Default avatar.png ayucaba: ahahah you funny

Default avatar.png 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

Default avatar.png ayucaba: why do you won't join i don't give you corona virus lol ahahah


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

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

Default avatar.png feinophet: How would i use the debug message to pass The Descent?

Default avatar.png ayucaba: i'm on discord

Default avatar.png ayucaba: general who wants to join

SavinVadim: going live in a couple of minutes

eulerscheZahl: kovi not sure if you fixed that already: 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: 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

Default avatar.png ayucaba: i'm on discord

AntiSquid: amazing

Default avatar.png 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

Default avatar.png DEIZ21: you guys rock

Default avatar.png DEIZ21: make the task harder

Default avatar.png DEIZ21: i just joined the gold league

Default avatar.png DEIZ21: have a long way yet

AntiSquid: nice

aangairbender: do you use any minmax-like algo? I mean bruteforcing enemy move and your reaction move?

Default avatar.png 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

Default avatar.png DEIZ21: i dont think minmax would be easy to use here since its more for complete information games

Default avatar.png DEIZ21: am oi wrong?

AntiSquid: the enemy doesn't stay hidden forever

Default avatar.png DEIZ21: within 50ms, i doubt

Default avatar.png 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?

Default avatar.png DEIZ21: AntiSquid, i track almost every thing, damage i deal damage the enemy deal, surface, movements... yet i see better tracking than me

Default avatar.png DEIZ21: the charge only matter foor torpedo i think

Default avatar.png DEIZ21: so rest when opponent fire

Default avatar.png 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 @_@

Default avatar.png DEIZ21: me neither

Default avatar.png DEIZ21: until now

Default avatar.png DEIZ21: but its on the agenda ;)

AntiSquid: now all you need is an avatar!

Default avatar.png DEIZ21: its a simple tweek to decide you go near a far the opponent

Default avatar.png DEIZ21: hhh

Default avatar.png DEIZ21: actually i'm quite happy i reached the gold

Default avatar.png DEIZ21: it's my first bot, never experienced this before

AntiSquid: good rank too

Default avatar.png 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: 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? 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

Default avatar.png DEIZ21: Antisqui

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

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:

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: 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 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='', 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

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

Default avatar.png 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

Default avatar.png 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: 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


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: 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!

Default avatar.png rwilson:

Default avatar.png rwilson: lol .. chat doesnj't like embeded newlines

Default avatar.png 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:

AntiSquid: some companies have their own scripting languages

Default avatar.png rwilson: would be fun to see a CG contest using only MindF*** or WhiteSpace ;)

Astrobytes: rwilson This uses BF

2571540: Yeah

Default avatar.png 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

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?

Default avatar.png Envious: whats up guys

Default avatar.png Envious: do you guys know if these problems are leetcode easy?

Default avatar.png Envious: brb

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: ... finally my pathfinding is working as well

AntiSquid: int 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

Default avatar.png rwilson: turns left till you can use..

Default avatar.png Envious: whats up guys

Default avatar.png rwilson: 0 = you can shoot it now

Default avatar.png 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

Default avatar.png 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

Default avatar.png Envious: kokokok

AntiSquid: Envious what are you up to?

Default avatar.png DEIZ21: Hey guys whats up

Default avatar.png DEIZ21: any idea about how to avoid opponent mines?

Default avatar.png rwilson: DEIZ21 are you tracking possible enemy paths?

Default avatar.png DEIZ21: yes

Default avatar.png rwilson: then you might try what i've heard some others doing ;) ( i don't bother yet ) .....

Default avatar.png rwilson: map the mins with probabilities of a sort...

Default avatar.png 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

Default avatar.png DEIZ21: yes i have this idea of probability but it sounds very abstract to me

Default avatar.png rwilson: lots of ways... simplest is just to have a map of INTS every time a spot COULD have a mine placed .. increment...

Default avatar.png rwilson: build a sort of 'heat map' of danger

Default avatar.png DEIZ21: thx ;)

Default avatar.png DEIZ21: but

Default avatar.png DEIZ21: the qurstion isnt about how to store

Default avatar.png DEIZ21: data

Default avatar.png 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 ...

Default avatar.png DEIZ21: actualy it is how to avoid mines

Default avatar.png rwilson: if you're using any sort of scoreing for chosing your next MOVE, then look at your danger map and choose lowest danger

Default avatar.png DEIZ21: nop just a imple fluidfill

Default avatar.png rwilson: ;) then just add to that once you can get a rough idea of danger...

Default avatar.png DEIZ21: ok thx ;)

Default avatar.png rwilson: choose movment that has MAX( floodfill score - danger score )

Default avatar.png DEIZ21: ok ill need to normalize data then

Default avatar.png DEIZ21: thx for the tips

Default avatar.png rwilson: ;) or hack it...

AntiSquid: nice lead, is that different from the version i just won against? pb4

Default avatar.png DEIZ21: i think to avoid mine we need to look little bit far ahead

Default avatar.png DEIZ21: not just one move

Default avatar.png DEIZ21: to evaluate the danger

YannT: he's tweaking constants

YannT: I'd say that's working ahah

Default avatar.png 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

Default avatar.png DEIZ21: rwilson got it

Default avatar.png 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

Default avatar.png DEIZ21: thx

AntiSquid: YannT, just checked, i still win that game, bugs > pb 4

Default avatar.png 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?

Default avatar.png DEIZ21: where we can see win rates guys

Default avatar.png DEIZ21: ?

pb4: AntiSquid what do you win against me ?

YannT: that you can write competent bugs that beat pb4's current bot


YannT: that thing trashes me

AntiSquid: and his previous version:

TidyMaze: DEIZ21 here

Default avatar.png DEIZ21: thx tidy

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:

blasterpoard: you just randomly walked into a minefield

YannT: I like how your bot appears to be screaming in MSG


YannT: that thing is not doing well

blasterpoard: yes, writing next 20 moves because I was debugging pathfinding


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 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

Default avatar.png TheMythicMango: is clash of code matchmaking always random or does it depend on level?

pb4: wlesavo ?

pb4: are you here ?

Default avatar.png nivil: yo what's a flash?

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