Chat:World/2020-04-09
Uljahn: Automaton2000: push the button :robot:
Automaton2000: i am going to try to get to gold
MadKnight: (╯°□°)╯︵ ┻━┻
namaska: Python 2 goodbay
MJSS: When the contests end, are the games added to the normal compete list?
aCat: yes
thibpat: hi :wave: I'm live again for more Ocean Of Code! I'll try to focus on pathfinding today https://www.twitch.tv/thibpat
Nagatwin: what happened kovi ? :o
kovi: fine-untuning - or less lucky rolls
Nagatwin: Haha
Nagatwin: Yeah did
Nagatwin: did that yesterday
Nagatwin: you are ruining my rank I have ~0% wr against you
Nagatwin: chunknorris you should submit some more :D
Nagatwin: Sounds like we have different possibilites counters
Nagatwin: https://www.codingame.com/share-replay/447072978
Nagatwin: at least for paths kovi
Nagatwin: might be caused because I remove duplicate paths
kovi: could be
Nagatwin: aren't you ?
kovi: nope
Nagatwin: sounds liek you are generating tons of them compared to others ais
kovi: thx for letting me know early on i had problems with n^2 merging of them. i will look into it again
Nagatwin: you can merge linearly
Nagatwin: ;)
chucknorris: I'm trying my best Naga:p submit nr 914:
kovi: wow, twice as mine
chucknorris: yeah I got a little bit obsessed with that submit button
chucknorris: I'ts hard to tell the effect of my latest "critical" bugfix when the leaderboard is so random
wlesavo: i hope in legend it would be more stable
AntiSquid: it won't be wlesavo
AntiSquid: in fact expect 50 at the very least in legend by the end of the contest and expect it to be very random
AntiSquid: just 1-4 bots at the top might be stable
AntiSquid: but there's recalc too after the contest, which might, just might fix things
AntiSquid: but your last position on the ladder still matters when recalc starts
wlesavo: i see, thx
wlesavo: there goes my hopes for fine tuning
Nerchio: yesterday i was staring at my code for way too long and i couldn't find a mistake and today i found it in 3 minutes...
Nerchio: life of beginner programmer
aCat: Don't worry
aCat: after a few years it is still the same :P
BlueBull: what to do about the reverse mode at clash of code
yfprojects: just do real puzzles
BlueBull: http://chat.codingame.com/pastebin/489c8a86-a97e-41d0-8efd-6928bb3721e0
AntiSquid: BlueGhost31 what's that about?
BlueGhost31: Hello AntiSquid
Nagatwin: That wild tag
AntiSquid: oh damn, again pinged wrong person, sorry, ignore me BlueGhost31
Nerchio: can i make the code bigger somehow :p
BlueGhost31: :wink: ok
aCat: OMG, top OOC games looks like extremelly boring chess
aCat: But strategies are different
aCat: which is nice
Nerchio: how many turns games last at the top?
aCat: 200-3xx it seems
Nerchio: and what do you guys think is the most powerful move/power?
pb4: Nerchio : as in if I had only one which would it be ?
Nerchio: yea 1 or 2
struct: Mine Silence?
wlesavo: move is the most powerful
pb4: checknorris : for real 914 submits ?!
pb4: chucknorris
Nerchio: i am in silver and at the moment mines are the biggest pain they limit the movement so much
wlesavo: chessnorris
aCat: It's - mine your part of the board and surface to never got to the nemy half :P
chucknorris: *923
wlesavo: mine more than half and you win
Nerchio: if you shoot a mine does it explode?
struct: no
Nerchio: I feel like if top level is about doing mines on your side of the map you should be able to clear them somehow :p
wlesavo: i think in the original capitan sonar this is the case, some way to balance the mines, although i like the way we have it even more
Nerchio: i need to watch some top games to make a decision :p
Nerchio: how did you guys tackle line of sight?
KTU_lyceum: i dont understand error free(): invalid pointer, maybe anyone knows?
RoboStac: it means you called free on an address that isn't allocated (often means you are freeing a null or freeing one address twice)
KTU_lyceum: but i dont use free
AntiSquid: add a if(pointerVariable != NULL) before that piece of code see what happens
RoboStac: maybe you are calling something that does
KTU_lyceum: k tnx
RoboStac: the other thing to check is that anytime you use arrays you don't go out of bounds as this can corrupt memory and cause weird errors
KTU_lyceum: yea maybe. I use vector inside vector, maybe i go out of bound. Tnx i think i know where to check :)
RoboStac: yeah, that could easily cause it (when vectors go out of scope they'll call free)
RoboStac: you can try putting #define _GLIBCXX_DEBUG as the first line of your code (has to be before includes) - might give a more useful message
pb4: ^
pb4: Won't give you the trace or line where the faulty code is though
pb4: but it'll tell you there is faulty code
KTU_lyceum: Great when you can get good advice fast :)
WINWINWIN: Hi, I am a programming novice and I want to get started on poker chip race
WINWINWIN: Can any1 give advice on how to move ahead from wood2 without any complex algorithms?
AntiSquid: try the contest WINWINWIN https://www.codingame.com/contests/ocean-of-code it's for everyone and there are streams on youtube / twitch on how to build a bot
AntiSquid: if you want to use less complex algorithms play a different game WINWINWIN, don't think you can do much in poker chip with just heuristics
AntiSquid: WINWINWIN this game is ok with just heuristics, no complex algorithms: https://www.codingame.com/multiplayer/bot-programming/botters-of-the-galaxy
WINWINWIN: Will start the contest, and botters of the galaxy, thanks AntiSquid
WINWINWIN: but in poker chip race, I cant even get out of wood2 with just heuristics?
WINWINWIN: If not, can you reccomend a good site to learn the relevant methods?
AntiSquid: you could if you do some maths
AntiSquid: check distance between objects
WINWINWIN: Currently I move to the largest object just under my size
WINWINWIN: How would I implement distance?
AntiSquid: it's a harder game, there are over a thousand people in wood2 for a good reason :D
AntiSquid: just distance between two points (the center of the balls) and see if the sum of radius if the balls is smaller or equal to their distance then you know they collide
Nagatwin: Are you Winning ?
AntiSquid: you could maybe move them a bit at a time and check collisions
AntiSquid: honestly play a different game WINWINWIN, not the best to start with
WINWINWIN: Started with 9 others, got to bronze in all of them
WINWINWIN: CSB, GitC, CotC and some others
AntiSquid: then why not take them a bit further?
AntiSquid: what kind of game do you prefer anyway
WINWINWIN: Where analysis of graphs and math knowledge is important
WINWINWIN: Like in CSB where I am attempting modifications in Silver
AntiSquid: you can get legend in CSB with just maths
AntiSquid: no complex algo, few if else
WINWINWIN: K, will try that, after some learning will come back to poker
struct: You can always try and write a sim
struct: There is lots of info on CSB
AntiSquid: it feels like a long writeup for new starters maybe @struct
struct: You will need sim for poker if you want to go high
WINWINWIN: Will look into that struct
AntiSquid: better if he just fools around with the basics until he feels comfortable ?
Nagatwin: Stop saying that AntiSquid its not that easy :p
AntiSquid: what isn't easy?
WINWINWIN: Easy for him Rank 7!!!
AntiSquid: what did i call easy anyway?
AntiSquid: ah it's just math and if else, honestly, just try a bit of tweaking your conditions
Nagatwin: :'(
Nagatwin: Not even gold
Nagatwin: I really have to spend time on this one but it is not appealing
AntiSquid: i only played it because back when i first started MadKnight was constantly asking people to play CSB
Nagatwin: He still does
Nagatwin: kovi + valgrowth spamming submits are dragging me down super fast
AntiSquid: the ladder is shuffled a lot
AntiSquid: i am above few people that i am sure have stronger bots atm
wlesavo: if euler wont resub he would have an ok chance to become a boss
kovi: i have lost tracking what help and what is not
kovi: ranking seriously depend on submit order
wlesavo: true, i tried to tweek some parameters and then went back to what i had, i guess the time is coming for drastic measures
Nerchio: where to see your number of submits?
Astrobytes: Nerchio Click on History, first row of the table
struct: results history
struct: https://i.imgur.com/pgh5s2J.png
Astrobytes: hi struct
struct: hi
struct: I see publish on codingame option
struct: What is this
Astrobytes: Where?
struct: In CvZ
struct: I can do publish
struct: I think its a bug
struct: As long as the submit has 100% I can share it
struct: publish*
struct: https://i.imgur.com/4RSipCB.png
Nerchio: if the map is too open my tracking multiplies the enemy too much and times out :(
Astrobytes: Prune your results Nerchio
Astrobytes: struct, yeah I see it in other optims too. IT's greyed out tho, did you try pressing it?
struct: If I press it says published
struct: Also why does the history tab now has outdated?
struct: Is it due to languages changing version?
Astrobytes: Could be yeah, sounds about right
AntiSquid: navin89098909890 ?
Nerchio: if only i could fix my timeout stuff :/
Famout: Ah the joy of being gone too long, racking my brain to remember easy tasks.
Famout: Like forgetting constructors don't get any return types at all, not even a void....
eulerscheZahl: wlesavo 01:33PM if euler wont resub he would have an ok chance to become a boss
NOOOOO!
IjustKilledutoo: hello
IjustKilledutoo: is anybody listening
Nerchio: hello
Famout: Partly, brain feeling warm so watching for distractions.
tobk: wonder what flavour of pac-man the contest will be. multiple pac-mans, or players control the ghosts? or something entirely different just loosely based on the theme...
AntiSquid: pacman title
wlesavo: zipman
AntiSquid: zetman
Nerchio: I lose on timeout against a guy that doesn't do anything but move and silence when he can haha
Ivan-Clark: Pinoy here?
Nerchio: because he doesn't give out any information except that
Famout: Still coding my first bit of ship now... not gonna lie that's gonna be its life at first.
Famout: To spend as much time underwater and hidden as possible and outlive most other boats.... Then comes coding in tracking and such.
wlesavo: Nerchio most likely you timeout because you do not prune/merge
Nerchio: i know i am making clones when they move and i have 1000 of them when they silence or something :D
Illedan: Hi
Illedan: Oh, soon 2k players \o/
wlesavo: hi Illedan, long time no sub?
chucknorris: any public ooc brutal tester compatible referee ?
Illedan: yeah wlesavo. Needed a little break
Illedan: and I'm working on some bigger changes
Illedan: We had a PR on the real one working with brutal tester afaik, chucknorris
Illedan: You can check the forum
Illedan: there is a post about this
wlesavo: kovi, you prefer crashing over suicide, dont know if its important but still https://www.codingame.com/share-replay/447200345
kovi: thx. yeah, if im out of places i crash
KarlTaal: Hey guys, can someone explain what is the speed vector in coders strike back? What does the x and y value represent in it?
Illedan: Position transitions happening this current round
darkhorse64: components of the speed according to x,y axes
chucknorris: hm Illedan found the pr, but its not working for me. can you show me the forum post about it? cant find it
KarlTaal: so where how much is added to my current x an y after this round?
Illedan: Nvm, chucknorris. It was only to run the project locally :( Did you check the forks made to the repo?
darkhorse64: I am not sure I understand your question. The referee updates your position
Illedan: correct KarlTaal
chucknorris: yes I checkedand found the brutal tester fork. but no info about the usage
Illedan: Did you use brutal tester earlier?
chucknorris: yes. it worked. but for this one, it runs the game with default bots
Illedan: Wierd :/
chucknorris: ahh okay it's forking. forgot to checkout the right branck :p
chucknorris: but I have to set my timeout to like 35ms not to have timeouts
WaterDrinker: Is there any way to opt out of shortest code in clash of code?
informathemusic: Hello World!
chucknorris: pb4 should we be afraid or it was a lucky roll aigan? :p
AntiSquid: no WaterDrinker
rwilson: WaterDrinker 99% certain there is not. CodingGame change COC not TERRIBLY long ago... you used to be able to pick, now it's all in 1
YannT: I made a brutaltester version of the referee
YannT: mainly you just have to add this class into the project and build the JAR
YannT: http://chat.codingame.com/pastebin/cfce632b-2d6b-496c-827f-beef119bc0f4
chucknorris: thanks, it's already working. except it timeouts more oftan than in cg
chucknorris: much more often almost every time
YannT: yes it does, I fixed that too
YannT: with:
YannT: gameManager.setTurnMaxTime(200);
YannT: at the top of Referee.init()
chucknorris: GameManager - Warning: too many turns and/or too much time allocated to players per turn (30000ms/30000ms)
Exception in thread "Thread-1" java.util.NoSuchElementException: No line found
eax.qbyte: How to disable this discord thing?
YannT: chucknorris: weird, it doesn't do that for me
YannT: maybe your bot stalls or something?
Nerchio: people in silver started using mines makes me so sad
Nerchio: my bot would have to be completely reworked to beat it :D
Nerchio: top silver is like 70% mine use
semera: Could I somehow save my learning data to file between games? Or I have to simulate whole environment in my computer?
blasterpoard: semera you can download the source code of a game from github; however the problem with ML is usually the character limit
blasterpoard: (your submitted file can have at most 100k characters, I think)
semera: thanks!
semera: Do you have link, I found several "solutions" but not a simulator/game
blasterpoard: which game?
semera: Coders Strike Back
blasterpoard: yes, that one is a bit tricky to find... gie me a minute
blasterpoard: semera https://github.com/robostac/coders-strike-back-referee this one works afaik
blasterpoard: there is no official code for CSB
semera: thanks
blasterpoard: https://github.com/dreignier/cg-brutaltester to run multiple games
icecream17: do we have to install JDK and Maven to run it locally?
blasterpoard: well, there are releases on the github page...
icecream17: i don't know much about how github works though....
MadKnight: it works ezpz
icecream17: how do you download? what is cloneing and branch? what is mdn-- install or something? how do you run something after you download?
blasterpoard: https://github.com/dreignier/cg-brutaltester/releases
blasterpoard: download the jar
icecream17: okay i have the jar file....
icecream17: double click or open doesn't do anything
blasterpoard: now there's a file that says "read me"
blasterpoard: read it
icecream17: where? it's not a folder
blasterpoard: (I give up)
icecream17: Type = "Executable Jar File" but "Open" just changes the mouse cursor and then the mouse cursor goes back to normal and nothing has happenned
Nagatwin: you can't execute a jar file likt that
icecream17: err.. what do you do
icecream17: ok i googled it and it says i have to have java runtime environment or something
icecream17: or use decompression software, idk
icecream17: oh well i'm downloading ti
icecream17: "Java Setup" Welcome to Java... etc Is this the right one?
icecream17: The loading bar is stuck at 95%
icecream17: ok it's done. feel like i'm monologing now
icecream17: aww... it still doesn't work. can't open
icecream17: i give up. i'm just gonna download the zip file under it
icecream17: yay! the readme. But it's a .md file, which i never heard of
tobk: Markdown
tobk: Just read it as plain-text or convert to nicely formatted HTML with `markdown`
icecream17: i don't know what you mean by the second one, so i'm just doing plaintext
icecream17: "cg-brutaltester is a Java local tool to simulate the codingame multiplayer IDE" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Nagatwin: Hey maybe this is not made for you and you should stick to the IDE
icecream17: =(
icecream17: but yeah i'm missing something when java -jar cg-brutaltester.jar -r "java -jar cg-referee-ghost-in-the-cell.jar" -p1 "./myCode.exe" -p2 "php myCode.php" -t 2 -n 100 -l "./logs/" is "simple"
eulerscheZahl: if you use the latest brutaltester version for ghost in the cell, you have to specify that you use the old referee format
Nerchio: how do you counter mines when you don't know they are there since you didn't pinpoint enemy location? ^^
rwilson: Nerchio how closely are you tracking the enemy?
Nerchio: right now it's very good but if they use silence it still takes quite a while before its super accurate
AntiSquid: http://chat.codingame.com/pastebin/391e2964-2c4b-46f2-80d4-25467cd29040
Nerchio: I make agents for each starting cell of the map and their moves including silence splits so i dont know can't get better tracking
Nerchio: also sonar :P
rwilson: so you're likely keeping their total path remembered to do some consitency checks?
Nerchio: each of the agents has map of visited cells yes
AntiSquid: my rank improved? lol
the leaderboard is all over the place
Nerchio: i guess when you pinpoint exact location of the enemy you should go back in action queue to see where he placed mines?
AntiSquid: maybe i find the mood to finish my rewrite
Nerchio: kind of backtrack
AntiSquid: ZarthaxX you're below me
rwilson: Nerchio - consider making a map of POSSIBLE mines ... walk all agents path, drop mines from them at TURN X where appropriate
AntiSquid: fix it :p
AntiSquid: MSmits too
AntiSquid: emh also
rwilson: Nerchio - in the end you'll with the possible mines , but a lot more than really there ... if you can avoid them all, then you've avoided the real ones. ... yeah - exactly what you mentioned ( walk their action Q to figure it out )
kovi: top10 is balanced now
Nerchio: i am still in silver so mine players are not sophisticated i guess i should just add killer instinct against them
Nerchio: if i have their exact location just go there and kill :P
ZarthaxX: AntiSquid why are you looking at me permanently? lol
ToastyZ: Damn, only 1 lesson that kinda teaches you how to "code"
ToastyZ: Kinda lost ngl
DrizzlyBear: if there is a move and a torpedo in the same turn, is the order determined by the order in which those commands are given, or does one always precede the other?
aCat: dbx - by the commands order
DrizzlyBear: thanks!
aCat: This cat happy to help ^^
aCat: ToastyZ sorry it's rather page to train your skills on various topics than to leran coding from the scratch :(
Astrobytes: CGForEDU ;)
eulerscheZahl: tech.io was supposed to fill that gap
eulerscheZahl: but wasn't a great success
Astrobytes: Is tech.io not part of the update?
ToastyZ: @aCat
ToastyZ: The help was much appreciated
ToastyZ: :ok_hand:
eulerscheZahl: part of what update?
eulerscheZahl: it's still maintained and used for some stuff like the SDK documentation
Tunez: Can the battlefield size be not 15&
eulerscheZahl: but not attracting as many users as CG itself
eulerscheZahl: you need content to attract coding newbies and users to motivate the more experienced coders to write an article
Astrobytes: eulerscheZahl the CG platform update, I thought they were updating techio along with it. Might be mistaken.
Astrobytes: Yes good points there
eulerscheZahl: i don't know if there are any plans to tech.io
eulerscheZahl: in the past there was also a "playground of the month" awared with a raspberry pi
AntiSquid: finally top 100 again lol :D
eulerscheZahl: but i think they gave up on that now
Astrobytes: Wow, never saw that one. Wait, I think they were incorporating platform features *from* tech.io, think that's where I got the thought
eulerscheZahl: your playgrounds are linked on your profile now
Astrobytes: Yeah I saw that. They should link them to multis and puzzles if they're on a relevant subject too I guess
eulerscheZahl: they are https://www.codingame.com/multiplayer/bot-programming/coders-strike-back
Astrobytes: That's the only one I think, other than M Smits PM on XR
Astrobytes: I mean link it via keywords. Pathfinding, etc
inoryy: I'm still salty they spent so much time on tech.io and let CG die out a bit in the process
Nagatwin: kovi top 10 is balanced cause im finally in :p
eulerscheZahl: get out
dbdr: die?
eulerscheZahl: dbdr what wizardry is that parcellite? it remembers my clipboard even when i restart my computer
dbdr: there is this things called hard drive
dbdr: can hold files
dbdr: magci I know :D
eulerscheZahl: wow, do i have that=
dbdr: who knows?
struct: any tutorial?
inoryy: it was much more active couple of years ago, and was much less active about 2 years ago when pretty much their whole dev team was on tech.io
inoryy: I'm glad to see they've turned around
dbdr: my first contest was Mean Max. so it's true I never experienced a CG-made, non-community contest
AntiSquid: maybe next contest is CG original again?
Astrobytes: Both platforms have a lot of potential but they kind of work best together
dbdr: supposed to be
eulerscheZahl: true, CG lost some users. not sure if it's because tech.io got more attention. but i really enjoyed the CG contests
struct: FB and WW were preety good
AntiSquid: well there also a list of comapnies that were hiring along with the contest, did that have anything to do with activity?
AntiSquid: there was *
dbdr: kovi, are you climbing slower than before?
eulerscheZahl: 3500 users on a 8 day contest (GitC), tsirts for top50+best in each language. about 20 sponsoring companies that you can choose to contact you when you did well
eulerscheZahl: and a camera drone for the winner
kovi: slower and cant get to top
dbdr: weren't you top 3 half and hour ago? :D
eulerscheZahl: they decided against sponsors for community contests as they don't want to earn money with the work of the community. maybe that's a part of the story why the player count dropped
YannT: kovi: with this game there's a lot of variance
dbdr: I also started to lose a match here and there against lower ranks. I guess the level is just increasing slowly
YannT: there's something to be said for letting it sit a while if you wanna see if something's working or not ;)
dbdr: legend will be nice :)
Nagatwin: Yeah :D
AntiSquid: also random
eulerscheZahl: i have yet to decide if i will like legend
eulerscheZahl: depends on my side of the cut
dbdr: :D
dbdr: fighting a boss has its charm
inoryy: I mean, bugs in website and in games were left unfixed for months at the heyday of tech.io dev
darkhorse64: Does someone remember how many ppl were directly eligible to Legend for UTG ?
dbdr: I think locam is the best comparison
dbdr: same length
YannT: they can't cut top10, that would mean like wlesavo or some bot like that would be gold boss, it feels like too high a bar to pass :p
darkhorse64: LOCAM was top 10 ?
YannT: no locam was like top30
dbdr: something like that yes
inoryy: plus there was a huge gap between WW and MM, and after MM
YannT: but people in #fr have been saying they will likely take the top10 for legend in this
YannT: seems crazy
eulerscheZahl: after MM was BotG
darkhorse64: #31 atm
eulerscheZahl: the statement alone was a turn-off to some
inoryy: yeah, took like half a year to get to botg
inoryy: I remember periods where general was completely dead
AntiSquid: slow process to get to the final game
YannT: I joined for locam, I must've been one of the only ones who actually liked that contest :)
AntiSquid: also the SDK wasn't complete
kovi: dbdr: i can get 3rd, but not higher bad submits pushed jolinden too high
YannT: I don't better when I have time to work on stuff
**eulerscheZahl slaps YannT around a bit with a large fishbot
YannT: I'm not good at like speed BFS coding
dbdr: kovi how awful ;)
darkhorse64: I think that wood bosses were too strong: the Wood 2 should have made random movements and random shooting
AntiSquid: locm was nice
YannT: or other floodfill blitz contests :p
AntiSquid: it's all personal preference YannT, who cares what others like?
Nagatwin: I did not get LOCM at all
YannT: I mean I will admit during locam, by the start of the last week most people were just "done" and bots pretty much stagnated
inoryy: anyway, hopefully, they're done with the tech.io nonsense and CG contests are back for good
Nagatwin: tried a bit but sounded not rewarding enough for the time spent, maybe I had the bad approach
YannT: so it was a tad too long maybe
darkhorse64: floodfill is easy: MSmits article on tech.io says all
YannT: but on the other hand 10 days doesn't feel like enough if you've got other things going on
Astrobytes: inoryy they said 2 CG contests per year + sponsored contest iirc
Nagatwin: 10 days is short
Astrobytes: *sponsored contests
AntiSquid: Nagatwin it was during summer time too, motivation would obviously be lower without a lockdown
inoryy: wait what's the difference between CG contest and sponsored contest
darkhorse64: 10 days to reach legend for OOC for those who do not make the cut
Nagatwin: 30 is fine for games like that I think, with a lot of possible improvments
Astrobytes: One has a sponsor and one doesn't :D
AntiSquid: was UTG a sponsored contest?
eulerscheZahl: es
eulerscheZahl: yes
inoryy: ah in that sense sponsored
inoryy: cool
inoryy: glad to hear
Nagatwin: AntiSquid we should make more lockdown to free some time for contests
eulerscheZahl: they said single-sponsor contests
eulerscheZahl: and thibaud mentioned a new staff member (i think Nanna) responsible for getting more of them
Astrobytes: Yeah that rings a bell
eulerscheZahl: sleeping time when i'm up early tomorrow, i can submit without everyone else interfering
inoryy: they could also just crowdfund prize pools
eulerscheZahl: no, they crowdfund girly coders
Astrobytes: lol, og CR
eulerscheZahl: correct
Astrobytes: Would crowdfunding the prize pools really work?
inoryy: CG has many professionals (just look at the company top for OOC), I'm sure at least some of them wouldn't mind helping the site out
Astrobytes: Ah OK, sponsored funding, thought you meant user-wise
Astrobytes: *corporate funding I mean
AntiSquid: they wanted to promote a charity back then with each new community contest
AntiSquid: ours was kids ... which made sense, but then for some reason they went to girls only
Astrobytes: Not everyone supports every cause, as they found out
inoryy: I did mean user-wise, Astrobytes
Astrobytes: Re-reading I see that inoryy, but what would motivate them to donate? I mean, if you have a cause they don't support, they won't do it. Otherwise it's just donating money so someone can win X.
AntiSquid: were you here when they had an ML "puzzle" Astrobytes ?
Astrobytes: The image recognition one?
AntiSquid: ya
Astrobytes: I've been here since 2015 AntiSquid, I just didn't do anything for ages until og CR
Astrobytes: Why did they remove that one anyway?
inoryy: I don't mean donating to a cause either, although I think the CR thing was an okay idea as well
inoryy: I mean literally to the prize pool and/or to cover dev time
inoryy: Re: why do it - is supporting a website you've used for free potentially for years isn't motivation enough?
Astrobytes: (I did too, even though it's not a popular opinion)
Astrobytes: Yeah I would say it is, but, all people are not quite as altruistic
Astrobytes: *equally altruistic
inoryy: ¯\_(ツ)_/¯
Astrobytes: It would be worth a shot though, if people can donate 10s of dollars to someone streaming CoC on YouTube then CG must be in with a shot right? :)
inoryy: I've definitely spent money on much less deserving things
Astrobytes: Exactly, I doubt there's anyone who hasn't, but... people ;)
RockyMullet: Yeah, I'd be willing to financially support CG with donations
RockyMullet: not why they dont do it, maybe tis bad PR for the clients
RockyMullet: make them look like beggars or something
RockyMullet: trying to be the devils advocate here
inoryy: that's kind of true but then again their contests stuff is almost completely separate from CGForWork stuff, aside from the occasional private contests
RockyMullet: Maybe the amoun of money they would get from it is not enough for the effort it would take to make it
RockyMullet: maybe legal stuff
RockyMullet: cause lets say we are like 20-30 who gives like 20$ every 3-4 months because we feel like it
RockyMullet: in the end its not that much money
inoryy: $1k / year is still > $0 / year :P
inoryy: but I get your point, I'm sure they've at least thought about it before and opted against it
struct: subscribe for 1 Mill lines of code limit
inoryy: I would honestly pay monthly for better NN support
RockyMullet: a good exemple of it is hear in canada our healthcare is free, and there's often been discution of asking just a little money to avoid abusers, but just managing the money would cost more money then the money they'll get
Astrobytes: Not sure a donation-based model is 'begging' as such when you get all this
RockyMullet: to be clear, I think its a good idea and I would donate, im just trying to understand why not :P
Chewie2k: yo guys
Chewie2k: I'm stuck on the Power of Thor ep 1
Astrobytes: Oh totally RockyMullet
Astrobytes: and hi btw :)
Chewie2k: I am very bad at coding
RockyMullet: hey :wave::grinning:
Illedan: hi
AntiSquid: all money donated back then went to the charities afaik, their expenses are covered through what they usually do
MelodraMarco: Hey Chewie. What's bothering you?
AntiSquid: are you talking about millionaire charity owners RockyMullet ?
RockyMullet: Yeah AntiSquid, that must be it, the amount of moeny they'd get from donation is probably insignificant compared to they're other sources of income
Chewie2k: This Power of Thor code
AntiSquid: ^ was around 1500 euros i believe
RockyMullet: hu I dont know about that, there was a conversation about donating to CG to support them
RockyMullet: Or maybe I misunderstood :thinking:
AntiSquid: ah that's a different thing then
AntiSquid: guess i overlooked some bits of the conversation
AntiSquid: i got new better strong faster pathing though
AntiSquid: stronger *
RockyMullet: I still dont do any pathfinding, maybe thats why im stuck in silver
icecream17: me neither....
RockyMullet: implementing mines had close to no impact on my bot
RockyMullet: that was a bummer lol
AntiSquid: i don't have a real pathing in the arena and it's mid gold
AntiSquid: i am rewriting my bot, want to make a stronger one
RockyMullet: yeah, I feel unless you do a real agressive bot, I dont see the point yet
icecream17: I have a function that takes 0.7ms that's called a LOT of times when I silence
AntiSquid: this one is just a pile of bugs with a decent predictor and some if else, not sure how i got so high with it lol
AntiSquid: so you can get gold with quite little i guess?
icecream17: I'm jumping around the 200s and 300s and can't go up
icecream17: I did it!
icecream17: Sorta. It used to take 55ms with silence and 57 positions, and now it takes 43ms
darkhorse64: This is a good incentive to switch to C++. I can handle several thousands paths
AntiSquid: i meant tracker, not predictor, i don't predict anything yet
AntiSquid: several thousand for loops !
icecream17: i think my "checkPath" function is too slow. but i don't know how to optimize it or anything
RockyMullet: yeah, what I think I might do is run my own tracker code on myself, to guess how likely the enemy knows where I am to use silence better
AntiSquid: i don't have self tracking either in the arena
icecream17: selfTracking sounds hard.... also if i silence and the opponent silence the time doubles
darkhorse64: My tracking involves a lot of fancy ops per paths and I track also myself
AntiSquid: self tracking is as hard as enemy tracking
rwilson: RockyMullet ;) working on that ATM - great idea -- though I need to use it more to avoid giving away my position by taking a stupid turn
darkhorse64: Write once, use twice
icecream17: probably easier bc you've already made it. but still hard and probably buggy, and i don't feel like it
RockyMullet: rwilson yeah could also be used for that
RockyMullet: well the basic dumb tracker, where you check all position to see if they bump into walls is not that hard to implement on yourself
AntiSquid: no more TypeScript bots above me, first mile stone achieved \o/
rwilson: icecream17 are you checking all paths for all points currently?
icecream17: yes, but lots of logic removes most by turn 10
darkhorse64: Tracking = silver, eval shoot + self tracking = gold 100, eval move = top 30
icecream17: "eval" is something i hear a lot....
AntiSquid: i don't have any self tracking though
RockyMullet: what do you mean by "eval shoot"
icecream17: i just shoot where the opponent is most likely to be
struct: shoot does not only make damage
AntiSquid: some very bugged target picker for torpedo and mines i do have
darkhorse64: find the best shoot more damage to him, less for me
AntiSquid: shoot eval would be a target picker i guess RockyMullet
RockyMullet: oh yeah, I dont try to not get shot right now
icecream17: sometimes i place a mine down, and the code says "mine is at a place that it actually isn't"
RockyMullet: probably another problem of my bot
darkhorse64: also probabilistic shooting
AntiSquid: if what you said is true, i should get top 50 with my new movement picker, but i really doubt it darkhorse64
RockyMullet: I do discrimate the enemy position based on the shot position, assuming he wont shoot imself
icecream17: can't assume that nowadays
RockyMullet: but I see a lot of games I lose because me and the enemy shoot at each otehr every 3 turns and I lose by 1 hp
rwilson: RockyMullet even in silver, they'll take a little dmg themselves if it lets them win ;)
darkhorse64: good motion is really important and has a measurable impact
RockyMullet: my bot goes always to the right...
RockyMullet: another problem lol
darkhorse64: turn the wheels
rwilson: RockyMullet - have you made sure your bot can "move torpedo|torpdeo 1 1" when it's at cooldown of 1 ?
icecream17: 23rd? almost at gold
icecream17: rwilson i stealing that idea
RockyMullet: yeah i do that
rwilson: noticed that agressive torpedo tactics tended to favor those who minimize time between shots ...
rwilson: but also, it FEELS to me like it's a bad idea to shoot first unless you're going to win
RockyMullet: in my torpedo targeting I keep if I need to move first or shoot first, and I dont allow to shoot first if my cd is not 0
RockyMullet: rwilson yeah my last significant improvement was to not shoot first unless im sure of a hit
icecream17: ugh for all of silver 2 bugs "no positions", "torpedo or mine blowup didn't happen" have eluded me
rwilson: icecream17 - second one sounds like maybe position / command problem
rwilson: are you checking what the referee is saying in the logs? trying to place mine where it can't ? or is it some other message?
icecream17: "> Mines: [7 6]" Onscreen: [7 7]
icecream17: i account for move and all that
rwilson: ahh ... so you think you've placed it at 7,6 but it shows 7,7?
icecream17: yeah. and sometimes i try to explode the same, [correct] mine but twice
icecream17: i'm gonna submit so i save my code so i can revert back to the code that gets 235th or something
rwilson: ;) it does sound like a bug with the accounting for movement. I had issues with that sort of thing till i split up the commands ( enemy and my own ) and process them 1 step at a time, instead of as a group
RockyMullet: Awww I cant trigger random pos to confuse the enemy, rude
RockyMullet: I had to try it :P
icecream17: If someone triggers a mine early on the number of positions greatly reduce
icecream17: or they should
icecream17: huh. i thought my code became worse, but the rank improved from 334th and is already at 309th
RockyMullet: I guess, but people dont trigger mine early that often
RockyMullet: you have to be close to the enemy and know where they are, doesnt happen often
RockyMullet: early i mean
Cappefra: I trigger mines based on their density on screen and the number of possible positions of the enemy
Cappefra: just to get statistical random hits
RockyMullet: hum, yeah maybe I should do that too
icecream17: not sure if i explode mines too much
RockyMullet: I only trigger mines on sure hit
Cappefra: I used to do that too but then I noticed how often the enemy goes close to mines after they silence or something
Cappefra: in general when their position is still too uncertain
icecream17: also, a lot of times the opponent keeps going left straight into the mine, but i explode when they are 1 square away instead of 0
icecream17: wonder if i should wait 1 turn before exploding
Cappefra: Still I think my biggest one-submit improvement was when I changed the movement to zoning
Cappefra: reduced the surface rate a bunch
icecream17: my movement is really... complicated
icecream17: but amazingly it's bug free
RockyMullet: mine is ridiculously simple, its "always go right, if you hit a mine, not go left"
RockyMullet: I probably should focus on improving that
Cappefra: mine's gotten kind of complicated too
RockyMullet: and its actually the change that got me straight from wood 1 to silver
RockyMullet: so it was way worse before that lol
Cappefra: yeah movement's almost more important than everything else, until the point where everyone moves well
Cappefra: I move like a nokia 3310 snake and tend towards unvisited areas, with deadlock avoidance
icecream17: 1752 to 1985. my behavior doesn't change if i get torpedoed or hit by a mine, don't know how i should react, but probably more conservative
icecream17: *nevermind the numbers at the top accident
icecream17: gosh, i don't know how to explain my moving
FlatVampire_a187: ii'm new here. i can't figure out how do i dubug my code
icecream17: i'm sorta new too but i guess you can check a lot of variables and function in the error thing
icecream17: i've heard of "explain to a rubber duck"
FlatVampire_a187: oh. i'll thy it out
icecream17: i have a checkPath function i use to check whether a silence is good, but i call it 4 * possibleOpp.length times and it takes too long.
rwilson: icecream17 - are you pre-pruning the most recent step first? or checking the whole path?
rwilson: [here last time] -> water -> water -> island = don't bother checking 3 & 4 length silences
icecream17: yeah i do that
icecream17: can't move 1 N, can't move 2 N
icecream17: but 4 * possibleOpp.length is misleading, more like "all the paths that seem good"
Ifthel: Correct me if I'm wrong, but wouldn't checking the whole path avoid branching and maybe be faster?
icecream17: unfortunately reputting "ohno (silence check)" in order behind the other checks such as torpedo and mine is too hard
icecream17: i have a string "WSSEESSSSEN" and i have an array with the offsets
icecream17: ugh nevermind
rwilson: icecream17 - ? repeating after torpedo check? and By the way --- I suggest you look at your movement & avoid locking yourself up in a corner too soon
icecream17: my floodfill timeouts too
icecream17: so i'm stuck with search 2
rwilson: :( i take it you've got some timing checks to bail out & not 'timeout' ?
icecream17: nope
rwilson: i've not seen you timeout yet... but shrug...
icecream17: https://www.codingame.com/share-replay/447318446
rwilson: i didn't put timing in there at first... early way I simply limited to a depth/count
rwilson: like, only let the flood fill go for 50 or 100 spaces instead of the full ~200 board
Nerchio: i do flood fill for my movement so for 4 possible moves i check how many from there
Nerchio: i only faced timeouts when following enemies path but at some point i just reset it with current known positions
rwilson: icecream17 - ooof, that doesn't looke like it SHOULD have been a timeout from floodfill for movement --- less nasty bug...
rwilson: Nerchio - :thumbsup: definately like the ... ' oops, lets just start over' for timeouts / errors
Nerchio: I mean the best is to have efficient working algorithm :D
Nerchio: but tracking silence splits is a pain for how much resources it needs
rwilson: Nerchio - you're doing the individual agents? right? or propogating a single potential wave of possabilities ? hybrid?
Nerchio: every non-island position at the start creates an enemy object that moves independently
Nerchio: so agents
Nerchio: it works well the only problem is when somebody just spams silence and does nothing else
Nerchio: then on open maps where you need more time to narrow down agents it might timeout
Nerchio: that's why at some point i cut some agents and start new ones from positions currently known for possible enemy
Nerchio: sadly new agents can't remember their previous path
rwilson: Nerchio - so essentially a particle filter for localization ... i might need to try a version with that.
Nerchio: i am fighting for gold right now
Nerchio: top2 in silver but fights against cpt haddock are 50/50 =/
Nerchio: since I don't really run away from opponents very often it's who hits first
Nerchio: and i don't track mines at all
Nerchio: i feel like they are very good
rwilson: FWIW... haddock seemed to be vulnerable to silence spam ( at least for a while - i've noticed him change at least once not long ago )
Nerchio: first atm
Nerchio: keep your fingers crossed for me :D
Nerchio: hm Haddock himself spams silence a lot
Nerchio: my silence is not very optimized so I don't spam it that much
rwilson: good luck ;) yeah, longest battles i've seen where silence spam dances in open water with no mines ;)
Nerchio: essentialy it just takes random distance, random direction and goes there if it can
Nerchio: so it might go into bad positions or waste space
Nerchio: damn i lost 5 out of last 6 games
rwilson: Nerchio i think mine is similar ... ISH .. OUCH :(
Nerchio: I added killer instinct to my bot vs mine spammers
Nerchio: if i see their exact position i just go and try to win fast :p
Nerchio: i also have a rare bug where my bot forgets it cant go somewhere
Nerchio: it happens really rare but i am not sure why can't debug it
rwilson: Nerchio - can or, can't?
Nerchio: it walks into islands sometimes but it happens once in like 20 games
Nerchio: not sure why haha
Nerchio: damn 2nd place :( lost too many games
rwilson: LOL ;) into islands ;) ouch ...
Nerchio: yea i start with an island map and then i just add to it positions i've been it
rwilson: ;) little worse sounding than my rare bug ... I forgot to mark my staring point as visited, so RARELY it would try to walk on top of it and get killed by the referee
Nerchio: rip gold dreams :D
Nerchio: it's my first competition i think if i get gold it will be enough
Nerchio: maybe if i fix the island bug i can make it
Nerchio: will try to debug it now
AntiSquid: competition = nothing is ever enough
Nerchio: i know i am saying i will quit my bot for the past 4 days
Nerchio: and i still do it many hours :D
Nerchio: should probably add mines to my bot
YannT: mines make killing the gold boss easy I think
YannT: he doesn't try to avoid them
wlesavo: gold boss?
icecream17: what's happening in gold?
AntiSquid: gold boss tomorrow
icecream17: i'm amazed at everyone.
YannT: (I did mean silver boss though, for passing gold)
AntiSquid: why icecream17
YannT: just do mines and you're probably good
icecream17: just curios
AntiSquid: you can go to the full leaderboard and watch everyone's last games
icecream17: not really helpful
AntiSquid: so maybe there's some ideas to steal from YannT while he is in chat
YannT: I have ideas, but at this point they all boil down to "rewrite everything in not kotlin"
icecream17: i have an idea. blow up all mines, silence, make a mine, and then torpedo before you give up (if you have to surface and you have 1 life)
YannT: becauise everything I try either doesn't do much of anything results-wise, or I don't have enough performance to make it work well enough
YannT: because at some point the GC screws me and I randomly timeout
icecream17: I found this game where i lost at move 275
icecream17: turn 736
AntiSquid: that's an achievement, the game only has 599 max turns
icecream17: i meant "frame" or something
Angecide: Hi, is it possibe to go back in league. I was playing average tic tac toe and suddenly I got forced to bronze league which means I am playing ultimate tic tac toe, but I am not done with average tic tac toe yet. I was still optimizing my code, so is there a way to go back to wood league and play the normal ttt?
AntiSquid: no you can't
AntiSquid: you can download the game from github and set it up locally and then manually select the league
AntiSquid: or create new account
AntiSquid: or delete current one and remake it
Angecide: like delete current progress?
AntiSquid: everything, but i don't recommend
AntiSquid: is agencide some sort of chemical to kill agencies ?
Astrobytes: *ange not agen
Angecide: ye, nothing special about the name
AntiSquid: pesticide for unrequested job offer calls :o
AntiSquid: oh, it's late Astrobytes
Astrobytes: Yeah I feel that man
Astrobytes: Brain's melting
Floryan: I was wondering if theres is a better way to organise your code than to have 18 classes in this tiny file editor?
Nerchio: haha
Nerchio: i did everything in 1 class then i realised its a bad idea
Floryan: I coded everything using interface, enums and classes like i would do usually but its really annoying to find something if everything is in a single file
rwilson: Floryan - check the forums, some fellow CG'ers have made tools to let you split out the files...
rwilson: i don't think all languages have something yet, but you might find what you need. but it does IMPLY that you're going to use an external editor & upload with something like ( CG Sync or CG Local ) ... as you can't split file with native Web IDE in CG
icecream17: is there a way to run multiple games at the same time without submit?
rwilson: i've not used it, but "CG Spunk" is a Chrome extension by a fellow CG'er that has a 'batch run' option
rwilson: https://forum.codingame.com/t/introducing-cg-spunk/1895
rwilson: ... and has FireFox option too..
Astrobytes: that doesn't work any more afaik, brutaltester or CGBenchmark or a homegrown runner is your best bet
RockyMullet: hum, just not using silence as soon as its ready got me from 28th silver to 6th
RockyMullet: was worth
RockyMullet: 0.8 points from the boss, I might drift :eyes:
D4yBr3ak: can you silence then move in the same turn?
darkhorse64: Use it in combination with the result of your self tracking
RockyMullet: yeah that would be next step
RockyMullet: now I just check if, from my curent position, I dont have much place to go
RockyMullet: making it useless
RockyMullet: but using the self tracking would be way better
rwilson: D4yBr3ak - yes ( move | silence | torpedo ) ... or whatever you like... just has to be at LEAST 1 action, and no more than 1 or each KIND
D4yBr3ak: that mean i can silence 4 cells right and go 1 up?
D4yBr3ak: for ex
D4yBr3ak: and thanks for the help
darkhorse64: Yes but you cannot a mine and trigger it in the same turn
icecream17: i justed checked the global leaderboard
rwilson: D4yBr3ak :) and just to be clear with darkhorse64 , you can't trigger the mine you just layed, but you COULD mine 1 5 | trigger 12 12
darkhorse64: +1
D4yBr3ak: ok that's great, thanks
RockyMullet: statement says that silence can move 0 to 4, how can I move 0 ? since I need to output a direction
RockyMullet: oh im dumb
RockyMullet: cause I always do a silence to replace my move, but it means im not recharging anything
RockyMullet: so I could instead, move and recharge, then do a silent 0
RockyMullet: would mean I recharge everything faster
rwilson: definately a tradeoff
RockyMullet: the result would be same except I would charge faster, I cant see how this can be a bad change
rwilson: RockyMullet - ;) if you move less, you give away less infor about where you are -- and you can live 1 turn longer each time - so potentiall less dmg from surface
rwilson: RockyMullet - BUT .. you're sitting still - enemy can close the gap or lay more mines, etc... = tradeoff
icecream17: does anyone know where you can practice floodfill?
struct: https://www.codingame.com/training/hard/surface
icecream17: thx
struct: I wouldnt do recursive floodfill though
struct: I think it recommends it
icecream17: ok
Zandy156: Is it just my bot's luck or are mines not that important?
struct: mines are crucial
struct: pb4 you here? Found a replay with maybe weird action
pb4: shoot !
struct: maybe its not weird
struct: so imagine you have 3 hp and enemy 1
struct: would your bot take 2 hp from you and 1 from enemy
struct: on purpouse?
struct: Its a win so it doesnt matter
struct: I guess
pb4: does my bot write "ik" in his message ?
struct: yes
struct: lol
Illedan: :D
pb4: Then you're spot on
pb4: ik = instakill = I don't care about anything else
Zandy156: Does anything like health or turn count affect ranking? or just winning vs losing?
struct: just win lose
struct: 6-0 == 1-0
Zandy156: How many players can we expect to start in legend league when it opens?
struct: I would say under 20