News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

*** The Doom3 1.3.1 Netcode ***

Started by oneofthe8devilz, October 03, 2014, 07:12:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oneofthe8devilz

Hey guys,

I would like to use this opportunity to try and bring your attention to a very dear topic to me regarding Doom3's netcode and the issues it is causing for me and my coop/multiplayer projects:

Some people might wonder why it actually takes so long to release my mod projects that are currently in development and while being a single person having to overcome technical and design based challenges on multiple layers of game development, that would be just part of the reason for the slow progress. The second even more important one is the state of the original codebase that we were provided with ( D3 1.3.1 ).

In fact the original codebase is "sub-optimal" to provide smooth, lag-less multiplayer gameplay across the internet which would be crucial in order to achieve the atmosphere I am trying to target with those projects.

So the last one and a half years I spent a significant amount of time and financial resources trying to resolve the shortcomings of the idtech4 codebase, regarding the poorly performing netcode at high latency and low/unstable bandwidth conditions. For the ones of you interested in the details of the problem, feel free to visit this d3 1.3.1 netcode thread, which describes the problem in detail.

I currently have a AAA-Industry programmer working on the case but still cannot predict when and if at all a rewrite of the netcode will be successful.

Once this rewrite is complete though, MCS will be able to roll out as a public beta and I can fully focus on my other remaining projects here.

If you guys have ideas on how we could accelerate this process I will be more than glad to hear about your suggestions.

Certainly a reinforcement of capable netcode programmers OR a fund-raise of some sort could significantly speed up this process and free up resources for me so that I can start working faster and more efficient on the other projects...

Please let's try to keep the "D3 1.3.1 vs D3 BFG" debate, out of this discussion as there are multiple reasons for me to stick with the D3 1.3.1 codebase...

(click the image below to playback the youtube video)


.

Visit http://www.scared-pixel-studios.com/forums/viewtopic.php?f=50&t=567 for further details about this topic...

.
.
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

motorsep

RakNet is open source. Maybe worth looking into replacing stock networking with RakNet.

oneofthe8devilz

Quote from: motorsep on October 03, 2014, 08:21:10 AM
RakNet is open source. Maybe worth looking into replacing stock networking with RakNet.

Interesting idea, if I am not mistaken RakNet was also used to implement multiplayer into the "Just Cause 2: Multiplayer" conversion. I also have seen RakNet implement in a couple of other projects...
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

wintch

Not sure if you can mix RakNet with GPL sourced code like that.
Sure that skilled C++ coder can achieve pure GPL rework, the problem is time and reward.
Trying to raise some money in idtech community seems a bad idea for me, we are not so many.
Do you have some idea about the amount needed to rewrite netcode?

motorsep

RakNet for PC is under BSD license, which is GPL compatible.

oneofthe8devilz

Quote from: wintch on October 03, 2014, 01:09:38 PM
Do you have some idea about the amount needed to rewrite netcode?

That really depends on who you ask...

With the current programmer working on it, I have an agreement of 3K USD in case he completes the milestone, which I will be paying out of my own wallet...

Once I publish the build, I will publish it with complete source code and assets access to the community, so honestly every dollar less that I'd have to pay by myself would be welcomed  ;)
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

wintch

Quote from: motorsep on October 03, 2014, 01:18:17 PM
RakNet for PC is under BSD license, which is GPL compatible.
Oh great then! Maybe it is an option

oneofthe8devilz

#7
I still do firmly believe that the chances of rewriting the 1.3.1 netcode to an interpolation based model is the less technically challenging option compared to implementing RakNet into the codebase and having basically to rewrite a lot of entity based netcode from scratch ...

We are in the unique situation to have source access to D3 1.3.1 and D3 BFG and while BFG is for the most part a complete new engine it still runs pretty much the same gamecode and should be able to serve as an excellent guide on how to implement interpolation to D3 1.3.1, given you have a programmer that has the required experience in that field.

And this is where the true problem lies I think. The very nature of the task, namely understanding and writing sophisticated game netcode. The pool of people with such technical abilities seem to be worldwide in the few thousands. So it is hard to find and hire those experts and once one does, it certainly doesn't come cheap...

But regardless of community donations or not, when the chips are down, I am determined to finance that work. The problem for me lies more into finding competent programmers with enough experience to successfully complete it.
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

wintch

To be honest with you, i was very disappointed finding this issue after months of being rewriting assets. It would be great to switch to interpolation as well as fix other issues inside the engine. Still dhewm3/doom3 code works, you can have mod almost done before digging into sourcecode.
If you start some campaign to raise money, count on me.

Regards

oneofthe8devilz

#9
Quote from: wintch on October 03, 2014, 04:57:45 PM
If you start some campaign to raise money, count on me.

Cool, I plan to start a small crowd-funding campaign by the end of the year 2014 / beginning of 2015.

Nothing is written in stone yet so please don't nail me down on it until I got it set up but the rough idea for the crowd-funding campaign looks like this:

  • Main Funding Goal: Interpolation Netcode Rewrite aprox. 10K

  • Stretch Goal 1: improved renderer (moving Sikkmod shadercode to the engine for better performance and porting ShadowMapping) aprox. 5K

  • Stretch Goal 2: porting Stereo 3D support, porting/implementing Oculus Rift Support aprox. 5K

Eventually there will be pledge options available from 5$ up to 100$ based on how much a person would like to support this project...

As usual, in case you guys have constructive ideas on how to optimize the crowd-funding campaign, I welcome any suggestions... 
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

wintch

#10
The main problem with Crowdfunding in my opinion, is that bakers always expect CDkey or some other real benefit in exchange
Also i guess we can't say something like: "Bring interpolation to Doom3" as Doom3 is trademarked, also a really old game and nobody cares about it's multiplayer anymore (maxplayers=4)  :o
The possibility is another game based on it's source code, like Darkmod. I know they are not using network, it's just an example.
If i can get EULA free multiplayer game working, maybe it's better to say something like: "We want this and any other Idtech4 based game to have good netcode/3d support, etc. So everyone could benefit".
Just an idea, maybe it is easier to convince people this way.

Best of luck

motorsep

I am sorry, but this proposal makes no sense.

For 20k you can port tools to BFG and port them to Qt5, fix modding support/content authoring, fix multiplayer and port back old fullscreen GUI (if you don't like Flash), and fix multiplayer. And you don't even need top notch software engineer to do all that.

However, 20k will not be enough to implement what you want, plus you still won't have multithreading. Also, for the job you will need top notch programmer. Good luck finding one with free time and willing to dig idTech 4 code.

wintch

#12
Quote from: motorsep on October 04, 2014, 12:08:05 AM
I am sorry, but this proposal makes no sense.

For 20k you can port tools to BFG and port them to Qt5, fix modding support/content authoring, fix multiplayer and port back old fullscreen GUI (if you don't like Flash), and fix multiplayer. And you don't even need top notch software engineer to do all that.

However, 20k will not be enough to implement what you want, plus you still won't have multithreading. Also, for the job you will need top notch programmer. Good luck finding one with free time and willing to dig idTech 4 code.

Let it be BFG, what is the difference? As long as it is working. I am stuck with dhewm3 because of (badly but still) dedicated/multiplayer support. Otherwise i would pass to BFG years ago

p/s
Nothing personal against dhewm3, in fact i guess it is the best idtech4 engine over there