Chat:World/2020-04-18
WizardAesthetics: I got to 90% how did you guys get around not hard coding?
MadKnight: hey Zenoscave
Zenoscave: hey MadKnight
MadKnight: are u in legend ?
Zenoscave: yup
MadKnight: noice
Zenoscave: thx
MadKnight: what's your strategy now ?
Zenoscave: same as the rest of gold but i optimized well
MadKnight: how did u optimize it ?
Zenoscave: dfs
Zenoscave: movement choice is important
Zenoscave: and when to torpedo is as well
Zenoscave: when/where
MadKnight: nice
jacek: happy Caturday
Zenoscave: happy pre caturday
Riyuk: Hey MadKnight
aCat: :D
Riyuk: Guys, Is there any interesting course/book on AI that you would recommend?
Riyuk: AI/ Algorithms!
MadKnight: hey Riyuk
Riyuk: :wave_tone2:
MadKnight: just make a GA
MadKnight: Riyuk
Riyuk: Any puzzle to do that? MadKnight
Riyuk: to begin
MadKnight: CSB ofc
MadKnight: lol
MadKnight: https://www.codingame.com/ide/puzzle/coders-strike-back
rwilson: Riyuk - might look at "Artificial Intelligence" by George F Luger .. maybe newer versions? was good for me, but there are likely more 'fun' books out there...
Riyuk: Thanks MadKnight and rwilson
rwilson: ... if you want less 'formal' an a bit more fun -- really take a hard look at Udacity courses
rwilson: .. i'm sure there are good ones on Udemy, but i've taken several Udacity & they're nicely put together. ( bit of a price premium though for what feels like only 20 to 30% higher quality than Udemy in many cases though... so do your research.
aCat: there are some free coursera AI videos on youtube
aCat: I mean made by Stanford
Riyuk: Sounds nice
rwilson: ;) in this day & age, virtually all knowledge is free -- if you have the time to go find it... ;)
Riyuk: I'll go check all that before picking one
Riyuk: That's the thing, there is a lot of items
Riyuk: the concern is more to choose the right ones :)
rwilson: ;) if you got time... you tube.. if you dont', start lookign at Stanford free stuff, then Udemy courses ( when on sale ) and then Udacity ... ( that's, free -> $$ -> $$$$ )
Raul17: Hey guys, where to check for the answers which i'm not able to solve in clash of code?
eulerscheZahl: there is no way. you can just search for the clash to try it again
AlimDursun21: hello guys, I wanna learn programming with javascript . Who is help me about this topic?
eulerscheZahl: google
AlimDursun21: thanks for suggestions:grinning:
mikeNIN: also https://www.edx.org/course/introduction-to-artificial-intelligence-ai-2
eulerscheZahl: not even trolling. learning how to search is a key competence for a programmer
rwilson: ^ too true ( but becoming a key competency for a lot of tech fields these days ... outsourcing our brains has become second nature )
eulerscheZahl: and tech is evolving so fast. impossible to know everything. so looking things up is part of my daily work
rwilson: :( 40 tabs of various searches open .. right now .. while working on bot ... a mild evening of refreshing memory ...
eulerscheZahl: sounds familiar
cegprakash: when I want to get into Bronze but my friends call me to play AOE :(
eulerscheZahl: real friends would understand that CG is more important
eulerscheZahl: but instead of using your CG time to play the game, you spend it chatting
eulerscheZahl: just like me
marshadow9: how is everybody??
semera: Hi, codingame framework? When I start Ocean of Code simulation from captainsonar-1.0-SNAPSHOT-fat-tests.jar my debug informations are not in debug output. How to get my error/debug output?
eulerscheZahl: from the local webserver or the json file
eulerscheZahl: http://localhost:8888/test.html
semera: I am not starting web server, just simulation
semera: ok, hope have it, GameRunner.java returns GameResult
eulerscheZahl: i know. but has it error streams?
eulerscheZahl: never tried to get them
IjustKilledutoo: hello
IjustKilledutoo: it's me
Nerchio: hello
Nerchio: its me
thibpat: hello everyone! I'm streaming again some more Ocean of Code! Most likely the last time to improve my bot https://twitch.tv/thibpat
semera: ok, tested, errors are there
AntiSquid: maybe i should play rust next contest since then people can't optimize vs me :D
struct: you can even add if else
struct: if its in ide timeout
struct: else play
AntiSquid: lame @_@
AntiSquid: is that what Mr PonyPonyCodeCode does?
PonyPonyCodeCode: nop, I timeout only because my code is too slow in debug
AntiSquid: hi, get an avatar
eulerscheZahl: hi, get a promotion
AntiSquid: don't really care
wolf-555: hey guys does this site have bit manipulation questions ? am new here
tobk: what's a manipulation question?
wlesavo: try some of these http://eulerschezahl.herokuapp.com/codingame/puzzles/search/bit-manipulation
wlesavo: also chuck noris pazzle
wolf-555: @tobk https://www.hackerearth.com/practice/notes/bit-manipulation/
lxnn: Hey, can anyone answer this question: in 'Ocean of Code', what do the 'cooldown' values mean?
Uljahn: charges needed to use a system
darkhorse64: number of charges remaining before being operational
lxnn: Seems like a bit of a mixed metaphor
lxnn: cooling down vs charging up
tobk: note that it's a bit confusing that in the UI, e.g. the torpedo is ready when there are three dots, but in the input, it is ready when you have a zero cooldown
Nerchio: yeah
Nerchio: i gave up trying to use cooldown so
Nerchio: i have my own tracking for powers xD
tobk: finally integrated mines into my fatality-code. nice combo: SURFACE | TRIGGER 8 0 | MOVE N SILENCE | SILENCE W 3 | TORPEDO 7 1
lxnn: seems sensible to track powers yourself, because they could change between commands (i.e. they're not the same throughout your turn)
lxnn: I suppose the provided values could be used for validation
LyVanBong: hi everyone
tobk: I update my cooldowns while preparing my turn, but in between turns, I rely on the inputs provided
Febrin: Fast question, can you put mines on island?
NormantasStankevicius: no
Febrin: Thanks
MSmits: just land mines I think
MSmits: legend feature
Nerchio: lol
Nerchio: MSmits are you in legend already
Nerchio: You gave me a lot of trouble in gold :P
eulerscheZahl: top gold
eulerscheZahl: 7th including the boss
AntiSquid: all about who gets pushed and how
eulerscheZahl: i see it coming, he will make be cry again
MSmits: you're more confident than I am euler, very little time left
eulerscheZahl: you always get what you want
MSmits: I was at 2nd 3 times yesterday, think it was luck
MSmits: usually, not always
eulerscheZahl: i have no doubt that you will reach legend in the end if you try
MSmits: but we'll see, I am trying to code self tracking now. Have to recode it because my other code is too bloated to reuse as selftracking
MSmits: is it bad if i ignore mines on selftracking?
eulerscheZahl: i check for blasts in self-tracking. but don't go back all the way to check if a mine can be there
MSmits: yes blasts i do
MSmits: i dont blast myself except on fatality, so thats easy, only need to check opponent actions for that
eulerscheZahl: somehow it was worse for me with full mine tracking on myself. not sure if i screwed up implementation or if other bots have bad tracking
YannT: your triggers can be very revealing so if you wanna do self tracking proper your might wanna have that in ;)
MSmits: not enough time though yannt, this is basically my last full day to get out of gold
MSmits: i need a small boost is all
Nerchio: submit submit submit :D
eulerscheZahl: i even have a likeliness in tracking: it's possible that the opponent shoots himself. but unlikely. so i try to find a path without first. if none remaining, i allow self-shooting
YannT: do you prioritize shooting before moving whenever applicable?
YannT: that's a small boost right there ;)
MSmits: yes i do
eulerscheZahl: because shoot->move can recharge your torpedo
YannT: yes, often games are decided by just one torpedo charge in the end
MSmits: my problem is mainly that i dont use silence intelligently at all and also dont move to avoid being tracked
MSmits: also I think I need to improve my mine laying. Right now I just try to cover the map, but it's better to lay mines in places that the opponent hasnt visited isnt it?
YannT: self tracking is what allows you to assign value to your silences
MSmits: yeah
pb4: MSmits : I have a dumb mine laying method just like you have
lxnn: has anyone tried using a histogram filter for the tracking?
YannT: yeah I didn't do anything fancy with mines either
MSmits: ok pb4, but what if you do a "visited probability" function that calculates where the opponent likely has visited and then prefer cells that have a blast range on unvisited cells?
pb4: Nope
pb4: My only logic is to have at least 3 new cells covered by the mine I lay
MSmits: currently i disallow any overlap between mine blasts, probably a bad call
MSmits: but it makes me do more silence
pb4: You'll have charge a new mine by the time you've moved anywhere else
pb4: charged*
eulerscheZahl: now good is your opponent tracking? say the opponent knows where you are and you are on a possible mine of your opponent but the opponent doesn't trigger. then it seems there is no mine at all.
eulerscheZahl: do you handle that to eliminate paths?
MSmits: no
pb4: speaking to me ?
MSmits: it's dangerous
eulerscheZahl: yes, pb
MSmits: you might be wrong, some people trick you
pb4: It's on the todo
pb4: same with torpedoes
YannT: seems risky
Nerchio: damn when you submit and you don't move from 50th place
Nerchio: feelsbad
eulerscheZahl: he can't shoot you if you are out of range
pb4: also this would only apply to the rare case where I'm right over the mine
YannT: that will have you make possibly wrong assumptions about the opponent's estimation of value and if you're wrong you'll loose tracking
pb4: If I'm in the 1 damage area, he could try to wait for me to walk over the 2dmg area
pb4: YannT : "lose tracking" --> that's a no for me
pb4: I have two trackers
pb4: tracker with assumption
pb4: tracker without assumption
Quidome: OK, this was it. My new code is nice but way to slow. Have to back to the drawingboard for that and that is to much work for 2 days. :P
YannT: that's smart
pb4: if the tracker with assumptions loses tracking, I default to the tracker without assumptions
Quidome: Good luck to you all, see you at the next contest :D
eulerscheZahl: which is in less than a month already
Quidome: :punch:
eulerscheZahl: show some happiness
Quidome: ¯\_(ツ)_/¯
MSmits: wow... just my first test of bugged selftracking I see myself move in a large L-shape and reveal my location in like 10 turns
MSmits: while gold boss makes a little square
YannT: pb4: this is actually possibly the main reason I don't compete anymore when I think about iit... there's a lot of valid assumptions I thought of but decided against because it was too risky :o
pb4: MSmits : how high are you without self tracking ?
MSmits: best rank was right below gold boss, did that 3 times
pb4: YannT : a lot ? I actually thought this was a useless feature in my bot -_-
MSmits: I have 35% winrate vs gold boss
MSmits: I think if i get this thing to work it should get me legend, just from seeing myself reveal my location so quickly without selftracking
MSmits: probably i dont even need intelligent silence use, just picking the right move direction should do it
YannT: pb4: seems like that would only ever make a positive difference wioth no negative impact, as long as the assumptions make sense
lxnn: Question: do you think it's conceivably possible to do Q-learning in Python given the runtime constraints? I just started yesterday and need to decide how to use my time effectively.
YannT: I wouldn't be so sure ;)
Illedan: Long time left.
Illedan: And winners get prizes too. Time to do some serious stuff
YannT: is there tshirts?
YannT: I thopught not
Illedan: Thibaud said so yesterday
YannT: oh yay
YannT: seems like I'll get my first one then :)
MSmits: SeriousStuff initiated
Illedan: Indded
YannT: plz don't kick me out of top20
wlesavo: top 20?
YannT: top20 gets tshirts usually :)
wlesavo: wow
YannT: I feel like I've finally deserved one on this contest
YannT: oh yeah the contest poage has been updated!
YannT: Are there any prizes to win? The 3 winners will receive a canvas of the contest artwork! Also 20 T-shirts will be awarded to the 20 top players in the Leaderboard!
LikeUnkai: Skynet 2 has an issue. Test last "06 " failed only Submit session, all tests were success. why?
eulerscheZahl: ah, they updated it indeed :o
eulerscheZahl: was announced on discord yesterday evening
eulerscheZahl: and i wrote again without reading all the chat
pb4: eulerscheZahl : actually thinking more about it, it's difficult to implement the logic "I was there, he knew where I was, there can't be mines there" in my code
pb4: I don't save mine positions, I save where the mine was laid
eulerscheZahl: same. thought a bit about how to implement it, but i agree it's hard
YannT: also my data structure doesn't easily let me iterate over possible mines :p
eulerscheZahl: a bitboard
YannT: yeah
YannT: it's great and "is there possible a mine there" is super fast, but iterating over possible mines becomes like iterating over the entire grid :(
YannT: still fast but meh
eulerscheZahl: pb broken? got 3 wins vs him
eulerscheZahl: yeah, definitely broken
YannT: he's testing compiling stuff he said, times out a lot
eulerscheZahl: i suggested him to submit a binary for testing
pb4: Yup broken
pb4: local compiling seems to timeout
pb4: No idea why
pb4: Not that interested in investigating
eulerscheZahl: other compiler version, missing libs?
eulerscheZahl: i remember we had to use a specific g++ version when i tried submitting a binary
AntiSquid: eulerscheZahl see last frame: https://www.codingame.com/replay/451820062 it doesn't update the dots and i actually get in the input that i have 2 life not 1, so it's not just a visual bug
eulerscheZahl: i dont see how that's not a visual bug
eulerscheZahl: the opponent shoots a torpedo right at your location and you lose the remaining 2 lives
eulerscheZahl: so you lose, last frame is missing
eulerscheZahl: MUDA MUDA MUDA MUDA MUDA MUDA MUDA MUDA
AntiSquid: check last frame ... i give out a command
MSmits: Grrrr: if (triggerX = posX && triggerY == posY)
hit = true;
MSmits: see the error?
MSmits: c++ =/
anid: first condition, number of =
Astrobytes: triggerX = posX, classic
eulerscheZahl: last frame output stream: TORPEDO 13 2 | MOVE N TORPEDO |SILENCE W 1 | MSG 1 ms
MSmits: yep yep
AntiSquid: ah looked at the wrong color ... :/
Illedan: yeah..
eulerscheZahl: because everything is shown as p1 in the summary below the viewer (known bug, reported on the forum)
AntiSquid: i am not colorblind but i keep mixing up the orange and the red, that was the issue
AntiSquid: was thinking i am red
AntiSquid: while looking at the correct sub
MSmits: finally my self tracking seems to work ! Now to use the information...
AntiSquid: how can you get mine tracking to work but have problems with self tracking?
AntiSquid: i find mine tracking far more difficult
MSmits: it's not that it's difficult, it's that I made such a major mess of my code, i cant just reuse opponent tracking. So I had to recode a slimmer version of my opponent tracking
MSmits: and cause loads of new bugs =/
AntiSquid: ah i had a mess too, maybe you should consider rewriting after contest
MSmits: maybe I should consider never looking at it again :P
MSmits: like I always do after contest
MSmits: too much else to do
MSmits: but you're right AntiSquid, mine tracking is hard
MSmits: i did that 2 weeks ago so the pain has subsided
idkhow2codee: Hi, does silence make path behind you when you move >=2?
iFightLegends: yeah
iFightLegends: yeah
idkhow2codee: oh k
idkhow2codee: thanks
MSmits: first game with functional move selection based on self-tracking:
MSmits: https://www.codingame.com/share-replay/451851800
AntiSquid: replay the seed see if you win all the time
AntiSquid: i get random wins vs boss too
MSmits: i did the second time
MSmits: my main point is: No more long L shape at the start. It makes a tighter shaper
MSmits: shape
AntiSquid: ya initially i thought everyone was hardcoding that movement lol
MSmits: makes sense
MSmits: hopefully this is enough to beat the damn boss
AntiSquid: who knows
MSmits: i should say hopefully it actually helps, might be a fluke on this map
AntiSquid: submit?
MSmits: i did
MSmits: hard to say
MSmits: its going
MSmits: also started CG bench
MSmits: I like the start
MSmits: http://chat.codingame.com/pastebin/03fdf5bf-834d-4765-807b-2572f897fe09
AntiSquid: nice
AntiSquid: everyone else seems to just shuffle the ladder and feed the boss :p
MSmits: if I get a 50% + winrate vs boss, I will spam the :poop: out of it
MSmits: push people into legend if they beat me, drop the boss if they dont
Illedan: Nice plan
MSmits: mehL
MSmits: http://chat.codingame.com/pastebin/8dbbb1a7-d9a1-4e42-8b90-2a7f27e35f9e
MSmits: cheered too soon :)
Illedan: :D
AntiSquid: the mandatory loss streak
MSmits: yeah
AntiSquid: always baffles me to have a win streak and a loss streak, would expect more mixed results
Nerchio: we didnt have any new person since 24 hours in legend
Illedan: Let's keep it that way
dbdr: humans are bad at expecting randomness
eulerscheZahl: 50 is a good number
Illedan: Let's make pb 4 the boss
MSmits: it's a selection effect AntiSquid. You don't remember all the times you didnt get a streak
dbdr: we see patterns where there is just noise
AntiSquid: make pb the boss and reset legend
Nerchio: so if the event finished now i would get a tshirt?
Illedan: Or open SuperLegend
Nerchio: #20
Illedan: There is still a rerun Nerchio
Illedan: Where you get 1000 or so new matches
dbdr: above Legend is Mythical
Nerchio: rerun?
AntiSquid: ya Nerchio lucky submits won't help that much anymore, but they do help a bit
Nerchio: so after timer finishes everyone in legend plays around 1000 matches or what
Nerchio: ?
Illedan: yeah
Illedan: to stabilize
AntiSquid: just rename legend to platinum / diamond and have legend above that, more like a moba
eulerscheZahl: first all pending submits will finish. so you can in theory go all the way up from wood to legend
eulerscheZahl: then the final rerun takes place
AntiSquid: last second submit can still go wood to legend? woot lol
eulerscheZahl: every player starts 500 matches on its own. so approx 1000 per player as you can be selected as an opponent
eulerscheZahl: recalc only happens for min(100, legenLeagueSize) players
AntiSquid: i forgot about that
Swagboy: Hehe if someone in wood found the magic constant
eulerscheZahl: sometimes it happens that we have to wait for one gold player to promote and climb up, delaying the whole rerun
AntiSquid: you can still last minute submit bronze to legend
eulerscheZahl: i can't recurs e can
AntiSquid: good win rate MSmits but you still so far from boss :/
MSmits: yeah
MSmits: it's not good enough, I am trying more things. I have the tracking, so I just have to use the information properly
AntiSquid: use the Luke, force
MSmits: I will use the Luke
darkhorse64: Is there a way to see the gold boss level when you are legend ?
MSmits: no idea actually
eulerscheZahl: yes, open a replay containing the boss
eulerscheZahl: the score is shown below
AntiSquid: why? are you worried big bad MSmits will come and wreck you?
eulerscheZahl: there's another way using the in-game leaderboard for the specific league. but that's something for scripting, no simple manual way
MSmits: look AntiSquid:
MSmits: http://chat.codingame.com/pastebin/35c015ee-8e66-4e5a-9c8b-0681c142f748
MSmits: no streak
eulerscheZahl: we don't fear AntiSquid we accepted defeat the moment smits decided to play the contest instead of onitama
MSmits: :P
AntiSquid: maybe i should play community games instead of idling in chat :thinking:
eulerscheZahl: nah, chat is fine
darkhorse64: I have achieved legend with no hope to win a tshirt. I have nothing to feat. Just interested in others effort
eulerscheZahl: that dasies game reminds me of connect4 just with a huge branching factor
eulerscheZahl: same darkhorse64. i gave up
MSmits: it's a strange game
ZarthaxX: hi guys
eulerscheZahl: minimum goal achieved, getting some rest before the next contest + codejam
Nerchio: come on darkhorse you gave me a tough time in gold its time to fight in legend too :D
ZarthaxX: darkhorse64 u quit?
darkhorse64: Not yet for me. I am trying some marginal improvements in lack of a real strat
wlesavo: eulerscheZahl i remember you claiming a bot from march 31 would take 50-60 in the end of the contest, i guess you right in a way that you can only submit it in legend
MSmits: huh, explain that
ZarthaxX: wot
MSmits: what is 50-60?
wlesavo: #50-60
ZarthaxX: position i guess
darkhorse64: Unless a flood of people promote, this is going to be my best result ever
MSmits: oh ok
MSmits: rank
wlesavo: yes
ZarthaxX: smitooooooooooo
MSmits: yes Zarthy?
ZarthaxX: heyo
MSmits: hi
ZarthaxX: school got you more busy than usual
MSmits: mmh school and uttt
MSmits: but not anymore, almost vacation
ZarthaxX: oh u did uttt this month?
MSmits: yep
ZarthaxX: oh nice!
ZarthaxX: so u kind of quit this one
MSmits: I am trying to get to legend
MSmits: then i will quit
ZarthaxX: i see
ZarthaxX: same feeling
ZarthaxX: :P
kovi: euler, you still have stats running?
lxnn: Are any more game elements added after bronze league?
ZarthaxX: no
MSmits: no game rules, many different game strategies though
eulerscheZahl: i admit my estimation was wrong wlesavo
lxnn: oh ok, thanks. I was a bit confused because I got promoted automatically
ZarthaxX: Nerchio do you have if else spaghetti?
eulerscheZahl: i don't have much experience for such long contests
Nerchio: y
ZarthaxX: wow..
MSmits: patience you mean eulerscheZahl?
ZarthaxX: congratz on that rank for first contest btw!
Nerchio: ty
MSmits: oh right, experience too
ZarthaxX: really skilled spaghetti
Nerchio: you dont have if spagheti/
ZarthaxX: a mix
MSmits: 2569 lines :(
wlesavo: but still would be fun to submit it in gold
ZarthaxX: but i suck at spaghetti
MSmits: justy fyi, i worked on uttt for 2 years and it's 1400 lines
ZarthaxX: are u first?
Nerchio: whats utt
MSmits: havent checked today
ZarthaxX: ultimate tic tactoe
MSmits: karlis o was gonna do something
MSmits: but i was 1st yeah
ZarthaxX: like tic tac toe but on steroids
ZarthaxX: oh ok
Nerchio: lol
ZarthaxX: was?
MSmits: maybe still, let me check
ZarthaxX: ah ok
ZarthaxX: :P
darkhorse64: MSmits 51st ?
MSmits: I am currently above boss
MSmits: but...
ZarthaxX: :O
MSmits: submit hasnt ended
MSmits: hate that
MSmits: will go back down i think
MSmits: several losses
ZarthaxX: this is the one smito
ZarthaxX: :C
MSmits: nah it;s shot, will try again :0
lxnn: Can you lay a mine on the cell you're currently on?
MSmits: still nr 1 uttt
MSmits: ZarthaxX I did something tricky to beat karlis o
MSmits: he's the only guy i cant beat without opening book
MSmits: but he has one too
darkhorse64: Overbooked karliso ?
MSmits: so i recorded his book and created my own book on top of it
MSmits: 100% winrate :P
ZarthaxX: ah ..
MSmits: as p1 that is
ZarthaxX: LOL
ZarthaxX: u used his as a base
ZarthaxX: lmao
MSmits: yep
ZarthaxX: kind of boring way of winning
ZarthaxX: but fair
MSmits: my bot is also very strong, i am not sure if it would be 1st if everyone removed their books
MSmits: but it would be 2nd at least
MSmits: so I have no choice but to counter any player with deep books. That is the way to go in the top 4 apparently
kovi: it is definitely hard to climb today
Illedan: No more autowin of pb 4? :P
ZarthaxX: MSmits it's a fair play
ZarthaxX: i just like games maybe where u cant do opening
ZarthaxX: i like the idea of it tho
wlesavo: that book war is facinating
MSmits: ZarthaxX bandas then
MSmits: you can create endgame books for bandas, but that is just to more efficiently solve.
MSmits: eulerscheZahl did a good job on making onitama openingbook proof as well
ZarthaxX: no opening?
ZarthaxX: ah doesnt make sense right
ZarthaxX: too many starts
MSmits: like a million or more
eulerscheZahl: not me, the game was always like that
MSmits: onitama has less than bandas but still a lot
MSmits: true...but it influenced your decision to pick it didnt it?
eulerscheZahl: yes
eulerscheZahl: and i saw nice animations at my inner eye
MSmits: they sure are nice
darkhorse64: If there is ever a chess game on CG, it shoud be the Fischer Random variant for this reason.
MSmits: you dont really have to worry about opening book moves with chess
eulerscheZahl: someone thought about adding chess in exactly that version. illedan?
MSmits: there's a few useful ones, but other than that, the branching is so enormous, it is of limited use
MSmits: checkers has more use for it
Swagboy: There was final books however in previous state of the art
Illedan: That project was put on hold :P
Illedan: But the idea was to add with fischer random
Illedan: But I like the idea of normal too
Kukiss: Hello all, I have a grid with flagged areas in it and now I try to find the border cells of these areas. I am having hard times to ask a proper questions to google to look for some existing solutions. Do you maybe have any how to call it?
Kukiss: any idea*
MSmits: do you want a list of them or just a grid with the border cells flagged
MSmits: I mean do you need to keep the relation ship with the center cell
Matryza: path finding algorithms find the one u need
Kukiss: well, I have already a mess. I have grids and I also store sets of coordindates. But a grid result would be better
Kukiss: and, I do not need to keep the relationship with the center cell
Nerchio: fun statistic
tobk: How are the first opponents in a submit determined? I random selection from the entire pool? just had a boss fight as first battle and by bot was ~90th on last submit
Nerchio: i start an if statement 362 times in my bot
lxnn: Kukiss, if I understand you correctly, you have a region of cells, and you want to extract those cells that lie at the edge of that region?
lxnn: And this is on ocean of code?
Kukiss: lxnn yes, it is OoC and yes, your summary is correct
tobk: get all cells in the set that have a neighbor that is not in the set
lxnn: Ok, so surely it's just the cells that have at least one neighbour that is not inside the region
tobk: I love ses in Python. Use them extensively in all contests. e.g. to find the overlap of some blast area and possible opponent positions
tobk: *ses=sets
Kukiss: I store opponent's possible paths as sets + coordinates of last position and I wanted to filter it a little bit out with having only edge cordinates. But with this solution I miss information about the neighbors per each path.
Thanks for the insight, I will think how to rebuild my stuff.
Kukiss: tobk Actually, I read second time what you wrote about sets there and it was exactly what I was missing. Thanks!
Counterbalance: almost legend, MSmits, nice
MSmits: yeah, it's a struggle to get there really. Not having much luck today even though i coded a lot of improvements I thought
Counterbalance: My improvements are often worse aswell
MSmits: mine arent even really worse. They are just major things and when i do a test, there's no change
Counterbalance: same here, it's confusing
eulerscheZahl: it's frustrating
MSmits: yeah
MSmits: btw, I too have succeeded in timing out myself with self tracking
MSmits: using silence
MSmits: that's when you know you're doin it right
eulerscheZahl: we can do that too
eulerscheZahl: just got one in the IDE while typing :D
MSmits: lol gj
MSmits: hi
darkstar: new here, was wondering if anyone has give a go at "Shadows of the knight- ep 1"?
ZarthaxX: it's a weird game where you code improvmenets and it doesnt work :D
ZarthaxX: consistently
MSmits: does it consistently not work or does it not consistently work?
ZarthaxX: well lets say 50 50
ZarthaxX: :P
MSmits: lol ok
Swagboy: Haha
MSmits: darkstar almost everyone has
MSmits: look up binary search, that's what you need
MSmits: np
MSmits: it's a 2D version of binary search btw, what you will find is most likely 1D
MSmits: not that different, but still
eulerscheZahl: you can do both dimensions independently
MSmits: yeah i guess it is 2x 1D
darkstar: i have been changing the bounds, dividing by 2 but still haven't gotten it to pass all the tests. I will start over
MSmits: thats kind of how to do it, but there's many ways to make a mistake
MSmits: output your choices in error messages and see if they are correct
darkstar: this channel is called world. Is it for all challenges or specific to what im trying to solve now?
MSmits: maybe add some more messages for intermediate results
MSmits: this is for all
eulerscheZahl: general purpose chat
darkstar: ok good to know, thanks
MSmits: we are doing a contest right now so thats what you'll be reading about, it ends on mondaymorning
eulerscheZahl: right now it's mostly about the contest ending on monday
eulerscheZahl: (╯°□°)╯︵ ┻━┻
MSmits: thanks, the goal is to make eulerscheZahl flip again, but for a different reason :P
ZarthaxX: invite eulerscheZahl to clash of code
MSmits: yeah that seems like great fun until he decides to accept and whoop you
MSmits: cuz you know he will
Sneffy: Hi! I'm doing LoC&M now and i wonder if someone has some time to help me finding a way to generate and test possibilites efficiently
MSmits: did you read the post mortems?
darkstar: flip as in flip out?
MSmits: mine is pretty detailed I think
MSmits: (╯°□°)╯︵ ┻━┻
MSmits: type /flip
MSmits: as in flip the table over
Sneffy: Okey MSmits i'm gonna read it and see if i have some question thanks :)
MSmits: np
Sneffy: At first i wanted to store a Move as as tructure that contain a type (int that represent if the mvoe is a summon, attack, or use) and then card pointer for source and target, is it too slow to work ?
MSmits: that kind of speed doesnt matter much in this game
MSmits: you need speed in the sense that you dont consider duplicate moves
MSmits: as in two move orders that lead to the same state
MSmits: so if two creatures worktogether to kill something and there is no shield involved (whatever that bubble is called), then just consider one order between them
MSmits: so if you do A attack C, then B attack C, dont consider B attack c, then A attack C
MSmits: shield complicates this though, because when a creature is shielded, you need to attack with the low damage creature first
MSmits: this sort of "using fixed order" strategy to reduce branching also works on summoning and using green items (and red items to some degree)
Sneffy: So i need first to generate all the possibles mobes
MSmits: if you can, you need pretty strict pruning. Also you need a way to deal with the tree for those rare instances where the branching is just too great
Sneffy: and like take one, then regenerate the possible moves ?
MSmits: something like that
Sneffy: because if i play one move, then it will remove some other possible moves or add new ones, like if i kill a guard
MSmits: it is not an easy game though. if this is your first time doing a tree-based search it is going to be rough
Sneffy: so each time i choose a move i need to compute again
MSmits: yeah
Sneffy: I have tried tree search on csb but i stopped after not being able to make my blocker works
idkhow2codee: what are you guys talking about?
MSmits: csb is also not an easy game to start doing tree search with
MSmits: tron is easier
MSmits: or any of the simple board games
Sneffy: i've done it with bandas too but i have not enough performance to get to top
MSmits: ahh dont worry about the top when you're still learning. Bandas top is really strong
Sneffy: on csb move generation is somewhat easy because it's always the same ones
MSmits: most of these simple board games have very strong top players
Sneffy: but on loc&m it seems tough
MSmits: it is
MSmits: do you use a fast language?
Sneffy: i've done it years ago in java but i wasn't good and i had like 3-4k sim per turn
MSmits: ah ok, that helps for csb and those board games, however, it is a pain to use it on locam
Sneffy: i had a basic monte carlo without tree
Sneffy: just while(time) test random
MSmits: ah ok, some top players had that too
MSmits: it works ok
MSmits: but better perfromance is important then
Sneffy: so in a tree a node contain a whole turn ?
Sneffy: or each node is a move
MSmits: depends on the game
MSmits: in locam a node is a move
MSmits: for me anyway
Sneffy: I should maybe try without tree for now to get legend first
MSmits: you can do that, but you'll still need some kind of heuristics
MSmits: I never wrote a heuristic bot for locam so i am not sure if it is hard
Sneffy: you mean the evaluation for the board ?
MSmits: i mean if you use no tree
MSmits: you need some rules to determine what moves to do
MSmits: which cards to play etc.
MSmits: my bot does this using a tree, if you dont use a tree, i dont know what else you would do
MSmits: heuristics obviously, but that can get complicated also
MSmits: I think I have a clear avantage over ooc gold boss now
MSmits: but I need to get past the rest of the players :P
MSmits: time for some submit spam maybe
Sneffy: In your PM you speak about phase, like summon phase, then green item.. etc So in your node you have those phases ? like while you can summon you only generate chil that summon ?
MSmits: yeah i have phases
MSmits: some of them may repeat though
MSmits: like i might have two summon phases
Sneffy: but you also have a node that summon nothing ?
MSmits: oh hmm, yeah maybe i do
Sneffy: like keep a card for later
MSmits: Iam not sure what happens if i have no creatures, i may create an empty node
Sneffy: it would require to score the cards in your hand to not plays them each time you can
MSmits: thats not important though, just do whatever works
MSmits: sometimes making an empty node makes things simpler
Sneffy: It wasn't like if you have no mosnter to play, but more if you have one spell and you prefer keeping it
MSmits: ah yes, i have an option for not playing any spell
Sneffy: like it could improve the board state, next turn, but you still keep it because it could improve it more late
MSmits: sure, yes, let me look it up
Sneffy: and you need scoring the card in your hand to that your search keep it right ?
Sneffy: else it'd just "waste" like a red spell -7hp on a 2/2 monster
MSmits: double EVAL_ITEM_USE_COST = 0.2;
MSmits: I deduct points for using an item
Sneffy: oh it it's constant for each item ?
MSmits: not sure, let me check
MSmits: score -= itemUseCost * EVAL_ITEM_USE_COST;
MSmits: so not constant
Sneffy: ok that's what i thought nice
Sneffy: i have much to do now haha
MSmits: as long as it's fun :)
Sneffy: yeah, i prefer doing games like loc&m and csb as they are funnier but.. also harder
MSmits: yes, csb is hard for a different reason though
MSmits: it's very sensitive to eval and the physics is not easy to get perfect
Sneffy: i found it kinda easy to get to top 20 legend
Sneffy: but to get higher is way harder :p
MSmits: with locam, eval doesnt seem to matter that much as long as it makes some sense
Sneffy: i have a top30 genetic algorithm but with tree i couldn't acheive sames results :/
MSmits: which algorithm?
MSmits: for tree
MSmits: oh, very few people have made it work for csb
Sneffy: i mean with simple eval it works great for runner
MSmits: Yeah that is what people tell me that try
MSmits: my eval for csb is a mess, but it somehow works
Sneffy: mine is too for my genetic
Sneffy: i have like 30 lines with plenty of if with angles and stuff
MSmits: I never wrote a GA myself, I like SA, so I would probably try that first for a game where a hill climbing-type algo is needed
Sneffy: I don't even know if my ga is "real" ga but well.. i have population and i do mutation and crossover haha
Sneffy: but it's kinda bad for games like csb
MSmits: did you use inoryy's csb starter for the GA? Seems most do
Sneffy: First time yea but i changed a lot of things
MSmits: btw GA was the meta for a long time with most people in top 10 csb using a GA
MSmits: but you're right, it seems to me GA *should* be bad for a game like csb
MSmits: probably it was only at the top until someone had the courage to try a good minimax
Sneffy: GA should be bad for every games with opponent that can alter you on purpose
MSmits: its a bit iffy, because you need to discretize, something you dont have to do for GA
Sneffy: pen, robostac,madknight, and others were already beating us easy at that time
MSmits: true, the more interaction between the players, the worse GA should be. But my algoritm has that too
MSmits: when was this Sneffy?
Sneffy: like 3 years ago i think
MSmits: oh wow, before I was on this site
MSmits: before I could code a bot even :)
Sneffy: and now you are 10* stronger than me hahaha
MSmits: not feeling that strong right now, still failing in ooc gold :P
Sneffy: well i stopped after getting wood 1 or 2 don't remember :p
Sneffy: did not really like the game
MSmits: I like it ok, but I wish i would just get legend and then I can quit :P
YannT: it's a heuristic heavy game, maybe not your forte? ;)
Sneffy: I like heuristics, but this one is heavy on path and stuff
MSmits: yeah that too
MSmits: and the information game is huge in ooc
MSmits: I am not used to that
Sneffy: i'm gonna try to create my own multi soon i think
MSmits: cool
ZarthaxX: oh
ZarthaxX: pog
YannT: Sneffy: my pathing is actually the worse part of my bot, so it's not *that* important
YannT: I still catch replays where it gets stuck on a shortish surface loop and stuff like that :p
MSmits: ouch
Sneffy: YannT yeah i see, but the tracking system too :p
MSmits: just do a floodfill
YannT: it's more involved than that tho
YannT: I alter pathing to avoid mines, but can't apply mine detection during floodfilling (too heavy)
YannT: so in very specific circumstances, it can enter a loop
MSmits: ah I see
MSmits: I guess we all have these weaknesses
YannT: and I have depth search too
YannT: but if the loop is like 10-15 moves, that won't see it either :)
YannT: it's alright, doesn't happen often
MSmits: ah I see
MSmits: moar submit spam!
YannT: mostly it does when the bot finds itself deep in the middle of a minefield, usually the game's lost anyway in that case
MSmits: this is pretty clear right:
MSmits: -- TOTAL -- GW=57,41% [ W=57,41% L=42,59% D=0,00% ] [162 games]
MSmits: 162 games vs boss
YannT: I'd say so, since it's all vs. one bot, it should be pretty significative
YannT: significant*
MSmits: unfortunately I dont do superbly well vs the rest, so i am going to have to push them into legend
MSmits: before getting in there myself :
Nerchio: lol
Nerchio: how you get the stats
MSmits: i just run games on cg benchmark, a tool
MSmits: it basically runs IDE games automatically
MSmits: with a time limit so as not to overload the cg servers
MSmits: i try not to overuse it during contest
MSmits: but i need it now :)
Sneffy: Why not brutaltester MSmits ?
MSmits: I need to know how it stacks up vs boss
MSmits: so unless someone gives me the boss source code, I cant :)
MSmits: uh oh, horsey going up again
MSmits: PonyPonyCodeCode
Nerchio: how much points does boss have
MSmits: 28.92
MSmits: nr 2 and 3 both 28.02
eulerscheZahl: 29.00
Nerchio: 28.92 is pretty low
Nerchio: it had up to 31 at certain points
MSmits: it is, it just takes some luck for me to beat him
Nerchio: i had same thats why i needed like 20 submits :D
MSmits: right
eulerscheZahl: 20 isn't much. some players got the 1000 submits in this contest already
Nerchio: but i focused on getting my bot more consistent against people in mid gold
Nerchio: so i could go for big winstreaks
Nerchio: rather than boss itself
MSmits: hm ok
PonyPonyCodeCode: 432 submits here, but I can't really test my code in the IDE ;-(
Nerchio: same i write in the IDE but ctrl+c to codinggame
MSmits: ahh Rust
ZarthaxX: Nerchio not that lol
ZarthaxX: rust timeouts when u click play my code
Nerchio: ah really :D
Nerchio: sounds like a pain
ZarthaxX: everytime
ZarthaxX: :D
Nerchio: it's rusty so makes sense
eulerscheZahl: Rust has release mode compilation in the arena but debug in the IDE
AntiSquid: lol ladder just gets shuffled Raziel fingers crossed and you might promote
MSmits: why cant they fix that eulerscheZahl?
eulerscheZahl: because it's a feature
MSmits: ?
eulerscheZahl: release as it's significantly faster
eulerscheZahl: debug to show you which part of your bot is broken
eulerscheZahl: going up and down, he was there before
eulerscheZahl: and then a resubmit 4 ranks below
Nerchio: i won maybe 1 game vs kovi so far getting trashed all the time
MSmits: eulerscheZahl shouldnt you be able to select what you want to compile it as? Like you can in c++
kovi: yeah, top4-5 is still packed (val joined the branch)
eulerscheZahl: you can MSmits? do you mean pragmas?
MSmits: yes
MSmits: does rust simply not allow the feature?
eulerscheZahl: not the same and i don't know if Rust has something similar to this
MSmits: ah
MSmits: you can do a trick in C# as well
MSmits: but it never seemed to help much with me
eulerscheZahl: call the program itself with runtime optim?
MSmits: yeah I think that was it
idkhow2codee: guys is it correct to name my boolean function as question e.g. bool IsCellFilled()?
eulerscheZahl: still not the same as compile-time
MSmits: ah ok
eulerscheZahl: depends on your language idkhow2codee
idkhow2codee: c++
eulerscheZahl: then i don't know about the uppercase I
Nerchio: isCellFilled
Nerchio: i would use
eulerscheZahl: in C# that would be the way to do it, in Java you would write isCellFilled
MSmits: I use C# style in C++
MSmits: who cares :P
eulerscheZahl: with I for interfaces?
MSmits: there's a lot worse wrong with my c++ code than just style anyway
MSmits: I never use an interface :P
eulerscheZahl: illedan even uses that I in java :rage:
idkhow2codee: but I don't care about case but about if I can name my function as question
Nerchio: iScElLFiLlEdReTuRnTrUeIfTruE
Nerchio: ?
idkhow2codee: xd
MSmits: works :)
eulerscheZahl: hi, this is Patrick
MSmits: euler was hacked!
Zenoscave: is this the krusty krab?
eulerscheZahl: https://imgur.com/gallery/xiqP6cT
eulerscheZahl: tHe WeIrD cAsInG somehow reminds me of patrick
MSmits: ow
MSmits: your brain is malfunctioning, this contest is too long
eulerscheZahl: every contest is too long
MSmits: for you yeah, 2 days is optimal :)
eulerscheZahl: A*Craft had a good duration
MSmits: I was super stressed out
kovi: acraft was for tourist
MSmits: would be enough for me now I think, assuming I dont have anything else on those 2 days
kovi: even though im sure he spent only few hours
MSmits: well I beat him on code a la mode so :P
MSmits: slapped him around with my obfuscated 3k lines of code
MSmits: (due to char limit)
MSmits: pretty sure he just tried it and thought, fk this cooking, I am out :P
icecream17: oh no! what did i do? how did it not save? i'm pretty sure i pressed play my code....
Nerchio: use git
MSmits: can always check submission history
pb4: hey
Zenoscave: hi pb4
MSmits: hi
pb4: I'm printing a binary map which is easy to read in stderr from ide
pb4: . and x just like the inputs
pb4: however, in the stderr below a replay, the . and x don't have the same width
pb4: --> hard to read
pb4: any suggestions on two characters which would have the same width below submit replays ?
Zenoscave: x and o?
pb4: (also easily distinguishable)...
Zenoscave: of . and |
Zenoscave: verticle bar
pb4: X and O are different widths
pb4: I'll try the small versions
Zenoscave: shame
mlomb: the font is monospaced i
mlomb: I think*
Zenoscave: nope
mlomb: the one in the debug output?
pb4: in the replays
pb4: not in the IDE
mlomb: oh yes
mlomb: thats sad :(
skotz: i just dump .info_stderr { font-family: monospace; } in chrome dev tools :)
Zenoscave: skotz with the real answers
pb4: I'm going to like this : http://xahlee.info/comp/unicode_full-width_chars.html
pb4: Thanks for the suggestion skotz :)
pb4: Do I have to do it every time I open chrome ?
pb4: Everytime I open a replay ?
Swagboy: 0 and 1 works well also pb4
Zenoscave: Should be able to cache it somehow
skotz: yeah... unless you have a live css editing plugin
pb4: full width chars look gooooood :)
pb4: It even makes the map a square
Zenoscave: That's interesting
mlomb: if you are using CGEnhancer you could throw a line there to apply the css autimatically
Swagboy: Ah square map is a big +
Swagboy: Even a big □
Zenoscave: new sub pb4?
eulerscheZahl: new sub Zenoscave?
pb4: Yup
pb4: trying a new feature
Zenoscave: always
pb4: not working at the moment :D
MSmits: above boss again.... probably temporary again
icecream17: Somehow when submitting I always lose the 2nd game
MSmits: your first submit are 10 games spread out over the ladder
MSmits: likely your 2nd game is one of the better players
MSmits: your first 10 games I mean
MSmits: it's to make sure you dont have to travel all the way from the bottom to the top. They get you to your destination more quickly, especially if you're the best bot.
icecream17: I win 8/10. But so close, yet so far away from boss....
MSmits: what do you mean 8 in 10?
MSmits: on your first 10 games or overall?
icecream17: yeah
MSmits: or against boss specifically?
MSmits: which is it?
icecream17: 1st one
MSmits: ah ok
MSmits: well thats pretty good
MSmits: usually means you end in the top 1/5th or so
icecream17: The last day. Everyones submitting
MSmits: not last day
MSmits: tomorrow is the last full day
MSmits: then some hours on monday
MSmits: depending on your timezone
icecream17: Oh. I forgot. (11:37 AM)
MSmits: shit i finally did it
MSmits: Legend :0
kovi: grat
Febrin: Yeey :d
Febrin: That was a lot of effort, was it :D
Swagboy: Gret
Counterbalance: grats
blasterpoard: cg
MSmits: I just wore down the boss :)
MSmits: attrition
leojean890: gg
Zenoscave: gz
leojean890: yesterday you were so close MSmits.. you could just have been pushed in legend :P
leojean890: 29 vs 29.3
MSmits: I thought so but no, i think i was very lucky last night
MSmits: after that i never got close until i verified my bot was better
leojean890: I think that I won't succeed
MSmits: it had 58% vs boss, my version last night had 35%
leojean890: oh I see
Febrin: Can you drop down to gold if you perfolm badly in legend, tho?
MSmits: no
MSmits: once you're in, you're in
leojean890: I've been on the gold top for 8 days
leojean890: without succes ;o
MSmits: do you have a fatality check?
leojean890: yeah:P
MSmits: self tracking?
leojean890: yeah but not perfect I think
leojean890: the damage taking into account
MSmits: mine isnt either, i dont track my own mine triggers
leojean890: same
MSmits: i do track damage
MSmits: and surface, sonar, torpedoes etc.
leojean890: I track damage for enemy tracking
leojean890: and everything
MSmits: me too
MSmits: do you track mine triggers for opponent?
leojean890: but for mine not damage nor mine trigger
leojean890: yes mine triggers for opponents, damage, sopnar, surface
MSmits: ah you need that, for opponent, not so much for self tracking i think
MSmits: do you have mine avoidance?
Swagboy: Miine trigger is important
leojean890: mine trigger sometimes erases many paths :)
leojean890: really efficient !
MSmits: yes
MSmits: thats one reason you need it
leojean890: not all the time but sometimes it's really efficient
MSmits: yeah
leojean890: yes clearly :)
MSmits: but do you have mine avoidance?
leojean890: I have mine avoidance but not perfect
MSmits: noone's mine avoidance is perfect :)
leojean890: sometimes I just surface for nothing :s
Zenoscave: MSMits do you surface if there is no possible way to avoid a mine?
MSmits: sometimes you just gotta go into the minefield, unless you want to surface
eulerscheZahl: there we go, told you MSmits
MSmits: Zenoscave, no
MSmits: it's a good idea though
leojean890: I choose to surface most of the time
Illedan: euler, gonna let me win the C#? :D
leojean890: depending on the proba
MSmits: hmm
MSmits: I should do the surface thing I guess
eulerscheZahl: i do but Zenoscave has something against it
Illedan: hmm
leojean890: it's hard to choose if we go into mines or surface depending on the proba and the situation..
eulerscheZahl: my bot sucks and i have no idea how to change it without a major rewrite
MSmits: thats relative eulerscheZahl, mine has many shortcomings also, but i would not say it sucks. It's pretty good for getting into legend
leojean890: :P and mine, stuck in gold..:P
leojean890: not so good right :P
MSmits: leojean890 depends in your skill level
MSmits: eulerscheZahl is just used to being top 20 on most contest
leojean890: I see, not me XD
MSmits: then be proud, top gold isnt that easy on such a crowded contest
leojean890: usually I have less time for contests:s
MSmits: 7k players registered
YannT: hey gg MSmits
MSmits: there's 51 in legend
MSmits: thanks YannT
leojean890: yes 51
leojean890: but I spent LOTS of time on this one^^
YannT: I was sure you'd make it without too much trouble :)
leojean890: and usually not much :P
MSmits: many did that
YannT: legend bots are somethiing else entirely tho as you'll soon discover now!
leojean890: usually less than 10 hours
MSmits: yeah you said that but I gave it a lot lol. 2 days coding straight :)
leojean890: this contest more than 100 hours^^
MSmits: I think I'm at 50 hrs or so total
MSmits: maybe a bit more not sure
Illedan: I'm at N+1 hrs
MSmits: does random chatting count?
leojean890: so, good perf :p
leojean890: idk if I can count chatting:P
eulerscheZahl: i just realized how loong leojean890 is on CG already :o
eulerscheZahl: since 2014
MSmits: cool, a veteran
leojean890: but many many hours watching replays
leojean890: eys euler but at first I didn't spend time on contests and I had bad perfs :P
MSmits: but not so much time invested in CG i think
Illedan: When there was less than 4k players :o
MSmits: your xp level is not so high
leojean890: I made multis when I have time:)
leojean890: I only went into gold for 7 topics
eulerscheZahl: then upload them and share the games with us
MSmits: ah ok
leojean890: in multis
MSmits: he means he worked on multis i think
leojean890: not created them
leojean890: I worked on multis
ZarthaxX: gz MSmits !!
YannT: I have no idea how much time I spent on this, but it's probably a loooot
leojean890: my CG ranking on multis is higher than on contests
YannT: I really wanted my first tshirt though :)
MSmits: thanks Zarthy! Super happy
leojean890: 350 in multis and 5k in contests :P
MSmits: you will get it most likely YannT
YannT: yeah top10 achievement is looking kinda iffy, but I'm confident for the tshirt
leojean890: cause I can do multis when I want
leojean890: and contests need time at precise moments
Illedan: YannT, just wait for tomorrow night
ZarthaxX: quitting MSmits?
Illedan: All hell will break lose
eulerscheZahl: yeah, things can change a lot
Illedan: Monday morning we get the hiders too
MSmits: maybe semi-quitting. My eyes hurt if I look too much at my spaghetti :P
kovi: not sure, if it will change that much
MSmits: the pressure is off though
Illedan: Lets see about that ;)
YannT: top5 is very tight, then 5-10 is also very tight but one notch lower, and then it slides down very quickly
eulerscheZahl: Illedan are you hiding? ;)
Illedan: :angel:
MSmits: no robo, no re curse on ladder
MSmits: wait
MSmits: i see robo
ZarthaxX: robo is
MSmits: yay
kovi: robo and blaster will surely improve
YannT: recurse has been playing around on a smurf just to try it out quietly
eulerscheZahl: not sure if robo is playing. but i definitely expect blaster to climb
YannT: I don't think he plans to submit anything from his main tho
MSmits: wait what?
MSmits: why is recur se playing on a smurf?
kovi: but otherwise hard to reach top. considering how many ideas turned out to be nuisance last week
YannT: because he wanted to just try it out without people annoying him about it :p
MSmits: oh a smurf is an alt account
YannT: yeah
YannT: basically he tried it incognito and decided against actually joining I think
MSmits: my mind was working hard imagining the connections between re curse and smurfs
MSmits: I've always seen him more as a gargamel
YannT: ahah sorry for the mental image :p
AntiSquid: you have weird fantasies
MSmits: :P
[CG]Thibaud: :D
eulerscheZahl: and who's azrael then?
MSmits: mmh Renard?
eulerscheZahl: and why don't i see an avatar for thibaud?
MSmits: I see it
Zenoscave: It's blank for me too
[CG]Thibaud: oh no
AntiSquid: browser issues? CG issues? happens to me too sometimes, can't see avatars of some users
AntiSquid: now it's all fine thouhg
eulerscheZahl: tooltip isn't working either
eulerscheZahl: i can see squiddy
AntiSquid: then all is good
eulerscheZahl: i mean the popup on mouseover
reCurse: "I've always seen him more as a gargamel"
reCurse: wtf MSmits
YannT: I've had that bug a couple times
MSmits: haha
MSmits: it worked :)
YannT: oh no you invoked him :D
Zenoscave: you have been summoned gargamel
reCurse: I'm not evil :(
AntiSquid: isn't MSmits the crazy witcher then? he summoned it
MSmits: gargamel doesn't think of himself as evil either you know :P
eulerscheZahl: still better than being called a team as CyberPunk once insisted
MSmits: he;s just misunderstood
Zenoscave: I forgot about ol cyber
reCurse: Well I'm definitely misunderstood
MSmits: there you go
reCurse: But not evil
MSmits: no submit for you on occ?
MSmits: ooc?
MSmits: no ofc not :P
MSmits: how are you liking the game btw
reCurse: Don't expect a submit from me
AntiSquid: write a blog post instead of answering here
MSmits: I figure you only submit when you have a serious bot
MSmits: is it time restrictions or you dont like it much?
reCurse: I only submit when I participate seriously
reCurse: Big difference
reCurse: I only fucked around a few days on a smurf for this one
reCurse: To get a feel of it
reCurse: Like I often do
MSmits: yeah YannT said that, but did you not like it much? Or did you not want to spend too much time
eulerscheZahl: and you learned how to skip a contest now. after you played some in the past despite not liking them
reCurse: No that was different
AntiSquid: watch it with the smurf reCurse, you're triggering MSmits fantasies
reCurse: There was a time where my competitive fire was enough for me to engage even on the stupidest games like c4l
reCurse: But that fire is gone
MSmits: eulerscheZahl 0.07 away from the flip :P
[CG]Thibaud: misunderstood you said?
reCurse: Yeah
eulerscheZahl: MSmits only monday matters for the flip
Illedan: Hope you get that fire back. We need some strong contestants in the future too!
AntiSquid: MSmits hey congrats on legend, what was missing from your bot?
MSmits: the last serious thing I added was selftracking
Zenoscave: What's the flip?
MSmits: to better move and silence
AntiSquid: (╯°□°)╯︵ ┻━┻
reCurse: That being said I didn't imply ooc was stupid
MSmits: Zenoscave eulerscheZahl thinks I may pass him on the ladder
Boulet: gg MSmits
YannT: #28 for a first legend push is actually not bad at all, usually newcomers stay stuck at least for a bit at the bottom
MSmits: thanks
reCurse: I really don't know what it takes for me to compete anymore
MSmits: your utg was pretty great
MSmits: wait no
MSmits: ice and fire
MSmits: sry
YannT: you probably just need for it to be a game that inspires you
AntiSquid: what's wrong with the game reCurse ?
reCurse: Like I mentioned above
reCurse: I didn't imply ooc was the problem this time
reCurse: I don't think the game is bad
reCurse: Meta is way too passive for my taste
reCurse: But it's still a fine game I think
MSmits: I can understand where reCurse is coming from, I have problems motivating myself for these contests also. But it is only because of all the awesome community games
MSmits: when i started on CG, almost anything that was not a contest, was an ex-contest or similar
MSmits: so I didn't know how much fun these board games were , except for the game that must not be named in re curses presence
[CG]Thibaud: what baffles me it that you're still so much present on chat/discord
eulerscheZahl: but even if you don't try every time, you can still come back from time to time and prove your skills. like pb who wasn't active in the last contests and is first at the moment
reCurse: Well I still value the foundations of CG really
reCurse: There's nothing quite like it
reCurse: And Halite completely fell off with Kaggle :/
[CG]Thibaud: don't get me wrong, it's cool that you still hang around, even if you don't participate
reCurse: I'm still trying to figure out personal stuff I guess :)
AntiSquid: fell off?
YannT: I think once you start doing well in a contest, that's also when it gets addictive and the competitive nature kicks in :)
reCurse: Yeah true
MSmits: reCurse might it also be that your bar is set so high, it's harder to enjoy coding for it?
YannT: pretty sure that's what happened to pb4... he was just screwing around at first but once he started getting results he got way into it :D
[CG]Thibaud: +1
MSmits: that has been my problem
MSmits: after doing well a few times
MSmits: it gets stressful
reCurse: Eh, yeah I think you spotted one issue
reCurse: I mean why else would I smurf
MSmits: right
MSmits: honestly though, if you ended like 30th one time, noone would think you werent still the best of at least one of the best
[CG]Thibaud: this
darkhorse64: Chess told me that to win, you must accept to lose
YannT: the best teacher, failure is
YannT: :yoda:
MSmits: that, we got :P
reCurse: Well I wish it was so
YannT: [CG]Thibaud: so I have a feature request
YannT: :yoda: <- see it's not working
Zenoscave: afraid of 7, 9 is. Why?
Zenoscave: mmmmmmm because 6, seven ate
[CG]Thibaud: :hear_no_evil:
AntiSquid: that's not how the joke goes Zenoscave
reCurse: But even placing second I still feel super down about it for a while :P
reCurse: Gets tiring
[CG]Thibaud: doesn't even work on Discord, what a shame
Zenoscave: AntiSquid it is if Yoda tells it
AntiSquid: Zenoscave https://youtu.be/ey_JjlV9ftU?t=50 @_@
MSmits: reCurse thats not weird at all, I placed 2nd one time and it felt crappy and great at the same time
MSmits: mostly because i was 1st for 3 days straight :P
MSmits: it's better to go up the ladder in the last few days
MSmits: leaves you with more of a sense of accomplishment
reCurse: Just write it off as me having too much ego :P
reCurse: Anyway let's not make this chat about my psychology :P
reCurse: Moving on
[CG]Thibaud: so who would you choose as Azrael?
[CG]Thibaud: :grimacing:
MSmits: I said Renard earlier, but thats a fox
reCurse: ffs lol
[CG]Thibaud: ok going back to my torpedoes
eulerscheZahl: then uljahn?
MSmits: sure
MSmits: the legend leaderboard is very volatile
eulerscheZahl: indeed
MSmits: gold was pretty quiet. It was mostly me hopping beside a pony
eulerscheZahl: was 30th out of 31 on day. didn't submit, climbed up to the upper half later the day
YannT: the leaderboard iin this game very much has a tide effect
YannT: I think it's because the winrates are never that clear cut
MSmits: yeah, lots of randomness
MSmits: rock paper scissors too prolly
AntiSquid: wdym gold is quiet, even the #2 changes all the time
MSmits: I mean the number of people submitting AntiSquid
AntiSquid: sure people don't improve much between submits, but it is chaotic
eulerscheZahl: but #1 is the same for a week
MSmits: haha
AntiSquid: ah well better with less submit spam
MSmits: true
MSmits: if there were more people submitting i would not have gotten out of gold
MSmits: it pushes the boss
reCurse: I think boss rating should be frozen
MSmits: it might be better, but I am not entirely sure what the effect would be
AntiSquid: there aren't really enough games being played, sometimes the bot stops at a rank simply because it played all games and had a slow start, not because it can't beat people above anymore
reCurse: I've seen that happen enough with top legend
AntiSquid: with nearly 400 people ...
reCurse: #1 is so high above but you don't get enough games vs him
BenjaminUrquhart: I abandoned my torpedos
reCurse: You still end #2 even though you're 65% against
reCurse: Inflated ratings suck, but even more if it prevents a promotion
reCurse: shrug
BenjaminUrquhart: oh chat was scrolled
BenjaminUrquhart: thanks
MSmits: reCurse that is true. By the time i promote out of gold, i usually get halfway up legend
MSmits: in ice and fire, there was a 100 sized legend and i had great trouble promoting. I ended 17th legend with almost the same bot
AntiSquid: funny
YannT: that's why it can be worth it to play the entire contest and make the cut at each league opening :)
YannT: as opposed to just doing the last few days or hiding or whatever
MSmits: that is what happened in half my contests. It is definitely easier to get into legend that way
AntiSquid: improving early means increased chances of getting pushed
YannT: also it's more fun for everybody when more people actively participate :)
MSmits: mmh, i thought it was great fun sneaking up the uttt board when noone was looking :P
YannT: that's part of why I have trouble getting into multis, I find it less fun to be the only one "playing"
MSmits: ah ok
MSmits: what you do is this
MSmits: you start playing
MSmits: then start spamming people on chat about it
MSmits: soon you'll have company
MSmits: works for me
reCurse: The MadKnight technique
MSmits: except he doesnt play
AntiSquid: ask every newcomer to play the game
AntiSquid: see them get stuck and rage quit
YannT: doing multis is like playing against the ghosts of long gone people of the past
YannT: it's weird
MSmits: not all multis, but those old contests, yes
reCurse: That makes some sense but also no sense at all
YannT: like an empty theme park
YannT: with ghosts and maybe one clown in the corner
reCurse: Except those bots make no difference whether they're updated or not
reCurse: The game is the same
reCurse: The meta is the same
reCurse: You only have stable references instead of moving ones
reCurse: The only think you lose is chat
reCurse: That's about it
reCurse: *thing
MSmits: yeah, but it's the social part, i get that.
YannT: yeah but also you're the only one currently playing
MSmits: it doesnt stop me from playing games if I like them though
YannT: you don't play against other people actively playing also, you play against their past achievement
YannT: I dunno, maybe it doesn't make sense but it works a lot less for me than contests :)
MSmits: which doesnt necessarily makes it any less of a challenge
MSmits: it's gonna be hard to make any sense of what is an improvement of my bot in legend =/
YannT: it's basically impossible
AntiSquid: but you know what your bot iss missing
MSmits: I *think* I just improved my minelaying decisions, but hard to tell
YannT: it's very hard to prove that something is an improvement on the ladder, your best bet is benchmark against a fixed reference and even that has some big variance
MSmits: right
MSmits: not going to bother with that
reCurse: The fun of intransitive games
MSmits: I just want to know if there's any low hanging fruit in my code
MSmits: somewhere in between the rotten fruit I dont want to touch
YannT: the only good metric I've found is to push and let it sit for a while, see where your ranking floats (also cgstats gets relevant if you wait a bit)
reCurse: See how good your bot is against submit spam
reCurse: That's about it
YannT: cgstats has the detail tho
YannT: you can see your winrates against non-spam pushers as well
MSmits: vs some players
MSmits: some just do one submit and then stop for a few days
reCurse: Sure but you said "see where your ranking floats"
reCurse: Except it's useless and misleading
YannT: well not *entirely*, there's groupings in the ladder, you can see which one you belong-ish
reCurse: I've seen enough evidence to the contrary :)
MSmits: i think YannT is rightish
reCurse: Even more true with that kind of game
MSmits: yeah its a mess
MSmits: only thing worse would be if it was 4 subs
reCurse: I'm sure you can easily be 4 points above what your real ranking would be with uniform distribution
MSmits: or games with 2, 3 and 4 subs
reCurse: If not more
YannT: right now for instance there's a top5 group and a 5-15 group and then a sharp drop, with very little permeability between those
YannT: so if you push and then hover in the top5, then yeah it's an indicator that you did improve (if you were previously stuck in the 5-15 group), or vice versa
MSmits: to some degree that's true, there's always uncertainty
MSmits: depends on how big the jump is really
reCurse: I've been stung with that kind of thinking too often
reCurse: To agree
MSmits: yes, thats what dbdr said earlier, humans tend to see patterns and changes where there arent any
reCurse: That was much more true with halite's ranking
reCurse: But not so with CG
YannT: I'm very confident that right now, you cannot hold a 30ish rating with just luck (especially with the spam pushers)
AntiSquid: top 5? but i see 2 points difference between 2 and 3, 4 and 5
YannT: siman is testing stuff right now
YannT: but other than that him, kovi, pb4 and val are the only 5 with a consistent >30 rating
YannT: that sticks
MSmits: I think my mine thingy helped
YannT: val made the jump yesterday, before that he was in the 5-15 group, so quite clearly he made a significant improvement
MSmits: ah and then comes the loss streak :)
NormantasStankevicius: the casual MSmits :<
MSmits: whatever siman is testing might not be that good, i am beating him a few times
reCurse: You don't know what he's testing :p
YannT: yeah it's not, all his pushes land in 5-10 today :)
MSmits: nope
YannT: he's gonna git reset any minute and go back up there :p
MSmits: probably
reCurse: Sometimes you need a regression or two to hit a better maxima
kovi: he fix a bug....which was actually a feature
Illedan: classic
tobk: where was the list with IDE hotkeys again?
Illedan: huh, hotkeys?
tobk: is there anything for folding/unfolding?
tobk: there was a list somewhere, think some external site, did not keep the link...
eulerscheZahl: https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts
reCurse: Look up ace editor
tobk: thanks!
YannT: I've always been baffled by coding in the CG IDE because why would you do that :o
eulerscheZahl: i use my offline IDE too. From day 1 on CG
tobk: too lazy to set up local test environment
reCurse: At least 95% people use it
YannT: really?
YannT: I just copy/paste into the IDE if I want to test in there
eulerscheZahl: and then lose their code when the website crashes
reCurse: It's pretty easy to guess
reCurse: Most people are not committed enough to care
Illedan: I use the only ide when testing small stuff
Illedan: *online
YannT: I use it for testing but I never code into it
eulerscheZahl: did that too. then had to merge back with offline code, always became a mess
Illedan: Yeah, I'm going to have a hell tonight :D
tobk: guess it depends on the language. for Python it's okay
eulerscheZahl: there's some weird autocomplete. e.g. you write "con", autocomplete pops up but doesn't do anything. you continue typing "tinue", then autocomplete decides to complete it too, so you end up with "continuetinue"
reCurse: Using monaco instead would be nice
reCurse: Add that to the pile of "never gonna happen"
eulerscheZahl: but for farming language badges the online IDE is fine
eulerscheZahl: i don't need an IDE for each language on CG
reCurse: That's not what I meant
Nanosplitter: Anyone know the math for creating a long with 64 set bits given the number 64, and 15 set bits given the number 15, and 2 set bits given the number 2, etc?
Nanosplitter: I'm using (2^n) - 1
Nanosplitter: But for 64 and 63 it gives me 63 set bits
eulerscheZahl: hackerrank is using monaco. that's why it looked so familiar to me
Nanosplitter: It works for every number except 64
skotz: use unsigned?
ZarthaxX: doing that 2^64 makes it go out of representation
Nanosplitter: Ohhhh
reCurse: It still works
Nanosplitter: How do I make it use unsigned with C++?
reCurse: 2^64 = 0
reCurse: 0 - 1 = ~0
reCurse: tilde
YannT: use C (it's C++ unsigned)
reCurse: uint64_t
reCurse: (1ULL << n) - 1
reCurse: Except it won't work for 64 :P
Nanosplitter: Yesss it all works now, thank you so much guys
Nanosplitter: I was so confused for so long lol
Nanosplitter: I just replaced all my uses of long with uint64_t
Nerchio: what is a fun multi you guys would propose to me after ocean of code
Nerchio: i didn't touch any yet
Zenoscave: MadKnight says CSB
MadKnight: MadKnight says what kind of stuff do u want ?
Nerchio: and what do you say :D
MadKnight: other multis are almost abandoned by players
Zenoscave: fair
Nerchio: but the old bots are still there righ
ZarthaxX: do ppl wait for their submit to end before submitting again?
ZarthaxX: lol
MadKnight: yea but they won't improve with u
Zenoscave: Id say Ice and Fire
Nerchio: i mean doesn't matter strong bots are already there :p
MadKnight: so do u want some physics and vectors stuff ?
MadKnight: or u want grid ?
Nerchio: grid
MadKnight: or u want pure ifs ?
Nerchio: i hate physics xD
MadKnight: rip
MadKnight: why do u hate physics lol
MadKnight: it's just a few vectors
MadKnight: u add and subtract vectors and u get gold
MadKnight: ezpz
Nerchio: idk maybe if i try some i will like it
tobk: coders of the carribean is kind of similar
tobk: no stealth, but multiple ships
MadKnight: do u like hex ?
Zenoscave: except on a hexagaonal grid
Nerchio: thats fine
tobk: sure, but once you've figured that out...
tobk: in fact I just started it a few days back to get a break from OoC for a while :-)
Zenoscave: tobk I was saying it as an exciting point to add to the game
Zenoscave: ZarthaxX Only if it's a good submit
Nerchio: damn when i look at all these games
Nerchio: its always so intimidating to start
Zenoscave: the wood matches are much easier
Nerchio: i have to say gold was the most exciting part of ooc
Nerchio: and the league of the biggest improvement for sure
Nerchio: when my bot started doing good things :D
eulerscheZahl: hypersonic and code of ice and fire are nice grid-based games
Zenoscave: I agree
Nerchio: i will see if i will try one of these before spring challenge starts
tobk: but keep in mind that the next contest starts in, what, 2 weeks?
eulerscheZahl: there's also another category: neither physics nor grid: code4life, locam, ghost in the cell
Nerchio: I wrote this one in ~10 days so just enough time :D
tobk: 3 weeks
YannT: I might try hypersonic one day, that game looks fun :)
reCurse: Ah yes, the suck category
Zenoscave: how long is Spring challenge lasting?
reCurse: :)
YannT: 10 days I think
eulerscheZahl: that's just your opinion reCurse
reCurse: Obviously
eulerscheZahl: i only agree on locam
tobk: my personal nightmare MP is code royale
tobk: that's what got me started on CG as a colleague played it
aCat: ;(
tobk: a year in, and I'm still in bronze
YannT: aCat: I liked locam :)
eulerscheZahl: the marathon mode is what made me hate it. i know it wasn't your idea
aCat: next time I will create contest everyone likes! :P
reCurse: Impossible
eulerscheZahl: not enough depth to keep us busy for a month
YannT: yeah, it was about one week too long, but still I liked it!
Illedan: aCat, that should never be a goal. As you can't make everyone happy :P
YannT: aren't they stopping community contests now anyway?
AntiSquid: well at least there are games for everyone, not just for the more vocal users
aCat: But on the opposite then me whining - I really love OOC
Illedan: \o/
eulerscheZahl: if you propose a finished game, it can still happen to be a contest
aCat: I think it's nearly best game
AntiSquid: what ooc?
YannT: ah they are just not actively helping setting up those?
eulerscheZahl: but no collaborative game design with CG
AntiSquid: so what's your fav game acat?
aCat: difficulties in the right places, always lot of todos, constant progressing
aCat: on CG?
aCat: hard to say but I really appriciate Codebusters
tobk: code-a-la-mode was fun, too, and I only realized that it's cooperative when it was already over
Zenoscave: BotG best game
AntiSquid: can still make a collaborative botg variant btw
AntiSquid: pass ally orders as string each turn :p
aCat: Happens I'm lucky on watergames I was quite involved in Karribbean; but it had some issues
AntiSquid: 2v2
Illedan: gitc was the one I had the most fun with
aCat: I missed it - and still want to do as multi
YannT: it says something that everybody has a different favorite :)
aCat: I gave it to students a year ago but didn'r learn much from their input ;p
muy31: fantastic bits was my fav
muy31: i liked how dynamic it was
wlesavo: gitc?
muy31: Ghost in the cell
wlesavo: oh
YannT: I tried that one for a minute, I think I have a silver bot on the multi
Counterbalance: i joined cg during gitc contest - still stuck in silver
tobk: crystal rush aka unleash the geek was also fun, especially the mine-faking, and later when everyone did it the mine-faking-faking
YannT: I couldn't figure out where to do with a proper strategy
eulerscheZahl: gitc was the first contest where i did well
aCat: fantastic bits was great - i don't like pphysics game but it was bearable - which is a lot - and themed beautifully
eulerscheZahl: so i still like it
aCat: SURFACE | SURFACE | SURFACE | MOVE W TORPEDO | TORPEDO 9 10 | MSG 1-2 KM [2:-1]
aCat: My bot REALLY want to surface
Nerchio: eulerscheZahl what does it mean the contest was crafted by you
eulerscheZahl: that i helped to push it over the finish line. Illedan and me got our hands on an old prototype 2 days before the contest started
AntiSquid: he forged it with hammer and anvil
Nerchio: :D nice
eulerscheZahl: mostly illedan. i wanted to work on it on the weekend but contest started on friday :D
wlesavo: lol
AntiSquid: and ille still above you :thinking:
eulerscheZahl: i improved the wood boss so much that it got nerfed later
eulerscheZahl: still above me? no, again above me
AntiSquid: even better
eulerscheZahl: i accepted defeat already
eulerscheZahl: see you in the spring contest
eulerscheZahl: and codejam tomorrow if you want
AntiSquid: not my kind of contest
eulerscheZahl: i'm not strong in these either. but still trying
AntiSquid: what makes codejam interesting? i forgot
eulerscheZahl: they have some interesting problems that aren't just about typing a standard algo
AntiSquid: right
eulerscheZahl: out of the box thinking for puzzle solving
ZarthaxX: u actually have to think
AntiSquid: how much advanced maths is involved? im a bit rusty
eulerscheZahl: more a creative way of thinking, not much prior knowledge needed for most tasks
wlesavo: AntiSquid you can check last one, actually quite interesting puzzles
eulerscheZahl: that's what i really like about codejam compared to e.g. codeforces: you can solve some tasks without lots of practicing
eulerscheZahl: at least the last 2
eulerscheZahl: the first 3 are warmup questions
eulerscheZahl: wait, i forgot about 1A. was thinking about the qualification problems
wlesavo: yeah, 1A last 2 quite interesting, and not very hard even
eulerscheZahl: and most of the time it's about having the idea, the coding part is simple then
eulerscheZahl: unlike the last CG puzzle contest with the cube and neighbor cells you had to define
eulerscheZahl: that one https://www.codingame.com/training/hard/detective-pikaptcha-ep4
eulerscheZahl: for a puzzle it's fine. but for a contest with time pressure i didn't like it
MSmits: I loved that, too bad about the moebius controversy, but the other puzzles were cool
tobk: yes, that was a bit hard to understand in the description. it was actually clear to see in the viewer, but that had some glitch in my browser and did not work :-(
eulerscheZahl: the viewer only started playing when you had the correct solution. and everything in a single frame with zoom to hide some info
Illedan: Can you join in on this round of codejam? Or did you have to solve the previous one?
eulerscheZahl: get 30 points in the qualification
eulerscheZahl: good luck next year
Nerchio: msmits your bot timeout'd ;p
MSmits: yeah thats possible
MSmits: show me the replay, i can tell you why
MSmits: I still have this also:
MSmits: if (MapIsZero(oppMap))
break;
Nerchio: https://www.codingame.com/replay/452118769
MSmits: it just kills my bot if it doesnt know any possible spot
MSmits: silence selftracking
MSmits: is what killed me
Nerchio: :D
eulerscheZahl: crashes: 452121599 452120531 452119782
eulerscheZahl: 3 in 21 games
MSmits: I know why. I made my tracking constant really high, which makes me favor moves that make me hard to track very strongly
MSmits: that also explodes the statespace on silence
MSmits: it was just something to try :)
AntiSquid: i have this for when i completely lose track of the opponent: if (players[1].fog == 0) cout << "ZA WARUDO ! TOKI WO TOMATO !" << endl;
AntiSquid: oh chat scroll again yaya
Illedan: Yeah, was camping the day of qualification :(
Nerchio: MSmits smart but kind of resource intesive yeah
Nerchio: i dont even have self tracking i dont think java can handle it xD
NormantasStankevicius: I have Killer's queen, first bomb, when I know it's position and blow it up AntiSquid xd
eulerscheZahl: qualifiers were going for 27h
eulerscheZahl: but i missed it a few times too
eulerscheZahl: just forgot about it
eulerscheZahl: once i was in bed, half asleep wait a second, codejam got up, did the bare minimum to pass and back to sleep
Illedan: :P
Nerchio: i change my fatality code
Nerchio: and it turned out i do a fatality and shoot myself instead of the enemy
Zenoscave: Nerchio you still made it to legend shooting yourself? amazing
Nerchio: :spy:
MostComplicatedUsername: :no_mouth:
MSmits: I shoot myself on fatality also
MSmits: but only if it doesnt kill me
MSmits: what doesnt kill you makes you look cool
Nerchio: yea but i mean
Nerchio: i literally shot myself
Nerchio: xD
MSmits: and you died?
MSmits: or?
Nerchio: yea
MSmits: that's inadvisable
Nerchio: my point is i gave my coordinates to shoot
Nerchio: instead of the enemy xd
eulerscheZahl: Illedan did that too for a long time
MSmits: the question is
MSmits: did you know that eulerscheZahl and neglected to tell him :P
eulerscheZahl: he was aware
MSmits: um ok
eulerscheZahl: killing opponent but himself too in the blast
MSmits: ohhh ok
Nerchio: hahaha om
Nerchio: omgg
Nerchio: i havent seen this before
MSmits: what?
Nerchio: https://www.codingame.com/replay/452131690
Nerchio: now everyone will start doing it
Nerchio: xD
Nerchio: look at the last 10 turns
MSmits: brilliant
kovi: it is last day
Illedan: WHAT
MSmits: should at least code something that makes you start triggering mines if you have 1 hp and have to surface
Illedan: ok
Illedan: damn
Illedan: that was smart
dbdr: I do the same
Scarfield: lol
kovi: i know everyone would do that
dbdr: it's rarely relevant though
kovi: true
Nerchio: after i saw it i have to code it now :D
Zenoscave: I still am not sure. can you move after surface?
MSmits: yes
eulerscheZahl: even before if you want
dbdr: I don't even check if my mine will kill me in that case
Zenoscave: well. Theres my improvement
YannT: hm, I'm not sure it woiuld improve much, I hardly ever die from surfacing...
YannT: too bad :(
MSmits: costs you nothing to add it, except coding time
dbdr: and if you do, it's still rare the other would die first if you waited just those few turns
dbdr: sure, it's very easy too
eulerscheZahl: maybe you get a lucky hit with the explosion
YannT: it's not even that easy actually
dbdr: you can also get lucky
YannT: have to iterate over a bitboard :p
dbdr: toad as faster
eulerscheZahl: shark*
MSmits: Yannt let me post a bit of code for that
MSmits: its easy
dbdr: half-toad, half shark
MSmits: http://chat.codingame.com/pastebin/f2356d7e-b3ac-41ce-9d57-b776afc960c1
MSmits: thats an iteration over a minemap
AntiSquid: half man-bear
MSmits: does some other stuff too
eulerscheZahl: half pig
YannT: I basically never end up stuck, iI'm always gonna go towards the opponent mines eventually and die that way
MSmits: YannT the nice thing is that you ignore empty rows mostly, you dont iterate over every cell in a row, just the set bits
MSmits: I use this method a lot in bots
AntiSquid: going out with a blast
eulerscheZahl: i expected some -x & x actually
YannT: yeah I've used something similar for ice and fire I think
MSmits: it's the same thing as ^= I think
MSmits: the -x & x I've used that before
MSmits: you just remove the bit
MSmits: oh wait
MSmits: you mean to get the index
MSmits: yeah that might be faster, not sure
eulerscheZahl: __builtin_ctz is what? index of set bit?
MSmits: trailing zero count
eulerscheZahl: mine is 1 << index already
MSmits: so it takes the right most bit
eulerscheZahl: getting the last set bit
MSmits: yeah
MSmits: no idea what happens under the hood
MSmits: I am just assuming it should be fast
eulerscheZahl: log(bitcount) is possible
eulerscheZahl: not sure of there's a faster way but i guess there is
dbdr: TZCNT is one CPU instruction
MSmits: so, no faster way?
eulerscheZahl: i guess you use that in uttt?
MSmits: i think i use it somewhere in uttt yes
MSmits: in several bots
AntiSquid: cat is out of the bag
MSmits: i use many more intrinsics
MSmits: also pdep and pext and popcnt
eulerscheZahl: i didn't even know that this is a saying in english
ZarthaxX: those are one asm isntruction
MSmits: http://chat.codingame.com/pastebin/922651bd-38c1-4e8f-a452-ae539655d078
MSmits: this is nice for if you on VS with c++
eulerscheZahl: just get the same OS as CG is using
Counterbalance: http://chat.codingame.com/pastebin/b445e803-b8e6-4070-8d8b-0998051c4ea9
MSmits: what is that
Counterbalance: bsf
Zenoscave: inline asm
Zenoscave: gross
Counterbalance: ikr
MSmits: bsf?
MSmits: breadth search first?
dbdr: same as tzcnt
Zenoscave: bitscanforward
MSmits: ow
MSmits: would that help at all?
eulerscheZahl: uint_fast64_t :D
Counterbalance: it doesn't require the -1
Nerchio: https://www.codingame.com/replay/452142175
Counterbalance: so it's really just 1 asm opcode
Nerchio: last 5 turns
Nerchio: success!
dbdr: "TZCNT is an extension of the BSF instruction. The key difference between TZCNT and BSF instruction is that TZCNT provides operand size as output when source operand is zero while in the case of BSF instruction, if source operand is zero, the content of destination operand are undefined"
MSmits: hmm builtin ctz requires no -1 i think?
Counterbalance: hm i have this somewhere:
- define bsf(a) (__builtin_ffs(a)-1)
MSmits: oh ok
Counterbalance: the windows version of bsf:
Counterbalance: http://chat.codingame.com/pastebin/e8a9d284-5113-4ea4-8436-69f8d442c658
Counterbalance: has an if :(
Nerchio: you can kind of snipe top players with submit
Nerchio: unethical but you can do it
MSmits: uh how snipe?
Nerchio: i mean you play games against them and i normaly don't cause my bot sucks :D
MSmits: ahh oj
MSmits: ok
MSmits: well it doesnt matter much since the board gets recalculated when the contest ends
MSmits: but your starting spot has some effect
MSmits: I coded the mineBlowing thingy
MSmits: thanks for that Nerchio, probably is useless, but it looks nice if it works
Nerchio: same
Nerchio: you can win some matches here and there :D
AntiSquid: battlecode 2020 started and it doesn't look fun at all
MSmits: what is it?
tobk: ah, the last days of the contest, when you try to implement simple changes that totally make sense in your head and should only make the bot better, but instead make it drop 50 ranks...
AntiSquid: i will throw up if i play that too
AntiSquid: it's a bot contest MSmits
MSmits: whats bad about it?
Nerchio: isnt it done already in 2020?
AntiSquid: have a look, maybe you like it MSmits https://www.battlecode.org/
Nerchio: Thanks to everyone who participated in Battlecode 2020. We look forward to seeing you again in 2021!
Nerchio: ?
AntiSquid: ah wrong link
AntiSquid: https://www.youtube.com/watch?v=UPkljMzIwBA
AntiSquid: https://bh2020.battlecode.org/
AntiSquid: i forgot there was another contest earlier this year
AntiSquid: this was battlecode 2020 though: https://www.youtube.com/watch?v=pV24Pqji0Is
Nerchio: i like graphics
Nerchio: this thing u linked doesnt look fun yea
Nerchio: battlecode looks fun but i always miss it
AntiSquid: bookmark it
Nerchio: January 4, 2021,
AntiSquid: you can do starcraft 2 bot programming meanwhile if you want something outside CG: https://ai-arena.net/ :p
AntiSquid: is that graphics intense enough?
Nerchio: starcraft2 is too complicated
Nerchio: making a bot for it doesnt sound fun
AntiSquid: no worries, the setup is even less fun
Nerchio: i know thats why i am not touching it
Counterbalance: AntiSquid is that ai-arena separate from sc2 ladder?
AntiSquid: yes i think so?
Counterbalance: yeah looks like a clone
AntiSquid: they have a discord server you can ask there
Nerchio: you cant play with AI on ladder
Nerchio: its forbidden
AntiSquid: it's like we still live in the 1950s
Nerchio: the idea is probably that people like to play people
Counterbalance: sc2ai.net = sc2 ai ladder
AntiSquid: button mashing games aren't fun for humans imo
Counterbalance: 23h before the timer starts blinking...
AntiSquid: oh noes, better make some changes
Counterbalance: :cold_sweat:
MSmits: I have a weird solution for self tracking timeout
AntiSquid: why is it weird?
MSmits: it tries to process the tracking and if I run out of time I just dont silence and rollback the changes :P
AntiSquid: heh
MSmits: better than timing out
MSmits: it's kinda weird, i save the opponent from timing out to save myself from timing out
AntiSquid: yes
LiorDush: http://chat.codingame.com/pastebin/0de4a7f1-7e03-400a-82f7-deb8f6e359bc
LiorDush: http://chat.codingame.com/pastebin/83b1b95d-11f3-4469-9018-0b5aca1d0539
Febrin: One line in beam search got me from G 300 to G 60 wow
AntiSquid: these bastards need to stop dropping my bot
AntiSquid: stop submitting! *shakes fist*
AntiSquid: LiorDush please explain yourself?
AntiSquid: what's with those messages?
MSmits: :fist:
Scarfield: gratz!
Scarfield: t-shirt incomming :thinking:
MSmits: who me? I was just helping AntiSquid shake his fist
Scarfield: yea, thought you just made it to legend :p
MSmits: I did halfway through the day
MSmits: very happy
AntiSquid: made a tiny change, will leave it as is and see in the morning if it helped
AntiSquid: have some other minor changes i can make with the current amount of obvious dedication
AntiSquid: nice nerchio looks like you're t-shirt range! :o
Nerchio: hehe
Nerchio: yea but 3 previous submits were like 35
Nerchio: idk just lucky i guess
Nerchio: and i dont know what to fix anymore so
darkhorse64: I think the final resub will be full of surprises
Zenoscave: I gotta figure out how to silence better
MSmits: it's like
MSmits: :zipper_mouth:
Nerchio: i mean ok there is a lot of things i can fix when i look at my games vs top3
Nerchio: but its too much :D
Nerchio: they dont spam silence when enemy is far away and cant hit them
MSmits: yeah, I know there's a lot for me too, but it's in the realm of cant be arsed
Nerchio: use paths that are harder to track
MSmits: i do that
Zenoscave: Harder to track how?
Zenoscave: like reduces filtering?
Zenoscave: I do that not
MSmits: well its like this
Zenoscave: now*
MSmits: before i did this, my first movement could be a giant L shape
MSmits: 6 to right, 7 down
MSmits: after i started looking at that, it would make alittle square or similar
Nerchio: https://www.codingame.com/replay/452219717
MSmits: the giant L shape doesnt fit in many places
Nerchio: between 83 and 89
MSmits: but the square does
Nerchio: i believe
Nerchio: could go straight down the path around the island but its easier to track i think
Nerchio: but yea
Nerchio: first i would have to add self tracking
Nerchio: and im not even sure if java would handle it ;p
MSmits: actually, that silence-at-a-distance thing seems easy to code?
Zenoscave: just finding what is considered a distance is hard
MSmits: just get the closest distance and if it's not below some value, dont silence
Nerchio: yea
MSmits: i know where my opponents can be
MSmits: thats what tracking does
Nerchio: you can get dunked on with silence + shot though
Nerchio: with little to respond
Zenoscave: so minimum best tracking. smart
MSmits: you can take that into account also, is a bit harder
MSmits: silence + shot ruins a silence and a shot though, i can shoot right back
Nerchio: i mean
Nerchio: we agree there is a lot of things we could add
Nerchio: but maybe its too much? :D
MSmits: yeah
MSmits: lemme try the silence thing
MSmits: I can do it in 5-10 mins probably
MSmits: that is without taking opponent dashes into account
icecream17: No! The down arrow!
MSmits: Nerchio, what is a good minimum distance for this to kick in?
MSmits: you think?
MSmits: manhattan 8?
Zenoscave: manhattan 10
MSmits: mmh ok i will start with that
Zenoscave: move silence torpedo with chebyschev of 1
Zenoscave: still can strike at 10
Zenoscave: so if (dist <= 10) doSilence();
MSmits: yeah ok, but maybe the risk is worth it
MSmits: but i will do 10
Nerchio: eh i will submit for fun with this change
Nerchio: i spam silence too much anyway
Nerchio: btw who was 2nd legend advance today?
Zenoscave: not sure
MSmits: i know
MSmits: VincentBab
Zenoscave: You're the first
Zenoscave: Seems you're right
Nerchio: damn
Nerchio: you shot yourself zenos
Nerchio: and my tracking fell apart
Zenoscave: where?
Zenoscave: replay?
Nerchio: https://www.codingame.com/replay/452240749
Nerchio: 283
MSmits: you need to fix that. Assume they can selfdamage :)
Nerchio: 277
Zenoscave: I never self damage on purpose...
MSmits: well you did there
MSmits: you weirdo
Zenoscave: whoops
Nerchio: i should do a damage map
Nerchio: should take 30 mins at best
Nerchio: but idk tomorrow
MSmits: mmh was harder for me, but my code might be a bit unwieldy
MSmits: sometimes you start on a path and you wish you hadnt
MSmits: tunnel vision and all that
Nerchio: but honestly its not that neccessary anymore since people in legend dont shoot themselves
Nerchio: unless they are zenos
MSmits: those damn zenos
Zenoscave: oops
VincentBab: MSmits ?
MSmits: i just mentioned you because they asked who the 2nd guy in legend today was
MSmits: so
MSmits: grats :)
Zenoscave: gz VincentBab
VincentBab: oh ok ^^ Thank you
MSmits: errm there is a problem with the long distance silence thing
MSmits: mines gonna getchu
Nerchio: yea
Nerchio: i was just writing this.
Zenoscave: Ah that's the issue
Nerchio: after Vincentbab killed me with mines
Nerchio: when i was seen :D
Nerchio: msmits i died to your mines now :p
MSmits: show me replay :)
Nerchio: let's roll back the silence xD
Nerchio: https://www.codingame.com/replay/452247973
MSmits: hehehe
Nerchio: on the plus side i have a lot more mines on the map with this
MSmits: yeah
VincentBab: killermove ^^
MSmits: oh that replay you shared
MSmits: !
MSmits: its the first evidence of a working dash kill i have seen for my bot
MSmits: my fatality check works properly :):)
MSmits: silence + torpedo
MSmits: awesomeness :)
Nerchio: :D gfz
MSmits: theoretically it will also do a fatality by combining a mine and a torpedo blast, even if they blow on opposite sides of the map. If there are two unknown regions and the opponent has 1 hp
MSmits: but how to check that ?
Zenoscave: no idea
Nerchio: watch a lot of replays ;p
Nerchio: i dont have mine fatality
MSmits: yeah I suppose, too lazy
MSmits: you do it, so i dont need to :P
MSmits: my fatality check combines surface, move, silence, torpedo and mines and also works when the opponent location is not precisely known, but death can still be guaranteed
Nerchio: i was adding stuff on top of stuff in fatality checks
MSmits: maybe my fatality check is what I should share in post mortem
MSmits: that is one thing I think I did better than most. The rest is pretty basic
VincentBab: yeah i have the same thing MSmits ^^
MSmits: ahh so i wasnt alone then
MSmits: cool thing is that it did not turn into if-spaghetti
MSmits: I made it into a recursive function
VincentBab: and i fixed a bug in it (so i dont suicide when i could win) and that got me to legend ^^
MSmits: oh nice
MSmits: I seem to timeout against Nagrarok every game
Nerchio: another fatality by you
Nerchio: enjoy
Nerchio: https://www.codingame.com/replay/452253787
MSmits: whoppah, zip, BAM!
VincentBab: maybe he silence a lot and generate too much possible position ?
MSmits: nah i timeout myself vs him somehow
MSmits: he doesnt make enough effort to detect me :(
MSmits: so i selftrack-timeout
MSmits: he's mostly minespam so his own actions arent the problem
VincentBab: haha ^^
MSmits: self active count: 23653
MSmits: thats how many states
MSmits: not good :P
MSmits: I have it coded that it wont try to silence when it times out
MSmits: but the states arent gonan go away
VincentBab: yeah thats a lot for 50ms
MSmits: on top of various other things
MSmits: maybe i should just prune it also
MSmits: its not that hard
MSmits: lemme go code that now
VincentBab: you can "combine" some states at the price of a decrease in precision
VincentBab: thats what i do
MSmits: yeah i had that for regular tracking
MSmits: not yet for selftracking
MSmits: i really need it
Nerchio: corner shot finisher
Nerchio: https://www.codingame.com/replay/452256093
Nerchio: get rekt msmits :D
MSmits: nice one :)
VincentBab: nice killermove ^^
Zenoscave: EricSMSO nice morse code
EricSMSO: Ha someone understood
Zenoscave: S.O.S. correct?
EricSMSO: yes, thanks wikipedia
Zenoscave: ... ___ ....
Zenoscave: I don't know why i know it
MSmits: is this something your sub says when it dies?
Zenoscave: yes
MSmits: cool
MSmits: well i coded the pruning, here's to hoping I didn't break anything
Zenoscave: lucky submit start
MSmits: lost every game, so i guess i did :P
Nerchio: -1 life
Nerchio: msmits
Nerchio: twice xD
Nerchio: well done
MSmits: whats that
MSmits: oh I timeout
Nerchio: y
MSmits: weird
MSmits: i hardly changed any code
Swagboy: I can break any code with one character
MSmits: lol
MSmits: I removed a rather critical line by accident
MSmits: ReorderNodes();
MSmits: removes nodes that are dead... when filtering states
Swagboy: Ah yes
Swagboy: Are you doing a tree search ?
MSmits: mmh i just call them nodes out of habit because almost all classes i use are nodes on CG :P
MSmits: but they are tracking States
Swagboy: Hehe nice name indeed
MSmits: https://www.codingame.com/profile/93dcae21630961cf6a73b3215d64a8e11974473
MSmits: disturbing avatar
MSmits: when it's small on the leaderboard it looks like a rabbit
Zenoscave: You're finding this just now huh
Zenoscave: it is indeed scary
MSmits: yeah, i was just looking really closely at the leaderboard and was like: Whoah!
MSmits: hahaha
MSmits: payback
MSmits: https://www.codingame.com/share-replay/452272961
Zenoscave: payback for what?
MSmits: instead of timing myself out because he doesnt detect me, i now time him out :P
Zenoscave: ;)
MSmits: i lost a lot of games because when selftracking vs nagrarok he didnt make an effort to detect me :)
Zenoscave: gz Razielwar
MSmits: nice
Razielwar: merci zenoscave
Zenoscave: :+1:
MSmits: you've been stuck in gold for a bit too
Razielwar: yes but some other push me up :)
MSmits: good
ZarthaxX: holy 5 new in legend
struct: ZarthaxX go top 20
icecream17: Most amazing tie ever: https://www.codingame.com/share-replay/452308026
SolForecast: I can't seem to append anything onto the list in Dont Panic Ep.1. What the heck >>
icecream17: I thought my code would be bad but "use strict" didn't do anything
cegprakash: can I jump over my tail when using silence in Ocean of Code?
struct: no
Zenoscave: ceg you asked this before and we told you the answer
18o3: what is coder strike back
cegprakash: wtf: https://www.codingame.com/share-replay/452339691
rwilson: ;) 3rd time someone's posted a 'pond' map