Chat:World/2022-04-29
Twelve0: How does Husenap know where spiders spawn?
eulerscheZahl: there are only 4 spawn locations
Fallback: If you try to cast something when you are mind controlled, does that burn your mana?
pmor: Hey DH
Fallback: hello pmor, how are you?
pmor: not bad. do you know if bpeake is competing?
But_Why: does the monster's health change in the beginning of the turn or at the end ?
Mr-Nemo: ??
DaNinja: monster dmg is updated after Control, Wind and heros move
yhyoxx: u see it updated in the next turn
DaNinja: then Wind is applied and mobs move
SonByrne: spent hours looking at this only to find out that an operator in my distance formula was wrong :sweat_smile:
Tuo: yeah that would cause problems in a game like this. just checked i have 78 hits on distance func in 550 lines of code :laughing:
SonByrne: Yeah, heroes would just stop approaching monsters because the distance formula was returning NaN
SonByrne: The order of monsters' distance from my base would be off, etc.
SashaNukem: so it is impossible to know enemy hero vx and vy?
eulerscheZahl: heroes don't really have a speed, they can move freely (unless controlled)
Geras: You would have to guess the moves your enemy makes. Not impossible, but hard to do.
SashaNukem: EulerscheZahl thank you
eal: Is this a bug in the game? https://www.codingame.com/replay/628008005 Round 65 and a few more rounds, in the bottom right corner the monster is stuck.
xpomae: he is being pushed into the wall i think
Urutar: I suppose, since you try to push almost straight up, it ends up not being moved away from the wall
Urutar: And since it can't leave the map in that area, it is being prevented, I think
Urutar: Maybe try to push more at an agnle?
eal: ok, thanks
LaurensD: is it remotely fair that the bot is between position 1 and 2 :? for silver
Noyotens: https://www.codingame.com/share-replay/628010151
LaurensD: looks like a near impossible situation
Noyotens: my defence is shit
Whiskee: of course, because people who beat it get promoted shortly after so there can't be anyone above :)
Whiskee: think of bronze and silver as a single league in two pages
evak: could someone share few useful links/documents I could and need to study for this Spring Challenge 2022. I'm failing to see the algorithmic approach I should take. Thank you.
daffie: behavior trees
aatj: evak If you watch Mathis Hammel's introductory video, he describes an introductory approach that will get you to Bronze. You can then see which bots this works against and which it doesn't. You can then add alternative algorithms based on opponent behaviour, as well as refining the main algorithm. AS daffie says, behavior trees.
evak: Behavior trees. THank you my friends. And good luck for the competition!
cegprakash: damn gold boss uses random and cannot repro same game
Noyotens: go to expert mode
Noyotens: to change seed manually
cegprakash: I did
_NikJ: I didn't even know that can be done lol
linjoehan: I dont get this game yet
yhyoxx: gg mazelcop
Mazelcop: thanks !
LaurensD: finally gold :)
Clagus: @LaurensD gz!
LaurensD: Thanks :)
LaurensD: This makes me wanna code, but too bad I got work first, and in the night I don't have time :sweat_smile:
Clagus: yeah, tell me about it :D I have small kid in addition to that :P I am not aiming for higher than gold this season :P
_NikJ: exact same code, yesterday 250th, right now 700th xd
Urutar: Yeah, people tend to improve in one's absence XD
Mattant: Did gold boss get nerfed overnight?
VizGhar: no
LaurensD: Not doing good in gold lol
Geras: That feeling of changing one integer and falling from gold 450 to 1500
cegprakash: oh god help me from this gold misery
_NikJ: ++++
cegprakash: the ladder is chaotic
_NikJ: same code ends up anywhere from 400-800th
cegprakash: it's hard to climb 1600 strong bots with strong diversified stats
VizGhar: thats why you have to earn legend rank :P
_NikJ: True, but I hate how 1 strat earned 90% legends
cegprakash: also as everyone are attacking whoever attacks few turns earlier and get lucky gets the win
_NikJ: push like a manic and hope you don't lose before that
cegprakash: and that's a 50 50 chance
cegprakash: how to have 80% win rate in this gold league against top 500 is still a mystery to me
KeeN: many people even can't program another corner at start...
Mastercorp: is there a unique way to identify always the same hero? if i check for id, id sometimes changes randomly...
_NikJ: id is not supposed to change?
cegprakash: I don't understand this calibration.. I beat 11/12 in first 12 games including 1 player in top 20 + 2 players in top 200. the one loss is against a rank 500 player and I'm getting calibrated as 550 rank wth..
cegprakash: and now it says
"You have reached the maximum of submissions in a row. Please try again in a few minutes."
dbdr: it's normal cegprakash, you are ranked lower initially, based on uncertainty
cegprakash: nothing is certain
cegprakash: even calibrating as 550 isn't certain
cegprakash: why not calibrate as 1000
Mastercorp: @_NikJ for me sometime it does i have like a check: if hero["_id"] == 1, do something. but it selects sometimes a different hero than before.
Mastercorp: https://www.codingame.com/replay/628137846
Mastercorp: found the issue :D
PeculiarTree: Can add another source file in editor?
_NikJ: cegprakash I also noticed this: sometimes my code initially loses 7/10 battles andkeeps me 1000th++ for the first 20% and then suddenly wins 40 games in a row and places me ~300th
wlesavo: dbdr turned out i was in 1 minor fix to legend, too bad you cant push me anymore, that would be an honor :slight_smile:
wlesavo: i was always shooting spiders in direction man->base and it shouldve been spider->base, that ruined many of my attacks
dbdr: wlesavo, yes, that's a good improvement. grats!
wlesavo: thx :slight_smile:
Mattant: Btw, does anyone know the formula how exactly the score is calculated?
DomiKo: The score? You mean wild mana?
DomiKo: or score in leaderboard?
DomiKo: its True Skill
_NikJ: damn this gold boss...
Aland_52879: Hey :) anyone know why my player doesnt show the game? i tried to change tabs but still cant see the game
Kasparas: Have they changed the gold boss? Yesterday I was top 50 gold, today I'm suddenly in Legend :o
wlesavo: just a lucky push
Kasparas: interesting :D
_NikJ: I wouldn't mind if that happened to me, Kasparas
wlesavo: the top is very active, and the boss is not that strong
Mattant: I also wondered if the gold boss changed, yesterday it won all test battles against me and today, after minor changes, I won all test battles
cegprakash: can I do something like if my ladder rank > 50 do something else do something? I want to use my old code for rank > 50 and new code for rank < 50
Kasparas: maybe by querying some public API :D
cegprakash: not sure if network calls are allowed in CG
cegprakash: would love to do a query to cgstats to check my ladder rank and use strat accordingly
Zyk0: Maybe you can gamble on how much time it takes to reach rank 50, and after a hardcoded hh:mm:ss you go to your different strat
Zyk0: Maybe it would take a few submits though
cegprakash: interesting
cegprakash: can make use of submit time and current system time
cegprakash: added 456 lines of code in the last half a day and these many lines can't beat the code that was 456 lines back
cegprakash: it beats in local IDE but not after submit
_NikJ: kovi and DomiKo kicking boss' ass so much, he lost 2 points :d
DomiKo: ;)
kovi: not just us...he lost 4 point today
DomiKo: 50% more for me
DomiKo: soo he will lose some more
_NikJ: sick defense kovi
kovi: thx, too bad it is not enough
DomiKo: I use control on heroes with shields so...
DomiKo: It is enough for me
cegprakash: boss is dropping to 27.94 I'm at 27.43
cegprakash: go go go
cegprakash: kill the boss kovi DomiKo Nanaeda
DomiKo: we will try bro
cegprakash: oh no he's 28.16
wlesavo: somebody should guard the legend by submiting good bot that bad against boss :smiley:
DomiKo: :joy:
dbdr: wlesavo :P
cegprakash: wlesavo don't get u..
wlesavo: only after dbdr passes :smiley:
dbdr: :+1:
cegprakash: let me pass too
struct: if you can push the boss down around 600 ranks
struct: that would be great
DomiKo: struct one if pushed me from top400 to top1 in gold, so you are very close
_NikJ: you guys are boosting my score, I went up 70 places
struct: Ill probably just code a bit instead :p
struct: Despite not enjoying the game too much
struct: I need to at least reach legend
cegprakash: somebody somehow push me to legend then I'll fix the bugs
cegprakash: whatever I touch I go down by 200 ranks
cegprakash: just kill the boss to 27.6
struct: cegprakash you just need to wait
struct: you will get pushed eventually
cegprakash: me no patience desperate since yesterday
cegprakash: lol
cegprakash: I was top 30 overall with this same bot
struct: How long ago?
_NikJ: Yes, but many others improved their, can't expect to stay the same pos
cegprakash: and I mistakenly resubmitted just before legend league was opened as I didn't know it was opening yesterday
Xyze: Hi everyone
cegprakash: okay I'm 28.03 now but boss is 28.86
struct: hi
cegprakash: and my bot can't beat boss.. Kovi has to give me some points before his promotion
Xyze: Can someone explain me if we can use mana gained on current turn? I'm about current contest
cegprakash: I have good win rate against kovi
cegprakash: lol
struct: cegprakash you will make it I believe, also do what I do and just close the leaderboard
cegprakash: lol struct
cegprakash: can't close at this point
cegprakash: I'm pleading to the leaderboard
cegprakash: plz give me more games against kovi :(
cegprakash: he is my only hope
struct: not the only
struct: you still have 3 days to get pushed
cegprakash: boss is 1.08 points above me.. :\
DomiKo: or 3 days to upgrade
cegprakash: can't wait that long
cegprakash: I want now
cegprakash: -_-
wlesavo: dont wait, code :smiley:
DomiKo: so take you keyboard and code code!
DomiKo: your*
cegprakash: when I added code I was pushed 200 ranks behind
cegprakash: -_-
darkhorse64: remove code then
Miki09: Imma code for couple hours and hope i'll get to legend
cegprakash: darkhorse64 never thought of that
cegprakash: it cd work
darkhorse64: :stuck_out_tongue_winking_eye:
struct: yeap
struct: I removed ifs and got gold
DomiKo: I removed my whole code yesterday...
cegprakash: ok all top 10 plz go to legend
cegprakash: u guys wreck me
struct: rewrite?
DomiKo: I gave up sim
darkhorse64: This is my history: i keep on improving my code and I keep on falling
struct: My problem is that I still have no idea how to code heuristic AIs
struct: What am I supposed to do without bitboards and rollouts :'(
DomiKo: I had no idea too
darkhorse64: Same
DomiKo: So I look at many other players, and ... steal some ideas ;)
struct: yeah
struct: thats what I did to get gold
ceggart: Game Summary: Boss 5 has not provided 3 lines in time
ceggart: wtf
darkhorse64: Yesterday I stole euler initial hero position and won 200 places
struct: o.o
wlesavo: i stole from Arnaud coursing back and forth around enemy base
wlesavo: alos gave quite a boost to atack
DomiKo: me too :D
darkhorse64: I stole also his attacker course
wlesavo: xD
DomiKo: XD
struct: I think its time to stop being a pacifist
wlesavo: meta definding move
_NikJ: wlesavo I stole that cruising from Psyho :D
_NikJ: not the positions, but the approach ofc
Miki09: struct why do u play so defensive?
wlesavo: we will never know who originated that everyone steals from everyone :smiley:
struct: My bot is still very basic Miki09
Miki09: ok
DomiKo: My bot is like 10 ifs...
struct: The decision part is like 4 ifs
cegprakash: 4 ifs gold 600
cegprakash: :O
struct: 4 ifs for output
struct: ofc i use more to check distances
cegprakash: i mean decision part
cegprakash: crazy
DomiKo: Simple strats could work really well
struct: yeah my AI doesnt even know that other players exist
wlesavo: DomiKo especially if you steal only good ones :smiley:
DomiKo: that's the hard part :wink:
wlesavo: thats where real decision making starts
DomiKo: Yeah, So many players to steal ideas from
struct: maybe this is a good contest to get language achievement
DomiKo: Top 1 is better for language achievement
Astrobytes: nice one struct :)
struct: thanks
SadKris: any tips for shortest code in clash?
SadKris: been mainly using python, but starting to realize that it's just not efficient enough
DomiKo: I=input
RoseCoder369: Hey Everyone. I have a question!
RoseCoder369: How do you friend somone
struct: follow
RoseCoder369: how
RoseCoder369: though
SadKris: hover your mouse over their profile picture
struct: or in their profile you have that option
struct: SadKris many people use this on clash
struct: https://github.com/clemg/pythongolfer/
struct: for python on shortest
RoseCoder369: No i meant like if your like in their profile website
SadKris: On the bar with "Profile" and "Friends", the follow button is on the far right.
SadKris: Python Golfer is the most unfortably cheating-ish website I've ever seen.
RoseCoder369: I meant like if you search up a friend then what do you do
RoseCoder369: and how do you join a friends private group
RoseCoder369: or clash
struct: after you are on his profile you follow him
struct: and he needs to follow you back
struct: he needs to give you the link so you can join I think
struct: Or Maybe he can invite you idk
struct: https://i.imgur.com/S5GjVTQ.png
jacek: :upside_down:
Noyotens: https://www.codingame.com/replay/628304150
cegprakash: I hate leaderboard
struct: ceg patience
cegprakash: I want to resubmit
cegprakash: no patience
cegprakash: boss is 28.58 and I'm only 27.33 now and others are not pushing me enough
struct: Well you can try to improve your bot
cegprakash: or they cd just push me
cegprakash: or pull boss
struct: Well you can try to pull the boss
struct: Why rely on others?
cegprakash: that's the hard way
eulerscheZahl: if everyone just waits, no one will get promoted
eulerscheZahl: legend is already big enough, over 100
struct: today/tomorrow I get legend
struct: for sure
struct: I aint even stressed about it
HoriMiyamura: rely on other like you is much harder
cegprakash: that's coz u are patient struct
struct: well
struct: you have 3 days
cegprakash: 2 days 17 hrs
struct: ...
cegprakash: - 16 hrs for sleep
struct: even with 1 day legend should be possible
HoriMiyamura: 28.58 vs 27.33 is quite a big gap, you need to wait a lot...
cegprakash: it's 27.44 now
HoriMiyamura: and those beat the boss most likely will be legend, so you will wait forever
HoriMiyamura: be patient to wait forever ...
cegprakash: someone just have to lose to me but win against boss
cegprakash: steal points from boss and give to me
struct: I did that mistake before ceg
HoriMiyamura: your rank won't change much after stablizing... so be patien to wait... forever....
krakz: Coddingames stopped showing me syntax errors while I'm coding( How to fix it? Maybe I acidently clicked on button that turns off this?
eulerscheZahl: reload the page. but save your code before
cegprakash: in Kekebig bananaMixer Wearenn we trust
Spressed: if mx in mxarray and counter > 1 and counter <= len(mxarray) and te <= c:
Spressed: mx = 4, counter = 2, len = 12, te = 14 c = 71
Spressed: but it still runs the else instead of the if?
Uljahn: at least one logical statement is False, check (mx in mxarray)
krakz: reloaded the page, didn't work(
eulerscheZahl: any extensions? adblocker, noscript, ...
Spressed: this is mxarray[4, 3, 3, 5, 4, 1, 5, 5, 5, 4, 1, 5, 5, 4]
Spressed: it has quiet a few 4's in it
Uljahn: print(mx in mxarray, counter > 1, counter <= len(mxarray), te <= c, file=sys.stderr) before the if-statement
krakz: I turned off adblock< still doen't work. I mean, on screen when you coding, syntax error just not marking
5DN1L: krakz If you see a pull-down menu in the console area, check that the items there are ticked
Spressed: Oh that makes ense I should do the print beforehand
Spressed: I guess my method for the task is wrong since Im applying a counter that adds +1 for on devices
Spressed: and -1 to turn it off
Spressed: but at the right patterns that can easily be a wrong statement
krakz: 5DN1L I don't see menu
5DN1L: krakz What are you working on?
5DN1L: an ordinary puzzle or a bot programming puzzle or...?
krakz: Bot programming. It was ok until today. Checked in "spring challenge 2022" and "line race"
5DN1L: then there should be a pull-down menu in the console area
5DN1L: fiddle around the buttons there
Uljahn: i think he means language assistant
5DN1L: krakz which area are you seeing differently? console area or the area where you type the code in?
eulerscheZahl: you can try to hit F12 and check for any error messages in the console. but most probably they will be cryptic and not understandable at all
krakz: The area where I typing code. Earlier errors underlined in red and were dots on right
5DN1L: I have no idea then
Uljahn: krakz: try this https://microsoft.github.io/monaco-editor/
Uljahn: hmm, python error highlighting doesn't work for me there, so it might be a problem with Monaco Editor
krakz: so, what we should do?
Spressed: any tips on the blowing fuse puzzle?
krakz: It's gonna be fixed?
5DN1L: Spressed read the forum: https://www.codingame.com/forum/t/community-puzzle-blowing-fuse/88449
Tuo: krakz Uljahn refreshing the page works for ~20 mins then need to do it again. remember to run first!
88370: hahaha ai go brrrrrrrrrrrrr
jacek: :tada:
PeculiarTree: Does anyone know why in Mad Pod Racing the input position lags one step behind? I.e. the first two pod positions are identical, even tho on screen it's already changed.
jacek: huh, it should be alright
PeculiarTree: It messes with my next position estimate
krakz: Tuo still doesn't work for me lol (I'm on c#). I will tolerate it, nothing critical, but I hope it will be fixed someday...
5DN1L: PeculiarTree, see if my post on the forum helps? https://forum.codingame.com/t/mad-pod-racing-puzzle-discussion/1833/662
5DN1L: also https://forum.codingame.com/t/mad-pod-racing-puzzle-discussion/1833/657
5DN1L: if not, you may post your replay and screenshots on the forum and I can check them out further
Wontonimo: wow, during a competition one of my contributions got accepted !?!
IvesL: lmao, i havent submitted in days, my current submission cant even beat silver boss, but im just promoted to gold
5DN1L: New contributions and approvals/rejections don't stop because of a contest in progress, Wontonimo :wink:
Wontonimo: yeah, that's because it beats others who over-fit to the boss
Wontonimo: congrats on getting to Gold IvesL
Mattant: I wonder how much will I drop until the end if I just stop updating my code now
IvesL: hell no idea whats going on
IvesL: i think the current submission has 2 idle and only 1 defending
IvesL: thats very wierd
88370: Hey so I'm in Mad Pod Racing Bronze League with collisions now, idk what to do to win things what should I change with my program?
Miki09: Check out magus's nice tutorial
Miki09: http://files.magusgeek.com/csb/csb_en.html
88370: Thanks!
Wontonimo: also take a read of this paper https://w3.cs.jmu.edu/spragunr/CS354_F17/handouts/pid.pdf
Wontonimo: PID is just a little math if you don't want to do sim.
struct: hi
IvesL: @88370, from my experience, you only have to figure out shortest distance to reach gold
Star_Prime9: hi
struct: Sim is easier than math Wontonimo :p
IvesL: for each checkpoint
88370: Thank you! I'll take this all into account!
Star_Prime9: i am new and this all seems very hard
struct: new to programming or to the site?
Star_Prime9: both
struct: so &&
IvesL: if you find it difficult, i suggest trying clash of codes
struct: Yeah this site requires a bit of knowledge already
Star_Prime9: ok
IvesL: dont mind if you cant finish it, but you can always check how others code at the end
Star_Prime9: ok
Star_Prime9: thanks
jacek: oh i miseed it :(
struct: missed what jacek?
jacek: the very hard thing
krakz: When I'm started I was afraid of letting people down in Clash of code) So I'm started with algorithmcs
struct: I see you are 1 rank above me
struct: I dont like this
struct: I think Ill remove one of my multis to fix this
cegprakash: omg boss is up 29.52
cegprakash: :(
struct: Just wait until I push
struct: Should reach 30 soon
struct: cegprakash I'll make my mission to promote you to legend
struct: I'll send you my paypal later
cegprakash: sure
Astrobytes: only 1000000₹
cegprakash: I'm only 2 ranks behind the buoss but 0.9 points behind
struct: What time is it?
cegprakash: Astrobytes struct isn't cheater
Astrobytes: hammer time
cegprakash: he charges fair
Astrobytes: :D
DuckyLuckVN: Hello guys, how i can change the java version in the codding game? o.O
raxkin: What does the technical details mean: "its coordinates are truncated (when below halfway across the map) or rounded up (when above halfway across the map)" What des it mean halway across the map in this context?
struct: java 8 DuckyLuckVN
struct: :D
struct: raxkin
DuckyLuckVN: is there no way to change java version? o.O
lomienyeet: mogus
struct: dont think so
struct: Dont spam
happypotato1207: amogus
DuckyLuckVN: Okay, thank struct :D
raxkin: thanks struct
Wontonimo: you've been kicked happypotato1207 , feel free to rejoin in 10 min
anthonytang: is amogus related to programming?
Wontonimo: stop the idle chatter about amongues us , last warning
anthonytang: what is segment tree?
lomienyeet: what is a segment tree ?
lomienyeet: omg
rekaxem: i only know how to code segment tree with c++
lomienyeet: i think
lomienyeet: lazy propagation
anthonytang: but i think it works well with heavy light decomposition
anthonytang: through decomposing into linear queries
lomienyeet: what is a heavy chain ?
anthonytang: i think it helps to simplify your question
anthonytang: i didn't mention "heavy chain"
5DN1L: I remember you guys - you flooded the chat here and on discord near the year end of 2021
cegprakash: anthonytang the one John Cena wears
cegprakash: https://blog.anudeep2011.com/heavy-light-decomposition/ check this out
lomienyeet: https://codeforces.com/profile/happypotato1207
anthonytang: https://codeforces.com/blog/entry/81317
anthonytang: i believe this is quite useful for HLD
arvincat: https://codeforces.com/profile/tourist
Sing123: codingame have so few player admin can remember ppl years ago
lomienyeet: lagrange relaxation !
happypotato1207: can anyone teach me segment tree :thinking:
antiwonto: [auto] hey happypotato1207 looking for some intro tutorials on programming? This isn't the place probably. Try codecademy.com , 'The Coding Train' on youtube, or first levels in codewars.com
anthonytang: i believe happypotato isn't a beginner tho
anthonytang: https://codeforces.com/profile/happypotato1207 he is in 99th percentile nearly
rekaxem: hello, may i ask what is this chat for?
Uljahn: https://www.codingame.com/playgrounds/40701/contribute---help/code-of-conduct
lomienyeet: https://www.youtube.com/watch?v=BLUkgRAy_Vo
Sing123: i want to discuss codingame
arvincat: let's discuss codingame
Uljahn: get a room, guys
happypotato1207: why is codingame escape p2w :slight_frown:
struct: not p2w
struct: p2p
cegprakash: first 18 games 17 wins
cegprakash: give me legend already
cegprakash: struct where ur push
happypotato1207: anyone wants to play clash of code together
cegprakash: happypotato1207 I love potatoes
tylerpage: ok
happypotato1207: I love potatoes as well
happypotato1207: :potato:
cegprakash: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato: :sweet_potato: :potato:
anthonytang: i love potatoes too lol
rekaxem: guys please stop spamming
Sing123: hey admins ban this guy spamming potato
anthonytang: i program my rasberry pie to make mashed potatoes for me as breakfast every morning
pmor: :rolling_eyes:
happypotato1207: potatoes are delicious
struct: Enough of this
happypotato1207: please join .-.
DollarAkshay: I cant sheild if I am under a control spell ?
cegprakash: control overwrites the spell
cegprakash: so yes
DollarAkshay: Damn
cegprakash: but if both control and shield are cast in same turn then shield works
DollarAkshay: So what is the counter to continuous control spell ?
cegprakash: if u cast shield after the control (i.e. the next turn shield will be overwritten)
therealbeef: another of your heroes shielding you or controlling the opponent
cegprakash: nothing counters that DollarAkshay wait for him to run out off mana
cegprakash: or use shield before control
cegprakash: predict the enemy control and shield urself
DollarAkshay: I can predict the enemy control
DollarAkshay: But I cannot apply sheild if I am under continuous control
cegprakash: u can if u shield first (before opponent controls)
DollarAkshay: Yeah I have to do that
cegprakash: shield works for 13 turns
cegprakash: which is crazy
cegprakash: O
cegprakash: M
cegprakash: G
anthonytang: i agree it's quite crazy
happypotato1207: crazy
DollarAkshay: What is crazy ? LOL
5DN1L: Never mind that
5DN1L: They're trolling
5DN1L: Please stick to coding topics here
5DN1L: Not here, please
Sing123: you should first change your name before criticizing others
Miki09: Whats wrong with his name?
happypotato1207: ???????
Miki09: "you should first change your name before criticizing others"
Astrobytes: Don't engage with them Miki09, bunch of spammers
5DN1L: Agreed
Miki09: ok
struct: but feel free to chat here
Astrobytes: ^
struct: They will only show up once more
struct: one more time*
xXCodinGamerXx: Java how to center a div
xXCodinGamerXx: Java how to center a div
xXCodinGamerXx: Java how to center a div
xXCodinGamerXx: Java how to center a div
xXCodinGamerXx: Java how to center a div
xXCodinGamerXx: Java how to center a div
arvincat: why are you centering a div in java
Miki09: https://www.codingame.com/replay/628480598 round 79 why I failed wind? I have 10 mana
struct: The wind worked
Miki09: Standard Output Stream: http://chat.codingame.com/pastebin/57313212-3a01-43bb-a1eb-68b0ce313257
Miki09: hmm
struct: ah
struct: because you used 3 spells
Miki09: oh ok
struct: and you cast control before wind
Miki09: ok thx
happypotato1207:
- clash
happypotato1207: #clash
Miki09: those spammers are just annoying
PatrickMcGinnisII: jello
eulerscheZahl: struct will soon apply WIND on them
5DN1L: Sing123 happypotato1207 You guys may use "/join clash" instead of "#clash"
Miki09: if they dont use shield...
Astrobytes: :)
PatrickMcGinnisII: Miki, the intentions are recorded but they are done in Con->Shi->Wind order
struct: I have been patient
struct: But soon I'll go back to coding and will just get rid of them
Miki09: lol
PatrickMcGinnisII: so 116 made in to legend eh... glad i slept for 2 days then
struct: js rank 1 again
Astrobytes: oh the hider
struct: hasnt been hiding anymore
Astrobytes: no, just til legend opened
PatrickMcGinnisII: hmm, good farming then the 1-2 shotgun ... hmmm
Tuo: nothing beats 1-2 wind, so satisfying
pmor: at around turn 50 he loads the shotgun. Controls 4-5 spiders to on his way to the base.
pmor: If you don't do something to break that up its a loss
IvesL: i remember one way is to counter early
struct: just use 3 winds
struct: 3 > 2
struct: hi
happypotato1207: hi
AndrewRV: how re u doing? ahah
8swaglord24: promoted to legend by 0.01 XD
Scarfield: grats :))
8swaglord24: thanks i feel like an imposter
Noyotens: https://www.codingame.com/share-replay/628535256
Noyotens: how to improve my defence
pmor: Mess with the attacker with wind and control spells. Push him out so he isn't a threat.
pmor: Shield yourself so you aren't affected by his spells
_NikJ: I do all of that and I still suck
DjTrilogic: can i cancel my arena battle ?
blasterpoard: Noyotens what's the point of having 2 defenders if they're stacked? it reduces area you can defend by wind, and also you want one of them further out to scout
Noyotens: ill try
Tuo: Noyotens offence is a good defense, it takes a lot of mana to defend with 2 heroes and you were leading in mana
_NikJ: gimme some input too fellas
j4at: https://www.codingame.com/ide/puzzle/power-of-thor I spent 30 mins trying to make shortest possible python code to find out that shortest python code's size is 51 while mine is 124 :joy: Is that even possible?or people are cheating the tests?
HoriMiyamura: you know *code?
pmor: _Nikj from what I can see, your defneders get out of position at times in the mid-late game. They burn a bit too much mana winding spiders they could farm instead. You leave attackers next to your base free to do as they please
pmor: And since youve used so much mana defending, your attacker doesn't have enough to force spiders into your opponents base
DollarAkshay: Is there a way to have continuous shield ?
eulerscheZahl: no
DollarAkshay: without haveing that 1 turn gap
DollarAkshay: Damn
Veco: What is the python version codingame ?
pmor: Python3 3.9.12 NumPy 1.20.2, pandas 1.2.4, SciPy 1.6.3
Veco: Ty
Veco: <3
pmor: I just looked up that webpage and had it right there when you asked :D
pmor: https://www.codingame.com/playgrounds/40701/help-center/languages-versions
SonByrne: Went to bed, come back was up 2 ranks
j4at: They should upgrade to 3.10 so we can have := outside parentheses
Veco: :D
eulerscheZahl: not a business need for it
jacek: not business need for clashes?
struct: Am I not supposed to show my golf skills on interviews?
eulerscheZahl: if they ask you for a code sample, definitely do the unicode trick
jacek: in the middle of my backswing?
struct: My code sample is usually this
struct: exec(bytes('牰湩⡴䠢汥潬圠牯摬∡ ','u16')[2:])
pmor: I'd give that a must-hire
Audatic: no they are not cheating, just more experiences
Audatic: ups sorry old message
struct: ping me if anything is needed, chat minimized
Rikerslash: Is it possible that the base is bigger than the corner. Does it have a radius of like 50?
Rikerslash: nowhere mentioned in the rules
Astrobytes: BASE_RADIUS = 300;
Rikerslash: really that big?
Astrobytes: Look at the github code
jacek: thats what she said :smirk:
Astrobytes: :D
pmor: Rikerslash, Its in the rules. "If a monster comes within 300 units of a base at the end of a turn, as long as it has not been killed on this turn, it will disappear and deal the base 1 point of damage."
Rikerslash: thanks missed that
HoriMiyamura: can a strategy like 2DEF 1FARM good?
pmor: HoriMiyamura no offense?
HoriMiyamura: yup
jacek: oO
pmor: If youre defense is so good you can survive to turn 220 and win on wild mana, sure.
HoriMiyamura: still can't go into legend
pmor: But there are some good offensive bots that will almost certianly beat your defense
HoriMiyamura: so I am thinking sth new
PatrickMcGinnisII: pmor, enemy hero can't reach your base visibility before turn 12, basically
HoriMiyamura: so?
HoriMiyamura: what do you mean when mention that?
Tuo: HoriMiyamura the problem is that 1 offensive hero will keep both of your defenders in your base and you wont get any wild mana
HoriMiyamura: no
HoriMiyamura: I have 1 farmer
Tuo: and the attacker will have 2 farmers/defenders
pmor: PatrickMcGinnesll not sure what you mean.
Tuo: *you get some wild mana but he will get more
HoriMiyamura: is that true that most of the top doesn't use sim ?
PatrickMcGinnisII: hmm, all heros should all farm on edges in early game
PatrickMcGinnisII: mobs can't even reach center board b4 turn 12, whatever their threat... thus edges
PatrickMcGinnisII: even an early attacker needs mana
Tuo: yes center is for suckers :)
HoriMiyamura: then how about 1ATT 1 DEF 1FARM
PatrickMcGinnisII: farmers have to go defense at some point because mob HP get bigger and bigger
Tuo: yes 1 attacker late game can beat 1 defender
cegprakash: counter the counter the counter the counter
PatrickMcGinnisII: HoriMiyamura you are above me, but that may change... I haven't implemented alot
mojtypu: Hi I have a question why do I sometimes lose when I have lost only 1 life and we have passed the end of time?? it happens to me many times
SonByrne: If you both survive to turn 220, there's a tiebreaker
mojtypu: yea but its at 114 tiles
SonByrne: my fault, I was going off of my memory from last night...
avdg: hmm my bot is doing much better now I keep my bot away from the edge when it defends :D
avdg: small fixes
MindController: Finally
MindController: Im out of gold
DaNinja: mojtypu your control spell command is wrong format
mojtypu: i was going to freaked out
mojtypu: i lost all my match due to that :cry:
jacek: oh my
avdg: someone tried to bomb me https://www.codingame.com/share-replay/628611061
avdg: and yeah, there are a few bots doing that some time
IvesL: avdg yea old problem
IvesL: still the problem few days back, too high mana consumption early
avdg: yeah, I just started adding some caps on few attacks
IvesL: perhaps in your case trying to use control rather than wind if you must
Tuo: 3 hero bomb is so old school, 1 + 2 wind is where its at :smirk:
IvesL: then at least you wont keep winding the same cluster
IvesL: outside your base
avdg: yeah
avdg: or push sidewards is also an option
avdg: my bot knows better who to push, but with more tweaks it will have enough info where to push or even decide to control
nalka0: Are coordinates truncated/rounded when Y is above/below 4500 or is it also based on X axis position?
nalka0: below/above*
MindController: Wow
MindController: Did a code rewrite
MindController: And im 48 wins 2 losses in gold
MindController: Insane
Quidome: nice :)
Astrobytes: gratz MindController
avdg: nalka0 https://github.com/CodinGame/SpringChallenge2022/blob/main/src/main/java/com/codingame/game/Referee.java#L78
Astrobytes: MindController: you were one of Ramdeaths students right?
nalka0: thanks avdg
MindController: Konstanta one's
avdg: Rounding happens with Math.round
MindController: But we have close ties wirh Ramdeath
Astrobytes: I see, I knew I remembered there was a connection :)
struct: nice MindController
88370: is there like a pdf or tutorial for the great escape bot game thing?
jacek: try forums https://www.codingame.com/multiplayer/bot-programming/great-escape/discuss
Astrobytes: no, but there is an ongoing bot programming competition right now
struct: true ai competition
Astrobytes: :grin:
Astrobytes: busiest contest ever?
Astrobytes: 7278 submitted players
avdg: I think 15/16k registered
Astrobytes: yes but 7278 played, registered is irrelevant
avdg: 17,7k apparently
Astrobytes: *irrelevant to us
Astrobytes: are you in gold yet avdg?
avdg: I need to wait
avdg: but it goes up up up
avdg: top 200 now
Astrobytes: good luck, you can do it
avdg: soon I have to deal with these wasteful repeating storms
Phantomghoul: if yourplaying clash of code please
Phantomghoul: for the love of god share your code
struct: I'm over complicating this so much
88370: banging my head on the wall and crying is a normal thing for coders right?
snoyes: It is for coders that don't use test-driven development.
struct: Can't relate, but I'm not a coder
Mindarius: I was recently placed in a reverse match that I designed the problem for. Is that supposed to be possible?
pmor: I have trouble keeping things simple and I'm a coder :P
Counterbalance: it's probably normal for coders aged 4
Astrobytes: Yes Mindarius, it is entirely possible
avdg: It's sometimes like trying to make a pool, you think it's great, but leaks are random and you don't know why
avdg: The bigger the pool becomes, the bigger the problem mostly
Astrobytes: I think that leads back to testing as you go
struct: I was doing time to reach base like csb collisions
avdg: split up the code properly helps mostly
struct: instead of (dist()-300)/400
Astrobytes: :D
avdg: mine is recently changed to a hybrid math
actualCoderTrevor: What's the dumbest strategy you can think of for this game? Waiting each turn? Running to one of the unoccupied corners? Look at what my NN (in blue) has converged on vs the starter code (red). https://www.codingame.com/replay/628660224
actualCoderTrevor: BTW it's not SUPPOSED to be finding the dumbest strategy :laughing:
avdg: it's really well goal optimised
pmor: your NN doesn't like you and is trying to defect
struct: at least it moves
Astrobytes: pmor is correct. It detected a loss and defected.
actualCoderTrevor: I had waiting as an option before but I took it out
Counterbalance: that looks like my shelved mcts version
Astrobytes: :D
actualCoderTrevor: Hmm so maybe it's pretty smart then
jacek: nyoro~n
avdg: I guess that's on only 10 cpu cores?
actualCoderTrevor: :laughing:
avdg: with ai's you mostly need more cores :D
actualCoderTrevor: Ah, that's my problem
Astrobytes: Nah. More ifs
TobiasA: your NN was probably an imposter all along and actually belongs to the enemy team
TobiasA: AI revolution
TobiasA: they are plotting to take over
daffie: I was trying mcts too, in the end. simple behavior tree. plus the bosses strategy is changed up so diversely from one tier to the next it ends up being a huge set back
avdg: meh, honestly, ai's are doing well once the neurons are fitting decision points
avdg: which is or trained, or carefully configured
avdg: though training decision points is I guess a very hard thing to do?
avdg: (in context of ai making up their own)
Astrobytes: I'm sure there must be a way to make some kind of decoupled MCTS or UCT forest type thing work here
struct: Cant wait until jacek stops hiding his NN
daffie: sure can make it work but it's just overkill
avdg: basically, if someone works with nn, they want each nn to be similar to a logic gate with mostly more input and output gates than electronics
jacek: :zipper_mouth:
DomiKo: Astrobytes I tried making someting... and nothing worked
Astrobytes: PMs will be interesting
struct: I always strugled with eval
Astrobytes: Hopefully
struct: I could not even make MC work
DomiKo: This time eval is Hardcore
DomiKo: I made GA deffense top300 gold
pmor: When I did this contest before I did a GA. Tried it here and it could barely beat the Bronze boss.
Astrobytes: To me it seems like lots of smaller searches works better than one overriding search, but then again, I've not really put in the effort this time around
DomiKo: you are right
struct: I just need top 50
DomiKo: you can do it!
TobiasA: domiko do you still use GA?
DomiKo: nope
DomiKo: 3 ifs are better
pmor: ^
Astrobytes: :D
struct: ah so thats my problem
struct: I have 4
TobiasA: lol
DomiKo: xD
Astrobytes: fixit struct
MindController: 5 is doing quite good for me
jacek: no else?
avdg: 42 gives answers to anything
TobiasA: I like 10 ifs
avdg: in binary or decimal?
TobiasA: decimal
DomiKo: jacek you can simulate if else with two ifs and bool : D
Astrobytes: lol
daffie: I found it fascinating I learned one time ways of doing logic using arithmetic
struct: I can now understand why this is true AI
PatrickMcGinnisII: error #510 couple different times now, people must be busy
VizGhar: Domi ko it reminds me of one englishman that wrote code like this: bool a = b == true ? true : false;
VizGhar: he just learned about ternary operator and put it everywhere :|
DomiKo: :joy:
struct: he gets paid by char
Astrobytes: Those English people :rolling_eyes: :D
jacek: the same goes when you want to put your NN everywhere
jacek: why ^ things when you can make NN do that
Astrobytes: so xor == NN
struct: MindController you didnt get promoted?
VizGhar: sorry astro didnt mean to offend you :D
struct: or you resubmited before it ended?
MindController: struct found a few logic flaws in my attacking
struct: Time for me to copy your bot
Astrobytes: VizGhar: I'm Scottish! That ain't English :D
MindController: 6 ifs shouldnt be hard to replicate
VizGhar: I can hear that :D
VizGhar: (accent)
Astrobytes: hahahaha
MindController: struct but im not getting promoted soon last submit 30% took 1 hour to compute
avdg: 166 positions short of promoting :/
MindController: gold is insanely big this time
VizGhar: thats why you have to go through 100 games to get your ranking right? :P
Astrobytes: VizGhar: you can ask struct or Scarfield about ma sexy Scottish voice
Astrobytes: avdg: watch the games around the point in the leaderboard where you are losing the most
PatrickMcGinnisII: https://www.youtube.com/watch?v=n4WlkJXWzmE
VizGhar: :P can you record some lullaby for my kids please? :)
Astrobytes: :rofl:
jacek: :scream:
PatrickMcGinnisII: "Do you fancy another go, I'm ded sexy"
Astrobytes: PatrickMcGinnisII: at least link some Rab C. Nesbitt or Billy Connolly!
MindController: btw struct did gold boss changed? It looks weaker than yesterday
Astrobytes: No Yanks huvvin' us oan that thir wan o 'us
PatrickMcGinnisII: My GF is mostly a scot... but she won't do the sexy voice. ;)
Astrobytes: MindController: No
VizGhar: Somebody complained it gets stronger
VizGhar: *got
Astrobytes: It's non-deterministic
Astrobytes: So mileage may vary per submit
VizGhar: this one is deterministic like hell :P non deterministic is whole ladder
Astrobytes: No, if you test a bunch of games on the same seed they are different
Astrobytes: they would normally check for that but now they don't choose the boss manually, so I guess they didn't factor that into their algorithm
VizGhar: really? my games looks pretty similar
VizGhar: at least early game
burnpanck: who would we need to talk to to get us some C++20 freshness?
VizGhar: time
Astrobytes: I would recommend playing a few in the IDE but it'll fk up your play limit
Astrobytes: burnpanck: I know right! I mean they upgraded gcc to a version that supports it so I see no issue there
Astrobytes: After the contest make sure you put it in the language requests thread on the forum
Astrobytes: and spam it generally here and discord
struct: best way is to ask a company to ask for it on cg work
VizGhar: spamming here helps something? I though CG guys aren't even reading this
struct: I have to write it on my weekly report
burnpanck: ok, struct please consider yourself spammed with C++20 requests :-)
Ronr: no
Astrobytes: VizGhar: making noise generally gets noticed
struct: Who even uses c++ anyways
Astrobytes: obviously not spamming as in the kids spam
Astrobytes: struct: have you transcended to D
VizGhar: uhm... maybe thats why they let only 15 players to legend at first? :D
Astrobytes: :D
struct: Maybe, I need the achievement
Astrobytes: all hail the D
burnpanck: :-D
VizGhar: I'm just curious how far can this shotgun bot get: https://www.codingame.com/replay/628701808
struct: https://www.codingame.com/replay/628701875
struct: MindController check frame 69
struct: You help opponent :p
MindController: struct
VizGhar: :D
struct: yes?
MindController: this was my 1 hour code rewrite
MindController: before sleep
LaurensD: that works pretty, my shotgun did not bring me far lol
MindController: there is a lot of wrong with that code
struct: This is your current bot
MindController: ye i know
struct: ah ok
MindController: but probably gonna leave it at that
MindController: legend is enough
VizGhar: LaurensD I don't trust it either... I'm gonna go for that wind train too most likely
LaurensD: haha it's fun just do it
LaurensD: https://www.codingame.com/replay/628679718
MindController: struct might fix the bugs on sunday if i have time
struct: ok, I just spotted so decided to report it
struct: anyways time for me to work on the bot
blasterpoard: why is my 3-day-old bot first again :( leaderboard is drunk
Astrobytes: admittedly it's pretty close up there
blasterpoard: variance is so high that I have absolutely no idea what changes are good atm
MindController: this game seems very rock-paper-scissors
Astrobytes: always is with heuristic-heavy contests
blasterpoard: no, it's people optimizing against specific bots
VizGhar: :thumbsup:
blasterpoard: not RPS
Astrobytes: that creates an RPS effect
Astrobytes: a RPS
blasterpoard: but it's the people writing bots, not the game that's the problem
Astrobytes: this is true yes
MindController: ?
MindController: In my opinion
MindController: Its just strats
MindController: 2 attacking losses to 1 attacking, 1 attacking to 3 deffending, 3 deffedning to 2 attacking
blasterpoard: 2 attacking doesn't lose to 1 attacking
blasterpoard: 2 attacking loses to 3 defending
blasterpoard: 2 attacking vs 1 attacking is kinda even
MindController: i mean
MindController: if smart
LaurensD: depends right, technically yes but how it's used
MindController: 1 attacking just gets there faster
blasterpoard: MindController not really
LaurensD: can you even do something against someone who is blasting enemies?
MindController: it needs less mana/can farm faster
WannaBeHum1n: blasterpoard
WannaBeHum1n: fk u xD
WannaBeHum1n: and ur american misssile launcher
VizGhar: you can stand outside base and blow mobs out of bounds
VizGhar: but you will run out of mana pretty soon :P
blasterpoard: for 2 attacking vs 1 attacking... https://www.codingame.com/replay/628711025 here's how my hidden bot handles it
blasterpoard: not really much of a problem if I don't let the spiders from 3 spawns get to my base
DomiKo: its always funny when you say hidden and then show some replay
MindController: blasterpoard if bots were smarter enemy could use spiders from frame 14
MindController: idk how u deffend that
MindController: but ofc u win in the end
blasterpoard: he has mana for only 1 wind at that point
MindController: He can control
MindController: Follow other
MindController: Control
Astrobytes: DomiKo: I think the tongue is firmly in the cheek wrt 'hidden'
MindController: Or control follow
MindController: Wind
MindController: He gets needed mana in 2-3 turns
blasterpoard: ok, so do it 2 more times and maybe you can win in time
MindController: Theoretically 1 attacker damage just spikes earlier
MindController: and later gets outscaled by 2
MindController: So 1 attacked need really smart begining
blasterpoard: needs luck with spider angles
MindController: I guess so
blasterpoard: and we end up with the huge variance on the leaderboard
MindController: But shouldnt 2 attackers also beat 3 defenders?
MindController: Cant u just setup perfect attack?
blasterpoard: no, 3 defenders can scout much better
LaurensD: Shite mindcontroller is too strong for me atm https://www.codingame.com/replay/628717222
MindController: Gl getting here LaurensD
ProS: Guys, don't you get tired writing ai for contest. I spent only several hours, got to silver and thinking to drop. What pushes you to continue?
LaurensD: Thanks :laughing: Starting from scratch, my last bot was full with if, elses, choatic but good enough to come to gold :joy:
MindController: Laurens mine is still full of ifs :sweat:
MindController: ProS competitive spirit
MindController: Well gtg
MindController: Have fun guys
LaurensD: @ProS I do think it's interesting, and a friend is also doing it, so gotta work hard to get higher than him
LaurensD: pretty sad he spend like 1/3 of my time, but is still higher than me
LaurensD: @MindController Thanks, sleep time for me too
LaurensD: it's late :sleeping::sleeping::sleeping: time
Counterbalance: not even midnight
Counterbalance: tss
Astrobytes: euler-wannabes
WannaBeHum1n: wanna be ?
LaurensD: @CounterBalance, haha last few days worked till like 1 a 2 o clock midnight
Astrobytes: euler goes to bed at 8 or 9pm sharp
Counterbalance: LaurensD same ;) anyway, sleep well!
WannaBeHum1n: how to counter the boss 5
WannaBeHum1n: spamming wind from far
Counterbalance: counter?
WannaBeHum1n: haha
LaurensD: Haha thanks, hope to have time tomorrow night to continue ~
Astrobytes: all about the balance
LaurensD: haha
Astrobytes: how's things counterbalance? didn't see you for a while before the contest
Counterbalance: very busy with work! all is well. I don't really have time for this contest but couldn't resist :)
Astrobytes: good to hear! lol, yeah, CG effect :D
WannaBeHum1n: can someone provide a replay of beating boss 5 ?
WannaBeHum1n: thnx
Astrobytes: WannaBeHum1n: just look at the main leaderboard and watch replays
Astrobytes: *full leaderboard
WannaBeHum1n: ty didnt know abt this
Astrobytes: np. very useful ;)
vitalii.kulik: hi. i'm just wondering is there any opportunity to do some 'learning' for my bot at this platform
Astrobytes: what do you mean?
vitalii.kulik: for example saving some numbers in file which will not be deleted to the next run of code.
Astrobytes: ah, not between turns unfortunately. You can output the input/opponent output and copy to offline, or download replays via the [unofficial] API but that does take a little bit of work
vitalii.kulik: thanks for your answer
Astrobytes: np
VizGhar: yeez... that wind train is really way to go... 21% submission and 114 rank... I'll be legend by sunday
Djellowman: question; why does the mouse show over 18000 horizontal positions, if the docs say there are 17630 horizontal coordinates?
VizGhar: so that the graphics can fit in :)
Astrobytes: it is somewhat silly
Djellowman: are you talking about using 2 attackes to blow monster into enemy base, one after the other>?
VizGhar: 1 wind in 1st turn 2winds in second
VizGhar: I'll implement 1-2 turns before those 2 turns and i'll beat the boss easily... (and get shredded in legend)
Astrobytes: Not touching my code until tomorrow. Had a couple of beers and moderating on a YT music channel is enough for now
jzen: Djellowman the map is actually 19230x10600, which means mobs can exist (in fact they spawn there) outside the visible map which is the 17630x9000
Demetr: Hi everyone. Im new here )
Djellowman: hi whatsup
burnpanck: what is actually the compilation time limit in bot competitions - my compilations are now approaching several seconds locally (and I have a fast machine)...
struct: I think its 10 sec
struct: not sure though
cegprakash: is there a way to find the max health of each monster.. I'd like to know if a monster is freshly spawned when it's in full health
PatrickMcGinnisII: 10+int(turn-3)/5)*.5, i think
PatrickMcGinnisII: i'm off, but it adds 1 for every 10 turns i think
cegprakash: hey top 100 in gold can u stop wrecking me and let me go to legend
c0r3dump: Apparently the monsters get attributed sequential IDs, so you could use that along with turn number to get the max health of a specific monster.
burnpanck: you even don't need the turn number. ids 0..5 are the heroes, then exactly 4 mobs are spawned every 5 turns. health increases by 1 every 10 turns.
cegprakash: nice observation burnpanck
Dapps: finally.. just managed to squeeze past gold boss
Dapps: literally it was by decimal points
_NikJ: how much did you pay him
_NikJ: he's kicking my ass
struct: grats
Dapps: blood sweat and tears. had to rewrite my entire attack code
_NikJ: well congrats man
struct: Still the contest I struggled the most with
struct: But is just because I have no idea on what to do :p
struct: Should I focus first on attacker or defender?
struct: focus on improving*
Dapps: imo offense
Dapps: i found it easier to work on
Dapps: my defense was terrible for the longest time
Djellowman: if i play arena, will it be the same boss as i play locally with play code?
struct: yes
Djellowman: because the current boss times out after 20 moves lol
struct: Thanks Dapps ill try
struct: It happens Djellowman
Djellowman: you only have to beat the boss to advance, right?
struct: well you need to be above him after you play all the matches
struct: So you also need to beat other players
struct: to get to the top
Djellowman: oof, my new strat straight up always loses against people who just stand still in base
Djellowman: what do you mean struct? if you need to be above the boss, you wouldnt have to beat other players
struct: well if you only win vs the boss and lose vs the rest your elo wont be high enough to fight the boss
burnpanck: You need to be above the boss on the leaderboard, not just the heads-up
Djellowman: but i was just told the boss in arena is the same as in the ide
Djellowman: which just dies after 20 turns
struct: it doesnt die every time
PROJECT_ATAY: and the gold boss has some random aspect to it play in same condition doesn't result in the same output xD
Dapps: took me awhile to realize that.. kept thinking i had a bug in my code lol
Dapps: who writes a nondeterministic bot?!
burnpanck: I would
struct: all my bots are, except this one
PROJECT_ATAY: now i don't know what to do no more xD
Dapps: so for same inputs it has different outputs?
Djellowman: i never write nondeterministic algo's. makes it harder to reproduce & debug
PROJECT_ATAY: imma rewrite the attack strats prolly
Djellowman: i can't figure out how to position a defender
Djellowman: if they are in the corner of the base, they wont kill enemies on time, but if they are in the border, enemy heroes can blow monsters past you
Dapps: or you just go all out attack and kill them faster
Djellowman: how do i know the rank of a boss in arena leaderboard?
struct: press leaderboard on the left side of ide
Djellowman: @Dapps that's what i was going for, but with 2 attackers. strat isnt refined enough yet. they try to double cast wind monsters into enemy base, and control monsters towards enemy base
Djellowman: struct then it just lists Boss at the top
struct: because all the players that went above it are in legend
Djellowman: im still is bronze lol
Djellowman: just started
struct: ah ok
struct: then silver
struct: sry :p
avdg: me doing math and it's rusty
Djellowman: ok so you have to finish above rank 1 of your league?
struct: just above the boss
Djellowman: but the boss is listed at the top...
struct: Sometimes boss is at rank 10 if players are still submiting
burnpanck: think of it this way; the bronze boss is currently at the overall rank ~4000; that is what you need to achieve. because you are in bronze, you will only be pitted against other bronze players, which are even further - so you do have to beat the majority of your competitors in bronze to advance. you don't have to reach the top of the overall leaderboard however
burnpanck: I am going to give up - I fear I just wasted many hours writing my full-sim NN-driven MCTS player, and I'm finally ready to start training the NN. But the code does not compile within the time-limit (it takes about 10s on my local machine).
actualCoderTrevor: This is the first time I've tried to apply NN to a contest. It seems like a difficult case for NN, but that could just be my inexperience talking.
burnpanck: indeed - I successfully applied it to the last spring contest (though not during the actual contest)
burnpanck: here, I tried to combine heuristics with NN; heuristics propose actions as well as features describing those actions, and the NN rates them.
actualCoderTrevor: To some extent I think you have to do that. Like how can a NN know to cast a spell at the correct id without some organization of the inputs and outputs? How is your approach working out burnpanck?
Djellowman: i still don't understand how to see if i almost won the arena or not
actualCoderTrevor: The best I've come up with is making all of my heroes walk to the enemy base. I'm working on a major overhaul now to add a bunch of features.
actualCoderTrevor: Djellowman If you're listed above the boss and have beaten the boss at least once, I'm pretty sure you get promoted after a certain period of time.
burnpanck: to be honest, I haven't even started training the NN yet - I just finished the player and wanted to check how many layers would fit into the remaining 30 kB I have - but I have absolutely nothing to put up against the compile-time limit
avdg: all you can do is pretrain and maybe add some comments how your nn is trained
avdg: just so the moderators are up to date
actualCoderTrevor: Oh right, you said you were giving up; I thought that was someone else. My bad.
avdg: I guess generating the magic numbers for the nn is great engineering
avdg: not by definition hiding code
avdg: but meh, it's edgy on the rules
actualCoderTrevor: Yeah I was asking about that earlier
actualCoderTrevor: Since I have to use base64 and zlib for my weights to fit
burnpanck: I use base85, and compression of the float exponents, but no zlib
actualCoderTrevor: I was told it "probably isn't an issue unless you're in one of the prize tiers." Or something to that effect. Which isn't super comforting but if I'm honest, not remotely an issue for me :(
avdg: if you document the process, it's hard to believe you cheated
actualCoderTrevor: That's true
But_Why: In move 106 Why did the boss wind him only ? it does not make sence . https://www.codingame.com/replay/628870212
burnpanck: I don't think the weights will be an issue. I do strip white-space to gain another 5kB.
avdg: just create your own block chain and link it with irreversible facts :D
actualCoderTrevor: Easy-peezy
burnpanck: nah these small NNs are not actually hard to train, my current bot at spring-contest 2021 took just a few hours to train. if they don't believe I'll do a special training just for them :-)
avdg: these nn are without reinforced learning I guess?
avdg: so meaning, they update when they are used
actualCoderTrevor: But_Why it ends up scoring so I guess it was smart enough to foresee that somehow
slazure: hi
avdg: hi
burnpanck: avdg absolutely, there is no gradient descent in the code that runs in the Arena - I have trouble enough to fit the code for the forward pass into the 100 kB
actualCoderTrevor: avdg I can only speak to the way mine works, but it works very poorly. But mine is just randomly changing a small percentage of weights on each offline run and hoping for the best. Each run saves its own weights to a randomly-named file.
But_Why: actualCoderTrevor it landed before in some cases still it pushes only the monster
actualCoderTrevor: I modified brutaltester to keep track of which variation is the best and wrote another script to package up the best weights for an arena version of my code.
avdg: hmm sadly I can't get the referee working because of log4j errors
actualCoderTrevor: But_Why oh you're right I didn't notice that; it doesn't push the hero.
actualCoderTrevor: avdg I had a couple of errors that I was able to work around, want some help?
actualCoderTrevor: (If I remember what I had to do)
avdg: hmm, I would find it fairer if everybody knew how to compile tbh
actualCoderTrevor: There was one issue with the referee and a different issue with cg-brutaltester itself.
Counterbalance: i'm having no problems with it.. what error are you getting?
avdg: I got a warning and java.lang.reflect.InvocationTargetException
actualCoderTrevor: avdg yes for sure. I was just in a hurry to get it working and wasn't sure how typical my problems were
avdg: from the referee that is added in the markdown of cg-brutaltester
Counterbalance: maybe you need to run using an older jdk/jre
avdg: might it be maven, because that is running on oracle's java
Counterbalance: jdk 1.8 or 1.11
avdg: maven uses an other java version than the one that gets run when I type java
avdg: which is openjdk even
Counterbalance: get adopt openjdk 11 and uninstall the rest
Djellowman: is there some way to only show one player's vision on the gui?
actualCoderTrevor: Uninstall the rest? :scream:
Counterbalance: the other jdk/jre versions i mean ;)
avdg: maven runs on jdk 14
actualCoderTrevor: Djellowman I think you can do it with the debug settings for fog of war
avdg: I guess I edit JAVA_HOME
actualCoderTrevor: avdg You might be having a different issue than I was (can't remember), but I just remembered how I got the referee to work: copying log4j.properties from src/test/resources to src/main/resources.
actualCoderTrevor: And it looks like I'm using jdk 1.8
avdg: I have openjdk 16
Counterbalance: it does build correctly, right?
avdg: yeah, the referee does, after adding the log4j config file
Djellowman: actualCoderTrevor where can i find this info? dont see it in the docs
Counterbalance: I don't think the cg framework runs on anything newer than 1.11
struct: For cg stuff I use jdk-8u291
struct: Never had problems
avdg: uh I hate installing clustered versions of java...
avdg: mvn seems to ignore JAVA_HOME
struct: did you set it up correctly?
avdg: mvn runs, but on older java
avdg: hmm running brutaltester its stuck on finding ts-node
avdg: find it weird that typing ts-node works in powershell, but Get-Alias ts-node fails
Counterbalance: try a normal shell
actualCoderTrevor: Djellowman you mean how did I know to copy that file? Couldn't tell you. Just a combination of googling and intuition. A lot of this is new for me.
Djellowman: no i was referring to the fog debugging
actualCoderTrevor: Ohhhh yeah I don't remember - I think I learned that from someone here
maras: Wait, did I get it right, you guys are running a NN without training it beforehand?
actualCoderTrevor: Well I'm training it with brutaltester, but not using backpropogation, just random mutation
actualCoderTrevor: and getting abysmal results so far
maras: Ah, I see
actualCoderTrevor: If I had like two weeks more, I might try to make a client that would let me direct it with how I think it should play and use backprop to train it
maras: Did you try normal backprop with some self-play though? Random mutation for even small weights seems very hard to pull off
actualCoderTrevor: I haven't tried because I can't think of a way to pull it off. But I'm open to ideas :)
actualCoderTrevor: It would be easier with say, the Spring 2021 challenge where you can sim some different outcomes in the future and have an idea of what's objectively higher-scoring. Don't know how to achieve the same results with this one though.
maras: I'd probably play some games offline, scrap their data to some file and run the NN in PyTorch or Tensorflow. Then you also probably need to rewrite the architecture to some other language. But there's a lot to do, not sure if you're able to do everything on the spot during the competition.
actualCoderTrevor: right
maras: And then you need to compress the weights with some awful chinese symbols encodings XD
actualCoderTrevor: lol
actualCoderTrevor: I'm using base64 and zlib to compress the weights now but I'm sure there's better ways
actualCoderTrevor: And it's kinda moot when my bot is too dumb to beat the starter code.
maras: From what I've heard, the CodinGame actually counts symbols, not bytes, so using symbols in that have more than 1 byte let's you fit more data ;)
actualCoderTrevor: :open_mouth:
jzen: Does anyone know what the limit is for memory usage? I can't seem to find it anywhere
struct: 768MB
jzen: Thank you
Djellowman: so machine learning approaches even outperform handcrafted bots in this game?
Djellowman: do*
actualCoderTrevor: CG contests in general or this one in particular?
Djellowman: this one
Djellowman: unless they are all similar. i havent done any others
actualCoderTrevor: I haven't heard anyone bragging about their awesome ML bots this time but that doesn't mean nobody has one.
struct: I dont think you will see many
struct: Last time the winner was a NN
actualCoderTrevor: In general, many of the top contestants employ some kind of ML, but not all of them.
struct: but that is not the norm
actualCoderTrevor: Oh do heuristics tend to fair better? I may have had the wrong impression.
maras: This game seems much harder than the previous challange though. Almost non-discrete actions, etc
HoriMiyamura: well I replay in same condition but the boss behavior is different :(
maras: But I wouldn't be surprised to see ReCurse skyrocketing with his NN tomorrow
INIT_TOKEN: Your behavior affects boss's behavior @Hori
INIT_TOKEN: If you change ur behavior expect boss behavior to change
Djellowman: is there any way to check if a monster is half hp?
Djellowman: or to determine which kind of monster it is
Djellowman: or like, how much hp the regular monsters start with?
Ayza: The hp a monster starts with is random but you can keep track of every monster's hp by their id and the health variable you are given at the start
Ayza: so e.g. monsters[id] = health
Djellowman: that's a bit annoying... will every monster have a unique id? then i can just store them in a dict
Ayza: yeah the ids are unique
maras: Instead of fixing a minor bug I introduced one that breaks my entire AI completely. Nice
jellyfishcoder: lol
maras: And it still somehow got 250th place in the gold league
maras: lol
Dapps: sometimes my bugs gain me ranks lol
Djellowman: i'm getting: Warning: your code did not read all available input before printing an instruction, your outputs will not be synchronized with the game's turns and unexpected behaviour may occur.
Djellowman: but i didn't change anything, parsing wize
maras: Yeah, same here, I wanted to cast shield every time my opponent abuses control on my guys. I messed up and my heroes weren't casting shields at all. And it turned out to be beneficial...
maras: @Djellowman, you probably printed too much commands on one turn I guess
maras: Then the last one counts as it was printed in the next turn
Djellowman: that would be a very weird error message if that was the case
Djellowman: its about input reading right
maras: not necessarily, if your output skips to the next turn, you print it before reading the input and the message is displayed
HoriMiyamura: so that's mean you print redundant comand
maras: yeah, most likely
maras: or you've managed to bug the input reading code ;)
Djellowman: indeed, i printed an extra line
alexwastaken: hello
alexwastaken: I am new to coding
Thorcode: hi alexwastaken
alexwastaken: hello
Zerfa: is there any way to test a game without debug enabled outside of submitting the arena?
maras: offline by downloading the game's source from github I guess
pmor: can also unit test and write your own sim code
Djellowman: if only 1 person is listed above the boss, are they the only to promote?
Djellowman: if i end an arena in like 28th place, do i have to do better..?
maras: yep
maras: or you can resubmit and pray for luck
Djellowman: so only 1 person gets promoted?
maras: You need to be above the boss to get promoted, yes
maras: Sometimes more than one person is above
Djellowman: seems like it is a lot harder to promote now than it was earlier, since the bosses have become much stornger
maras: The bosses are fixed after the start of the league I believe
Djellowman: out of 1000s of bots, only 1 beats the bronze boss? lol
maras: damn the first guy in the gold is countering me so bad
Djellowman: now nobody is above the boss...? wtf
Djellowman: how can i even see my fight with the boss
maras: He probably got promoted
maras: or lost with the boss
Djellowman: when i fight the boss in the IDE, they crash after 20 turns
maras: lol
Djellowman: so how can i see why i lost to the boss in arena?
Djellowman: i don't understand anything about the arena or promotion system. its very confusing and unclear..
therealbeef: everyone that has managed to rank higher than the boss has been promoted, so obviously there are very few or no players above the boss at any time
Djellowman: how to see my battle against the boss?
therealbeef: you only get to battle the bots around you, so you need to reach higher in the ranking to get battles against the boss
Whiskee: "beating" the boss doesn't mean winning against the boss, just ending up in ladder above it
Whiskee: you can lose against the boss and still get promoted
maras: Alright, at the beginning of the contest there are two wood leagues with fixed bots and a bronze league, which is the highest. Then every few days a new league is opened, the best few players get to the next league immediately, the last guy in the league is the previous legue's boss
Djellowman: i was 2nd place just now. only lost against enemy bots that end with slightly more wild mana
maras: that's a short summary
Djellowman: and the boss you fight in the IDE is the same as the one in arena? cause the one in my IDE just crashes
Djellowman: so i dont understand how it could have a higher winrate in arena
maras: the entire ladder works like mmr in most of online games, if you beat a player, you get points depending on their relative ranking to you, same with losses
Djellowman: do you keep increasing mmr by doing multiple arena runs then?
therealbeef: no, every submit you start from 0
Djellowman: for instance, i ended up in 4th place in the end of this run. could i be higher next run, or if i didnt beat the boss just now, i wont beat them by resubmitting
maras: oh, thanks God, ebicochineal got promoted
Djellowman: & can you see the strat that the boss employs?
therealbeef: could be higher or lower, there is a bit of random in it
maras: now I've got a chance
maras: XD
maras: I should've went to sleep like 4h ago
maras: but
Djellowman: same, but 5 hours
Djellowman: this stuff is addictive
maras: 72% games to go and I'm above the boss
maras: I can't just
maras: not look at it
maras: right?
maras: XD
Djellowman: can you see the boss fighting somehow?
maras: you can play against it pretty easily in IDE
Valtazar: I can't see my heroes fighting
Djellowman: ah so it is the same
maras: if your bot gets crashes, you can play it with any other person from bronze
maras: or whatever league you're in
Djellowman: i see, i lose because of less wild mana
Djellowman: but then the boss bot would crash in arena too and just be last place..?
maras: yeah, that's possible
maras: pretty funny though
Djellowman: but nobody is beating the boss in arena, whilst it crashes 100% of the time against me in ide lol
maras: you've found an exploit maybe XD
maras: the boss is someone's old AI before the silver was opened, so yeah, it's perfectly possible that it crashes with certain conditions
maras: alright, it has to be legend now :pray:
Djellowman: interesting that im one of the few then, otherwise the boss bot wouldnt beat everyone in ranking
Djellowman: i found a bug it seems
Djellowman: if a monster is against the fence, then casting WIND on them towards the base will do nothing
maras: That's actually a feature, kind of
Lysk: not a bug, outside the base radius it will push the mob out of the map but inside the mob will stay on the edge
Djellowman: so you have to write edge cases for enemies close to the borders, to do horizontal / vertical wind casts..?
maras: It's weird, but that's how it works, you can't airbend spider out of the game
Lysk: you can then block a mob insied a base by spamming wind
Djellowman: i would've expected them to still be affected for the horizontal component of the pushback
maras: Yeah, it's the best to calculate the push vector/direction from the mob's perspective
maras: Then you can avoid the conditions
Djellowman: meh
maras: come on, 9%
maras: I feel bad for Scaff, it seems I'm countering him pretty bad
Djellowman: i'm already over 200 lines of code. writing all those edge cases is a pain with only 1 file to work with
maras: hopefully I'm out of the gold soon so he will have a bit easier
maras: Well, 200 is not that bad ;)
badradsuperbrad: lol, just 200?? :stuck_out_tongue_closed_eyes:
maras: 4% and I can sleep peacefully
maras: 5:23 AM here
Djellowman: how is the score calculated?
struct: It is true skill elo
Djellowman: badradsuperbrad i started a couple hours ago lol
badradsuperbrad: yeah, this kept me up until 3am the other day ... got 4 hours of sleep, had to drive 9 hours the next day ><
struct: https://en.wikipedia.org/wiki/TrueSkill
struct: so the first 10 matches you see
maras: finally, good night everyone
struct: you get a player randomly chosen for each 10%
struct: 0-10%, 10-20% and so on
struct: gn maras
badradsuperbrad: Djellowman lol, nice! Been at it for a week or so now
Djellowman: struct thank you
EvModder: i'm back,... 48hr since last submission and somehow i went from 140th to 4th in gold
badradsuperbrad: Around 450 lines of rust
EvModder: idk how it went up without me changing anything
EvModder: i guess all the people above me got promoted to legend or something
Djellowman: the arena will keep running & you can check in the morning if you've won right?
HoriMiyamura: because those above you has gone to legend :D
EvModder: yeah
Djellowman: without the browser open
EvModder: tbh i might just not submit any code tonight to see if a 3-day-old submission can get to legend on it's own XD
Lysk: nah don't
EvModder: seems my bot does better the less i touch it
Lysk: XD
EvModder: i have some kind of reflection bug rn;
EvModder: if i have the bottom-right as my base, my bot is 5x more likely to lose
Djellowman: i've noticed the same with my students
Djellowman: i've won 100% of battles... why am i not at the top of the rankings
struct: you should be soon
Djellowman: yup
Lysk: EvModder almost
Djellowman: who would've thunk 1 attacker, 2 defenders is better than 3 defenders
avdg: what about 1 fixed defender and 1 or 2 interim defenders that are otherwise attackers?
Djellowman: i lost to 1 person. they kept double blasting enemies into my base
Djellowman: i've tried to implement that, but wasnt as effective for me
avdg: submitted a new run with slightly different positioning as a change, only lost 1 so far and guess... a cannon
avdg: https://www.codingame.com/replay/628943938
avdg: k got my second loss now
EvModder: same game, but I win if I'm P1 and lose if I'm P2: https://www.codingame.com/replay/628946563 https://www.codingame.com/share-replay/628946963
EvModder: (against Scaff's latest submission)
EvModder: not sure if their bot is deterministic or not, but if it is then the outcome should be the same regardless of base coordinates
Djellowman: that sweet 32 trueskill
avdg: my ai is deterministic, only has 1 "random" element in it, but that is seeded by the game round
avdg: maybe one should create a randomizer based on game inputs
struct: What happens if you put your AI vs your AI EvModder?
EvModder: i use random for optimizing farm moves to hit multiple monsters, but it's also deterministic seeded
struct: does it tie?
struct: it should
EvModder: yes
EvModder: so far it always ties but i need to do several replays to be sure
EvModder: i found an exact case where my ai says the spider distance to base is 5018 but the referee thinks it's 5000
EvModder: does anyone else do what i do and just flip the input x,y,vx,vy when your base is not 0,0?
EvModder: if(IM_P2){ x = MAX_X-x, y = MAX_Y-y, vx = -vx, vy = -vy; }
EvModder: i feel like the bug might be there but not sure how to handle it
EvModder: "symmetric truncate"
struct: EvModder frame 49 to 50
struct: on one you only have 1 unit shielded
struct: on other you have 2
struct: Thats the first different frame
EvModder: ahh yeah, i was looking at a later frame
Fallback: if you shield a mob on tick 10, and it gets winded on tick 11, is it protected? or will it get winded?
EvModder: thanks; i'll plug in some debug
struct: You will get shielded
struct: and it wont get winded
struct: but if it happens on the same turn yuo wil lget winded
struct: but you will still get the shield on the next turn
44AA44: cock
struct: 44AA44 next one will be a ban
EvModder: struct, the reason i shield in one but not the other is the spider that gets winded out of my base (1 turn earlier) has a different random direction
EvModder: meaning the difference is coming from something earlier; perhaps the wind command
EvModder: Oh wait... I see what it is
EvModder: and i consider it a referee bug
EvModder: lol
EvModder: (output of the referee's RNG is not reflected for P2)
struct: oh I see
EvModder: the rand.nextDouble() should be reflected 180 for P2 base IMO
struct: I guess you could make a post on the forum about it
struct: I doubt it will get fixed though
struct: its weekend and 2 days left
EvModder: yeah
EvModder: alr well i'll be back tomorrow... gonna let my 40hr old submission ferment another 9 hrs xD
EvModder: seems to be a working strat
struct: me too
struct: gn
Fallback: So if a hero is under control currently on tick 10, and you request a spell action to take effect next turn on tick 11. It can still go through but the danger is not being within range to hit your target right?
struct: I dont think so
struct: Since control is similar to a move
struct: I guess it has the same priority
struct: So it applies after all spells have been cast
Fallback: let me clarify, you're already under control on tick 10, they casted that before on tick 9
struct: if you are under control the action would be similar to wait
struct: You can try to cast a spell but it wont work
struct: if you cast ed a spell on the turn the also used controlled on you
Fallback: ok, so it won't burn mana or anything. The only danger might be your own code thinking that you did
Fallback: thanks
struct: then it will work
struct: yeah
jacek: happy Caturday
Uljahn: oO
slamo: Really weird, I had a submission earlier that made it 42nd. I introduced a bug and tried to revert but not a single one of my submissions is coming anywhere close to 42nd anymore
Sarzorus: When is the contest over? I don't have time this weekend, but I'm considering starting anyways because it's always fun
PatrickMcGinnisII: 2d 3h 39min 30sec
Sarzorus: Thanks ^
PatrickMcGinnisII: gtatz EvModder
PatrickMcGinnisII: er gratz