06:43 <+bridge_> its possible to skip this main menu? i always press "play" never use this menu. plz back my old days. 06:43 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1456977957636804632/image.png?ex=698e6736&is=698d15b6&hm=85a1c15d7fc97364626fe3efd1c597f0f6919bb1d0d094d6e93a41e842856910& 06:44 <+bridge_> ~~@kebscs https://www.twitch.tv/chillerdragon check stream fix your pr nitpicks~~ 08:29 <+bridge_> HOLY SHIT 08:46 <+bridge_> β›ˆοΈ 08:55 <+bridge_> style check if flakey πŸ™ 09:57 <+bridge_> I don't understand what the pr is doing 09:57 <+bridge_> Just turning antiping off when player is hooking ground? 10:20 <+bridge_> fokonaut gigachad 10:20 <+bridge_> next is noby 10:24 <+bridge_> If I understand it correctly it turns antiping on only cases where the prediction can be perfect, e.g. the target tee is being influenced only by you, e.g. you hook them and they aren't moving 10:24 <+bridge_> If I understand it correctly it turns antiping on only in cases where the prediction can be perfect, e.g. the target tee is being influenced only by you, e.g. you hook them and they aren't moving 10:32 <+bridge_> doesn't this still make it awkward to start interactions? 10:32 <+bridge_> unless you're also predicting a player's possible interactions based on aim, but the PR doesnt specify this 10:33 <+bridge_> enabling antiping in these scenarios, I mean 10:35 <+bridge_> I thought that was the case before 10:35 <+bridge_> I don't quite see how this eliminates the jitter though, what happens when the client breaks the invariant? 10:36 <+bridge_> I think the current predict others always predicts everyone 10:36 <+bridge_> It just doesn't look bad when they aren't trying to move, since the predicted movement is not disjointed 10:41 <+bridge_> I'm assuming based on the PR summary that this will cause unexpected jitter when players start/stop moving, and there's plenty of cases where someone has input movement and needs to be interacted with (a good example of this is horizontal hookfly, because both tees are holding the same direction and are only hooked half the time) 10:41 <+bridge_> It's probably easy to adjust your muscle memory in these scenarios and might not be noticeable with low ping 10:43 <+bridge_> Yeah, but I doubt fokkonaut forgot this basic fact, so maybe there is more to it 10:44 <+bridge_> I wonder how it works with preinput too 10:44 <+bridge_> Even if this is an issue at all, most flying shouldn't be an issue at all 10:44 <+bridge_> damn robot ass message im tired 10:48 <+bridge_> I mean, if it's mostly not on, antiping smoothing is probably fine? Or the jitter is smoothed? Or I'm gay? 11:07 <+bridge_> After half a year I found out why my homeserver is unreachable - the router is a hybrid LTE router - it has an exception for my server, but the router just ignores the exception, disabling LTE all togheter makes it working again :pepeRage: 11:07 <+bridge_> this seems impossible? 11:08 <+bridge_> where is the cooldown for when you interact with a tee 11:13 <+bridge_> oh I see, it just assumes that you never need to hook someone while they're moving 11:14 <+bridge_> that's kinda clever 11:15 <+bridge_> the question is if it's worse than not having it 11:20 <+bridge_> the bump check could cause issues in gores but otherwise this is actually quite good 11:21 <+bridge_> the main trick is if you hold a direction you stay in antiping 11:21 <+bridge_> I wonder if the entire thing could be simplified to just that? 11:22 <+bridge_> wait no 11:22 <+bridge_> this is catastrophically bad if you need to hook someone who is falling right? 11:22 <+bridge_> they'll just not have antiping 11:28 <+bridge_> That is actually the only thing that could be added later on, yea. I thought about enabling antiping per player when no input change occured for 0.5s for example. 11:28 <+bridge_> But for now this is perfect for gores, on low, mid and high ping. 11:28 <+bridge_> The main trick here is that we do have the predicted gameworld on the client, but we only actually show it's results when needed (player movement prediction on interaction). 11:28 <+bridge_> I see your point with the bump check, but I think it's very important for tees that drop on your head for example. 11:29 <+bridge_> All in all this is probably mostly for gores, might be useful in ddrace too tho. Antiping is a variable feature and everyone uses it in different ways. My preferred way of using it would be with cl_antiping_players 3, as it gives you the vibe of antiping when others save others, or when you influence other's positions. 11:29 <+bridge_> I think it's fine that people might prefer to stay on `1`. This does not make this a bad feature 11:31 <+bridge_> what's your opinion on the method used by ``tc_antiping_improved``? 11:31 <+bridge_> Especially on high ping the bump is kinda important to see when you actually bumped someone 11:31 <+bridge_> Link? 11:31 <+bridge_> uh 11:31 <+bridge_> wdym 11:31 <+bridge_> link to what 11:31 <+bridge_> the code? 11:32 <+bridge_> Yes, I never used Tater 11:32 <+bridge_> you wont be able to figure it out by reading the code 11:32 <+bridge_> What does it do? 11:32 <+bridge_> I'm getting the link hold on 11:33 <+bridge_> https://github.com/TaterClient/TClient/blob/99e569b2e587a5e6d4be82ee3f4a73dfb4f7b471/src/game/client/gameclient.cpp#L2859-L3066 11:33 <+bridge_> basically it keeps a history of how accurate the predictions were recently and dynamically blends to predict as much as it thinks it can safely 11:34 <+bridge_> Look, even with the best AI you can't properly predict movements in this game, so it's easier to stop predicting them at all if not really required 11:35 <+bridge_> it's optionally directionally aware in 1 vector too. So if a player is falling but spamming A/D it will have low confidence in the left/right direction, but the down direction is accurate so still predicts them downward but not left or right 11:35 <+bridge_> (this works in any direction) 11:36 <+bridge_> Only predicting vel.y sounds sane 11:36 <+bridge_> it's generalized to any 2d vector 11:36 <+bridge_> Did you try the PR ingame? 11:37 <+bridge_> so like, if you are flying in a tunnel and spamming hook on the ceiling, your y will have poor accuracy but x will have high accuracy 11:37 <+bridge_> so it predicts you in average of y + full x 11:37 <+bridge_> yes it works fine except for edge cases I imagine 11:37 <+bridge_> tclient already has the freeze thing 11:37 <+bridge_> for like 3 years 11:37 <+bridge_> That sounds very smart actually, is there anything wrong with it? 11:38 <+bridge_> uh 11:38 <+bridge_> I don't really know 11:38 <+bridge_> I think edge cases are in any antiping implementation/option 11:39 <+bridge_> Might be interesting to upstream it then πŸ™ƒ 11:39 <+bridge_> My proposal is to give players more freedom over how they want to play the game. I hope this PR does not get blocked :) 11:40 <+bridge_> It's not entirely about how perfect you can make it, but that this is a consistent functionality that many might benefit from 11:40 <+bridge_> I guess the main "issue" is that it's not as clean as fokko's PR visually. Because the player transitions between high and low confidence in various directions all the time, there is still a notable amount of trashing around unless you weaken the directional component confidence. 11:40 <+bridge_> 11:40 <+bridge_> other issue is that it has too many paramaters 11:40 <+bridge_> I don't expect this to be blocked, looks sane 11:41 <+bridge_> as long as if/when antiping is non-default, I really don't think it matters what ends up changing as long as it's an improvement 11:41 <+bridge_> oops I didnt revise that message all the wy 11:42 <+bridge_> Can't it be more smoothened? 11:42 <+bridge_> yes 11:42 <+bridge_> but you trade smoothness for how soon you get accurate information to the player 11:43 <+bridge_> fwiw people say they really like it but I think for gores your version is actually better 11:43 <+bridge_> since you don't hit the terrible edge case ever 11:43 <+bridge_> Probably not for ddrace though, as you mentioned it involves a lot more variable movement 11:44 <+bridge_> (and hooking) 11:44 <+bridge_> I don't know tbh 11:44 <+bridge_> the biggest issue is always hammer fly 11:44 <+bridge_> Yep 11:44 <+bridge_> I can't test that by myself with dummy since it's always predicted 11:45 <+bridge_> 3590 players are currently online 11:45 <+bridge_> public server too scary 11:45 <+bridge_> A second client wouldn't be, but you'd need to hack around the dummy hammerfly to make it into a bot πŸ˜› 11:46 <+bridge_> yeah I have 2 clients open rn testing fokko's PR but I only have so many hands 11:46 <+bridge_> I'm not invested enough to make hammyfly bot 11:46 <+bridge_> I'm not invested enough to make hammyfly bot for this 11:47 <+bridge_> @learath2 I wonder why nobody cleaned the code that deen addes 13 years ago 11:47 <+bridge_> which one? 11:47 <+bridge_> which one? 11:47 <+bridge_> in my pr 11:47 <+bridge_> `UpdatePositions()` 11:48 <+bridge_> #11320 11:48 <+bridge_> https://github.com/ddnet/ddnet/pull/11320 11:48 <+bridge_> wieistmeineip just returns the wrong IP adress for me Oo 11:48 <+bridge_> Likely no one noticed, this codebase is just about big enough that people have grown very "specialized" 11:49 <+bridge_> I noticed >:( 11:49 <+bridge_> True that 11:49 <+bridge_> True, and I'd say prediction is one of your specializations πŸ˜„ 11:50 <+bridge_> to be fair the code in question is very confusing 11:50 <+bridge_> and scary looking 11:50 <+bridge_> hence the PR is still open 11:50 <+bridge_> Well, I removed the dead/copy part of it 11:50 <+bridge_> yeah if yours is merged it supersedes mine which is fine 11:51 <+bridge_> you should use ``Predict()`` tho 11:51 <+bridge_> Didn't you change behaviour? 11:51 <+bridge_> no 11:51 <+bridge_> Oh yeah, don't forget this 11:51 <+bridge_> Where? 11:51 <+bridge_> to check for prediction 11:52 <+bridge_> where? 11:52 <+bridge_> `UpdatePositions()` 11:52 <+bridge_> I did not touch any behaviour 11:52 <+bridge_> instead of this 11:52 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1471459051585011794/image.png?ex=698f0288&is=698db108&hm=06d4cfba1bd17143b058577434105816b497ae78064fafde04950ae708d48013& 11:53 <+bridge_> See line 730 11:53 <+bridge_> ``Predict()`` exists for this reason 11:53 <+bridge_> it does the same thing but better 11:53 <+bridge_> Then that would belong in another PR 11:54 <+bridge_> it is in another PR 11:54 <+bridge_> but if you're going to supersede it then you should take the whole thing 11:54 <+bridge_> I just fixed my issue from 7 years ago, mind linking and commenting? Then I can do 11:55 <+bridge_> (or you do a follow up, fixing that single thing) 11:55 <+bridge_> I probably won't because it doesn't seem like it's ever going to be merged anywway 11:56 <+bridge_> ddnet in a nuzshell 11:56 <+bridge_> ddnet in a nutshell 11:58 <+bridge_> chiller studied oxford dictionary 11:59 <+bridge_> @fokkonaut what's the difference between ``cl_antiping_players`` 1 and 0? 11:59 <+bridge_> predicting player movements and... not? 12:00 <+bridge_> oh 12:00 <+bridge_> the description is wrong/confusing 12:00 <+bridge_> "Predict other player's movement more aggressively" 12:00 <+bridge_> it should just be "Predict other player's movement" 12:01 <+bridge_> i think it's fine because it is very aggressive prediction 12:02 <+bridge_> I'm not gonna argue this 12:02 <+bridge_> we could remove the "more" 12:06 <+bridge_> Actually I think it predicts your own movement more aggressively 12:07 <+bridge_> Or is the local character always predicted the same way? 12:07 <+bridge_> local character is tied to ``cl_predict`` 12:07 <+bridge_> which btw I recently learned doesn't disable the prediction code 12:09 <+bridge_> description updated 17:01 <+bridge_> @heinrich5991 when we could switch to https://register%d.ddnet.org/ddnet/15/register 17:19 <+bridge_> I don't know who I rate the worst german company right now, DHL, Telekom or the Deutsche Bahn. They are fighting for the last place rn 17:22 <+bridge_> Sometimes I've had packages delivered by DHL and every time I really wish I hadn't 17:23 <+bridge_> The package I was waiting for was really beat up and was a day too late, was not delivered to me but my neighbor while I was at home, fortunately the content was almost undestructable 17:32 <+bridge_> I have never had a good experience with DHL either 18:38 <+bridge_> DHL is 100 times better than Hermes 22:33 <+bridge_> Yo btw why are clans cut off? 22:33 <+bridge_> I swear they used to fit more characters before the … thingy was introduced 22:46 <+bridge_> Maybe adding hundredths to the scoreboard has reduced the space for clans 23:01 <+bridge_> it did 23:01 <+bridge_> the ... thingy takes up characters 23:01 <+bridge_> it also depends on how many players are in the server 23:01 <+bridge_> since the line height will be different but the width stays the same 23:02 <+bridge_> it's actually kinda terrible ngl 23:02 <+bridge_> why do we have a character limit on the clans if we almost never display the whole thing 23:05 <+bridge_> you have to choose between having an actual clan name that gets cut off by ... or you shorten it so you can have more characters on the scoreboard but a worse name 23:07 <+bridge_> What's the alternative? I assume we don't have space in the scoreboard with all player configurations. Maybe don't align clans in columns anymore but add them directly before/after the name with a round rect background? 23:09 <+bridge_> we fit more letters into less space when the player count is higher 23:10 <+bridge_> I think 128p basically always displays the entire clan tag 23:10 <+bridge_> anyway I would probably just allocate more space for the clan tag 23:11 <+bridge_> the design just needs to be adjusted somehow 23:11 <+bridge_> make the whole thing wider or refactor something else 23:12 <+bridge_> I expect almost all players would prefer an ugly small font clan tag over the ... thing, it really ruins a lot of the fun of clans when every time you look at your clan its CLANNA... 23:13 <+bridge_> I love your idea btw, would be nice to see a mockup 23:13 <+bridge_> Font tag with a smaller font seems viable. Otherwise I think there's almost no space available with some player counts. With higher player counts the font doesn't need to be smaller (and shouldn't because it would be unreadable). 23:14 <+bridge_> Clan tag with a smaller font seems viable. Otherwise I think there's almost no space available with some player counts. With higher player counts the font doesn't need to be smaller (and shouldn't because it would be unreadable). 23:14 <+bridge_> I think you're misunderstanding 23:14 <+bridge_> the issue only occurs when there's few players in the server 23:14 <+bridge_> which is also when we have the most extra space 23:15 <+bridge_> when the line height is small the font naturally fits more letters in the same width 23:15 <+bridge_> but when the light height is large it fits less 23:15 <+bridge_> it's just a bad implementation 23:17 <+bridge_> I don't really see much space available even with 24 players. Sure if it's only one column we could just make it wider. 23:17 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1471631321129418969/image.png?ex=698fa2f8&is=698e5178&hm=d297e4070cb022f34b541887103cefe204eaa8a64becd82445956214ad60d3f8& 23:18 <+bridge_> Not sure if the space left of the skin is reserved for something though 23:44 <+bridge_> Does look like we waste quite a bit for time 23:44 <+bridge_> Very heavily padded that one 23:45 <+bridge_> I would go so far as to say hide the hours if no one has hours, hide the seconds if everyone has hours 23:45 <+bridge_> I would go so far as to say hide the hours if no one has hours, hide the seconds if anyone has hours 23:45 <+bridge_> Also probably even worse with our widest character `WWWWWWWWWWWWWWWWWWWWW` 23:46 <+bridge_> If still not enough perhaps we can go with ping indicators, with exact ping on hover instead 23:47 <+bridge_> IOW I do see a little bit that can be optimized 23:49 <+bridge_> That's only the widest clan with ASCII characters though :justatest: 23:49 <+bridge_> Are there chinese characters that are wider? 23:50 <+bridge_> We truncate by byte len, no? I doubt you can get wider with multibytes 23:50 <+bridge_> `βΈ»` fits into the clan 3 times. 2 times would already be equal to the maximum number of `W`s 23:51 <+bridge_> I can not believe that is a character that any of our fonts have πŸ˜„ 23:51 <+bridge_> "three-em dash"