01:34 <+Learath2> yes... 01:34 <+Learath2> i don't get it it worked fine for weeks 01:34 <+Learath2> now it breaks in one direction spontaneously 01:35 <+Learath2> o/ 01:35 <+ddnet-discord> \o 03:52 <+ddnet-discord> ok, how is the state of macOS regarding deployment, I just wrote some script to copy all required shared libs to some target dir and fix searchspaths for them; I guess this will be quite useful 11:53 <@deen> @HMH well, i got the release version fixed, but i'm still using bam and it's messy 14:03 <@heinrich5991> deen: I've drafted a very simple demo format, roughly 1MB/player hour 14:03 <@heinrich5991> my goal would be to record all races so we can view them later 14:04 <@heinrich5991> (in case some map bug gets detected, etc.) 14:04 <@heinrich5991> are you fundamentally against the idea, or can I try to develop this furtherly 14:05 <+ddnet-discord> ?ouh how do you compress the data so much 14:05 <+ddnet-discord> ? 14:05 <@heinrich5991> I throw away everything 14:05 <@heinrich5991> basically 14:05 <@heinrich5991> best compression 14:05 <@heinrich5991> I only record player position and input 14:33 <@heinrich5991> (compresses to a fifth of that btw, so 0.2MB/player hour if compressed with xz or bz2) 14:56 <+ddnet-discord> i like the idea 14:56 <+ddnet-discord> Disk: 15.35 GiB / 295.23 GiB 14:57 <+ddnet-discord> ger doesnt have disk space problems :D 14:57 <@heinrich5991> well, it'd be >1gb per day 14:58 <@heinrich5991> uncompressed 6gb, compressed 2gb 14:58 <+ddnet-discord> hmm 14:58 <+ddnet-discord> what is the average finishes per day? 14:58 <@heinrich5991> but we can figure that part out 14:58 <@heinrich5991> the interesting question is whether deen would be okay with that idea in general 16:18 <+ddnet-discord> heinrich5991 are you okay with it even? 16:18 <+ddnet-discord> mass data collection 16:22 <@heinrich5991> it's game play data collection 16:22 <@heinrich5991> :) 16:23 <+ddnet-discord> does any1 know which file is "CNetServer" ? 16:24 <+ddnet-discord> src/engine/shared/network_server.cpp, src/engine/shared/network.h 16:24 <+ddnet-discord> network_server 16:24 <+ddnet-discord> hero 16:24 <+ddnet-discord> t:D\ 16:24 <+ddnet-discord> ty 16:24 <+ddnet-discord> heros* 16:24 <+ddnet-discord> @ChillerDragon what tools do you use to edit the Teeworlds source code? 16:25 <+ddnet-discord> visual studio 16:25 <+ddnet-discord> then you should be able to "go to definition" 16:25 <+ddnet-discord> ye i should 16:25 <+ddnet-discord> xd 16:25 <+ddnet-discord> .. but? 16:25 <+ddnet-discord> i broke everything 16:25 <+ddnet-discord> haha 16:25 <+ddnet-discord> i good at breaking things 16:26 <+ddnet-discord> then you should still be able to do a full-text search 16:26 <+ddnet-discord> either search for "class CNetServer" or for "CNetServer::" 16:26 <+ddnet-discord> should find you header or implementation, respectively 16:26 <+ddnet-discord> ye thats a good idea 16:26 <+ddnet-discord> ty c: 16:27 <+ddnet-discord> im still a beginner hehe 16:27 <+ddnet-discord> remove visual studio and you suddenly jump up to intermediate 16:28 <+ddnet-discord> ignore @Learath2 on that one 16:28 <+ddnet-discord> 😃 16:28 <+ddnet-discord> garbage studio is not good for you 16:30 <+ddnet-discord> visual studio is a nice ide 16:30 <+ddnet-discord> just as a bulldozer is a good day to day vehicle 16:30 <+ddnet-discord> name a better IDE 😃 16:31 <+ddnet-discord> (not claiming that VS is the best one) 16:31 <+ddnet-discord> no ide is best ide 16:31 <+ddnet-discord> vs is defnetly trash 16:31 <+ddnet-discord> it just crashed agian 16:32 <+ddnet-discord> annoying to open all the files agian especially if you work with two sources 16:32 <+ddnet-discord> total chaos 16:32 <+ddnet-discord> @Learath2 yea see? then don't try to compare IDEs 16:32 <+ddnet-discord> no ide? 16:32 <+ddnet-discord> like using plain editor hehe? 16:32 <+ddnet-discord> see he is a beginner and even he knows its trash 16:32 <+ddnet-discord> if vs keeps crashing i switch to notepad 16:34 <+ddnet-discord> you get a nice editor that has nice coding plugins 16:34 <+ddnet-discord> sublime, vim 16:34 <+ddnet-discord> clion is nice i've heard 16:36 <+c0d3d3v> I thnk Vs is a creat tool. But every tool is as good as its user... 16:36 <+ddnet-discord> you think that until you work on anything slightly bigger then tw 16:36 <+c0d3d3v> great* 16:37 <+ddnet-discord> and then it starts crashing, you search for sth it crashes, you disable a project it reindexes everything, the shitpiler they call msvc links things so slowly i could link it faster by hand 16:37 <+ddnet-discord> overall great experience i had with that thing 16:38 <+ddnet-discord> clion 16:38 <+ddnet-discord> xd 16:38 <+ddnet-discord> i also think its nice 16:38 <+ddnet-discord> you couldn't get it to work and that's why you're saying "remove visual studio and you suddenly jump up to intermediate"? ^^ 16:39 <+c0d3d3v> But to work effortlessly on some sources you dont need such big tools. So I also could recommend emacs. But at the end it is your choise... Atom is a easy to use IDE, and nearly as fast as a simple texteditor (sublime)... 16:39 <+ddnet-discord> sorry i'm not going to buy more ram to get an easily replacable product working 16:39 <+ddnet-discord> you're free not to use any software 16:39 <+ddnet-discord> ram is usefull everywhere 16:39 <+ddnet-discord> yep 16:39 <+ddnet-discord> but why do you actively recommend against it? 16:39 <+ddnet-discord> clion is even more expensive lol 16:39 <+ddnet-discord> rofl Ram 16:40 <+ddnet-discord> atom takes minutes to load up, it's not an ide and it's orders of magnitude slower then sublime 16:40 <+ddnet-discord> I don't want people to suffer 16:40 <+ddnet-discord> HMH answer me private chat -.- 16:41 <+ddnet-discord> even though this discussion amuses me I do not think it is the best idea to start a war about ides/editors here 16:41 <+c0d3d3v> I said "nealy" ... and Atom is a better choice then Vs... But I use still emacs :S 16:41 <+ddnet-discord> oke 16:41 <+ddnet-discord> @HMH nothing of much importance going on anyways 😃 16:41 <+ddnet-discord> yes, the demo thing! 😃 16:42 <+ddnet-discord> ye thats awesome 16:42 <+ddnet-discord> @heinrich5991, does that demo record you wrote, will store only finished runs? Or something? 16:42 <+ddnet-discord> Just like on teerace 16:43 <+ddnet-discord> when you can download record of someone ru 16:43 <+ddnet-discord> teerace records demos? 16:43 <+ddnet-discord> yes 16:43 <+ddnet-discord> and ghosts 16:43 <+ddnet-discord> lal 16:43 <+ddnet-discord> i like to spend atleast half my day doing missionary work, preventing people from making the same mistakes i made when i was young 16:43 <+ddnet-discord> maybe, or i am wrong 😄 16:43 <+ddnet-discord> i thought, i saw demos 16:43 <+ddnet-discord> i thought the ppls all uploaded manually haha 16:43 <+ddnet-discord> but ye makes sense 16:43 <+ddnet-discord> no dudes upload their demos hehe 16:43 <+ddnet-discord> @Savander it will store all game data, not just from races 16:43 <+ddnet-discord> oh right, to better debuggin 16:43 <+ddnet-discord> also private whisper messages hehe 16:44 <+ddnet-discord> but then, maybe it would be cool to save demos of races? 16:44 <+ddnet-discord> maybe after finish, combine position data with map 16:44 <+ddnet-discord> and make demo? 😄 16:44 <+ddnet-discord> i always send ascii nudes via whisper 16:44 <+ddnet-discord> i dont want them to be recorded 16:44 <+ddnet-discord> @heinrich5991 can your demos be converted into normal demos to be watched in client? 16:44 <+ddnet-discord> but, without chat Chiller 16:44 <+ddnet-discord> uff 16:45 <+ddnet-discord> @Learath2 it would take some work 16:45 <+ddnet-discord> theoretically, input data is all you need 16:45 <+ddnet-discord> but then ddnet is not really reproducible 16:45 <+ddnet-discord> what about changeing server_demo_record to save only inputs of players 16:46 <+ddnet-discord> Anyway guys, i have to say that. In germany, you have best chicken i ever ate 16:46 <+ddnet-discord> DELICIOUS 16:47 <+ddnet-discord> u are in germany? 16:47 <+ddnet-discord> @heinrich5991 yes any thoughts on floatingpointimprecision especially across builds and systems 16:47 <+ddnet-discord> i was, yesterday 16:47 <+ddnet-discord> hm 16:47 <+ddnet-discord> im still there 16:47 <+ddnet-discord> in Hamburg 16:47 <+ddnet-discord> floating point is not hte issue 16:47 <+ddnet-discord> too far away anyways 16:47 <+ddnet-discord> @HMH random teleports are the main issue for now 16:48 <+ddnet-discord> ahh yes, we also got these, indeed they are a somewhat bigger problem then 16:48 <+ddnet-discord> should we make them predictable maybe? 16:48 <+ddnet-discord> one could do that any minute 16:48 <+ddnet-discord> we should update the maps in that case btw 😃 16:48 <+ddnet-discord> well could do it with a prng 16:49 <+ddnet-discord> then we cando it without as well 16:49 <+ddnet-discord> so wouldn't need to do anything on maps 16:50 <+ddnet-discord> just choose the first teleporter you find 16:51 <+ddnet-discord> why would we need to update the maps tho? 16:52 <+ddnet-discord> well actually in that case having multiple teleport targets would be useless 16:53 <+ddnet-discord> so the "load balancing" use of teleporters would be gone 16:53 <+ddnet-discord> we could also use spawn logic or something similar 16:53 <+ddnet-discord> spawnlogic would be kewl for tele but it would rip all the lucky minigames build with tele 16:54 <+ddnet-discord> but i guess any system would do that 16:55 <+ddnet-discord> exactly 16:55 <+ddnet-discord> what kind of "cool minigames"? 16:55 <+ddnet-discord> random isn't "cool minigame" 16:55 <+ddnet-discord> xd 16:55 <+ddnet-discord> dont u know these? 16:55 <+ddnet-discord> no 16:55 <+ddnet-discord> i only have the Pup or Pop map in mind where u can get an sg 16:55 <+ddnet-discord> prng doesn't really break the cool minigames 16:55 <+ddnet-discord> 2% chance 16:55 <+ddnet-discord> until someone creates a cheat client that is 😄 16:55 <+ddnet-discord> or you die 16:56 <+ddnet-discord> i only know png 16:56 <+ddnet-discord> 2% shotgun is not a cool minigame 16:56 <+ddnet-discord> yes it sucks 16:56 <+ddnet-discord> for a racing mod 16:56 <+ddnet-discord> but maybe some1 build something better 16:56 <+ddnet-discord> i guess spawn logic is the best 16:56 <+ddnet-discord> once chance is involved, the competitiveness is gone 16:56 <+ddnet-discord> or it encourages grinding 16:57 <+ddnet-discord> tru 16:57 <+ddnet-discord> "minigame" 16:57 <+ddnet-discord> not game 18:11 <@heinrich5991> Learath2: so what else has to go into these server-side demos? 18:11 <@heinrich5991> 1) player names 18:11 <@heinrich5991> 2) team commands 18:12 <@heinrich5991> can you think of anything else? 18:12 <@heinrich5991> or rather, team movement in general, not just team commands 18:26 <+ddnet-discord> possible to remove timeout protection from test servers? 18:26 <+ddnet-discord> heinrich5991 some initial state to properly simulate doors and bullets i guess 18:35 <@heinrich5991> jao: why? 18:37 <@heinrich5991> Learath2: shouldn't be necessary 18:38 <+ddnet-discord> @heinrich5991 if you timeout you can't rejoin often since test servers have limited slots; also you don't need to save any game progress since its just for testing 18:41 <@heinrich5991> Learath2: since the whole game is recorded, switch states should be obvious from play history 18:56 <+ddnet-discord> what about /load ? 18:59 <@heinrich5991> yes, load and save would be good 19:58 <@deen> heinrich5991: sounds great 19:58 <@deen> I'm just always sad that we didn't record 4 years ago :) 19:59 <+ddnet-discord> what happend back then? 19:59 <@heinrich5991> we'll probably have to save these records off-site though 20:00 <@heinrich5991> probably won't work on te servers directly 20:01 <@deen> about editors/ides: who cares? just try out a few and use whatever you like 20:02 <@heinrich5991> +1 :) 20:02 <@deen> people have different preferences, so there can't be an absolute best 20:02 <@deen> (typical religious wars) 20:03 <+ddnet-discord> sure a sluggish crashing editor is universally bad 20:03 <@deen> so if you don't like that don't use it 20:03 <@deen> if others notice that they don't like it and they google for "code editors" they will find other suggestions 20:03 <+ddnet-discord> it's going to be a PITA for the majority of people so i do my best to steer them away from the beginning 20:04 <+ddnet-discord> so they dont get used to the cushy features and miss them when they have to leave VS 20:04 <@deen> heinrich5991: how would it work? can you convert them back to a serverside full demo? 20:05 <@heinrich5991> not with the current tools 20:05 <@heinrich5991> but yes 20:05 <@deen> ok 20:05 <@deen> so we could do that live and offer downloads 20:05 <@deen> Learath2: i think agressive stances scare off more people than bad editors 20:06 <@deen> like telling a new-comer "your programming language is bad, use a real programming language" 20:15 <+ddnet-discord> it's for their best 20:16 <+ddnet-discord> For me, i don't care what people are using 20:17 <+ddnet-discord> and i don't tell them to use something else 20:17 <+ddnet-discord> if they don't ask 20:17 <+ddnet-discord> it's personal preference 20:17 <+ddnet-discord> So i suggest to use more than one environment 20:18 <+ddnet-discord> to just convince yourself, what best for you 20:19 <+ddnet-discord> exactly, i just help them remove one possiblity from the list faster 😃 20:20 <+ddnet-discord> But you can suggest instead of telling them it's bad (in your opinion) 20:21 <+ddnet-discord> @deen && @heinrich5991 where would we store these? S3? 20:21 <@deen> no! 20:21 <@deen> just a normal server with a backup? 20:21 <@heinrich5991> I'd probably buy a hard drive and store them there 20:21 <@heinrich5991> mirrored or so 20:21 <@deen> for starters we can store them on ddnet.tw server 20:21 <+ddnet-discord> well would need quite some storage on that server 20:21 <@heinrich5991> yes 20:21 <@deen> I can clean up some stuff there and make space, and need to increase it anyway 20:22 <+ddnet-discord> servers with a lot of storage seem more expensive then those storage clouds 20:22 <@deen> but initially probably just store them locally on each server? 20:22 <@heinrich5991> yes, but it'll be more than 1gb for all servers together, per day 20:22 <@deen> that's not so bad 20:22 <@heinrich5991> yes, 20:22 <@deen> let's say 1.5 GB? 20:22 <@deen> 500 GB / year 20:22 <@heinrich5991> upper estimate is 2GB, let's say that 20:23 <@deen> you want to keep all recordings forever? 20:23 <@heinrich5991> it's in the range of "I can buy hard drives faster" 20:23 <@deen> or filter them? 20:23 <@heinrich5991> all recordings forever 20:23 <@deen> so after saving all tw maps you now want to record all game play? :D 20:23 <@heinrich5991> (they'd btw also make great test cases for reproducible) 20:23 <@heinrich5991> *reproducibility 20:23 <@deen> yeah, true 20:23 <@heinrich5991> :D 20:24 <@deen> they'd also be great for teaching machine learning ;) 20:24 <@heinrich5991> :D 20:24 <@heinrich5991> anyway 20:24 <+ddnet-discord> well if you keep the backups on cold storage can't really let users download them 20:24 <+ddnet-discord> 2TB for 30$ 20:24 <+ddnet-discord> sounds good or bad? xD 20:24 <@heinrich5991> where? what redundancy? 20:24 <@heinrich5991> 30$ per month? 20:24 <+ddnet-discord> just searching for 20:24 <+ddnet-discord> vps storage 20:24 <+ddnet-discord> https://servarica.com/special_offers/storage-vps-offers/ 20:24 <+ddnet-discord> it doesnt matter 20:24 <+ddnet-discord> which loc 20:24 <+ddnet-discord> yes? 20:25 <@deen> Learath2: meh, i even have 40 mbit/s upload at home, even that would be enough 20:25 <@heinrich5991> heh, nice 20:25 <+ddnet-discord> what about OVH backup 20:25 <+ddnet-discord> ? 20:25 <+ddnet-discord> whoa i get 10 here 20:25 <+ddnet-discord> @deen well you could host it :)\ 20:26 <@heinrich5991> I think this means that I can spend some more time on this feature :) 20:26 <@deen> heinrich5991: sure 20:26 <+ddnet-discord> https://www.ovh.co.uk/dedicated_servers/backup-storage.xml 20:26 <@deen> i wanted to make this myself before 20:26 <@deen> that's the stuff for not saving map inside demos 20:26 <@deen> and why i fixed server demo recording at some point 20:26 <@deen> but it was still pretty large 20:26 <@heinrich5991> demo has too much overhead though 20:26 <@deen> exactly 20:26 <@heinrich5991> I'm rolling my own format :/ 20:26 <+ddnet-discord> RAID 1 should be good enough so cost not too bad 20:26 <@deen> So I gave a test run for a few days and then stopped it again 20:27 <+ddnet-discord> i remember that 20:27 <+ddnet-discord> it was like 2 years ago ? 20:27 <@deen> Learath2: raid 1 is never enough, everything needs an offline backup 20:27 <@deen> @Savander I guess 20:27 <+ddnet-discord> @deen give it a backup each month \o/ 20:27 <+ddnet-discord> maybe you should try some of OVH for backups. Maybe they are good enough your your data 20:28 <@heinrich5991> I fear that storage by some providers is always going to be more expensive 20:28 <+ddnet-discord> Can't be cheaper then deen hosting it at home tho 20:28 <+ddnet-discord> it depends 20:28 <+ddnet-discord> well could be actually 20:28 <@heinrich5991> mirroring it across two locations (my place! :P) would be fine, probably 20:28 <+ddnet-discord> how you calucalte costs 20:28 <+ddnet-discord> calculate * 20:28 <@heinrich5991> I recently bought two 4TB hdds, 130€ each, approx 20:29 <@deen> anyway, the data grows slowly enough that we can worry about all that later 20:29 <@deen> no hurry 20:29 <@heinrich5991> yes 20:29 <+ddnet-discord> electricity, bandwidth ? 20:29 <+ddnet-discord> Yea, that's right. But it's good to think about such things eariler 20:30 <+ddnet-discord> well we have 240 days atleast just if we store them on ger 20:30 <@deen> heinrich5991: that might also be a way to be able to offer official ddnet servers as a package that everyone can install 20:30 <@deen> heinrich5991: so we would get recordings along with the record for the database 20:31 <@deen> and then the server could simulate the recording and see if it's accurate before adding it 20:31 <@deen> (not sure we want that though) 20:32 <+ddnet-discord> but what about floatingpoint stuff then ? 20:32 <@deen> enforce some accurate float calculation and lose 5% performance 20:34 <+ddnet-discord> how do you enforce that ? 20:34 <@deen> weird compiler settings, dunno :D 20:34 <@deen> didn't look into it 20:35 <@deen> -mpc64 or sth: http://christian-seiler.de/projekte/fpmath/ 20:38 <+ddnet-discord> guess could somehow force soft floats or sth 20:38 <+ddnet-discord> might be a big performance hit tho 20:45 <+ddnet-discord> the last time I read about this topic my result was that this is going to be quite complicated and that there is no simple compileroption to get deterministic floats across different platforms and hardware 20:50 <+ddnet-discord> apparently +,-,*,/,sqrt are deterministic 21:15 <@heinrich5991> no 21:15 <@heinrich5991> standard compiler settings should suffice 21:15 <@heinrich5991> at least for gcc, clang 21:15 <@heinrich5991> don't enable -ffast-math 21:16 <@deen> sounds good 21:16 <@heinrich5991> and TW goes out of its way to always convert back to ints after each tick 21:16 <@heinrich5991> deen: but that also needs determinism 21:16 <@heinrich5991> and I want that regardless 21:16 <@heinrich5991> (no random teleporters) 21:16 <@heinrich5991> otherwise you can cheat using non-official servers 21:16 <@deen> make them semi-random 21:17 <@deen> dependent on the current time of the player 21:17 <+ddnet-discord> well our operations are limited to +,-,*,/,sqrt, so our math is all deterministic without fastmath 21:17 <@deen> that should be good enough 21:17 <+ddnet-discord> oh tick time and a prng should be fine 21:17 <@heinrich5991> I'd rather do away with that 21:17 <@deen> heinrich5991: so just iterate over them? 21:17 <@deen> heinrich5991: or always choose 1? 21:17 <@heinrich5991> no, just take the first one, and fix the maps 21:18 <@deen> yeah, that would be great too 21:18 <@deen> then we can have full prediction in client 21:18 <@heinrich5991> yep 21:18 <+ddnet-discord> well could auto fix maps to remove all extra teleport to tiles 21:18 <+ddnet-discord> but still teleports did some load balancing too how'd we fix that? 21:18 <@heinrich5991> well, I'm talking about those that need actual game play fixes 21:23 <@deen> there are some maps that use that fact to make the map harder 21:24 <@deen> so they would become easier now 21:24 <@heinrich5991> yes 21:40 <+ddnet-discord> given we shouldn't change map difficulty i guess we should use a prng 21:40 <+ddnet-discord> i guess we could just make the map slightly easier and just call it a day 21:50 <+ddnet-discord> @Learath2 what do you mean with "well our operations are limited to +,-,*,/,sqrt" ? 21:51 <+ddnet-discord> or rather which operations, gamecore uses stuff like sinf cosf and also powf 22:07 <+ddnet-discord> oh true 23:23 <+ddnet-discord> well idk, we could check a couple of common platforms, see how far we are off, we might be consistent afterall 23:23 <@heinrich5991> these must be the same on all platforms as well 23:24 <@heinrich5991> I think msvs might have a faulty math lib 23:24 <@heinrich5991> but it might just be handling of non-normal floats, I don't recall 23:24 <+ddnet-discord> IEEE doesn't guarantee trig functions no? 23:24 <@heinrich5991> it doesn't? 23:24 <@heinrich5991> I thought it does 23:24 <+ddnet-discord> i think it only guarantees +,-,*,/,sqrt 23:25 <@heinrich5991> IEEE 754-2008, the most widely used standard for floating-point computation, does not address calculating trigonometric functions such as sine. 23:26 <@span> foobar 23:27 <+ddnet-discord> well https://randomascii.wordpress.com/2013/07/16/floating-point-determinism/ this says it should be consistent for floats for most platforms 23:27 <@heinrich5991> (oh god) 23:28 <@heinrich5991> it seems that discord passes the chat messages unescaped to the notifications 23:28 <@heinrich5991> which interprets it as html 23:28 <@heinrich5991> I can never see the notifications because the IRC prepends a <> tag 23:28 <@heinrich5991> but when my name is span, I can see it again ._. 23:29 <+Learath2> :D