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