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 2022-07-21 00:00:00Z and 2022-07-22 00:00:00Z
01:38
they did that with cheerp
Avatar
Avatar
Patiga
@Jupstar ✪ is there a reason why I shouldn't use vertex buffers as uniform buffers? not sure what my thought process was there, but its what I did a few times
I guess doesnt matter too much. Maybe the driver puts uniform buffer in faster memory locations . but probably not since the limit is rather huge nowadays
06:57
Along wgpu allows this at least ^^
Avatar
(Especially for an opengl backend which might care more about it)
Avatar
42cf57f Add 20€ donation by Chris ❆ - def-
Avatar
@Learath2 Why dont we introduce new snap objects for entities we use in DDNet, that requires specific information? Why do we add an EntitiyEx, that requires another snap object and therefore fills up the already quite small snap very fast with many objects? We have the extended net message and object system, i think it would be the right way to go to actually use it for more things
11:22
I mean, I see the idea of entitiyEx of course, but for me it makes more sense to have 1 object, that includes all the information, rather than 2 objects that the client has to combine later on again.
11:22
Especially since we are not limited to new objects anymore
11:24
I'm thinking about it, because on my server for example I did an optimization to see more entities, that I only send entityEx for close objects, so that eventually prediction will work correctly. But this will need to be changed with the upcoming laser color change, because otherwise lasers further away wont have the correct color as I am then only sending the laser itself. Same goes for spectating (pause or spectator), I dont send entitiyEx there, because it doesnt predict anything anyways in this situation. But now for the laser color, it is indeed needed, also when speccing
11:25
All of this wont really be a problem, once we have extended snapshots tho, but I think we should consider taking one of those options sooner or later.
Avatar
i wish i understood the predicition thing betterfeelsbadman
Avatar
prediction is basically just serverside stuff running on the client to predict it. In order to predict it correctly tho, the client needs some information from the server
11:26
for example, if you are on a laser door which is closed, your tee will look bouncy
11:26
because its not predicted
11:26
it thinks it can fall there, cuz there is no wall
11:26
but the server puts your position back up, because the server says nop, the door is closed, you are ON it and not falling
11:27
So the client for example needs information on whether the door is closed or not right now, in order to predict it properly
Avatar
so the server says door closed and the client can then predict that it must be on top of the laser?* (edited)
Avatar
basically yea, and the server also needs to send the client when the door is open again, because otherwise the client thinks its closed and it would think you have to be on top of it, it would create a small stutter when going through it otherwise probably (laserdoor prediction is not yet in anyways)
Avatar
aight aight i get the concept
Avatar
And antiping especially is a very extended prediction. It includes prediction for player inputs and weapons, for example on a server with 200-300+ ping, it takes quite some time until your shot grenade bullet actually spawns etc, with antiping, the client tries to predict it before it receives the actual bullet from the server. That works, because the client knows about tunings from the server, and it knows which weapon you're holding, and therefore can do some server calculations on the client
Avatar
okay yeah i always wondered if predicition = antiping
Avatar
And thats also, why players seem to jiggle a bit with antiping, cuz when it notices the predictions are wrong, and we have actually received info about the other player from the server now, it puts the player in the correct position where it belongs
happy 1
Avatar
but predicition is not only used for antiping
11:31
okay
Avatar
Avatar
bluesky
but predicition is not only used for antiping
Exactly
11:31
hookthrough for example, also uses prediction, or stoppers, but its not antiping
11:32
being smooth on top of a stopper and not jiggling like on a laser door, thats prediction
11:32
and the hook going smoothly through the block, thats prediction
Avatar
Avatar
fokkonaut
And antiping especially is a very extended prediction. It includes prediction for player inputs and weapons, for example on a server with 200-300+ ping, it takes quite some time until your shot grenade bullet actually spawns etc, with antiping, the client tries to predict it before it receives the actual bullet from the server. That works, because the client knows about tunings from the server, and it knows which weapon you're holding, and therefore can do some server calculations on the client
and the better the prediciton, the smaller the stutter as soon as the packet arrives (edited)
11:32
thanks for explaining it <3333
Avatar
Well, you cant have a perfect prediction because you dont know when the player will stop hold A for example
11:33
but as long as he holds A, you can predict its position basically
Avatar
Avatar
fokkonaut
Well, you cant have a perfect prediction because you dont know when the player will stop hold A for example
yes
11:33
cant do more than guess
Avatar
Avatar
bluesky
thanks for explaining it <3333
music
Avatar
I once had the idea of a splitted antiping, basically so that it would only predict other players when interacting with them, and otherwise relying on the (maybe late) info from the server
Avatar
Avatar
bluesky
music
no problem
Avatar
Avatar
fokkonaut
I once had the idea of a splitted antiping, basically so that it would only predict other players when interacting with them, and otherwise relying on the (maybe late) info from the server
Because hooks, and grenade explosions, hammers, all of that, especially when its coming from your own tee, can be predicted, and also other players interacting with it. + it would stop the jittering of other players as we dont really predict their movements alone
happy 1
Avatar
Stupid question, but in order to resolve merge conflicts with your repo and master without causing errors in your build, would you need to do a pull request from master to your repo to update all the files? Or would that kind of break the pull request in master? (edited)
Avatar
Avatar
Voxel
Stupid question, but in order to resolve merge conflicts with your repo and master without causing errors in your build, would you need to do a pull request from master to your repo to update all the files? Or would that kind of break the pull request in master? (edited)
Rebase your branch
11:37
to upstream master
Avatar
checkout in your master branch, update it to the latest ddnet master, then checkout your working branch and do git merge master i believe
11:37
then it will tell you which files have conflicts
11:38
and you have to manually fix them
11:38
actually havent done this is quite a time
Avatar
oh this is kind of easy
11:40
i know what to work around fixing these conflicts, i just needed to know how to do it
Avatar
[quakenet] ChillerDragon BOT 2022-07-21 12:04:55Z
lmao i just googled for the wrong programming language and did only realize it 20mins later when closing tabs. I made the answer work without noticing its wrong language xxxxxxxxxxxxxD
12:05
next level brain rott
Avatar
UGHHHHH WHY DOES C++ HAVE TO BE SO HARD i resolved conflicting merges and i guess because of that the entire thing gives me 30 different compile errors (edited)
Avatar
I would say if branches have diverged a lot it's easier to rebase on master than to merge master in your branch
Avatar
false alarm, i accidentally created a static int CButtonContainer
12:25
what now
12:25
i didnt even do anything this time wtf
Avatar
Avatar
k2d222
I would say if branches have diverged a lot it's easier to rebase on master than to merge master in your branch
but then how do i test it
12:29
lol i think this program is telling me to just sleep at this point
12:31
Everything's seemingly updated in https://github.com/ddnet/ddnet/pull/5639 ... I don't have the brain capacity to figure out what I did wrong
Since we're doing a push to assist newer players, I think it would be a good idea to differentiate the different types of lasers, so that non-moving laser entities aren't confused with door...
12:32
all the bugs are in RenderDropDown, for some reason
Avatar
Avatar
Voxel
what now
it tells you what's wrong
12:33
make sure those arguments match what you have in the header
Avatar
well i fixed it but now im looking at my commits and it really showed this is my first time coding #(
Avatar
don't worry, git merging is a pain whether youre a newbie or a pro even if it gets a bit easier
Avatar
hello i write this bind and now i cant move; bind x "+toggle cl_mouse_max_distance 2 VALUE1; +toggle inp_mousesens 1 VALUE2"
Avatar
Avatar
kada_anes
hello i write this bind and now i cant move; bind x "+toggle cl_mouse_max_distance 2 VALUE1; +toggle inp_mousesens 1 VALUE2"
hello, VALUE1 and VALUE2 should be replaced with the values you use for mouse distance and sensitivity, default values are 400 for VALUE1 and 200 for VALUE2
Avatar
like this : bind x "+toggle cl_mouse_max_distance 2 400; +toggle inp_mousesens 1 200"
Avatar
Avatar
kada_anes
like this : bind x "+toggle cl_mouse_max_distance 2 400; +toggle inp_mousesens 1 200"
yes that should work
Avatar
See #5646.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [X] Considered possible null pointers and out of bounds array indexing
  • [X] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#us...
