From CG community
Jump to navigation Jump to search

Zenoscave: a few tiems

Zenoscave: times

ZarthaxX: hi zeno

Zenoscave: hi zarth

ZarthaxX: struggling?

Zenoscave: Yeah

ZarthaxX: yeah you wont get it

Zenoscave: maybe

ZarthaxX: remember what i said in the morning?

ZarthaxX: its impossible

Zenoscave: nope

ZarthaxX: these gates are clsoed

ZarthaxX: like super closed

ZarthaxX: im kidding

Zenoscave: 4 people got through today

ZarthaxX: buttt its hard

Zenoscave: ;)

ZarthaxX: i know

ZarthaxX: and i will go through your m... ohhh

ZarthaxX: server is ded?

Zenoscave: no?

ZarthaxX: imean

ZarthaxX: submits

ZarthaxX: are ded?

Zenoscave: like no one is submitting?

ZarthaxX: no

ZarthaxX: submit freezes?

Zenoscave: not that i see

Zenoscave: I have done 6 matches since you asked first

ZarthaxX: a friend submitted and he is like frozen

ZarthaxX: this is starting to scare me tho

Zenoscave: interesting

Zenoscave: what league?

ZarthaxX: he ended 80th with same code that ended 5th

ZarthaxX: gold

Zenoscave: huh

Zenoscave: praise RNGesus

ZarthaxX: that randomness is scary

ZarthaxX: right? lol

ZarthaxX: i dont know why i neded where i am

ZarthaxX: my code is trash

ZarthaxX: anyyyyyway

ZarthaxX: keep it up

Zenoscave: thx

ZarthaxX: hey u beated me

ZarthaxX: :(/

Zenoscave: ;)

Zenoscave: I need to improve my torpedo accuracy

ZarthaxX: right

ZarthaxX: did u disable mines like eul told us

ZarthaxX: euler

ZarthaxX: because i did and it sucks

Zenoscave: yeah i tried. it did not work for me

ZarthaxX: im gonna demand like sharktoad

ZarthaxX: that*

ZarthaxX: stop smacking me zeno

ZarthaxX: sheez

eulerscheZahl: good morning

ZarthaxX: my shark

ZarthaxX: turning off mine avoidance doesnt help

ZarthaxX: :)

eulerscheZahl: not much longer, soon the toad will be back


eulerscheZahl: i read that

ZarthaxX: i miss the toa

ZarthaxX: d

ZarthaxX: how can i get legend toad

eulerscheZahl: i missed your polar bear when you changed it

ZarthaxX: im bottom gold

ZarthaxX: yeah ik, u always miss it

eulerscheZahl: #20 = bottom gold?

ZarthaxX: its a matter of perspective

eulerscheZahl: collecting mines?

ZarthaxX: i was kidding tho didnt want you to help me lol

ZarthaxX: lemme check

ZarthaxX: also are submits wonky for you?

ZarthaxX: slow i mean

eulerscheZahl: haven't submitted in a while

eulerscheZahl: soon offline: turn private PC off, company PC on

ZarthaxX: ah ok lol

eulerscheZahl: still feels weird to work from home

ZarthaxX: studying from home is the best

ZarthaxX: already at home when clas finishes

ZarthaxX: the replay u showed btw, i got a problem with mines like

ZarthaxX: it doesnt make sense to avoid them at beginnign coz they are everywhere

eulerscheZahl: i even did some biking trips to get outside and train my body a bit

ZarthaxX: but after it does make sense bcause u almost know

eulerscheZahl: that's desperation :(

ZarthaxX: weird to model that

ZarthaxX: mhmm u went outside?

ZarthaxX: thought u couldnt

eulerscheZahl: i can, just not in groups

ZarthaxX: i just can do some home workout

ZarthaxX: ah i see

tekki: hi all

tekki: how's your contest?

tekki: seems good

ZarthaxX: gud contest

tekki: gud?

tekki: AutomatonNN?

AutomatonNN: I don't know what that is

kovi: what is up with queue? got slowerd to 5minutes per game

tekki: don't know kovi

ZarthaxX: af friend said its ded

tekki: AutomatonNN explanation please

AutomatonNN: what do you mean by the same as the winner?

kovi: ah, not the queue, leaderboards were not refreshed for 10+ minutes

tekki: can't tell, CG here?

Zenoscave: They're going slightly faster than that in gold

Zenoscave: still slow though

Zenoscave: 80% of my losses are to the same player

tekki: no lucky my friend :)

tekki: AUtomatonNN ban him please :)

AutomatonNN: have you tried to use it and see if i can see that it will be a problem with the same code in the sa

Zenoscave: I fixed the bug though. I rarely lose to anyone else

dbdr: kovi matches do look slow to me

dbdr: what's your submit # now by the way? :)

kovi: 600

dbdr: 191

Default avatar.png Sepehr.khashei: :santa:

dbdr: level keeps rising it seems

dbdr: unsurprisingly :)

AntiSquid: leaderboard update now completely frozen when submitting ugh ?

kovi: yes :(

idkhow2codee: hi, is it possible to connect codin game to some external code editor?

Boulet: yep

Boulet: look at the FAQ

idkhow2codee: k thanks

Boulet: chromium plugin

Nerchio: servers are slow since a couple of hours already

gaha: I have big problem with timeouts, but CG is not showing me my std.err from turn where I had timeout. This would help me debug it, because I don't know where it happens, do you know a way to see it?

Nerchio: put prints in delicate spots and see what prints last

Default avatar.png RMuskovets: or put prints on every line of your code)

gaha: printing is giving orders though

Default avatar.png RMuskovets: print("line", 15, file=sys.stderr)

Default avatar.png RMuskovets: cerr << "line" << 15 << endl

Default avatar.png RMuskovets: fprintf(stderr, "line %d\n", 15)

gaha: Okay then, I do this. And there's a problem, because CG is not showing any logs at all from turn where I had the timeout

gaha: It shows everything from turns that finished though

Default avatar.png RMuskovets: then, your last turn timeouts on the first line maybe

gaha: Good guess, but it's not the case :(

dbdr: gaha there is nothing to show, if you timeout before printing anything to stderr

gaha: I don't think it's the case, but I'll print something at the very beginning just to see :)

dbdr: yes that's a good idea

gaha: Oh my god, you're right guys, it does print everything before the timeout

Default avatar.png RMuskovets: after making multi-step dfs for my bot many others look so dumb to me

gaha: I here I am, wasting the whole day instead of checking it

Nerchio: rmuskovets like with silence jump?

marshadow9: hello

Default avatar.png RMuskovets: Nerchio no, not now :)

gaha: what is multi-step dfs though

gaha: whats the modification?

Default avatar.png RMuskovets: getting the last path and when it ends creating a new one ;)

gaha: Right, so not wasting compute

Default avatar.png RMuskovets: and a turn with it is only 20ms

Default avatar.png RMuskovets: including checking torpedo positions

gaha: in DFS you have some FILO you're considering is still valid?

gaha: I mean how are you considering

Default avatar.png RMuskovets: i try every possible path to get longest

gaha: I imagine you can have path on your queue that are not valid anymore, I mean you've already moved PAST them in the actual game

gaha: Isn't it right?

Default avatar.png RMuskovets: I don't have a "queue" of all paths. Just when my current path ends, I do SURFACE and create a new one.

gaha: Ah, okay

gaha: Well, so you don't modify the "choosen path" during MOVE'ing, but only after the SURFACE

Default avatar.png RMuskovets: Yeah

gaha: I am modyfing it during MOVE'ing as well, but it was a bit of a pain to implement

Default avatar.png RMuskovets: The best thing with DFS is that the bot never gets stuck between islands

gaha: And immediately you get a pretty long path

gaha: In my case it works better to mix BFS and DFS

gaha: solutions are longer

Nerchio: how do you combine that?

gaha: I have a queue, not recursive implementation

gaha: You can pop from the beginning or from the end

Default avatar.png RMuskovets: When I was trying recursive, my bot just was timing out - not very good

Default avatar.png RMuskovets: Queue is far betetr

Default avatar.png RMuskovets: Better*

Nerchio: didn't expect it to timeout on a 225 grid

wlesavo: probably you didnt manage recursion right

gaha: Oh man, count how many different paths there are

