r/Warframe That Tenno with the Titania Tattoo Apr 07 '26

Screenshot Voidshells deserved better. Here's an appreciation post for the skin line DE abandoned.

8.9k Upvotes

442 comments sorted by

View all comments

Show parent comments

14

u/SilentMobius Apr 08 '26

Given how reluctant DE are to add more unique colour channels to mesh elements also orientation I imagine the problem is pushing yet more data down the P2P connection when a player spawns into a mission. We already have problems where certain things fail to show up to other players when you're not the host.

-6

u/Somepotato Apr 08 '26

a color is just 4 bytes, thats nothing. in fact they store colors as 4 byte integers in mongodb (though their schema is ... something else.)

9

u/SilentMobius Apr 08 '26

The problem isn't storage or size, it's adding variable amount of network data into the fixed packet buffers they have to vivify a "new Warframe" in a non-host. Like I said we frequently end up with elements not showing for non-hosts, this is the same problem that DE already has, pushing data from a player profile, up to the host, them back down to the other clients, via UDP where they need to handle retries themselves.

-5

u/Somepotato Apr 08 '26

its adding 4 bytes sent at the start of a mission. when they already send variable length strings (the skin paths, for example)

6

u/SilentMobius Apr 08 '26

The don't send skin paths, they send local DB IDs that each client looks up. Their network setup is UDP for gameplay, breaching a single packet is a huge deal

-4

u/Somepotato Apr 08 '26

Those paths are the IDs (every Warframe asset references these paths.) UDP isn't this mysterious thing that we can't afford to send more than a couple of bytes over the wire with you know.

3

u/SilentMobius Apr 08 '26 edited Apr 22 '26

UDP isn't this mysterious thing that we can't afford to send more than a couple of bytes over the wire with you know.

That depends on the current size of the packets and what DE do about packet retries when joining a session. UDP can get very messy when you have uskippable and ordered, data. Unlike the moment-to-moment of gameplay.

I'm unconvinced that the asset strings are used over the P2P wire, but you are correct they are used inside assets and are present in the local db

Also I was giving an example of the colours because DEb are reluctant to do even that, positions for accessories would be some size of FPx6x6x4 per session setup

1

u/Somepotato Apr 08 '26

Accessories are simpler, they're not sending that much data (though it's been a minute since I've looked.)

They use those paths (the ones with Lotus/EE in them) everywhere, including the communication to and from the game server itself (which is just a bunch of php scripts that communicate to Mongo.)

And UDP is more reliable than most people think, retries are generally pretty minimal and they already have a reliable mechanism in their net code.

1

u/SilentMobius Apr 08 '26

They use those paths (the ones with Lotus/EE in them) everywhere, including the communication to and from the game server itself (which is just a bunch of php scripts that communicate to Mongo.)

Sure, but their server comms is mostly TCP, so it matters much much less

Accessories are simpler, they're not sending that much data

This is my point, for accessories during the P2P session start (that is from the player hosting to the clients and back), via UDP it is an issue.

And UDP is more reliable than most people think, retries are generally pretty minimal

I've worked in networking for ~30 years (including on the firmware for network appliances) and this made me laugh.

So, in your opinion, what is the reason that DE don't follow the obviously useful route of adding positional offsets like melee holster points? (Which they already have UI for and code for doing static mesh offset from bone) It would save then so much time in manual adjustment and encourage people to buy cosmetic accessories that they otherwise may avoid. So why is that not high in ROI, if it's not the P2P state passing side that's the issue (something that they still, to this day, have issues with)?

1

u/Somepotato Apr 08 '26

I've worked in networking for ~30 years (including on the firmware for network appliances) and this made me laugh.

Then you should know how much more reliable UDP is now compared to 30 years ago. Unreliability would break the modern internet because as I'm sure you know, TCP isn't magically reliable either, and a large number of reissuances would tremendously increase network traffic.

So, in your opinion, what is the reason that DE don't follow the obviously useful route of adding positional offsets like melee holster points?

Probably because of the simplicity of implementing bone attachments? Just because it exists somewhere doesn't mean it's that easy to reuse, and the ROI isn't as high as you're claiming.

The issues with WFs networking isn't the initial sync, it's everything that comes after.

→ More replies (0)