00:10 < bridge> maybe 00:10 < bridge> just debug dummies for older clients 00:13 < bridge> i meant not just texture, but displaying it and mechanics 00:14 < bridge> i guess so 00:14 < bridge> i mean wouldnt there be a way to recieve extra velocity data and render a tee on the server 00:14 < bridge> probably, but 64 tee limit 00:15 < bridge> Should crates be jumpable like tiles or like doors? 00:16 < bridge> yea, would make for fun map ideas 00:18 < bridge> Prop fly moment 00:19 < bridge> some things to think about is: 00:19 < bridge> how would making and destroying crates work? 00:19 < bridge> is there a limit? 00:19 < bridge> how easy is it to break a map with too many crates? 00:25 < bridge> @cattide Thanks! 00:25 < bridge> (im deen guys trust me) 00:28 < bridge> big sigma 00:41 < bridge> that is really cool, tho i wonder what is the point behind it? is it just a hobby project or does this aim to replace ddnet as a whole sometime? 00:43 < bridge> i hope it does replace ddnet 00:43 < bridge> so much potential with a new framework 00:43 < bridge> 😄 00:43 < bridge> I’m always glad to support this game and community 00:44 < bridge> yeah it would be really cool if there would be some protocol changes but i fear all the old cool mods that will be dead forever 00:44 < bridge> and i believe the ddnet staff is quite conservative when it comes to such things, trying to keep backwards compatibility at all times 00:45 < bridge> I dunno if it could replace ddnet, but I do hope that it some day can connect to the official database. 00:45 < bridge> Making it an actual alternative. 00:45 < bridge> 00:45 < bridge> It's fair to say it's just a hobby project yet tho. Since it's still pretty unfinished 00:46 < bridge> I'd counter argue that modding now allows creating higher quality mods and potentially motivating modders again ^^ 00:47 < bridge> i agree, i'd for sure be down to port my mod to ddnet-rs 00:47 < bridge> (if it becomes a thing) 00:47 < bridge> Fair 00:48 < bridge> but i'll play with it sometime, new framework sounds rly interesting 07:42 < bridge> chillerdragon: there's no way 07:48 < bridge> good morning 07:49 < bridge> question: If Godot would have a fully developed C++ support (using modern C++ 20 standards) and can also use Rust alongside it through Godot's API, would you guys try running Teeworlds through that Engine? 07:50 < bridge> idk how much code can it be transfered to Godot, but I think the majority may be able to run the client side as you would expect it 08:33 < ws-client> @milkeeycat well you get the shape (air or not) of one layer into another sounds like a feature to me 08:34 < ws-client> jupstar does ddnet-rs feel to you as smooth as ddnet? Can you play it normally? I am getting a bit nervous something feels off 08:38 < bridge> Why would we switch to something less efficient, less stable, less straightforward, just generally less suitable? Style points I guess? 08:40 < bridge> chillerdragon: But what if it's not air 08:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325368185704157237/image.png?ex=677b88cf&is=677a374f&hm=7924c2491eb841b68d6248937523203154fef9676a68e3501302af76a9e820eb& 08:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325368186211926078/image.png?ex=677b88cf&is=677a374f&hm=d7f8c848604b76a7e1ed78585f8e4af6d94a968138da18729ec89d97cae458ee& 08:42 < bridge> Or is this just for the sake of argument because you're using Godot? 09:40 < bridge> <0xdeen> Thanks @davide55 ! 10:00 < bridge> Mh? I'd say it's super smooth. The mouse movement isn't as fps dependent either. I can even play on 50 fps 10:01 < bridge> The cursor is properly 360° 10:01 < bridge> But do a video of both versions and show me what you mean 10:38 < bridge> Chiller antiping is off by default. 10:38 < bridge> i also noticed the hookline is bit buggy with antiping on, lemme fix that 11:30 < bridge> chillerdragon do you use x11 or xwayland? 11:31 < bridge> i tested with ms 1 now. 11:31 < bridge> 11:31 < bridge> sdl reports both correct for xwayland and wayland 11:31 < bridge> 11:31 < bridge> but winit does smth weird with x11 xD 11:31 < bridge> so maybe you are right 11:31 < bridge> try native wayland for testing 11:57 < bridge> chiller i reported it: 11:57 < bridge> https://github.com/rust-windowing/winit/issues/4077 xdd 11:57 < bridge> lets see what they say 12:48 < ws-client> i think i was already on xorg when i tested ddnet-rs i just switched from wayland because the ddnet client cant capture the mouse on wayland -.- 12:49 < ws-client> @milkeeycat yes updating the brush texture would be nice 12:50 < ws-client> jupstar i do not think its anything a video can catch it just feels a bit different i can retest when im back home 12:51 < ws-client> can we talk about that there is a variable ``CCharacter::m_Pos`` and a function ``CCharacter::SetPosition`` which does not set it? 12:52 < ws-client> https://github.com/ddnet/ddnet/blob/43524b9b20ef8a3f4a213e92b6a193236a1aba39/src/game/server/entities/character.cpp#L2445-L2448 12:52 < ws-client> CCharacter is an entity so it inherits https://github.com/ddnet/ddnet/blob/43524b9b20ef8a3f4a213e92b6a193236a1aba39/src/game/server/entity.h#L51 12:54 < bridge> Looks like the character `m_Pos` is updated every tick based on the core position 13:43 < bridge> :PepeCross: 13:43 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325444507495432222/image.png?ex=677bcfe4&is=677a7e64&hm=e2549223220b9fd4d40faeab91d0df722d2d58851de26429b58736a6889d99e5& 13:44 < bridge> https://discord.com/channels/252358080522747904/293493549758939136/1322907880428408925 13:44 < bridge> 13:44 < bridge> :kekw: 13:45 < bridge> anyone knows if the traffic in ddnet.org/status bits or bytes 13:46 < bridge> anyone knows whether the traffic in ddnet.org/status is displayed in bits or bytes 13:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325445366593749104/image.png?ex=677bd0b0&is=677a7f30&hm=7fc498659213cccca3e9d81b6b8969a83d3b7c239532436a441682499a0697bb& 13:46 < bridge> this part 13:47 < bridge> Afaik, it's straight from `/proc/net/dev` 13:48 < bridge> (which is in bytes) 13:48 < bridge> got it, thanks lerato 13:49 < bridge> @tsfreddie any luck with the http register? did you get to test it? 13:49 < bridge> not really 14:16 < ws-client> yeah 14:16 < ws-client> learath bir babadır bizim için 14:31 < bridge> chillerdragon: when u home try to half the mouse sens as test pls 14:42 < bridge> i approve, watched 25 minutes in bed and just fell asleep 15:17 < bridge> evil ddnet soon 15:30 < bridge> chillerdragon: 15:30 < bridge> 15:30 < bridge> i have to ping you soz hehe 15:30 < bridge> 15:30 < bridge> So nice, wayland is buggy bcs of the other bug and x11 is buggy bcs of this 15:31 < bridge> and windows cant have exclusive fullscreen: 15:31 < bridge> https://github.com/rust-windowing/winit/issues/3124 15:31 < bridge> Tbf winit 100% has better error handling than SDL2 15:31 < bridge> but man, why is window management so fcking annoying in 2024 xDD 16:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325487162564673629/image.png?ex=677bf79d&is=677aa61d&hm=e229401b216661977935050420ce22b559d63128a6a0e2bdc48756166aad19d7& 16:32 < bridge> filthy casuals 16:50 < bridge> average gerdoe commit 17:05 < bridge> I think set position still should set both to avoid unexpected values in the first tick 17:07 < bridge> Yea that should really be solved problem by now 17:14 < bridge> I don't think these claims are true tho, Godot is efficient enough for a 2D game like Teeworlds to run perfectly on older computers as well, since it can use OpenGL as an Engine Backend and the pipeline has also been improved by a lot since previous versions. 17:14 < bridge> It is actually more straight forward, than doing all of the work on Visual Studio, since the IDE has a visual interface to work on and you can test those changes in a more creative manner! I think Godot is a perfect way to let users interact with the source code better. 17:14 < bridge> It may be not suitable, since it's not built for Godot, but that doesn't mean it cannot be remade to be suitable. The whole reason I mentioned this, is because you guys lack ways to improve the dev experience for common folks, like me. You may say, that they could just make their own game if they don't like the engine, which I do it myself. 17:14 < bridge> We'll see how many people off of this playerbase want this kind of change. 17:27 < bridge> I mean straightforward on a technical level, not ease of use. The engine is doing a number of extra steps not needed for Teeworlds because it needs to be general. 17:28 < bridge> I'm sure people wouldn't be getting 15k fps anymore 17:28 < bridge> So you think Godot would shit itself? 17:28 < bridge> Nah it would run fine, but it wouldn't be exceptionally good like Teeworlds is currently 17:29 < bridge> Why would you need 15k FPS in the first place? You need a decent amount of FPS for rendering, the rest is handled differently 17:29 < bridge> using a different ide is a pain for alot of people because all the tools you like are gone or different, specially if you are a emacs/vim bro 17:29 < bridge> godot is a general purpose game engine, ddnet/teeworlds has made its own. i cant say anything truthfully about speed but but it would probably be worse. the size would be much worse as well. 17:29 < bridge> using a different ide is a pain for alot of people because all the tools you like are gone or different, especially if you are a emacs/vim bro 17:29 < bridge> godot is a general purpose game engine, ddnet/teeworlds has made its own. i cant say anything truthfully about speed but but it would probably be worse. the size would be much worse as well. 17:29 < bridge> If the sacrifice is performance, for the sake of better programming on it, I would take it every day 17:30 < bridge> Well for some people going down from 300 to 60 or something along those lines would be a significant downgrade 17:30 < bridge> What is the benefit of moving from an engine purpose built for this game to one that isn't? The only thing I can imagine is attracting godot developers to bolster our dev numbers, but I don't think any would show up just because we are on godot 17:30 < bridge> it would also be a lot of work to completley port tw to godot since ya know its a big game. starting from scratch would take less time. making teeworlds run inside a godot environment might be possible (idk about the rust bits but those can be made into cpp) would not provide much of the benefit 17:31 < bridge> Also, gdscript is the best supported language in godot, but none of us write gdscript 17:31 < bridge> even if (with vsync or otherwise) you limit yourself to 60fps its the difference between your computr blowing up, and being able to have discord open with vc and chrome open streaming music 17:31 < bridge> Well I write a little bit but I wouldn't say I'm great 17:31 < bridge> :lol: 17:31 < bridge> 11/10 best argument 17:33 < bridge> ddnet-godot when? 17:34 < bridge> also ddnet-ue5, ddnet-unity 17:35 < bridge> that just means it needs optimizing, nothing new... for old developers 17:36 < bridge> How good is Rust's C++ interop? It's all native modules after all 17:37 < bridge> to me it looks like an ugly mess and i label it as "it works".tldr dont ask me :) 17:37 < bridge> you should be able to easily convert rust -> cpp pretty easily (minus crates) 17:38 < bridge> But if we have to start modifying Godot ourselves and maintaining our own fork or at least low level add-ons then I doubt the effort is worth it 17:39 < bridge> True! Simply rewrite in *not* Rust! 17:39 < bridge> an effort to make a bigger game, than what we have? From not getting limits on an old ass engine? 17:39 < bridge> You guys just cannot take a risk don't you? 17:40 < bridge> @cellegenrih just do your teegalaxy. if it's done i bet many ppl will like it 17:40 < bridge> because of the more advanced features godot can do 17:40 < bridge> the limits that there are is more from lazy programming and can be refactored to remove them for less work 17:40 < bridge> the risk is 100s of hours of work, and no one wants to do that even if it is worth it 17:40 < bridge> if godot bad why is a rust rewrite a thing? 17:40 < bridge> How much are you thinking of adding? If we keep it a platformer with funny circular player models then I feel the current engine is plenty good 17:40 < bridge> I only hope I can finish the basics, so people have some good ideas on how to improve / build on it 17:40 < bridge> if godot rewrite bad why is a rust rewrite a thing? 17:41 < bridge> main reason why it takes so long, as is, alongside real life issues 17:41 < bridge> hey, could any devs please look at and consider adding # and # 17:41 < bridge> would be really helpful to mappers and I don't see why they would break anything 17:41 < bridge> Unless you're seeking modern graphics effects instead of flat 2D 17:41 < bridge> even for 2d godot is defs better than the ddnet engine 17:41 < bridge> if your goal is to have more complex effects at least 17:41 < bridge> How much? I cannot list all in my head, but I think https://discord.com/channels/252358080522747904/1291415577142755399 has your answer (TeeGalaxy post) 17:42 < bridge> https://cdn.discordapp.com/attachments/957377564387733595/1324640139707682900/trails.png?ex=677b85c3&is=677a3443&hm=547fbe9c85f53474bcc4a5fa56475e93988577cc1232ad384e5ff1cd820b4d0b& 17:42 < bridge> hows this for effects? 17:42 < bridge> I'm seeking a better playerbase 17:43 < bridge> plain and simple 17:43 < bridge> not in a way of "better", but "more" 17:43 < bridge> more people = good 17:44 < bridge> Better as in more mature? More dedicated (doubt you'll find that)? More creative? 17:45 < bridge> Ok I agree with this but I think it's a marketing thing because the game itself is peak 17:45 < bridge> Better as in more active, less troublesome and more fun to play with them 17:45 < bridge> Ask people how they enjoy the game, and they'll say less positive things, than negative things 17:46 < bridge> I want to flip it around, so we'll have more positive things and near non-existent negative things 17:47 < bridge> if you say a few thousand (from russian and eastern regions) is peak, then I hope you don't find my work to be too much of a hassle when I say, that I target at least 10k 17:47 < bridge> Free game that runs on potato will attract kids, can't avoid that, so the troublesome and socially inactive portion is just a natural consequence 17:48 < bridge> kids? 17:48 < bridge> No I mean that the gameplay is already great 17:48 < bridge> Are you guys attracting kids with the game? 17:48 < bridge> Well russian kids are a big part of the problem 17:49 < bridge> arent games made for kids? 17:49 < bridge> Russians. You know I never got a surprise bigger, than having russians and eastern people suddenly know the game 17:49 < bridge> supposedly, until adults are playing them too 17:49 < bridge> the majority of the veteran part of the community is already in adulthood 17:50 < bridge> including me, who was around 9-10 years old when I started playing this game 17:50 < bridge> I'm 23 currently 17:50 < bridge> If this doesn't tell you, that the game is stuck in an endless loop of nostalgia, then idk 17:53 < bridge> Nowadays, people can buy the cheapest, most acceptable computer, for around 200-250€. Not a PC, maybe a laptop or a notebook, but that can also run Godot the same way. Problem with Godot is mostly draw calls, physics engine and cycles in code. 17:54 < bridge> It can reach a maximum of 1000-3000 fps for 2D, which is more than enough. You can build around it, and whenever it drops significantly, that's where you need to optimize 18:02 < bridge> Risks are only worth taking if the upsides justify it This would be investing significant dev effort for almost no gain 18:03 < bridge> Well this is what a risk is really. You never know if it turns out to be a net positive or net negative. It's a gamble, willing to take it 18:04 < bridge> I dunno what the problem is. If your base game has a good concept and ppl like it they will try it out 18:04 < bridge> I don't see it as risk 18:05 < bridge> The risk would be if all developers at once would stop the current version and only do the new version 18:06 < bridge> Not what you made, I'm talking about him wanting a godot rewrite 18:06 < bridge> Yeah, I mean, he isn't really contributing to ddnet. If he makes a really good godot base, that has potential. Why not 😄 18:06 < bridge> It's not nostalgia, it just caters to an audience of players with patience who like tons of practice. People's tastes have shifted, but there are still plenty of younger people who this sort of game appeals to. 18:06 < bridge> He made it sound like there even is a risk 18:08 < bridge> I'm a bit older than you and I just recently started playing, definitely not nostalgia for me 18:08 < bridge> Well if he is just doing it on his own then it really is none of our concern, the only risk is he wastes his time. I'm just saying it's not an investment that's worth it for us 18:08 < bridge> Only risk is the opportunity cost for the developers 18:08 < bridge> naturally, I don't doubt that it is the case 18:09 < bridge> I asked it to see what you guys think of it, not that I order you all to do that xd 18:09 < bridge> a conversation is not all about getting you to a different mindset 18:10 < bridge> but rather let me understand how you guys think generally 18:10 < bridge> u can be my grandpa :poggers2: 18:10 < bridge> ddnet code is so bad that there are currently 3 known rewrites going on right now 18:10 < bridge> XD 18:11 < bridge> An anecdote: after seeing the game's website and playing for a bit, a younger friend of mine was genuinely surprised that this game still gets updates frequently 18:11 < bridge> no matter how good or bad a codebase is, it will at least have a rust rewrite 18:11 < bridge> wait are there really that many 18:11 < bridge> ddnet-rs is not the only one? 18:11 < bridge> And I told you what I personally think, that's all 18:11 < bridge> I mean, a CPP to Rust is probably a lot easier for them, than to GDScript or native langauge compatibility on Godot 18:12 < bridge> Good, nice to see we can talk about this stuff ^^ 18:12 < bridge> DDNet is an old game and it *feels* like an old game. I think that pushes away some people 18:13 < bridge> it also looks like an old game as well, design haven't changed that much from the vanilla, except from the main menu 18:13 < bridge> That's why I'm saying it's a marketing thing 18:15 < bridge> Some visual redesign, better support for UI customization on the side, less reliance on the website, and redesign that too 18:16 < bridge> does not look that hard 18:16 < bridge> Accounts, accounts would be huge 18:23 < bridge> Some parts of the website are really outdated, like https://ddnet.org/client/ doesn't describe any recent features 18:24 < bridge> like, im literally right here spitting out new ideas but no one cares because it breaks backwards compatability 18:24 < bridge> i care 18:24 < bridge> like. no one uses any old version anymore and we are literally on our knees to maintain a version only 10 people or so use 18:26 < bridge> real 18:27 < bridge> its not 2007 anymore, updating the client takes 3 seconds, i dont get it why old versions are supported 18:29 < bridge> because people are stubborn and hate it when something changes 18:29 < bridge> but literally nothing changes, just because it needs to be backwards compatible :kek: 18:30 < bridge> the ui changes and thats enough for them 18:30 < bridge> remove uuids from the protocol 18:30 < bridge> or, OMG THE TEES ARE SITTING 18:30 < bridge> or, OMG THEY REMOVED ONE BUTTON (that was useless to begin with) 18:30 < bridge> save bandwidth 18:31 < bridge> if thats real then its probably like 2 people 18:31 < bridge> making the life harder of 10k playing atm 18:31 < bridge> making the life harder for 10k ppl playing atm 18:31 < bridge> exactly! 18:35 < bridge> in many cases breaking compatability with 0.6 also means breaking compatibility with every other ddnet version which alot of people use 18:35 < bridge> eg if you were to increase the switch limit by making it a big number, oh no now you have to be on the latest version for this to work or you get corrupted maps 18:37 < bridge> why do they use old versions 18:38 < bridge> dont ask me 18:38 < bridge> well do ask me, before i compiled it myself i didnt use steam so i only updated once every so often 18:38 < bridge> and i bet there are people who havent updated in ages 18:38 < bridge> who do i ask then 18:38 < bridge> these are imaginary people 18:38 < bridge> @everyone what version do you use 18:39 < bridge> doesnt ddnet say what version people are on when they join 18:39 < bridge> fng does 18:39 < bridge> everyone was on latest whenever i played 18:39 < bridge> 19.0? 18:40 < bridge> The noob experience is also quite ass imo 18:40 < bridge> technically new features that do not change physics can be brought to the game without compatibility issues 18:41 < bridge> and physics do not change that often xd 18:41 < bridge> the old clients would have to atleast not freak out when new physics happen 18:41 < bridge> It's Tutorial (great btw), Linear, Multeasy, and the list of novice maps does not help noobs pick suitable maps 18:41 < bridge> ddnet still supports vanilla clients 18:41 < bridge> imagine 18:41 < bridge> freeze is treated like ninja 18:42 < bridge> Like, recommended novices are so old and crusty 18:42 < bridge> ninja has the sword, freeze doesnt 18:42 < bridge> The tutorial also only covers single player mechanics 18:42 < bridge> supports, but its laggy and kinda unplayable 18:42 < bridge> fall into freeze and hook starts glitching etc 18:43 < bridge> yes, but why should it still exist today 18:43 < bridge> The Tutorial map is great but it's already too long IMO, we should have multiple smaller Tutorial maps teaching individual concepts 18:43 < bridge> Yep yep yep 18:43 < bridge> A tutorial taking over ten minutes your first go is unusual 18:44 < bridge> idk it was kinda fun 18:44 < bridge> took me like 12 or 15 minutes 18:44 < bridge> It is, but the number of people I see getting stuck on the grenade part :justatest: 18:45 < bridge> grenade is unintuitive for new players 18:45 < bridge> and why the tutorial only has grenade 18:45 < bridge> no laser no shotgun 18:46 < bridge> Yeah I only knew how to do it because I've played Quake 18:49 < bridge> Rocket jump even working is a quirk of how games tend to add velocities in a physically inaccurate way 18:49 < bridge> if we had ✨ accounts ✨ we could dish out achievements for doing slightly shorter than tutorial but more comprehensive tutorials for each mechanic and that would motivate atleast me (i like achievements) 18:50 < bridge> achievements could also be purely client side / steam but ✨ accounts ✨are cool 18:50 < bridge> or just smaller tutorial maps with a popup to continue to next map when you finish 18:51 < bridge> and when you finish all of them it should teach you how to use browser 👍 18:51 < bridge> and when you finish all of them it should teach you how to use server browser 👍 18:52 < bridge> when i was novice (still am kek) and i found someone decent to play with it was a real gamble to whether or not they could follow me xd 18:52 < bridge> there should be a feature to follow someone 18:52 < bridge> Also a way for people to return to the tutorials if they stop playing them halfway through 18:53 < bridge> (or autosaves for all solo maps) 18:53 < bridge> In-client notifications for when a friend joins a server 18:54 < bridge> osu!lazer has a whole notifications sidebar 18:55 < bridge> Better difficulty ratings would be nice, the discrepancy between new and old maps is huge 18:56 < bridge> Some systematic way of updating them... 18:56 < bridge> imagine ddnet!lazer 18:56 < bridge> osu!lazer was a rewrite but osu was previously made by only 1 person so it worked 18:59 < bridge> I keep thinking about osu! in general because you can draw so many parallels between it and DDNet 19:00 < bridge> Both are community based games completely funded by donations where you grind skill for hours on end 19:00 < bridge> osu is more mainstream and easier to get into tho 19:01 < bridge> Yeah and that's kinda what I would want to happen to DDNet 19:01 < bridge> we need better ddnet advertizing 19:01 < bridge> I could see it happening 19:01 < bridge> I've said this like thrice now :P 19:02 < bridge> oh 19:02 < bridge> then i agree 19:10 < bridge> I think we should address some more of the issues before we attract many more users 19:11 < bridge> We scale well, but it's all extremely manual and when we do scale we end up on servers with no ddos protection. If this game gets too popular too quick we'll have a lot more ddos issues and ddnet is simply unplayable with ddos 19:12 < bridge> Ideally steam datagram relay support and a some other relay solution for standalone clients should come before any massive increase in playercount. 19:12 < bridge> We only get one chance to make a good impression 19:12 < bridge> Yeah and advertising is secondary to making the game itself feel fresh and fluid 19:12 < bridge> We have modern UX standards to live up to 19:14 < bridge> ddnet logo redesign when 19:14 < bridge> osu! gets away easy-ish, they just do everything over http and partially IRC 19:14 < bridge> its too big imo 19:15 < bridge> I did do a couple UI reworks on my free time a couple months back, but I always felt like by modernizing I lost that unique teeish feel 19:15 < bridge> Though they certainly pay Cloudflare more than DDNet's entire budget 19:15 < bridge> are prs on improving the website design welcome? 19:15 < bridge> I think some work can be done there to help new players ease into the game. Show them how to use the serverbrowser and vote for maps and stuff 19:16 < bridge> Sure, but a nasty surprise awaits you in the website source. It's quite unlike anything a modern web dev is used to 19:16 < bridge> Now this is a statement dripping with a concerning amount of nostalgia 19:17 < bridge> well its not like it is html 4 with jquery right 19:17 < bridge> nothing against jquery 19:17 < bridge> jquery is fine 19:17 < bridge> Almost everything on that website is statically generated 19:18 < bridge> I would prefer a comprehensive customization system with the old design as a preset, since I too am scared of angering the old timers 19:19 < bridge> does loading the player page takes so long because of querying finished maps? 19:19 < bridge> does loading the player page take so long because of querying finished maps? 19:19 < bridge> But I know UI is pain and complex UI is prone to becoming a nightmare 19:19 < bridge> Player pages aren't that bad but some map pages just kill everything 19:21 < bridge> We should not write another UI framework, but that's also kinda what we'd want for a nice user customizable system 19:22 < bridge> osu! players love their waifu skins but I'd like to go further than just retexturing the same layout 19:23 < bridge> Honestly I'm not the biggest fan of customization for this. It's a lot of work to make things like this customizable and I don't see much reward in the entire ui being customizable 19:23 < bridge> I see HUD customization being very valuable 19:23 < bridge> Some people love it 19:23 < bridge> Backgrounds are also nice and very cheap devtime and maintainance wise 19:24 < bridge> DDNet already suits the kind of obsessive person who spends their entire life in the client 19:24 < bridge> I'm telling you people would love their waifu skins :p 19:25 < bridge> We should also look into making a UI tutorial of some sort and make the tutorial map integrate with the client somehow 19:26 < bridge> On the topic of scalability, I was terrified when I learned that the game loads hundreds of skins into VRAM on load 19:26 < bridge> And submission through Discord feels anything but elegant 19:27 < bridge> You need to be careful with this. Not loading them at start is a good idea but you need to load them on a different thread at runtime so as not to cause lag 19:27 < bridge> yeah, we should have a UI that guides the user through multiple different Tutorial maps and shows the completion state; or just a UI for all DDNet maps in general 19:28 < bridge> I really really want to implement a map vote thing with proper filtering and map thumbnails 19:29 < bridge> Yeah you absolutely want to pre-allocate the vram for min(number of installed skins, max players on server) skins 19:29 < bridge> I've however been debating whether I want to make server-pushed-ui first and build it on top of that 19:29 < bridge> Thumbnails :poggers2: 19:31 < bridge> It's on my list to dynamically unload downloaded skins again so the memory usage doesn't keep increasing without bound 19:33 < bridge> I at least appreciate that the discord is being archived 19:33 < bridge> I think discord as documentation/forums is an awful idea 19:35 < bridge> It is but the forum is a dead concept to youngsters. They don't like to register for different things 19:36 < bridge> I hate that I have to use discord in general. Feels almost like Facebook back in the day when you couldn't do things without an account because everything was there 19:36 < bridge> Luckily I am young enough to never have needed an account with them 19:37 < bridge> Well if we happened to have DDNet accounts... :greenthing: 19:37 < bridge> lets have ddnet forums but put subway surfers on the side 19:37 < bridge> holy damn 19:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325533776025227284/image.png?ex=677c2307&is=677ad187&hm=1f0e965cbbd0065edba13a6e82726108962e8d1e106f2062a3497a5a31aee8eb& 19:38 < bridge> over 50 folders 19:39 < bridge> I had a wacky idea a while back... Different hit sounds for how you hit your hammer 19:40 < bridge> Like make it sound different if the other tee was not colliding with you 19:40 < bridge> Unfair advantage go brrr 19:41 < bridge> Mainly for teaching your brain how to play, not for execution 19:41 < bridge> @learath2 where can i find the source of the player page? 19:41 < bridge> you mean like a distance thing? its different for if a tee is closer to you or not? 19:42 < bridge> Yeah, and a distinct difference between in your hitbox and outside, so you can easily notice even grazing hits 19:43 < bridge> f3 menu like in minecraft 19:43 < bridge> :f3: 19:44 < bridge> Ctrl+D or do you also have to press Shift? 19:44 < bridge> its bad 19:44 < bridge> does not show anything useful 19:44 < bridge> position and velocity hud can be part of it 19:44 < bridge> For coordinates and velocity and fps and angle you already have dedicated displays 19:45 < bridge> well yeah 19:45 < bridge> it can be a single bind 19:45 < bridge> You can bind them to a key if you find them distracting 19:45 < bridge> which toggles all of that 19:46 < bridge> Writing binds is piss easy but intimidating to people who don't use text based interfaces in general 19:47 < bridge> And managing complex ones requires file management skills and terrifyingly enough those are no longer common 19:47 < bridge> a scripting api would have fixed that but 19:47 < bridge> hax 19:48 < bridge> Hm, it's probably in ddnet-scripts rather than ddnet-web 19:48 < bridge> such a mess xD 19:48 < bridge> Sadly a menu good enough to produce most common advanced binds would be so complex that nobody would learn that either 19:50 < bridge> Maybe a feature for displaying custom icons could be cute for replacing `echo Deepfly ON` and the like 19:50 < bridge> but ugh bloat 19:51 < bridge> i had the same idea 19:51 < bridge> but its not bloat 19:51 < bridge> Any changes I make to it takes many minutes of investigation 19:52 < bridge> u can take down whole ddnet if u dont put a semicolon lmao 19:52 < bridge> Yeah the lack of this sort of thing is what makes the game feel old 19:53 < bridge> solution: rewrite it in rust 19:53 < bridge> no wonder player page takes so long to load 19:53 < bridge> its written in python 19:53 < bridge> It's endearing and pleasant for the technical crowd but weird for everyone else 19:53 < bridge> python 2 19:53 < bridge> xD 19:54 < bridge> It has nothing to do with that. It's that queries have become very slow 19:54 < bridge> It's fiiiine 19:54 < bridge> alright alright 19:54 < bridge> Yeah the DB scares me a bit 19:55 < bridge> There are millions of ranks and the db structure is absolutely godawful for the queries we are doing 19:55 < bridge> why not use a template engine? 19:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1325538089157787884/image.png?ex=677c270b&is=677ad58b&hm=96b640be35435de9263484c98c677f3416b2e09cea80ff7ec110754d7f60e593& 19:55 < bridge> I've never had to scale up you know :) 19:55 < bridge> I wish we had a db wizard around that can help us a little 19:55 < bridge> we all want a db wizard 19:55 < bridge> dbs are hard 19:55 < bridge> Probably just how deen felt like doing it. I would probably do it in go with go templates if it was me doing it now 19:55 < bridge> Time to download the entire db and use it as learning material hehe 19:56 < bridge> so it it is going to stay like that forever? 19:56 < bridge> so it is going to stay like that forever? 19:56 < bridge> An optimization we pinpointed was to start keeping another table with only top ranks that is kept up to date with triggers. That should improve query times immensely. I just didn't have time to do it yet 19:57 < bridge> Not really. But you'd need to put significant effort to re do all of it 19:57 < bridge> ddnet ai :( 19:57 < bridge> yeah i know 19:57 < bridge> Nah I'm a natural intelligence 19:57 < bridge> and perhaps use redis for that db 19:57 < bridge> nvm 19:58 < bridge> now u will have to manage 2 dbs 19:58 < bridge> No need for any other db imo 19:58 < bridge> based 19:58 < bridge> ok unironically if someone were to train an ai off of ddnet skins id be fine with it. not like im getting anything from my skins anyways 19:58 < bridge> I also wanted to move to postgres sometime. I'm more familiar with postgres 19:59 < bridge> I meant to get a big blob of representative data that I can use for testing to see if I break things with changes 19:59 < bridge> We have terabytes of teehistorian runs that might lead to veeery interesting ai projects in the future 19:59 < bridge> It's raw input from real humans 20:00 < bridge> Ooh, anti-cheat material 20:00 < bridge> Don't release it to the bad guys 20:00 < bridge> the only problem is money 20:00 < bridge> where will u train the ai 20:01 < bridge> This is not NLP or even image generation, it's probably way easier to get useful output with a reasonable amount of training 20:01 < bridge> Money is something we can figure out np. I have a good friend with like a dozen 4090s I can probably even use for free 20:03 < bridge> I've just never been much of an AI guy, so never really had any projects 20:03 < bridge> The data is probably most comparable to audio? considering all the mouse aim with a very human frequency range 20:04 < bridge> I think it's really fun as long as you don't start going for massive scale before elegant solutions 20:04 < bridge> ~~monetize ddnet~~ 20:04 < bridge> My next ddnet project is fourier analysis of teehistorian data to see if I can get some antibot features out of that 20:05 < bridge> Now this is the right kind of thinking :brownbear: 20:05 < bridge> I have a feeling the input data from a bot looks pretty different to humans in frequency domain 20:09 < bridge> I might first write a client that displays live windowed fft of different values, to see if my hypothesis is right before writing code to parse the teehistorian files 20:24 < bridge> forum crawling is a thing ive done but rarely. its not any more fun than searching thru discord. often theres an attempt to organize information is an almost wikilike fassion (sprawling faqs) but i dont think its a thing which should be brought back 21:11 < bridge> Is there toggle on off for new "zoom copy" when you are spectating someone? its quite annoying to change zoom all the time i start to spec someone and i cant find the cmd 21:11 < bridge> Is there toggle on/off for new "zoom copy" when you are spectating someone? its quite annoying to change zoom all the time i start to spec someone and i cant find the cmd 21:11 < bridge> Is there toggle on/off for new "zoom copy" when you are spectating someone? its quite annoying to change zoom all the time i start to spec someone and i cant find the cmd. DDNet 18.9 21:12 < bridge> @tsfreddie 21:14 < bridge> is that compliant with RGPD ? 21:39 < bridge> I don't think it contains any PII 21:46 < bridge> but you did not get consent from users 21:49 < bridge> Do you even need consent to collect non-PII? 21:50 < bridge> > PII is any information about an individual maintained by an agency, including (1) any information that can be used to distinguish or trace an individual‘s identity, such as name, social security number, date and place of birth, mother‘s maiden name, or biometric records; and (2) any other information that is linked or linkable to an individual, such as medical, educational, financial, and employment information. 21:51 < bridge> hmm, definitely not an rgpd expert, i thought consent was always mandatory 21:52 < bridge> Whenever personal data is involved, yes 21:52 < bridge> weirdly enough, im pretty sure you can recognize people through their keystroke, so that could still be considered personal data 21:53 < bridge> Honestly it is all very complicated. We probably would need a lawyer to parse through it and he would probably advise to take the conservative approach and just request consent even if not needed 21:54 < bridge> But you can't really connect that to their real person without a database that does contain PII. Hm 21:54 < bridge> don't you store the pseudonym and maybe the ip as well ? 21:56 < bridge> Pseudonyms yes we store it in records. Ip we store for 48h and delete. Those probably do constitute personal data 21:57 < bridge> We probably should have a discussion sometime about going through all the data we have and determining if we need to add a consent prompt somewhere 21:58 < bridge> But we don't even have accounts to store that consent anywhere 😄 21:58 < bridge> On disk is good enough 21:59 < bridge> Is it really? What if they sue us after wiping their disk saying they never consented? 21:59 < bridge> Cookie banners store your consent in a cookie 22:00 < bridge> I guess you can show that you can't get past the prompt without consenting? 22:00 < bridge> Idk, all very complicated 22:00 < bridge> Yeah 22:01 < bridge> This is very anti small-business/community-project 22:01 < bridge> With what money are we supposed to hire a lawyer to help us navigate this? 😄 22:02 < bridge> we're not supposed being sued 😄 22:04 < bridge> If keystroke data can be considered PII it would be very hard to fulfill data deletion requests 22:09 < bridge> A forced consent message before loading the list should do the trick, if you reject the ToS the client will close itself, after your first consent the preference will be saved on disk, the fact that the consent is it mandatory to accept it (code side) is already legally enough to certify that a player accepted the ToS to play 22:09 < bridge> A forced consent message before loading the list should do the trick, if you reject the ToS the client will close itself, after your first consent the preference will be saved on disk, the fact that the consent is mandatory (code side) is already legally enough to certify that a player accepted the ToS to play 22:10 < bridge> We also need some sort of privacy policy anyway if ever want to release on the Google Play Store 22:10 < bridge> It can be done at the same way I guess 22:17 < bridge> i cant wait for half the current fanbase to just quit LOL 23:08 < bridge> Oh no my keystrokes 23:36 < bridge> oh that is an interesting idea :D 23:36 < bridge> Can you ping me when you have initial results? would love to see that 23:42 < faatv>                          .''. 23:42 < faatv>    .''.            *''*   :_\/_:    . 23:42 < faatv>      :_\/_:  .  .:.*_\/_*   : /\ :  .'.:.'. 23:42 < faatv>   .''.: /\ : _\(/_  ':'* /\ *  : '..'.  -=:o⁠:=- 23:42 < faatv>  :_\/_:'.:::. /)\*''* .|.* '.\'/.'_\(/_'.':'.' 23:42 < faatv> : /\ : :::::  '*_\/_* | |  -= o =- /)\    '  * 23:42 < faatv>   '..'  ':::'   * /\ * |'|  .'/.\'. '._____ 23:42 < faatv>     *      __*..* | |    :      |. |' .---"| 23:42 < faatv>        _*   .-'   '-. |  |   .--'|  ||   | _|   | 23:42 < faatv>   .-'|  _.|  |    ||  '-__  |  | | ||     | 23:42 < faatv>    |' | |.    |    ||       | |  |  |    ||    | 23:42 < faatv>  ___| '-'    '  ""      '-'   '-.'    '`   |____ 23:42 < faatv>          ɪʀᴄ.ꜱᴜᴘᴇʀɴᴇᴛꜱ.ᴏʀɢ #ꜱᴜᴘᴇʀʙᴏᴡʟ 23:42 < faatv>                 "i⁠s⁠n't it be⁠auti⁠f​ul?" 23:42 < faatv> faatv fstd scrumplex_ deen ws-client bridge ChillerDragon jtbx b3z ochristi minus Learath2 Q heinrich5991 Tobii eeeee 23:59 < bridge> i am still waiting for my merge queue :c