gaha: It's impossible to calculate all of them

gaha: It WILL timeout

Default avatar.png qwerio: Can i change the difficulty of the problems i a private Clash Of Code?

Default avatar.png RMuskovets: Nerchio I did recursion for each of 4 neighbors

Default avatar.png RMuskovets: That was simply a forever recursion loop

gaha: About the Sync, did anyone made it work in other Chromium browser than Chrome?

AntiSquid: how to do mine avoidance with 5 mil paths?

Nerchio: how do you kill something that you can't see?

fluxtransistor: asking for a friend?

gaha: Well, it looks like I have timeouts on those lines

gaha: sonar_result = input()

   op_orders = input()

gaha: Any idea why would it be? :/

fluxtransistor: Exactly the same problem here.]

fluxtransistor: Giving me headaches for two days now.

fluxtransistor: I have decided to rewrite my python code in C because of it

fluxtransistor: ...first C program yay

gaha: I suppose CG will send you ERR messages only when next input() happens

fluxtransistor: I have a timer from the start of my code and if I print the value to stderr before the print call it is about 4 ms

fluxtransistor: * input call, not print call

gaha: Yeah, same, I suggest the timeout really happens after those input()

fluxtransistor: But after the input call it doesn't print at all

gaha: but you get logs only from before it

fluxtransistor: Yes

fluxtransistor: It must be a bug on their end

gaha: I need those logs though :/

fluxtransistor: I need my code to work, not just the logs ;)

Default avatar.png RMuskovets: Wow, got from 588th to 227th place in leaderboard :) Today's a productive day for me)

wlesavo: pb4 switched to python? :grinning:

pb4: deterministic opponent

pb4: I've seen things I don't like on a replay

pb4: but the opponent was not deterministic

pb4: I push a but that plays the same sequence of actions over and over

wlesavo: lol

pb4: though I can switch my main bot to python if you want :innocent:

wlesavo: no thx, there is enoygh competition already :slight_smile:

Uljahn: btw in python you could use flush=True for your debug printing, it'll dump your logs before the timeout

gaha: Thanks, let's see

Default avatar.png RMuskovets: pb4 What'd be the difference? If the algorithm is the same the bot's behavior will be the same... Except the Python

Default avatar.png RMuskovets: 's low speed

pb4: no interest at all

gaha: flushing works, thanks A LOT

Uljahn: yw

fluxtransistor: oh god thank you for this

marshadow9: ho

marshadow9: how do i win the mars lander level 1?

Default avatar.png RMuskovets: marshadow9 afaik you should turn on the engine when vertical speed > 40 m/s

Scarfield: marshadow9 if your vertical speed downwards exceeds 40 m/s you will crash. You need engine power of 4 to overcome the acceleration from gravity (-3.711m/s^2 iirc) and slow down

aaronshenhao: Sounds like an interesting optimization + physics problem

idkhow2codee: hi, c++ question - why I can't skip game output(std::cin) by using std::cin.get()?

aaronshenhao: How to further golf this code:

aaronshenhao: Someone did it in 2 less characters!

aaronshenhao: Also in Python3

Scarfield: a=n-x f=lambda x:print("."*(a)+"*"*(x*2+1)+"."*(a))

Scarfield: 1 shorter at least :p, never been interested in gold though :p

Scarfield: golf *

aaronshenhao: Think still the same, since \n counts as 1 character

Default avatar.png RMuskovets: f=lambda x:print("."*a+"*"*(x*2+1)+"."*a)

aaronshenhao: Ah that would work

aaronshenhao: That would cut it down by 4

aaronshenhao: They probably used recursion with def

aaronshenhao: Semi-recursive lambda is pretty cool: a = lambda x: 0 if x == 0 else 1 if x == 1 else a(x-1) + a(x-2)

Default avatar.png RMuskovets: is it fibonacci?

Default avatar.png RMuskovets: aaronshenhao

aaronshenhao: Yes it is

aaronshenhao: Fibonacci of nth number I think

aaronshenhao: nth Fibonacci number*

Default avatar.png Santyx_Orrer: will the competition go on after the contest has ended?

aCat: yes

aCat: the game will go as multi

RoboStac: aaronshenhao - if you make f an actual function instead of lambda it's two characters less (def f(x): vs f=lambda x:)

aaronshenhao: Oh yea, that's true. Should only use lambda when returning.

RoboStac: you can also do "[*map(f,range(n))]" instead of your for loop

aaronshenhao: O_O

aaronshenhao: I also learnt today that apparently [*aList] is faster than aList.copy()

AntiSquid: TOP 20, the dream is closer :')

AntiSquid: maybe i should actually add mine avoidance? :thinking:

Default avatar.png DanTheMan832: Any tips for tracking opponent when they use silence? I get close to locating them then their possible positions gets really large again?

Nerchio: just neeeds time to track them down

Default avatar.png RMuskovets: what's the general "idea" of tracking enemy?

AntiSquid: of course e need a puzzle of the week

fluxtransistor: wait so you have dfs, bfs and all but don't track your enemy?

AntiSquid: dfs is much easier lol

fluxtransistor: I haven't implemented it yet, but my bfs works really well

sashaboulouds: Hello guys

sashaboulouds: Does it exist group coding games

sashaboulouds: Between teams?

Uljahn: use sonar and mine triggering to narrow his positions down

Uljahn: oops frozen chat

sashaboulouds: Guys

sashaboulouds: what are u talking about?

fluxtransistor: The 'ocean of code cah

fluxtransistor: challenge

sashaboulouds: wtf is that??

sashaboulouds: :innocent:

Default avatar.png RMuskovets: fluxtransistor yes, i have dfs but still don't track enemy)

fluxtransistor: ok lol

Default avatar.png RMuskovets: and i guess silence will be a headache

fluxtransistor: I guess

fluxtransistor: What league are you in?

Default avatar.png RMuskovets: wood-1

Default avatar.png RMuskovets: i thought about getting all possible locations for the opponent

Default avatar.png RMuskovets: e.g. if they moved north they couldn't be at the topmost row

fluxtransistor: The way i do it is I have a list of possible starting positions and just eliminate them by simulating the move history

fluxtransistor: But yeah that's it in a nutshell

wlesavo: pb4 i liked your python bot more

wlesavo: this one is mean to me

Default avatar.png RMuskovets: fluxtransistor i'm gonna try that, thanks)

pb4: :D

Default avatar.png RMuskovets: i need a opponent that doesn't use silence

Default avatar.png RMuskovets: with boss my tracking algorithm goes "mad" - 0 possible enemy locations

Illedan: Just nerf your own bot and submit it.

Default avatar.png RMuskovets: does silence have the same range as torpedo?

RavenKZP: from 0 to 4

Default avatar.png RMuskovets: yeah, like torpedo

Default avatar.png RMuskovets: before silence: 46 unique guesses after silence: 1886 unique guesses

Default avatar.png RMuskovets: wow, i managed to track myself well) only 2 guesses

NormantasStankevicius: but

NormantasStankevicius: doesn't silence only go x or y axis?

NormantasStankevicius: no Diagonal?

Default avatar.png RMuskovets: yea, no diagonal

Default avatar.png RMuskovets: more chances to track enemy out

NormantasStankevicius: do you try to track

NormantasStankevicius: where he was?

Default avatar.png RMuskovets: yes

Default avatar.png RMuskovets: and silence is not THAT bad

NormantasStankevicius: how do you track where he was?

Default avatar.png RMuskovets: > The way i do it is I have a list of possible starting positions and just eliminate them by simulating the move history

NormantasStankevicius: after silence

NormantasStankevicius: yeah, most of us do that

NormantasStankevicius: but like after silence

fluxtransistor: Haha just quoting me lol

Default avatar.png RMuskovets: just add every possible position after using silence

NormantasStankevicius: cause I am thinking of implementing proper silence tracking just thinking how to optimize

Default avatar.png RMuskovets: premature optimization is bad

NormantasStankevicius: ahh well

Default avatar.png RMuskovets: optimize only when needed AND possible

NormantasStankevicius: I'll need to do that

NormantasStankevicius: cause it seems

NormantasStankevicius: at least in silver 200ranks

tomatoes: why 46 to 1886? should be 46*17=782 maximum

