Jump to content

How compatible are ports with Chocolate Doom style connectivity with each other


Recommended Posts

I do realize that this probably isn't a topic a lot of people care about, especially since classic Doom isn't getting any younger. I'm probably not even going to be doing much of this kind of thing in the near future anyway. That being said, as source ports are more developed and forks appear left and right, I am left curious about some things. 

 

Chocolate Doom, of course, came first in 2005. Among its feature set was rewritten multiplayer code that works better than the likes of PrBoom-Plus. As time went on, forks of Chocolate Doom emerged. First Crispy Doom, then Russian Doom, then So Doom. Then Russian Doom split into International Doom and a new Russian Doom.

 

Theoretically, all of these use the same multiplayer protocol. Even Woof, which isn't directly based off the Chocolate Doom codebase like the others, has implemented it. When playing with people using the same client, there isn't any trouble. But what about when going in a cross client direction? 

 

Obviously differences in feature sets mean that certain clients would be affected differently. A chocolate doom server would probably crash the moment anyone encountered a visplane overflow regardless of client, while a server for one of the other clients would probably cause only people running chocolate to crash. Don't take my word on that though.

 

Stuff like that isn't what I'm concerned about. What interests me is when the clients themselves are different in raw compatibility. All of these ports aim for fairly high accuracy with the vanilla game, so the biggest issue would be a different in release dates. The most recent stable versions of Crispy Doom, So Doom, and Russian Doom are from 2023, while International Doom and Woof had their most recent updates in this year of 2024. Playing with one another might be problematic. But none of them are as problematic as one of the clients playing with the most stable client of Chocolate, which came out in 2017 (I know there's the bug fixed version that came out relatively recently, 2020 I believe, but that only exists to fix a security vulnerability so it doesn't count).

 

I am happy that a new stable release for Chocolate appears to be imminent, but I still wonder, are my concerns overblown? How big is the chance of desync between cross port play? This is especially important for Chocolate as it's the most accessible of all the ports on this list for non Windows users (though Crispy and Woof are in certain Linux repositories) and is the only one on the list included in Delta Touch for Android (...alongside Doom Retro, the biggest Chocolate Doom based port I deliberately didn't include on the list because it breaks off demo compatibility and has no multiplayer support)

Share this post


Link to post

Very good question, thank you! In fact, network compatibility is closely bound to demo compatibility. That is, during a network game, the ports exchange packages which contain game tics, whereas when playing back a demo, these game tics are read from the demo lump file. So, if two ports are able to play back the same demos without getting out of sync, they should be able to maintain a network game without getting out of sync as well. I can say with highest confidence that this will be the case with Chocolate Doom and Crispy Doom and Woof on vanilla complevel. 

Share this post


Link to post
On 5/5/2024 at 6:35 AM, Danfun64 said:

I am happy that a new stable release for Chocolate appears to be imminent 

@fabian and me are both waiting for the new Choco version to update our ports for compatibility with it.

Share this post


Link to post
12 minutes ago, SoDOOManiac said:

@fabian and me are both waiting for the new Choco version to update our ports for compatibility with it.

 

Nope, this doesn't have anything to do with compatibility. Crispy is *always* 100% compatible to any version of Chocolate Doom, for the exact reasons I outlined above. It doesn't make a difference how *old* code is a long as it maintains demo compatibility. Also, Crispy is currently only two commits behind Chocolate Doom master branch anyway.

Share this post


Link to post

I have played many times a source port mix of Crispy-DOOM, Inter-DOOM and Woof (vanilla complevel) without problems.

They all have this nice setup.exe to start the network game like it had to be started back in the days with DOS.

The childrens computers source ports get not so often updated then on my PC.

So it is not unlikely we used sometimes not all the up to date versions.

 

Only special i am using is the -oldsync parameter because i get a judder that seems to come from the uncapped framerate in combination without -oldsync.

 

So i can say cross-port playing inside this family of ports works. Only thing is, the port with the most restrictions limits what type of maps you can play.

 

 

 

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...