I was just reading on the vanilla doom section of the wiki that if you rebuild the nodes in the original IWAD, that multiplayer won't work correctly. I don't understand this is because I thought Nodes were just for rendering optimization. Does the Node building process actually reorder the vertex info or something?
If someone could explain this to me I'd really appreciate it.
Quesiton about WAD nodes and multiplayer
Re: Quesiton about WAD nodes and multiplayer
Depends on the nodes your rebuilding. Rebuilding the blockmap (enemy sight checking) would be a horrible thing to do in multiplayer, for example.
Re: Quesiton about WAD nodes and multiplayer
Why would you edit the IWAD in ANY way, though?
Re: Quesiton about WAD nodes and multiplayer
You could at least capitalize my name when you put me down. 

- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49234
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Quesiton about WAD nodes and multiplayer
Nodes are also used for sight checking (in Doom.exe, not in ZDoom though.) But this isn't the real problem.
That is the blockmap. The blockmap is used for lots of checks inside the engine and if it's no longer the same some subtle variations of engine behavior can creep in that eventually let the game desync.
That is the blockmap. The blockmap is used for lots of checks inside the engine and if it's no longer the same some subtle variations of engine behavior can creep in that eventually let the game desync.
Re: Quesiton about WAD nodes and multiplayer
What about client/server in Skulltag? I guess that it works better than the peer to peer?
Re: Quesiton about WAD nodes and multiplayer
It helps if you understand the difference between a netcode that only sends player moment and control data (zdoom), and a netcode that sends anything about everything (skulltag).
Re: Quesiton about WAD nodes and multiplayer
In other words, ZDoom will desync because all players are running local copies of the game that differ from the subtle variations introduced by the differences in the blockmap.
Skulltag's behavior is going to depend on if all the blockmap related calculations are done on the server. If they are, then all the calculations are done on the server and identical results are passed to the clients; no problem at all. If all the related calculations aren't done on the server, Skulltag (if it is designed correctly) will prevent the players from playing together to begin with, citing the differences in their map files.
Skulltag's behavior is going to depend on if all the blockmap related calculations are done on the server. If they are, then all the calculations are done on the server and identical results are passed to the clients; no problem at all. If all the related calculations aren't done on the server, Skulltag (if it is designed correctly) will prevent the players from playing together to begin with, citing the differences in their map files.