NormantasStankevicius: it's better to do no guessing than just placing him anywhere on the map?

Default avatar.png RMuskovets: i was thinking diagonal too

Default avatar.png RMuskovets: wow

Default avatar.png RMuskovets: before move: 3645 after move: 148

Default avatar.png RMuskovets: before silence: 58 after: 4698...

Default avatar.png RMuskovets: that's not possible

Default avatar.png RMuskovets: 225*17 = 3825, not filtering unique

Default avatar.png RMuskovets: why can a print (python3) not execute?

fluxtransistor: try adding flush=True

Default avatar.png RMuskovets: like, i have two prints that should write a big-ass list to stderr each and only first one executes

Default avatar.png RMuskovets: fluxtransistor i already have flush there

Default avatar.png RMuskovets: and no timeout

RoboStac: are you getting ...'s at the end? CG have limits on how much debug they send you

Default avatar.png RMuskovets: yes, i have ...

RoboStac: yeah, that means you tried to send too much debug and it's been trimmed

Default avatar.png RMuskovets: How does a player move up in the leaderboard?

wlesavo: MOVE N

fluxtransistor: ctrl a --> del --> submit

Default avatar.png RMuskovets: wlesavo :joy:

Default avatar.png RMuskovets: I was serious)

fluxtransistor: Submit and hope

fluxtransistor: It will automatically battle

Default avatar.png RMuskovets: I know, but if I win in almost all battles and get lower, what's the reason?

fluxtransistor: Maybe you won more battles before?

Default avatar.png RMuskovets: E.g. i won in ~70% of my battles but from 219th place got to 234th

Default avatar.png RMuskovets: I need to improve my tracking

Default avatar.png RMuskovets: Even though I mostly win, my tracking is not perfect

wlesavo: if you want real improvemnt add SILENCE N 0, thats not even a joke

Default avatar.png RMuskovets: I don't understand...

fluxtransistor: Is it because it confuses 'strategic' bots?

fluxtransistor: As in they don't expect it?

wlesavo: charge silence and use it for 0

wlesavo: no its because its hard to screw up with this

Kiat: why this silence N 0 is a valid command and show up?

wlesavo: its valid by rules

gaha: there are players that assume you're doing SILENCE 0 and this is funny

wlesavo: add one silence 3 in early turns and they will timeout

wlesavo: whole silence tactics on a plate

kovi: how do you know? :)

gaha: so this is what you do in Legend League

wlesavo: kovi :smiley:

wlesavo: gaha whis is what kovi did for quite a while, not sure if he still does that

RoboStac: gaha - I only ever do silence 0 (due to lazyness) and it's enough to get to legend so there can't be that many that do that

fluxtransistor: Does the scoring count your life at the end of the game?

RoboStac: no, just win/loss/draw

fluxtransistor: Good - my torpedo bot is slightly self-harming

E_pur_si_muove: SILENCE 0, or SILENCE x: does it make a difference? I guess no.

E_pur_si_muove: it's just easier to "calculate" SILENCE 0.

wlesavo: if you estimate badly you can end up in worse position, so thats the difference, also saving space for movement

kovi: with slow refresh and multiple submits i lost track again what helps and what isnt

AntiSquid: i don't like this either, but this is like halite

Nerchio: what is it like

RavenKZP: AntiSquid do you sleep sometimes? or at all? :D

Illedan: RoboStac, Silence 0 is enough for the top too :P (except for the final kill though)

RoboStac: yeah, I've not got any final kill code yet

AntiSquid: i work from home and i am bored so i drop a line in chat whenever RavenKZP

Default avatar.png boura0013: Hello everyone

Default avatar.png boura0013: I like this

Default avatar.png boura0013: Just started using

Default avatar.png boura0013: any tips?

RavenKZP: So do I

Default avatar.png boura0013: hullo peeps

JanisSerzants: Can I minimize sonar, torpedo and silance cooldown in one turn?

Default avatar.png boura0013: i dont know

gaha: You can choose one ability to charge

JanisSerzants: One ability per turn?

gaha: Well, actually one ability per MOVE command

JanisSerzants: :fearful:

JanisSerzants: So what do you think, whats is more important, sonar, torpedo or silance?

Im not sure I want to attack, so I think silance

AntiSquid: silicone *

gaha: I don't think silence is for attack

JanisSerzants: That is what I said, i'm a defence guy, I think I will stick with silance

gaha: most of the times you use it to hide

gaha: Oh, yeah, sorry

gaha: misread

gaha: you usually want to have your torpedo charged though

Default avatar.png boura0013: hope that you suceed in whatever you are doing

Default avatar.png boura0013: and i am NOT a bot

JanisSerzants: Thanks! Hope you will do great as well!

Default avatar.png boura0013: Yeah i am doing one of the easier puzzles

Default avatar.png boura0013: i am suceeding

Default avatar.png boura0013: :)

JanisSerzants: Well my plan is to get as long water road as possible and move forward and backward, that got me out from wood 2

JanisSerzants: Now on wood2 I need to run if possible, and fire from the back

JanisSerzants: gaha, I can move with silance in a straight line only?

gaha: Yes

gaha: people often do silence 0, since you don't need to write much code to do this

JanisSerzants: what does silance 0 does?

gaha: does nothing, but you enemy does not know what silence you did

gaha: so if he wants to keep track of your position, he needs to assume you might have done something

JanisSerzants: hmm, well I should try it as well, are you doing it?

Uljahn: im doing silence 1 with the same logic as move

gaha: I did, but I am doing longer ones now as well

Default avatar.png boura0013: hello

Default avatar.png boura0013: wish you luck in your activities

Default avatar.png boura0013: and hopes and dreams of course

JanisSerzants: can i do silance and shoot torpedo in same time?

Nerchio: yes

69razer69: gogo go

Default avatar.png vincent-vdb: does someone know how to get the final 'input()' (my_life, opp_life...) after the game over?

dbdr: you can't

aaronshenhao: haxx

Astrobytes: Submits broken?

dbdr: very slow

Default avatar.png vincent-vdb: thanks, then anyone managed to use reinforcement learning without the final outcome?

Astrobytes: Oh I see on the discord

gaha: you could do ML if you downloaded game in java

Default avatar.png RMuskovets: from here?

gaha: y

Default avatar.png RMuskovets: a mistake,


Uljahn: using RL means you play the game offline and then upload the weights of the model trying to fit in 100k IDE limit

Default avatar.png vincent-vdb: thanks gaha, I'm not used to java though and I don't manage to do more than the README example! But I will keep trying

gaha: so I didn't do it myself, but installing requirements and running the game is not that hard

gaha: later I imagine you want to print your data to a file instead of error stream

JanisSerzants: gaha, how can I use only silance, just typing SILANCE 0 is crashing

gaha: you can use those files to learn

gaha: SILENCE S 0

gaha: you need to pass direction

gaha: any direction

Default avatar.png RMuskovets: any from N,W,S,E

Default avatar.png vincent-vdb: Thanks Uljahn, indeed 100k is quite small for a model... probably not a good idea

aaronshenhao: Captcha is sabotaging me

aaronshenhao: :P

JanisSerzants: SILANCE E 0 killed me

gaha: well, i don't know what SILANCE is

JanisSerzants: MOVE SILANCE E 0 as well

gaha: SILENCE E 0 should work

JanisSerzants: :P

Default avatar.png RMuskovets: aaronshenhao there is captcha?

JanisSerzants: Greates weakness of developer is typo

aaronshenhao: I keep getting catchas lol RMuskovets

Uljahn: RMuskovets: in Clashes yes

Default avatar.png RMuskovets: wow, didn't see that before

Uljahn: you should play a lot of CoCs to see it

Default avatar.png RMuskovets: a lot of CoCs = not that much of OoC that's more interesting for me

Default avatar.png RMuskovets: i meant, OoC is more interesting that CoC

ZarthaxX: dbdr Astrobytes submits slow still?

Astrobytes: yeah ZarthaxX

ZarthaxX: wow they were like that 12 hours ago

aaronshenhao: What's OoC

ZarthaxX: ocean of code

ZarthaxX: current contet

ZarthaxX: contest

aaronshenhao: I only play clash lol, so idk

ZarthaxX: ah ok :P

Default avatar.png abuntuu: hi

