Official Soldat Forums

Soldat Talk => Game Improvements / Suggestions => Topic started by: -Major- on March 27, 2010, 06:03:26 pm

Title: tcp netcode
Post by: -Major- on March 27, 2010, 06:03:26 pm
change the netcode to tpc instead of udp, it both makes the gameplay better by making everybody have the same ping, and makes sure there's no packetloss.
Title: Re: tpc netcode
Post by: chutem on March 27, 2010, 11:22:58 pm
Obviously it isn't that simple.
Title: Re: tpc netcode
Post by: jrgp on March 28, 2010, 12:28:36 am
Having an online multiplayer action game use TCP instead of UDP is a terrible idea and thus never happens. Why? UDP is *stateless* and doesn't really care about packet reliability; when it sends a packet, instead of waiting to see if it sent and resending it if it didn't, it doesn't care and just sends the next one. Whereas with TCP you'd have the giant overhead of checking if a packet was received and having to resend the ones that weren't. It would make everything ingame super slow unless you were on some super fast network, such as a LAN.

Just like everyone before me who had answer this question to people too lazy to look around, F11.
Title: Re: tpc netcode
Post by: -Major- on March 28, 2010, 12:46:09 am
well, the current netcode is quite horrible, I rather have 2-3x the ping than having this horrible netcode.
Title: Re: tpc netcode
Post by: jrgp on March 28, 2010, 12:51:21 am
well, the current netcode is quite horrible, I rather have 2-3x the ping than having this horrible netcode.

Moving the current netcode to TCP would likely require much of it being rewritten, and it would be way, way, way slower. Plus people who know what they're talking about would be b***hing at MM/eC like hell.

Just rewriting it to be more efficient (and keeping it UDP) is the best/only option.
Title: Re: tpc netcode
Post by: -Major- on March 28, 2010, 12:56:55 am
well, the current netcode is quite horrible, I rather have 2-3x the ping than having this horrible netcode.

Moving the current netcode to TCP would likely require much of it being rewritten, and it would be way, way, way slower. Plus people who know what they're talking about would be b***hing at MM/eC like hell.

