00:31 < bridge> Awesome 00:48 < Index> Hi everyone! I'm working on a small feature in the character.cpp file where I need to detect if the player is near a freeze tile. However, I'm running into an issue where the constants TILE_FREEZE, TILE_LFREEZE, and TILE_RFREEZE are undefined. Could anyone point me to where these constants are defined, or let me know which header file I should include to access them? If these constants don't exist, is there a recommended way to check 00:50 < bridge> any this feature is? 00:50 < bridge> and this feature is? 00:52 < Index> well I'm working on a feature to help improve movement handling in tricky situations, especially when players are near hazardous tiles like freeze tiles. The goal is to better understand how to manage player positioning and avoid common pitfalls that can occur when players get too close to these tiles. It's more of a learning exercise to enhance my understanding of the game's collision system and player mechanics. 00:53 < bridge> Sus 00:55 < Index> hmm 00:55 < bridge> <むぎ> sus 01:03 < bridge> bot 01:03 < bridge> :justatest: 01:03 < bridge> :lc_ban: 01:03 < bridge> alao fake Indez 01:03 < bridge> have you tried searching for TILE_FREEZE using your ide's search function 01:03 < bridge> Index* 01:04 < Index> well im not using an ide, just nano. 01:04 < bridge> based 01:04 < bridge> fr 01:04 < Index> didn't know there is another Index, sorry. 01:11 < bridge> therewasanattempt**ToNotBeVagueAsPossible** 01:11 < bridge> 🥴 01:12 < bridge> he's obviously reimplementing the ninja visual bug in freeze 01:57 < ws-client> sus 02:26 < bridge> Index: I give u this knowledge with the hope u use it for good, and not for making the 1000th gores bot 02:26 < bridge> 02:26 < bridge> in ddnet source dir run 02:26 < bridge> grep -r "TILE_FREEZE". 02:26 < bridge> Index: I give u this knowledge with the hope u use it for good, and not for making the 1000th gores bot 02:26 < bridge> 02:26 < bridge> in ddnet source dir run 02:26 < bridge> grep -r "TILE_FREEZE" . 02:27 < bridge> I'm on my phone so I can't do backticks, but that dot is important (not a period) 02:32 < Index> ty 02:41 < bridge> Index: nice try itube 02:41 < bridge> :kek: 02:42 < bridge> Index: nice try itube (known botter) 02:44 < bridge> Botter's gonna bot 02:45 < bridge> tbh if he cannot figure out where the header file is then I think he is a long way from making a gores bot so I am not worried 02:45 < bridge> yeah 02:46 < bridge> I dislike botters & fake ranks as much as the next guy but I'm not going to withhold information based on their intent. it's oddly hypocritical that this happens at all considering DDNet is an open source project 02:47 < bridge> @totar give me your TAS algorithm, I promise not to cheat, *It's more of a learning exercise to enhance my understanding of the game's collision system and player mechanics.* 02:47 < bridge> lol 02:48 < bridge> I could describe it in detail and I don't think you in particular would put in the effort to implement it but I think someone watching this chat might 02:48 < bridge> can't it be that? 02:48 < bridge> send tas algorithm and i send back better tas algorithm. deal? yes? thank you, awaiting response! 02:48 < bridge> https://tenor.com/view/business-man-leon-short-gif-21636355 02:50 < bridge> tbh I think that most of the people coming in here to ask beginner questions that are sometimes obviously about making a bot are not really a threat, since they will need to figure out like 100 more things on their own. Which if they could do they wouldn't have asked the beginner question in the first place. 02:52 < bridge> there are some things that shouldn't be answered but obviously I'm not going to list those 02:52 < Index> how do you handle optimizing frame perfect actions while ensuring minimal input lag and maintaining consistent performance? 02:53 < bridge> this is a significantly more sus question 02:53 < Index_> just some beginner questions.. 02:53 < bridge> the answer is in the freeze header file, I promise 02:53 < bridge> it's spelled out there 02:53 < bridge> in high detail 02:54 < bridge> To optimize frame-perfect actions with minimal input lag, implement high-frequency input sampling with precise timestamps to align inputs with game states accurately. Use predictive algorithms to anticipate future states, and maintain a short input buffer for timely execution. Synchronize input handling with frame rendering for consistent performance. 02:54 < bridge> thank you 02:54 < bridge> Index: ghat gpt is doing u more harm than good 02:55 < bridge> completely correct, thank you for that insight 02:55 < bridge> Index_: just apply what i wrote to the ddnet codebase and you should be set 02:55 < Index_> Got it, thanks! How do you handle the trade-off between high-frequency input sampling and potential performance overhead, especially in terms of CPU usage and memory constraints? 02:56 < bridge> you can do input sampling on the gpu for high performance 02:59 < bridge> ah, the classic conundrum! When faced with the trade-off between high-frequency input sampling and performance overhead, I always recommend starting with a cup of coffee brewed from beans that have been serenaded by a choir of alpacas under a full moon. Then, set your computer's clock to run backward at exactly 3.14 times the speed of light. This will confuse the CPU into thinking it’s on vacation in the Bahamas, drastically reducing its workload. 07:51 < bridge> Is there a name for a minor edge case that requires changing the whole codebase? 07:54 < bridge> pull request closed 08:01 < bridge> lmao trols 08:18 < bridge> Hi guys. I found this amazing game last night and wanted to contribute. Does anyone know where in the source code is input handled? I want to add a small feature to enhance both my understanding of the codebase and the user experience. There is this hazardous tile called "freeze" (as I'm sure you know). I would like to manipulate the input in a certain way to make it more streamlined to avoid these kinds of hazardous tiles 08:19 < bridge> Have you ever written tree-sitter parser? :DD 08:21 < bridge> No, only ever modified one 08:27 < bridge> no, maximum size is currently 16 KiB 08:40 < bridge> Lmao Itube evolved from being a fake dev to a beginner trying to make a bot :KEKSad: 08:41 < bridge> If (about_to_hit_freeze == true) { dont = true}; 08:41 < bridge> You're Welcome! 08:42 < bridge> :pepeW: 09:26 < bridge> i remember when i wrote all this and then never finished this feature 09:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276080139746148372/image.png?ex=66c839bd&is=66c6e83d&hm=eeaa24a8e78d47cbaaa668e2e35f5f1992b3ddaafd8b32b601b276f521d90686& 09:27 < bridge> :feelsbadman: 09:28 < bridge> it was like i3bar for ddnet 09:40 < bridge> Pro coder 09:45 < bridge> :monkaStop: Finish!!! 09:50 < bridge> Idk what that is but it looks cool 😄 09:51 < bridge> Ah a bar 09:54 < bridge> ```go 09:54 < bridge> package main 09:54 < bridge> 09:54 < bridge> type Foo[T any] struct { 09:54 < bridge> Key T 09:54 < bridge> } 09:54 < bridge> 09:54 < bridge> func IntFunc(arg Foo[int]) { 09:54 < bridge> AnyFunc(arg) 09:54 < bridge> } 09:54 < bridge> 09:54 < bridge> func AnyFunc(args Foo[any]) { 09:54 < bridge> //Magic stuff 09:54 < bridge> } 09:54 < bridge> 09:54 < bridge> func main() { 09:54 < bridge> IntFunc(Foo[int]{Key: 2}) 09:54 < bridge> } 09:54 < bridge> ``` 09:54 < bridge> Is there a way to make it work? :thonk: 09:58 < bridge> In anyfunc, you want T Not any 10:01 < bridge> eg(`func AnyFunc(args Foo[T])`) 10:01 < bridge> eg `func AnyFunc(args Foo[T])` 10:05 < bridge> Why are you writing Go @milkeeycat :gigachad: 10:05 < bridge> I write golang at work 10:06 < bridge> I write in golang at work 10:07 < bridge> :poggers2: 10:08 < bridge> Did that atleast answer your question Milky ? :harold: i'm still learning 10:09 < bridge> I will tell you how to make it work as soon as I understand what you are trying to do 😄 10:09 < bridge> ye, it juust has to be `func AnyFunc[T any](args Foo[T]) {` 10:09 < bridge> Ah generic 10:11 < bridge> You've successfully confused me. What is this? 10:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276091506389811240/IMG_6371.png?ex=66c84453&is=66c6f2d3&hm=ac2d8161eac0877745d0dcde5901cfb8cb2856b552d23ee73758f7c853d156d1& 10:12 < bridge> nvm, i threw that idea in garbage can 10 mins ago xd 10:12 < bridge> Ah I see the issue now, yeah that doesn't work 10:14 < bridge> Sleep time 10:15 < bridge> btw, the answer to "is there a way to make it work" is almost always yes in go. Just do the type checking at runtime with `reflect` 😄 10:15 < bridge> I hate interne outage 10:16 < bridge> that shit better be faster 10:16 < bridge> i don't want to touch reflect anymore :justatest: 10:20 < bridge> https://github.com/learath2/go-struct2struct use my definitely production quality library for something rn 10:22 < bridge> i have written production quality library to bind parameters from url encoded & form requests to structs 10:22 < bridge> i have written production quality library for binding parameters from url encoded & form requests to structs 10:22 < bridge> i have written production quality library for binding parameters from url encoded & form data requests to structs 10:23 < bridge> 💪 10:37 < bridge> I think our current server browser ordering overemphasizes full servers 10:37 < bridge> perhaps we could group servers that are roughly the same? 10:38 < bridge> e.g. group all servers from the same community with the same map and gametype? 10:41 < bridge> it's not that interesting to me that there are 13 ddnet servers within my ping range that offer multeasymap 10:41 < bridge> with >40 players each 10:42 < bridge> perhaps we could even add a "players recently joined this server, maybe join them" selection of servers? 10:58 < bridge> @remakepower your PR is awesome, thx for this :poggers: 10:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276103084157964340/bandicam_2024-08-22_13-55-27-377.mp4?ex=66c84f1c&is=66c6fd9c&hm=ca45aa075ee29094d8cdca6dc343501c6559e825467a24419a25ee9de894b741& 11:03 < bridge> @remakepower your PR is awesome, thx for this :poggers: 11:03 < bridge> 11:03 < bridge> p.s pls add m_Volume in next update, it's very useful 11:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276103084157964340/bandicam_2024-08-22_13-55-27-377.mp4?ex=66c84f1c&is=66c6fd9c&hm=ca45aa075ee29094d8cdca6dc343501c6559e825467a24419a25ee9de894b741& 11:24 < bridge> This is bannable 11:34 < bridge> try write @sоmeоne in this chat 11:34 < bridge> :kek: 11:38 < bridge> try write @еvеryоnе in this chat 11:38 < bridge> try write @еvеryоnе in this chat 11:38 < bridge> No thanks 11:39 < bridge> oh, i think you can do it with admin role 11:39 < bridge> need default user account for this challenge 11:41 < bridge> only need a normal user account who can't use this command 11:41 < bridge> (btw I did kinda fix the automod rule so you can escape everyone now, but you need to be careful to just escape that and not have anything else in the codeblock) 11:45 < bridge> 11:47 < bridge> :justatest: i tried `\@еvеryоnе` 11:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276115620475306036/image.png?ex=66c85ac9&is=66c70949&hm=a56b79539d50bb26f8d06eb643403d5a9cb332459e22b549306f5ec71a689a07& 11:49 < bridge> huh, it wasn't timing out heinrich when we tested it 11:49 < bridge> `@everyone` 12:06 < bridge> hmm 12:08 < bridge> What about a "Quicksearch" option in the starting screen? So you can decide which difficulty and gamemode and automatically join a server. Preferred with a good ping and players on it.(Dunno how much work that would be just an idea) 12:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276121581323817010/Screenshot_20240822-1206332.png?ex=66c86056&is=66c70ed6&hm=e38d475eb3d84193840cb2e23235a4d4338593cf43bcc8024512fe5ac7535c81& 12:18 < bridge> I don’t want to search I want to browse 12:18 < bridge> Grouping sounds fine but I think 128 already will help with that 12:45 < bridge> hmm 12:46 < bridge> хмм 13:38 < bridge> hmm 13:38 < bridge> chillerdragon: can you check if #8782 causes above issue 13:38 < bridge> https://github.com/ddnet/ddnet/pull/8782 13:38 < bridge> hi foo 13:38 < bridge> hot bar 13:51 < ws-client> @Jupstar ✪ got the github mobile notification from rossbit xd 13:53 < bridge> i see, when i want smth from you. directly ping on github 14:01 < bridge> how to lower ping? 14:03 < bridge> buy better internet 14:06 < bridge> buy some server space where our servers are hosted and then build a house inside 14:17 < ws-client> yes usually works well @Jupstar ✪ you can do so here for example xd https://github.com/ChillerDragon/github-meta/issues/5 if its not related to any issue 14:18 < bridge> good idea. directly ping random ppl too 14:23 < bridge> @jupeyy_keks 14:24 < bridge> hey, was there any changes regarding ddnet master ? 14:24 < bridge> master4 ig 14:24 < bridge> seems like our server can't register anymore 14:27 < bridge> @heinrich5991 anything new? 14:28 < bridge> is your payload too huge? 14:28 < bridge> hi tha real 2 14:29 < bridge> no clue, also masterping doesnt work on master1 anymore 14:29 < bridge> ``` 14:29 < bridge> # ./masterping ipv4 https://master1.ddnet.org/ddnet/15/register 14:29 < bridge> Error: couldn't receive ping from mastersrv in time 14:29 < bridge> 14:29 < bridge> Caused by: 14:29 < bridge> Resource temporarily unavailable (os error 11) 14:29 < bridge> ``` 14:30 < bridge> Any error? 14:30 < bridge> can u ping master1.ddnet.org? 14:30 < bridge> nothing more than that 14:30 < bridge> it's behind cloudflare so 14:30 < bridge> would work 14:30 < bridge> yup 14:53 < bridge> have no response from master4 sadly 14:54 < bridge> wrong :santatrollet: 14:58 < bridge> :lol: 14:58 < bridge> legend 15:58 < bridge> lmao tha real 2 how did I never see that xd 16:06 < bridge> 17:00 < bridge> not as far as I know 17:03 < bridge> <0xdeen> The same thing happened on a few of our servers, hoster claims they weren't blocking. I changed /etc/hosts to another cloudflare ip and it worked 17:04 < bridge> <0xdeen> On Cloudflare side also nothing seemd blocked 17:06 < bridge> not enough iterations 🙃 17:07 < bridge> i agree 17:07 < bridge> also is there a way to search for only empty servers? 17:09 < bridge> I tihnk this is different, this is the UDP packet not getting through, not the HTTPS/TCP stuff 17:15 < bridge> the problem is that master4 died 17:15 < bridge> master4.teeworlds.com 17:16 < bridge> (also known as master.ddnet.org) 17:16 < bridge> it's the UDP 0.6 masterserver 17:16 < bridge> I can't fix it right now, but someone™ should 17:21 < bridge> AH, it's not the http master that died 17:43 < bridge> Yea I was unclear, our server is vanilla based, 17:43 < bridge> But the output shared before is still another problem I need to check (I use masterping aswell) 17:45 < bridge> i think we need more voice channels xd 17:47 < bridge> we need ingame vc 18:20 < bridge> <0xdeen> @reitw works again? 18:20 < bridge> <0xdeen> What happened is that we have more than 64 KB of a json and our buffer size was too small 😄 18:21 < bridge> <0xdeen> And I never touched this twmaster before so took me a while, I hope I did things correctly 18:23 < bridge> @0xdeen apparently it's visible ( @blaiszephyr confirmed it) 18:23 < bridge> ( i did indeed ) 18:23 < bridge> Thank you 18:28 < bridge> since i got no feedback in showroom ill repost it here https://discord.com/channels/252358080522747904/295908390956433410/1275935395573665792 18:28 < bridge> does it even fit? 18:31 < bridge> looks bit cursed xd 18:31 < bridge> also the video is really pixelated for me 18:31 < bridge> i tried to something similar to tdtw one 18:31 < bridge> almost cant see it 18:31 < bridge> even video 18:31 < bridge> wait 18:36 < bridge> https://youtu.be/0ixn4RLcAhg 18:37 < bridge> that is pixelalted and 3fps xd 18:37 < bridge> worse than yur vid 18:37 < bridge> nah i like that feet 18:37 < bridge> i don't 18:37 < bridge> its 0.15 angle offset 18:37 < bridge> pretty good lookin 18:38 < bridge> ok ill render a better one and upload to youtube 18:38 < bridge> :justatest: 18:42 < bridge> reminds me a bit of rayman 1 stopping animation 18:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1276219999710871658/image.png?ex=66c8bbfe&is=66c76a7e&hm=d2db2828bf779f3989088435bfa39d5cc880601bbcd8a890f4dd6b4d48f65123& 18:44 < bridge> is there a rayman tw skin 18:54 < bridge> no 18:57 < bridge> https://youtu.be/ZpI37j4Jc1c 18:59 < bridge> does the jittery depend on the velocity of the tee? 18:59 < bridge> yup 18:59 < bridge> on length of velocity vector 18:59 < bridge> previously it was dependent only on Vel.y 19:00 < bridge> not being used to it it looks cursed for me tho 😄 19:00 < bridge> like your tee has a mental breakdown 19:01 < bridge> ye they're literally scared of their own speed 19:05 < bridge> im introduced new inter-state variable to know how long tee is being in the air 19:05 < bridge> looks ugly imo 19:05 < bridge> im missing some essentials for it to not look weird xd 19:06 < bridge> i want to hear wind sound too 19:06 < bridge> and add some air stripes that make the tee look fast 19:06 < bridge> then it could by epyc 19:08 < bridge> maybe i can introduce some kind of feet position offset that controlled by velocity 19:08 < bridge> i don't really know how air stripes could be implemented in a sane way 19:08 < bridge> ping (at)ravie 19:08 < bridge> and when he hits his toe, make tee pain sound 19:09 < bridge> what about skid particles to appear on tee ground touch that's (wow) controlled by velocity too 19:40 < bridge> legenda 21:19 < bridge> Needs under stepping. You've got enough iterations 🙂 21:19 < bridge> https://tenor.com/view/komaru-mugimeshi323-%D0%BA%D0%BE%D1%82%D0%B8%D0%BA-cat-%D0%B2%D1%81%D0%B5%D0%BC-%D0%BF%D0%BE%D1%84%D0%B8%D0%B3-gif-17831780272488267712 22:50 < bridge> i think this is how the acrual game works too no! 22:51 < bridge> i think this is how the acrual game works too no? 22:51 < bridge> since when u jump your speed is overall higher so your ramp is higher -> horizontal speed decreases 22:51 < bridge> ramp is so confusing though so i'm not certain 23:24 < bridge> when you walk on the ground your speed shows as constant and when you jump it temporarily decreases and when you land it is the same as before 23:29 < bridge> ye thats cuz of ramp 23:32 < bridge> you are right 23:32 < bridge> i just read the move function properly 23:33 < bridge> i thought the ramp function was applied a second time in hud.cpp 23:33 < bridge> but the effective speed is only calculated temporarily in the CCharacterCore::Move() function