ZarthaxX: hai

Default avatar.png DanTheMan832: I'm better than the boss but I haven't been promoted??

RoboStac: you have to wait for your matches to reach 100%

Default avatar.png DanTheMan832: oh ok

wlesavo: wanted to relax a bit, so went to play some tron, got to legend with 200 lines without even implementing any minimax type algo, basicaly one heuristic and estimation of voronoi diagram on depth 1, without considering any of opponent actions, is it supposed to be that easy?

dbdr: wlesavo I think you have great intuition for heuristics :)

wlesavo: hm

dbdr: as you proved in OOC

ZarthaxX: how did u do that

ZarthaxX: fucking beast D:

nicknobody: language!!!

wlesavo: well it is my second legend, conting ooc for the first, i guess i will try to find some more heuristics in another games :slight_smile:

wlesavo: ZarthaxX well heuristic was to stick to my body or map edges when im isolated, basically thats it

ZarthaxX: mhmm

ZarthaxX: impressive, super simple

ZarthaxX: any tips on how you work out your heuristics?

ZarthaxX: im weak on that aspect

nicknobody: can some one help me with ocean od code

wlesavo: i dunno, most of that seems just to be a general sence

ZarthaxX: mmhm i see

ZarthaxX: can i give an example with a replay of ooc

Default avatar.png TheDoubleLlama_6c58: hello guys

wlesavo: sure

Default avatar.png TheDoubleLlama_6c58: is there a requirement here to make the lowest number of steps possible?

ZarthaxX: like in this case

ZarthaxX: frame 143 and forward

ZarthaxX: if you were to abnalyze that

ZarthaxX: would u say main error was to reveal on shot?

ZarthaxX: or the error may have come from before

ZarthaxX: due to the pathing

ZarthaxX: i find it hard in games to see sometimes where the main problemis

ZarthaxX: to adjust the heuristics of a shot in this case

ZarthaxX: so many corner cases

Skril: Hi, you might have not used silence on frame 132 Did not improve your visibility Could have been used right after torpedo shot

wlesavo: i guess tough luck, but there is definetely one thing wrong with this replay, not charging torpedo after shooting

wlesavo: also that, yes

ZarthaxX: Skril right, im checking now to improve the silence heuristic, ty

ZarthaxX: thanks wlesavo appreciated

wlesavo: Skril nice sub btw

Skril: thanks :)

ZarthaxX: you were gold couple days ago right Skril? great improvement past days

Skril: some tiny improvements (like this silence thing) had great impact :-)

ZarthaxX: oh for real?

ZarthaxX: nice them, gives me hope

ZarthaxX: great work dude

ZarthaxX: then*

Skril: thanks :-) good luck !

ZarthaxX: ty

struct: Were you at the top before Skril?

struct: I cant recall

wlesavo: i think in silver he was

Skril: reached temporarily #5 in silver if I remember right

ZarthaxX: submits are still wonky right?

pb4: " some tiny improvements (like this silence thing) had great impact :-)"

pb4: tell me more ^^


wlesavo: i kinda stoped with tiny improovements cause they didnt seemed to give much impact, but probably i should come back

wlesavo: damn, my enemy detection has twice the length of the full tron code

ZarthaxX: lol

gaha: yeah, how many code lines do you have?

Skril: pb4 : mostly improvements on mine over-avoidance and compact pathing ;-)

wlesavo: tryed to do smth like that if i understand correctly

darkhorse64: wlesavo: i think we have the same tron bot. Other multis are much much harder

wlesavo: darkhorse64 yeah, just was surprised by that

kovi: top is getting packed more and more, no clear top3 any more

MadKnight: sure thing helloi

MadKnight: responded to an old message

NormantasStankevicius: Question guys, how do you optimize

darkhorse64: Contests also are getting much and much harder

NormantasStankevicius: the insane amount of predictions of the enemy after silence?

darkhorse64: We pray and hope for the best ?

NormantasStankevicius: so if someone spams silence

NormantasStankevicius: god has not answered your prayers, huh?

darkhorse64: Sort of

NormantasStankevicius: let me guess

NormantasStankevicius: you have a ductape fix for that xd??

darkhorse64: Silence spamming is effective when there are very few islands. Otherwise, after a few moves, tracking reduces drastically your choices

NormantasStankevicius: thanks for the idea ;)

Uljahn: also you can use sonar and trigger mines to further reduce enemy positions

nicknobody: you guys love gaming

aaronshenhao: How does this even work: f=lambda n:n and n/5+f(n/5)

pb4: kovi : agreed onthe very packed leaderboard

pb4: also below the top 5, people are getting closer and closer

pb4: It's really hard to climb now :/

NormantasStankevicius: hmmm

NormantasStankevicius: Seems like I won't leave silver

NormantasStankevicius: without silence counter

NormantasStankevicius: well

NormantasStankevicius: let's go

aaronshenhao: Nvm I get it now, it's python2 that's why

wlesavo: works in python 3.8 also

wlesavo: but returns n/4, duuno what it is supposed to do

aaronshenhao: Should be int I thought


JFB: Funny thing on leaderboard - nus_miz is first in Gold - and last in Legend (simultanously) :-)

idkhow2codee: I don't know what's the purpose of MSG command but I have an idea for example I would type some fake commands so if enemy's bot doesn't handle MSG command properly then it would be gg

icecream17: nah, just for debug. enemy doesn't get your messages

wlesavo: enemy bot does not get the msg command

JFB: MSG is for display something on the screen

idkhow2codee: haha k

idkhow2codee: what a shame

icecream17: what if there was a seperate thing, called "enemy message"? then cooperating people could tie...

icecream17: aw but some people would cheat the system.. hmm

idkhow2codee: hmm

Nerchio: i mean if you tried hard you could do it anyway

icecream17: could we do it without msg? like, up up left left down down or something?

RavenKZP: Thats for what are MSG messages: :D

icecream17: =O Raven you are genuis

RavenKZP: all my bots use them in taht way :D

Nerchio: damn it's hard to test when submit goes so slow

wlesavo: icecream17 in #ru we just disscussed that such thing could be used to promote bots in legend, through spam submiting and thats why the servers are so laggy today, but that is sounds more like conspiracy theory

ZarthaxX: dont test :P

icecream17: well, i'm stuck in silver. (20 days or so)

icecream17: aw... i didn't get to see the whole lyrics


AntiSquid: lol lagging server to prevent legend promotion :D

AntiSquid: CG servers are always in bad shape unfortunately

Nerchio: " Issue was with the DB, it should be better now (or soon, the time that all waiting games get played)"

ZarthaxX: where did u get thqat from

struct: discord

Nerchio: ^

ZarthaxX: ah i saw it ty

ZarthaxX: y

Nerchio: I will wait till its faster otherwise i can't test my bot properly

Riyuk: That's why it's worth it to have a local arena :/

Nerchio: we can download from github maybe i will try to set it up

JFB: Made local arena is not difficult (you can use githab as start point, maybe use brutaltester from github too) - but local arena has disadvantage that you can play only with your bots. Or maybe, if you gently ask siman, he will send you his bot - for test purpose only of course ;-)

Nerchio: lol :p

AntiSquid: you just download the game and edit the main file into some local arena manager which takes whatever bots you want and plays them against each other in whatever way you want

Riyuk: Lol :D Against an old bot is fine enough to see the changes!

AntiSquid: Zenoscave so close

Default avatar.png jules1: anybody have any advice for coders strike back

AntiSquid: yes, quit it and play contest instead

Nerchio: haha come on :P

Default avatar.png jules1: lol

Nerchio: if i played that i would give you some advice :D

Default avatar.png jules1: lol is there any bot programming challenge thats fun that i should try

Default avatar.png jules1: contest?

AntiSquid: yes

Nerchio: depends what you consider fun haha

AntiSquid: well these people in chat keep saying the contest is fun, so try it

AntiSquid: if you ask me for a fun multi i will recommend you something else

AntiSquid: but not CSB

Default avatar.png jules1: ok whats a fun multi :P

Default avatar.png DanTheMan832: What does MSG do

AntiSquid: nothing

AntiSquid: what type of games do you like jules?

Nerchio: MSG prints a message below your portrait in the game