Avatar
I think it's not really nice style, IDE's find the wrong include and that's confusing. We can do most stuff with constexpr or (c++20) consteval.
Avatar
Avatar
Voxel
well i fixed it but now im looking at my commits and it really showed this is my first time coding #(
don't worry, this is fine, you can also squash commits together if you want to reduce number of commit to look more "pro"
Avatar
This is driving me insane
15:57
Lol, it was so bad it took the screenshot after discord stopped hogging the cpu
15:59
Discord and spotify just randomly decide to use 100% of an entire core and for whatever reason the kernel just can't handle it
Avatar
Avatar
Learath2
This is driving me insane
what kind of CPU do u even have?
Avatar
Intel i7 4770k
Avatar
sounds good enough
Avatar
It is a little old, but it shouldn't crumble under spotify ffs
Avatar
maybe caching or smth?, ever tried a clean reinstall or a different computer?
16:06
i mean that these electron apps suck compared to native programs is obvious, but i think i've never seen them using 100% of one core 😄
Avatar
For almost half a minute too, it just won't let go
Avatar
Avatar
Jupstar ✪
i mean that these electron apps suck compared to native programs is obvious, but i think i've never seen them using 100% of one core 😄
I've seen it on discord on macOS too
16:07
but there the kernel managed to schedule other stuff even though one core was being completely hogged
16:08
I'm starting to wonder whether I misconfigured this kernel, but it used to happen on arch too with the precanned kernel
Avatar
Avatar
Learath2
I've seen it on discord on macOS too
does it maybe scan files on your computer?, or is it CPU only? discord employee: while(WaitForMessage) ++i
Avatar
Avatar
Jupstar ✪
does it maybe scan files on your computer?, or is it CPU only? discord employee: while(WaitForMessage) ++i
I was thinking about this, so I got iotop too so I can check io usage when it happens again
Avatar
I loled at "precanned kernel"
Avatar
you can try to denice it to lowest level to prevent system unresponsiveness
17:07
this is what i sometime use for vscode because it either hogs cpu or whole memory
Avatar
Info: I created a Docker image for the DDNet server, but the server crashed because of SIGSEGV when going through a certain part of the map. I checked with the 16.2.2 and 16.2.1 versions in Docker and outside of Docker. Also, i tried to get useful info from gdb, but gdb gave me this: Thread 1 "DDNet-Server" received signal SIGSEGV, Segmentation fault. 0x00000000004bec4d in ?? () Reproducting issue: 1. Setup a DDNet server with map "newbee" 2. Tp to checkpoint 11 3...
Avatar
actually, its more their cppservtools stuff that probably handles c++ files that is really cpu and memory hungry
Avatar
b4eee12 Fix null pointer access in maplayers when the snapshot has no game info - Robyt3 95636da Fix out of bounds access with highlighted messages in server demos - Robyt3 b1b1803 Merge #5647 - bors[bot]
Avatar
``` src/game/server/teams.cpp:484:35: runtime error: shift exponent -1 is negative 0x55d065b241c4 in CGameTeams::TeamMask(int, int, int) src/game/server/teams.cpp:484 0x55d0657f92ed in CCharacter::TickDefered() src/game/server/entities/character.cpp:821 0x55d065a5d04c in CGameWorld::Tick() src/game/server/gameworld.cpp:283 0x55d0659327e6 in CGameContext::OnTick() src/game/server/gamecontext.cpp:852 0x55d0656e6a88 in CServer::Run() src/engine/server/server.cpp:2807 ...
Avatar
Avatar
fokkonaut
@Learath2 Why dont we introduce new snap objects for entities we use in DDNet, that requires specific information? Why do we add an EntitiyEx, that requires another snap object and therefore fills up the already quite small snap very fast with many objects? We have the extended net message and object system, i think it would be the right way to go to actually use it for more things
It seems like, with too many lasers for example on my server, the client just cant do all the work in time, it starts to lag if you zoom out a lot.
19:00
Weird is, sometimes it can sometimes it cant BLMODsad
Avatar
maybe system charges change, or like cpu heat can force throttle
Avatar
chillerdragon BOT 2022-07-21 22:33:52Z
It’s a bit cringe to use kali as a daily driver imo :DWhy do you ask? (@ᴿᵉˣᵉᴺ)
Is there anyone whose operating system is Kali Linux?
Avatar
ye kali cringe
22:42
use arch
22:42
or gentoo if u have time
Avatar
use whatever you like 😉
Avatar
use windows
Avatar
build an os that only runs discord and ddrace
Avatar
build an os that only runs ddrace
22:58
and connects to other apps thru ddrace client
Avatar
ddnet window manager when
Exported 110 message(s)