Just rewriting it to be more efficient (and keeping it UDP) is the best/only option.
enesce doesn't have the skill required to rewrite the UDP code, but might beable to write a tpc netcode.
this is confirmed by quotes of enesce trying to understand the current netcode (probably why he doesn't try to fix it).
Title: Re: tpc netcode
Post by: jrgp on March 28, 2010, 01:02:10 am
enesce doesn't have the skill required to rewrite the UDP code, but might beable to write a tpc netcode.
this is confirmed by quotes of enesce trying to understand the current netcode (probably why he doesn't try to fix it).

I honestly doubt that he's unable to deal with the current netcode, and that instead he's either too lazy or lacks the time. But if it so that he is unable, then it's his own fault for not letting people who most certainly are able to use UDP correctly, such as Shoozza/Toumaz/ChrisGBK/etc work on the netcode for/with him.

P.S., it's TCP not TPC.
Title: Re: tpc netcode
Post by: Boots on March 28, 2010, 02:02:35 am
banasan'd..

the netcode is going to get any better any time soon... sooo get over it, go play a different game.
Title: Re: tpc netcode
Post by: -Major- on March 28, 2010, 02:48:22 am
banasan'd..

the netcode is going to get any better any time soon... sooo get over it, go play a different game.
you make perfect sense
Title: Re: tpc netcode
Post by: Centurion on March 28, 2010, 05:22:28 am
P.S., it's TCP not TPC.

THIS


Proves that -Major- has no idea what he's talking about.
Title: Re: tpc netcode
Post by: SpiltCoffee on March 28, 2010, 06:58:24 am
Even IF the netcode was moved from UDP to TCP, there's no guarantee that the "eating" problems that occur would be fixed. The problems in the game are more commonly found to be synchronisation errors between the server and clients regarding the position of players and objects in the game, and changing networking protocols is not going to solve anything, only make things worse.

With Soldat as far gone in it's development as it is, it's pretty difficult to actually fix this synchronisation problem within the game. The best that you could expect EnEsCe (or anyone working solo) to do would be to find ways to make the problem less obvious (like making the server control bullet and explosive push).
Title: Re: tpc netcode
Post by: -Major- on March 28, 2010, 08:13:11 am
Even IF the netcode was moved from UDP to TCP, there's no guarantee that the "eating" problems that occur would be fixed. The problems in the game are more commonly found to be synchronisation errors between the server and clients regarding the position of players and objects in the game, and changing networking protocols is not going to solve anything, only make things worse.

With Soldat as far gone in it's development as it is, it's pretty difficult to actually fix this synchronisation problem within the game. The best that you could expect EnEsCe (or anyone working solo) to do would be to find ways to make the problem less obvious (like making the server control bullet and explosive push).
ye, I remeber we talked about this, but enesce refused to do anything. as I suggest bulletpush is applied to eaten bullets, and since the bullet push is applied, you can just check the bullet and add the damage. same with grenades, since you get pushed, you can just check the previous loaction and register the nade (or make all those eats nade take damage similar to nade-to-head damage).

P.S., it's TCP not TPC.

THIS


Proves that -Major- has no idea what he's talking about.
ye ofc, the 13 year old kid is right.
tpc is some thing, just google tpc tube or something. only a retard would start argument about such things.
your parents hates you, you suck in school, got no friends and never had a girl friend, we know, but don't come here and try to get heard -.-
Title: Re: tpc netcode
Post by: Dusty on March 28, 2010, 08:22:02 am
your parents hates you, you suck in school, got no friends and never had a girl friend, we know, but don't come here and try to get heard -.-

Ohh the irony
Title: Re: tpc netcode
Post by: jrgp on March 28, 2010, 08:40:46 am
your parents hates you, you suck in school, got no friends and never had a girl friend, we know, but don't come here and try to get heard -.-

Look who's talking you little 4chan loving c**t who's obsessed over underage Asian girls who don't really exist (your avatar). I'm only trying to help here and your s**tting all over me. :P
Title: Re: tpc netcode
Post by: Boots on March 28, 2010, 03:58:26 pm
LOL
Title: Re: tcp netcode
Post by: -Major- on March 29, 2010, 02:54:12 pm
your parents hates you, you suck in school, got no friends and never had a girl friend, we know, but don't come here and try to get heard -.-
Look who's talking you little 4chan loving c**t who's obsessed over underage Asian girls who don't really exist (your avatar). I'm only trying to help here and your s**tting all over me. :P
you think a politician can whine over his own life when it's about serious business? no, bringing up personal issues or trying to be heard is just an annoying act made by retarded people.

also, I barely visit 4chan, I'm not obsessed with underage girls (if you think my avatar looks like underage... then I guess your 18 = 30). you obviously have a hard time separating things from yourself. as in, if you see a gang laughing, you'll directly think they are laughing at you.
if  I quote centurion I obviously talk to him, however, since you're this retarded, I'm ok with you taking it as something against you.
Title: Re: tcp netcode
Post by: DarkCrusade on March 29, 2010, 08:53:29 pm
ye ofc, the 13 year old kid is right.
tpc is some thing, just google tpc tube or something. only a retard would start argument about such things.
your parents hates you, you suck in school, got no friends and never had a girl friend, we know, but don't come here and try to get heard -.-

you think a politician can whine over his own life when it's about serious business? no, bringing up personal issues or trying to be heard is just an annoying act made by retarded people.

Oh I love you
Title: Re: tcp netcode
Post by: Centurion on March 29, 2010, 10:36:56 pm
18 = 30

Lol, since when does 18 equal to 30?
Title: Re: tcp netcode
Post by: Furai on March 30, 2010, 02:38:58 am
Co-co-co-combo breaker! Stop this flamewar. :D
Title: Re: tcp netcode
Post by: DarkCrusade on March 30, 2010, 05:07:57 am
Then this thread gets useless unless -Major- updates the first post with a never seen, brandnew, and awesome suggestion.

D:
Title: Re: tcp netcode
Post by: Horve on March 30, 2010, 07:46:19 am
the german brainfucker with a minefield on his face has managed to place not just one, but two absolutely useless and irrelevant posts here. I want everyone to cherish them for the rest of their lives.

It's a series of tubes.
I have a tendency to believe that jrgp knows what he's talking about more than anybody else here. Except for me, of course.
Title: Re: tcp netcode
Post by: Centurion on March 30, 2010, 11:57:26 am
http://www.youtube.com/watch?v=suD0AH6aSjE

Skip to 0:58 till it starts singing about german people. GJ
Title: Re: tcp netcode
Post by: Neosano on March 31, 2010, 07:08:36 am
Obviously it isn't that simple.
god damn it fucking IS!
Title: Re: tcp netcode
Post by: FliesLikeABrick on March 31, 2010, 04:30:13 pm
The biggest problem with TCP for realtime applications is as follows.  This is why UDP is used for
games
voice (VoIP)
streaming real-time movies/content
DNS

The reason:
When a packet is dropped in TCP, the manner in which it is handled would wreak havoc.

Say you have a TCP connection open between computers X and Y, and packet number 5 going from X to Y is lost/dropped because of a network error, noisy DSL line, etc.  Y will miss packet 5, get 6,7,8 etc, but will not actually USE 6/7/8 until it gets 5.  So either it waits for X to retransmit packet 5 after a certain amount of time because Y never acknowledged it, or Y will say "yo, I never got 5!".

Once Y finally gets 5, it will then finally use 6/7/8.  Now keep in mind... the game data stream from X has been frozen completely for this time, sometimes up to half a second when a packet is dropped in TCP. 

Now think about how that will help your gameplay out.

(It won't, it'd make the problems you guys complain about much, much worse).
Title: Re: tcp netcode
Post by: -Major- on March 31, 2010, 06:22:38 pm
The biggest problem with TCP for realtime applications is as follows.  This is why UDP is used for
games
voice (VoIP)
streaming real-time movies/content
DNS

The reason:
When a packet is dropped in TCP, the manner in which it is handled would wreak havoc.

Say you have a TCP connection open between computers X and Y, and packet number 5 going from X to Y is lost/dropped because of a network error, noisy DSL line, etc.  Y will miss packet 5, get 6,7,8 etc, but will not actually USE 6/7/8 until it gets 5.  So either it waits for X to retransmit packet 5 after a certain amount of time because Y never acknowledged it, or Y will say "yo, I never got 5!".

Once Y finally gets 5, it will then finally use 6/7/8.  Now keep in mind... the game data stream from X has been frozen completely for this time, sometimes up to half a second when a packet is dropped in TCP. 

Now think about how that will help your gameplay out.

(It won't, it'd make the problems you guys complain about much, much worse).

are you sure? won't this kind of punish this weak telephone line connections?

either way, I doubt it can get much worse than the current netcode.
Title: Re: tcp netcode
Post by: FliesLikeABrick on April 01, 2010, 11:42:14 am
You clearly don't know anything about writing network code or how TCP and UDP actually work. 

It is a horrible idea.  There are probably *no* realtime games in the world that use TCP for their netcode, and there's a good reason for it.

I'm not going to bother commenting on your posts in this thread anymore because they're just so incorrect.
Title: Re: tcp netcode
Post by: L[0ne]R on April 01, 2010, 05:35:53 pm
either way, I doubt it can get much worse than the current netcode.
After FLAB's explanation on how TCP works (very educational, thanks :P ) I can tell you without a doubt: yes, it can get much worse (even though it already is pretty bad). Not just with TCP - even with UDP it can get much worse, and I personally seen this in some games. Just use your imagination a bit.