Default avatar.png jules1: i like something simple to pick up on, like not overly complicated at the outset

AntiSquid: CSB gets complicated later on

Default avatar.png jules1: yeah and im all good with that

Default avatar.png jules1: so long as its not too complicated at the very beginning :)

AntiSquid: ah


AntiSquid: very simple

AntiSquid: to start off with

Default avatar.png jules1: ok ill give that a try! thank you :)

Nerchio: damn i missed so many fun games over the years :p

RavenKZP: CSB?

RavenKZP: oh ctrike back

AntiSquid: Common Serial Bus, far inferior to USB

RavenKZP: for me 10/10 one of the best

Zenoscave: BotG is best game

AntiSquid: thanks

Zenoscave: it says so in the opening

AntiSquid: if you would make a game what would you do Zenoscave?

Zenoscave: not sure. probably something math based

Nerchio: i like ocean of code best but its the only one i played

AntiSquid: they all require math afaik

Zenoscave: I mean truly math based like crypto math

Nerchio: ameler first in gold

Nerchio: new legend incoming?

Zenoscave: probably

Nerchio: you just beat me zenos

Zenoscave: I see ;)

Zenoscave: you just beat me

ameler: I hope !!!!

Nerchio: but this commit has a bug in killer moves

ameler: :)

Nerchio: they don't trigger

AntiSquid: there's a chance you end up 2nd though and then get dropped, happened to me twice in a past contest

ameler: yes :/

Nerchio: no chance

Nerchio: ameler goes legend

ZarthaxX: *fails in the end*

Zenoscave: still a chance his score isn't high enough yet

ZarthaxX: its not updating zeno lol

AntiSquid: 0.24

Nerchio: matches are getting played faster and faster

Nerchio: finally

AntiSquid: ah higher diff now

Zenoscave: probably going through now

Nerchio: so i have a question

ZarthaxX: gz :)

Zenoscave: We have answers

Nerchio: how do i avoid losses where i walk on a minefield before seeing the enemy

Nerchio: seems luckbased

Zenoscave: don't walk on the minefield

ZarthaxX: dont walk into it

Zenoscave: :+1:

Nerchio: damn

ZarthaxX: oh zeno you :*

AntiSquid: lol

Nerchio: i haven't thought of that

ZarthaxX: lmao

AntiSquid: very helpful haha

ZarthaxX: but its true

Zenoscave: surface and reverse

AntiSquid: or silence near mines

NormantasStankevicius: xd

NormantasStankevicius: silence dash to enemy

NormantasStankevicius: AND FIRE

AntiSquid: they detonate that shit because they are too eager

Nerchio: the funniest thing was when i submited with silence broken

Nerchio: didnt use it at all

Nerchio: and still was top150 gold lol

ZarthaxX: top150 is not much anyway

Zenoscave: that is barely top half

Nerchio: damn you both are so brutal

Nerchio: you know how to put man down

Zenoscave: Thanks

ZarthaxX: looooooooooooool

AntiSquid: bots keep improving, top 150 will be top 250 in few days

AntiSquid: but Nerchio it's true

AntiSquid: if you were here back when contest started you'd notice some from the initial top whatever you want to call top are now in silver or low gold

Nerchio: also funny is that i use flood fill for movement but it looks the same as people with dfs

AntiSquid: uhm

Nerchio: I didn't realise before yesterday that this even is already like a month

Zenoscave: very few cases will they differ

Nerchio: i saw people that submited on 6th or something and was like "wow they wrote the bot in 5 hours and are top gold" ;p

Nerchio: but the battles had been going for quite a while

icecream17: 5 hours? wow

idkhow2codee: can I move in the same turn when I surface?

Nerchio: yes

idkhow2codee: ty

Nerchio: so zenos

Zenoscave: yes

Nerchio: what happened between your 2nd place and 36 now

eulerscheZahl: when legend?

Zenoscave: new submit. testing things

eulerscheZahl: do you have the killer feature now?

Zenoscave: I do

ZarthaxX: he is not gonna make it

ZarthaxX: the feature that inclues not knowing the position?

Zenoscave: I lose dog fights too much

eulerscheZahl: it's tradition for him to stay in gold?

ZarthaxX: dog fights?

ZarthaxX: yeah he liked the gold color

Zenoscave: close combat

ZarthaxX: ah ye hate those

ZarthaxX: maybe the solution is to avoid them

eulerscheZahl: yeah, in some cases it's possible to enforce a win without knowing the exact location of the opponent

Zenoscave: i don't think my code is set up for that yet

ZarthaxX: i remember

ZarthaxX: clever thinking toad

eulerscheZahl: but now i lost all my motivation

eulerscheZahl: did better in the last marathon, ignoring the first half entirely

Default avatar.png rwilson: eulerscheZahl quick question - did your stats gathering learn anything interesting about the map layouts? a couple folks posted seeds where there were isolated 'ponds' of water... kinda curious if it's just rare? or insanely rare...

Default avatar.png jules1: can anyone here answer a question about botters of the galaxy?

Nerchio: i had a seed that was split map with bot like 80 squares and no way to reach another

Zenoscave: Anti can answer about BotG

icecream17: current pos variables: currx and....

Default avatar.png jules1: im just wondering how i know what items i can buy.. i dont see that info anywhere in the rules, and maybe its just that the javascript starter code doesnt make it obvious or even doesnt do something right, but i dont see how i figure that out

icecream17: in Ocean of code??

Zenoscave: no icecream17

Default avatar.png rwilson: ;) the first i saw was a TINY little pond & both bots chose to live in it... i'm sure anyone doing random start point will eventually land in a bad isolated pond & get surfaced to death

Zenoscave: AntiSquid

Zenoscave: BotG question ^

icecream17: oh oops i wasn't listening sorry

Default avatar.png jules1: no problem :P

Default avatar.png jules1: although if anybody out there can answer this broader question, thatd be great: is the starter code on these games not supposed to be changed?

Default avatar.png jules1: or does it frequently need to be changed

Default avatar.png jules1: (depending on the language)

Zenoscave: frequently needs change

Default avatar.png jules1: ok lol good to know!

Zenoscave: Starter code only doesn't crash. never intended to do well

icecream17: I need an autochange bot for starting things....

Default avatar.png rwilson: changed ... but usually gets you to the first input .. but not always enough to get even 1 turn done right.

Default avatar.png jules1: ah interesting

Default avatar.png rwilson: jules1 the rules section on Botters should have the items info in the Game Input section ( though, it does not list out all the items possibly given to you... just how to read their properties )

Default avatar.png yfprojects: Are you able to do some calculations while opponents turn? or is it allowed?

Zenoscave: yfprojects it's possible but it isn't much time or worth setting up

Zenoscave: not worth it

Default avatar.png yfprojects: its up to 100ms more

Zenoscave: if you can thread the code. you only run on 1 cpu. you get maybe 25ms out of it total

Zenoscave: but it's difficult

Default avatar.png yfprojects: so its allowed?

Zenoscave: sure go for it.

Default avatar.png yfprojects: i'll probably do it if I dont have enough time

Zenoscave: I'm telling you top players have tried and found it was not enough time to be worth the setup

Default avatar.png yfprojects: mmh

icecream17: monomethylhydrazine???

icecream17: (what i got when i searched it up)

Zenoscave: icecream17 lol

Default avatar.png yfprojects: what did you search?

Zenoscave: mmh

Default avatar.png yfprojects: go to

Default avatar.png yfprojects: used mostly for thinking

Zenoscave: auchso

icecream17: oh. i don't know anything other than english....

Default avatar.png rwilson: yfprojects - a few key details about multi-threaded ... your time is accounted for across threads ( so you don't get 'extra' time by splitting it up... and your process is effectively paused while waiting for your opponent. so you can't 'think' while their turn is running...

Zenoscave: rwilson some were able to fork-exec and avoid this limitation

Default avatar.png yfprojects: not always i think

Zenoscave: but the setup is much too much to result in extra time

Default avatar.png yfprojects: i got up to 100ms extra time

Default avatar.png yfprojects: well, sometimes only 11ms

eulerscheZahl: yfprojects 07:03PM Are you able to do some calculations while opponents turn? or is it allowed?

your thread will be paused during the opponent turn

eulerscheZahl: i tested that already

eulerscheZahl: you get a few extra percent in the timeframe between switching threads but as Zenoscave said: not worth the effort

Default avatar.png rwilson: Zenoscave i'd be curious to see the setup, ( i'll go forum diving later ) .. last i looked into it ( years ago now ) it looked like CG's stance was to track it tightly, so there's no unfair advantage

Default avatar.png yfprojects: mybe my tests were buggy

Zenoscave: well said euler

blasterpoard: it doesn't get more drawish than this...

eulerscheZahl: what a boring match

Illedan: Pacifist bot?

AntiSquid: why wouldn't any of them try to guess the opponent might follow the same "best idea" ?

icecream17: hey, can anyone find a really really really empty map?

Default avatar.png yfprojects: seed=-430391657 what about this one?

icecream17: great! thanks

icecream17: now to figure out a very good strategy for silencers

Nerchio: antisquid you beat me in my submit

Nerchio: i just walked over your mines

Nerchio: and i already changed my mine-avoidance pretty high =/

Default avatar.png yfprojects: @eulerscheZahl and @Zenoscave could you look at this test code?

Default avatar.png yfprojects:

Default avatar.png yfprojects: is for tictactoe

idkhow2codee: how to advance to higher div?

Illedan: Submit a bot better than the boss

Default avatar.png rwilson: idkhow2codee - when your submitted bot has a higher 'score' than the league boss. Roughly that's win % rate against everyone else in the league.

idkhow2codee: oh k thanks for clear explanation

Default avatar.png rwilson: ;) just being able to beat the boss 'head to head' is not enough ;)

AntiSquid: you walked into mines then your mine avoidance isn't high Nerchio

idkhow2codee: :grin:

AntiSquid: read my bot messages for debug help

Nerchio: i should make the whole map one big mine

Default avatar.png wolf-555: hello

icecream17: Go around the opponent in a circle and surround them with mines

Nerchio: go outside map boundaries so they can't find you

Default avatar.png rwilson: Mine change reactions would have been a fun addition to OOC.

Default avatar.png rwilson: ... CHAIN .. :(

Nerchio: i think maybe possibility to destroy mines with shot would be okay

Nerchio: not sure how often it would be used though

Illedan: If you could kill mines with shot, you can simple shoot ahead of yourself

AntiSquid: it's inspired from captain sonar, which is different

Illedan: and clear the path

Nerchio: nah

AntiSquid: clear path at the cost of giving away your position

Nerchio: you shoot you can get countered

Illedan: But I'm not sure if the game would better.

AntiSquid: well captain sonar surely got popular for a reason

icecream17: What about a new option to charge...

AntiSquid: no

Default avatar.png yfprojects: a mine defuser

eulerscheZahl: yfprojects that's an academic example: you test it in wood, where the opponent takes close to 0 time in most matches

Default avatar.png yfprojects: no i play against myself

eulerscheZahl: that invalidates my argument

eulerscheZahl: wait, it doesn't your main thread responds instantly

eulerscheZahl: so the most time consumed is referee + communication

Default avatar.png yfprojects: oh i deleted that part

eulerscheZahl: and there is a small gain between thread switching

eulerscheZahl: 2ms compared to 0.001ms is a lot 2ms to 100ms isn't

icecream17: What if you could charge supersonar? You immediately get the opponent position with 15 charge!

Default avatar.png yfprojects:

eulerscheZahl: i guess i could run your code to check for actual timings

AntiSquid: Icelemon maybe your issue is that you don't like how some skills work, let's talk about that instead?

AntiSquid: icecream17 *

AntiSquid: damn accidentally pinged your brother

Default avatar.png yfprojects: icecream17 that would be stupid and boring

icecream17: hmm.... what about.... hmm....

AntiSquid: as boring as all multis with full information

icecream17: oh righ

Nerchio: michael pu first in gold

icecream17: what about teleport? it take 50 charge...

AntiSquid: more appealing to some than others so ...

AntiSquid: 50 charges?

AntiSquid: icecream17

AntiSquid: oh there are drones in the original

eulerscheZahl: i tried different delays in your time.sleep but no notable difference in the iterations

eulerscheZahl: you would expect a linear correlation for this to work

eulerscheZahl: drones are pretty much the sonar in the contest

Nerchio: i am 3-1 vs michael pu in practice

Default avatar.png yfprojects: but you gain Some time from what i dont know

Nerchio: just shows how brutal gold is

eulerscheZahl: while the original sonar allows the opponent to give you 2 pieces of information about the own location (sector, x, y) where 1 is true and 1 is false

eulerscheZahl: but that would complicate the protocol

dbdr: independent answers for x and y?

AntiSquid: oh the real sonar would make the contest more "exciting" lol

eulerscheZahl: give both x and y, but one of them has to be a lie and you don't say which is wrong

eulerscheZahl: and x and sector or y and sector

eulerscheZahl: 17 more users, then we have as many as UTG

AntiSquid: well that would narrow down paths a bit

AntiSquid: even if one is a lie

Default avatar.png yfprojects: would be intersting

dbdr: can the referee respond "I always lie" ?

eulerscheZahl: true, but forces the opponent to handle the opponent sonar

kovi: i think something different is needed. almost no matter what i change (even badly) the result is the same

eulerscheZahl: same here kovi, just 30 ranks below

dbdr: I was thinking 140 matches is not a lot for legend

dbdr: don't you think?

eulerscheZahl: my bot doesn't even have huge winrate differences against top vs bottom

Illedan: For this game you need 140 matches vs each player :P

dbdr: :D

eulerscheZahl: yesterday morning i checked and was 2nd from the bottom

eulerscheZahl: in the afternoon is was in the middle

eulerscheZahl: without even submitting

Illedan: Very low difference

Illedan: And someone spamming

AntiSquid: now boss is 2 point abovve #2

AntiSquid: YoBo must feel horrible :D

eulerscheZahl: legend is big enough already

Illedan: yeah

eulerscheZahl: we are closed

Illedan: Fly little boss

AntiSquid: hah you wish

dbdr: yeah, 40

Illedan: up up and away

dbdr: that's it

icecream17: Rating should be like "10.56" with 29867 variation

Illedan: Yeah, I'll close it now

Default avatar.png MichaelPu: not so closed

eulerscheZahl: let's tell saiksy to put a stronger boss

dbdr: grats MichaelPu!

Default avatar.png MichaelPu: thanks

AntiSquid: almost sounds like some migrant crisis :D

Illedan: lol

eulerscheZahl: and CG will pay for it

eulerscheZahl: wait, bad metaphor gold league players will pay

AntiSquid: but only wlesavo built the wall

Default avatar.png coderinblack: ok

icecream17: Hmmm.... "switch players" option for 40 charge

icecream17: "infinite mines" for 50 charge

AntiSquid: you realize that's 50 turns of doing nothing but charging?

icecream17: It *might* be worth it

icecream17: But why do you charge when you move?

AntiSquid: feel the wrath of Automaton2000

Automaton2000: how is the contest winner

icecream17: Shouldn't it be the other way around

icecream17: I just thought of "Glitch"

icecream17: ooh... what should it do?

AntiSquid: make your own CG game :/

icecream17: too hard to do that, dont feel like it

icecream17: oh well.

icecream17: Maybe I should code something like "type of player". Like... "silence 0ers" or something

icecream17: Sonar looks more and more like a good option...

Illedan: What league?

icecream17: silver

AntiSquid: In 1958, at age 15, Bobby Fischer became the youngest chess player in history to be named grandmaster, the highest title possible. icecream17

AntiSquid: and you say making a CG game is too hard icecream17

Illedan: As long as you have decent mines + decent tracker. You should be able to reach legend :)

Illedan: *gold

AntiSquid: probably doesn't tkae much more to get legend either

Illedan: Legend requires a good tracker I think

AntiSquid: considering how flawed and incomplete my bot is

icecream17: My bot is currently worse than yours now

kovi: maybe i was wrong. same top4 is separated once again

icecream17: baboulaf's profile picture tricked me

icecream17: i'm surprised i win half the time - anyone who triggers a mine i instant -1

icecream17: nevermind, i only sometimes -1

icecream17: nevermind, i -1 for no reason

AntiSquid: more features more timeouts

ZarthaxX: gg squido

RavenKZP: better features better timeouts

Q12: Who can I contact to give an advice for improving the website?

eulerscheZahl: Q12

Q12: Thanks

Nerchio: get rekt zenos :d

Default avatar.png Summit: i am bad at coding

Q12: You will get better during the time.

icecream17: Breach test case number 1 is called "simple"

Default avatar.png Summit: Thanks :grinning:

icecream17: All my guesses are failing...

Q12: Don' Give Up:grinning:

AntiSquid: ZarthaxX luck

Default avatar.png Summit: How did you learn coding

AntiSquid: i made a wish

AntiSquid: i have 2 wishes left

AntiSquid: now get an avatar Summit

Default avatar.png Summit: i have one its just not showing

AntiSquid: ah i see it now

ZarthaxX: AntiSquid luck?

ZarthaxX: what

AntiSquid: Summit do you know how to code or just starting?

Default avatar.png Summit: Just starting

AntiSquid: ya ZarthaxX, you lucker if my bot wasn't so bad you would have your ass handed to you, lucker

AntiSquid: do the easy puzzles Summit

Default avatar.png Summit: Ok i will

AntiSquid: or get started with an easier site if this is still too hard

Default avatar.png Summit: Ok thanks for the advice

icecream17: Oh yeah, relief! I "successfully...."

ZarthaxX: i just said gg randomnly squid lol

Default avatar.png Summit: What coding platform is the easiest to learn?

AntiSquid: but you won ZarthaxX

AntiSquid: and i was joking

Nerchio: mlomb #1 ;o

mlomb: finally

Counterbalance: zarthy's alt?

mlomb: top gold meta is so random and broken

AntiSquid: lol Counterbalance

AntiSquid: they aren't even same animal

ZarthaxX: alt? Counterbalance

ZarthaxX: he is another boi

AntiSquid: did you check him?

AntiSquid: to make sure?

ZarthaxX: ye :)

Counterbalance: same flag/uni - you know each other in RL?

Nerchio: lets goooooooooo

Nerchio: good submikt

AntiSquid: oh shit, mlomb is ZarthaxX's teacher :o

ZarthaxX: lmao

ZarthaxX: Counterbalance not yet

Nerchio: thomasnicoulaud is my hardest enemy :(

ZarthaxX: we go to same uni tho, he is starting this year cout

ZarthaxX: Counterbalance

ZarthaxX: and nico is gone Nerchio

ZarthaxX: LMAO

Nerchio: what? :D

ZarthaxX: i saw him get golden

Nerchio: i am crushing the top atm

ZarthaxX: i think he promoted..

Nerchio: zathrax u got owned 3 times

ZarthaxX: yeah i hate u

AntiSquid: his avatar animal makes him look older though, ZarthaxX

Nerchio: lechuck 4 times

Nerchio: hahaha

Nerchio: zathrax

Nerchio: xDD

Nerchio: 5-1

Astrobytes: Tardax

ZarthaxX: sheez

ZarthaxX: what did u change

ZarthaxX: shh Astrobytes

Counterbalance: you still have the CotC hat, tsk

AntiSquid: Nerchio you need to say: gg ZarthaxX and then silence, most effective

ZarthaxX: Nerchio promoting

ZarthaxX: lmao

Nerchio: damn the curse of first place

ZarthaxX: 3 promotes

AntiSquid: well done Nerchio

Nerchio: lost 3 times

Nerchio: :(

ZarthaxX: ha :P

ZarthaxX: Counterbalance ppl want the hat

Counterbalance: make all brutal ... End of game 100 17,00% 78,00% /flip

Nerchio: i will ragequit if i dont make it

ZarthaxX: u can just resubmit Nerchio

ZarthaxX: lol

ZarthaxX: nico is gone

AntiSquid: can happen Nerchio

AntiSquid: but then you might also get pushed over night

AntiSquid: so ...

Nerchio: zzzzzz

Nerchio: 6-6 last matches

Counterbalance: decent lead

Nerchio: and zathrax beat me

Nerchio: :D

AntiSquid: you know where he lives, must not be too far from his uni Nerchio

ZarthaxX: :)

Nerchio: i will just keep submiting

ZarthaxX: just dont feed boss Nerchio

Nerchio: this

Nerchio: until i advance

AntiSquid: lol

ZarthaxX: and u fed him

AntiSquid: rekt

ZarthaxX: :/

Nerchio: ye i lost like

Nerchio: 6 times to lechuck

Nerchio: he got lucky

AntiSquid: no point resubmitting you shoot yourself in the leg if you overfeed boss

AntiSquid: best to just park the bot there on #2

AntiSquid: until you improve

Nerchio: looks like

Nerchio: i can go 10-0 vs captain and 0-10 as well

AntiSquid: but hey well done :D

Nerchio: last 30 matches

AntiSquid: ZarthaxX you better learn from him

Nerchio: is like

Nerchio: all wins except 2 vs everyone

Nerchio: and every game against boss was loss

Nerchio: looks like captain le chuck got lucky this time

Nerchio: back to the drawing board vs le chuck

icecream17: Yes! 518 -> 400ish

AntiSquid: yes finally eliminated one of the timeouts jeez

AntiSquid: icecream17 just get a decent opponent tracking, track all his steps

icecream17: i don't have one already? what am i missing?

AntiSquid: you do?

icecream17: i don't know. i think it's more that i don't blow up my mines or torpedo well enough

AntiSquid: ok let me try to give you an idea

AntiSquid: this is me tracking the opponent, the numbers represent how many possible paths are at each position:


FrankR: AntiSquid: does the number of paths matter? I just track the possible positions only

AntiSquid: and this is me timing out vs silver boss in a very sophisticated manner:

AntiSquid: idk, i think it does? i mean i got from 250+ to top 50 gold after i started tracking everything, but maybe it's not needed

RavenKZP: FrankR I'm tracking only possible points :)

icecream17: kept timing out if i do paths....

AntiSquid: what language icecream17?

icecream17: js

Default avatar.png Summit: Now im using codecademy

AntiSquid: ya it's a nice language but slow compared to c++

AntiSquid: actually icecream17 why don't you watch thibpat's stream? he streamed in JS how to get gold lol

AntiSquid: are we losing you Summit ?

Default avatar.png Summit: no

FrankR: AntiSquid: you really only get multiples for paths on opponent's silence right?

AntiSquid: yes

AntiSquid: i don't handle opponent mines yet

k4ng0u: FrankR if you don't track path precisely, you can't efficiently track mines so you are likely to surface all the time or spam silence constantly

icecream17: each possibleOpp position = 0.01ms

AntiSquid: i try to track them buti timeout atm

Default avatar.png Summit: im going to keep using this site but i need a foundation to build on

icecream17: with silence and paths: 128 * 16 * 0.01 > 50... timeout

Default avatar.png Summit: i have no prior knoledge to coding

Counterbalance: icecream17 are you using lambdas?

icecream17: what's a lambda?

Counterbalance: :)

FrankR: k4ng0u: I do track, the question is why would it be better to keep track of the number of paths for each position, instead of just knowing that the enemy could be at a position or not?

AntiSquid: icecream17 that's something you need to learn in JS

Counterbalance: array.sort( (a, b) => a < b ) etc..

icecream17: another thing ive never heard of

icecream17: oh, .sort()? yeah i know that...

AntiSquid: what about ES stuff? did you learn any of that?

icecream17: but how it relates to lambdas idk

Counterbalance: or array.each( el => { stuff } ) - it's really slow

icecream17: ES? also never heard of that

AntiSquid: well lambda is just a compressed way to write functions

icecream17: oh. yeah i know that

AntiSquid: icecream17

icecream17: you mean ES5 and ES6 or stuff like that?

AntiSquid: yes

icecream17: ok... well i learned js like in 2018 or something so im good

AntiSquid: ah

Counterbalance: es6 is still not usable on all browsers :(

AntiSquid: use a clock to check where you waste time in your code icecream17

icecream17: var time = new Date()

AntiSquid: edge and IE are not browsers

icecream17: new Date() - time = 1 (millisecond)

icecream17: Also I lose time on paths like this:


AntiSquid: ah i see why i lose vs silver boss, he silence spams and i don't handle that correctly

FrankR: does anyone know a decent way to avoid/detect enemy mines?

icecream17: And then the error stream just shows "..."

Counterbalance: errorlogging = extremely slow in js

icecream17: well, i could just put the time in an array but i wouldn't ever see it because it would timeout too early...

icecream17: Maybe I could make a "setInterval" thing that displays every 5ms....

icecream17: But usually the error stream is too clogged up to see

AntiSquid: good question FrankR

icecream17: How to avoid: Look at possMines. Oh 157 possMines? Maybe wait a little more... Ugh, silence. What? A mine? Let's add more positions...

Counterbalance: yeah that about sums it up

Nerchio: my mine problem is simply that when they put 1 mine you need to add 4

Nerchio: and when they trigger mine you can't exactly remove 4

Nerchio: ^^

icecream17: I think you just avoid the general area the opponent is in by surface....

icecream17: Trigger mine = Remove possibleOpp positions

icecream17: Remove possibleOpp positons = Remove possibleMines

FrankR: I'm more interested in a voronoi kind of map with high-density areas.. most just lay a minefield in one part of the map and it's way cheaper to surface than to enter that mine-hell


FrankR: k4ng0u I'm keeping track of the opponent's commands + possible positions. That way I can trace back paths when needed (f.ex. when a mine is triggered, I can rule out more positions/paths). However, all of that leaves way too many possible mine positions. Then again: are you saying you can successfully prune mine positions to anything meaningful? I failed to do that a few times now :(

icecream17: I have assoc array where [position] -> [possible Mines from that position]

icecream17: When eliminate [position], eliminate [mines]

icecream17: Usually the opponent silences too much or doesn't silence too much and you know...

Nerchio: but 1 square can be connected to up 4 points

icecream17: Yeah, but you're gonna avoid the general area anyway

FrankR: icecream17 yeah I tried that.. but still even if you can trace back the correct path (assuming not even a silence) you get a mine probability of only 25%

icecream17: avoid the general area....? add the totals up?

k4ng0u: FrankR I can "successfully prune mine positions" though the range is still wide because when the opp put a mine it's still a 9+6*4 potential dangerous cells. but then I still struggle to properly use that information :P for now I have some crappy heuristic to avoid those cells as much as possible but in some scenario I just go in and spam silence until I get out

AntiSquid: ya frank same issue here, which mine do i even prune if one gets triggered and they are next to eachother :/

icecream17: Oh. You mean if the opponent places a mine at move 17, it creates 4 positions... but when the mine blows up you only remove 1? I havent thought of that

icecream17: handmade add up mine positions:


icecream17: Try to stay in the zeroes?

icecream17: Haven't implemented mine avoidance yet

Counterbalance: i found a horrible bug again :(

Counterbalance: my bot thinks it's a good idea to box itself in. It can't find the opponent then, so it thinks it's far away from it..

Nerchio: is there ever a point staying at place #8?

Nerchio: probably not

icecream17: LeRenard is calculating and is 8th place in silver....

icecream17: And all the top5 has a green up arrow

icecream17: Including 2nd place... 0.03 behind the boss

AntiSquid: you got a better version nerchio?

icecream17: I wonder what the closest no-promote score is?

Nerchio: no

Nerchio: i feel like

Nerchio: this game is random enough

Nerchio: for me to advance on a good submit

AntiSquid: try it then

Nerchio: yea i submit when previous one finishes :D

AntiSquid: but same bot for me can get #22, #50, #70

Nerchio: same last time i finished 50

Nerchio: now 8

AntiSquid: ya maybe you won't get lucky again

AntiSquid: just focus on improving or you waste time submitting

Nerchio: if i submit enough times i will

Nerchio: its statistics

AntiSquid: then submit and improve simultaneously

Nerchio: dont have power to improve today anymore

Nerchio: and tbh i am not sure what i can do anymore

Astrobytes: LB is in constant flux during active contests, so it's obvious you'll have inconsistent results with everyone submitting, unless your bot is strong enough to cut through

AntiSquid: as everyone improves it gets a bit harder to get past the wall that builds up close to the boss

Nerchio: i actually think i do better vs top 10

Nerchio: than top 30-100

icecream17: 5 people in top 100 is computing now

Nerchio: a couple losses against mid gold guys can slow down a submit substantialy

Nerchio: looking decent so far

Nerchio: a couple losses but overall many wins

Nerchio: now the toughest region ~80

AntiSquid: captain sonar the actual board game:

OOOrion: There are bots in code clashs?

Illedan: yeah

Default avatar.png koulick424: Hello guys

RavenKZP: there is limit in size of code?

icecream17: I've heard 100,000 characters or something

RavenKZP: 98,530 :D

RavenKZP: close :(

RavenKZP: i mean i will need do some optimalization

YannT: I removed 17% de of code in my bot and now it's top10 again...

YannT: so if you're having issues, try removing between 15% and 20% of your code

YannT: just a protip

Illedan: Compilation error :(

YannT: (use cgbenchmark to figure out the magic number amount of code to remove)

icecream17: cgbenchmark?

Illedan: Java tool to brighten up your day

Illedan: And run batch games to verify stuff

Default avatar.png trytrihjyuki: what is fastest way to get input in c++?

YannT: trick question there's no fast way to code c++

MadKnight: then code c#

DHEER: where do i find the sprint coding contest?

DHEER: spring*

struct: Hasnt started yet

struct: the ongoing contest is OOC



DHEER: ok thanks

andichin: SIMP!

icecream17: What's the fastest language?

Default avatar.png JBM: python

Default avatar.png JBM: well it WAS first to answer

blasterpoard: icecream17 on codingame, c++ is probably the fastest

blasterpoard: together with c

Uljahn: and D perhaps

blasterpoard: there are some who claim that D is much faster than C++, but there's still no proof

reCurse: Good old meme

icecream17: Count to 1000000?

Astrobytes: D is 10 x faster than C++, they should add it to CG right now, millions will use it... oh... wait

blasterpoard: well, D looks like it is the language with the best average rank in the contest

blasterpoard: so those rumors might be true

Astrobytes: lol

Astrobytes: You don't need proof when you community-spam

blasterpoard: also C++ is bad on the top level - in legend, worst 8 players all use C++

blasterpoard: *9

struct: Cant argue with these facts

Astrobytes: Shocking. Clearly D would improve this.

Astrobytes: If everyone just takes the D, it'll all be good, right struct?

struct: Not everyone has ability to use D

Default avatar.png mviudes: hey a stupid question: if i submit one time, can i submit again?

Default avatar.png mviudes: is there a limit?

struct: no limit

Uljahn: no hard limits

Uljahn: just don't spam submits

Default avatar.png mviudes: okay, thanks :)

blasterpoard: mviudes there are people who submitted hundreds of times; but keep in mind that submitting again without significant improvement won't help you

Astrobytes: Unless you use the D

Astrobytes: It likes to go in frequently.

Astrobytes: Anyway, I have lowered the tone enough for tonight I think

Astrobytes: :D

Astrobytes: Goodnight all

Counterbalance: nn

struct: gn

icecream17: How do you stop timeouting?

icecream17: 7/10 wins.... finally

icecream17: 4xx --> 121st =O

icecream17: maybe my bot is actually good this time!

DaniloFuchs: everyone should share their code

DaniloFuchs: It's always puzzling to understand other people's reasoning

icecream17: My code is useless and horrible: (first 100 lines)

icecream17: It says "this command does not exist."

icecream17: Oh. js comments have a slash, which are commands in cha.t.....

icecream17: creating secret chatroom to test: #secret

icecream17: Ah... that's how you... nice

icecream17: Hmm. When I torpedo, the opponents silence. (Obviously not by accident).

icecream17: But even though I could catch the person the time of the least amount of positions is when the opponent didn't just silence

icecream17: Hmm. If I have 1 tC, I could move and then shoot

icecream17: The wins where I have the most lives is if my opponent walks into my mines... close combat is a close win or lose or horrible lose

icecream17: Oh wow. I took my code and filtered out everything except [], {}, and () and got this:



Default avatar.png smcbot35: wow

Default avatar.png smcbot35: what programming language?

mlomb: Here is mine


icecream17: js

Ifthel: Which languages besides js have that many []'s?

Zenoscave: I can beat that


Zenoscave: This is runnable