Charlie/the Team. A Little Heads Up.
The_Wicked_One
Join Date: 2003-08-06 Member: 19108Members
<div class="IPBDescription">Regarding Source Issues. (long post)</div> First off, I'd like to offer my sincere gratitude to Flayra/The NS Team for considering to go Source. I would have hated to see NS die with an obsolete engine when the game itself has potential beyond comprehension.
Flayra might remember me from NS as Dave (aka Dave-God/Über-Com). We had a few discussions about the game, modding, the team, etc etc. Unfortunately I dropped off the planet when source came out because of its graphics. lol. Sorry, I just love pretty things. lol
Now, while I am absolutely thrilled by the choice to go source with NS, I must give a few pointers about the source engine to Flayra/the team so that they are not overlooked during modding. My guess is that the team has already cracked source open and figured all this stuff out anyway, but I figured it wouldn't hurt JUST in case things get overlooked. CS:Source got raped due to the problems with the engine, and hopefully NS will have some venue of avoiding or otherwise compensating for the lack of engineering quality that has plagued Source so far.
Please don't be mislead, I am not trying to flame source or drive people away from it. I actually find source quite fun despite its problems, and will continue to enjoy it along with its third party mods. These issues that I am posting are, in fact, my opinion/observations/information along with a multitude of other experienced players, mappers, and modders, from the original Half Life and Half Life 2/Source.
The main issue, that is holding the most concern for many players at this point, is the pathetic netcode for source. Currently there are several problems both client side and server side. I will do my best to explain.
Presently the clientside issues are light in comparason to server side problems. One of the main complications is simple relaying. I.e. You have your crosshairs on the guy's forehead, pull the trigger, and miss. Simlulaniously, you can aim three feet in either direction of the player, pull the trigger, and hit. Bear in mind that I have honed my own ISP/Console/Cfg down to a science, and while the severity of the problems decreased significantly, they are still quite apparent. This is another main reason why new players to source are going "WTH? That worked on 1.6!!" Basically, they aren't aware of the netcode issues, and haven't done their personal configs/consoles to compensate. Also, clientside registry is not relaying properly to the serverside registry. What would be considered a hit on your screen, is not a hit on the server's 'screen' even if your ISP/Cfg is perfect. This effectively means that aim is secondary in source unless the server you're on is flawless in terms of its own customed cfg/ISP. (Oh, and yes, most sysops for any reliable server on source has had to do massive alterations just to get their server to stay stable and accurate)
Secondly, and probably a little less important is the physics registry/relay issue. For those who have played source already, regardless of the game, have noticed those little 'movable' physics objects that are so fun to throw at people with the gravity gun and watch them smack into the wall. =D (or otherwise create barricades with). These wonderful objects are actually another reason for horrid lag in Source. Effectively, whlie they add a great 'feel' and playability to a map, they are a nightmare for servers.
Lets say for example the mapper has placed several wooden (destroyable/Movable) boxes stacked atop one another. Maybe, 6-10 boxes. Someone throws a grenade, and it lands behind those boxes. (or close enough to make every box blow up and send splinters of graphical goodness all over the room) When the server recognizes what has happened, it must send the packets of information to every connected client to tell them exactly what happend to the boxes. Basically, what made the boxes blow up in a particular direction (trajectory, which boxes actually desintegrated or just cracked a bit, etc) and what was left of this entire occurance (Splinters on the ground, any objects inside the boxes are now accessable, starting respawn timer, etc) The sheer amount of bandwidth required to do this is absolutely <b>insane</b>.
Third, and probably as important, is simple clientside error/ignorance and more lag. Normally, you get on a server, someone has 200+ ping, and you really don't care right? You can still kill them, and they're probably having troubles killing you. Hah, serves them right for living in Bum Fk Egypt with no Reliable ISP. (Sorry, I can be a **** at times. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin-fix.gif' border='0' style='vertical-align:middle' alt='biggrin-fix.gif' /><!--endemo-->) So when you see people with 200 ping, and their easy to kill/dodge, you instantly assume its their lag. Actually, lag is completely **** backwards in Source. Basically, you can find people on a server that have a seemingly low 20-50 ping, and be completely unaware of the fact that they are lagging tremendously, while some of those 150+ pingers aren't lagging much at all.
Next time any of you are in source, go to console and type cl_interp 0 and cl_smooth 0. This will tell your client to stop compensating for lagging players by smoothing their animations/models. If someone is lagging, chances are those commands will tell you who is and who isn't. You'll probably be surprised to see many of the LPB's lagging through 80% of your shots and still being able to kill you simply. They'll deny it of course, because they go "no no, Look at my ping. My ping is good!" being completely unware that they're losing packets left and right. So having a great ISP in Source might get you killed faster than it will get you to survive. Chances are when more of the Source community hears of this, they'll be admining a touch more to warn/kick laggers of a certain severity since I highly doubt Valve wants to rework their netcode. (IMO Source should have stayed alpha/beta for another minimum six months)
There is much more to it than that, but I'll give your eyes a rest. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo--> Once again, I state that I am in no way attempting to flame or otherwise make source look bad. I simply am aware of these issues and believed it to be of importance to the NS team. (if they haven't found this all out already)
Hopefully this might help the mappers for NS (offical or otherwise) not put too many interactive physics of high graphical nature onto their maps also. Obviously, some good destroyable physics are fun, but try not to go overboard considering. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo--> Also, when creating skulks, or other small boxed, fast moving creatures, try to remember that it might (hopefully not) be a pain in the **** trying to hit them with guns on the Source engine due to simple lag crop-ups. (both engine, and client)
Bringing the feel of the Natural Selection game to the Source engine will indeed be a daunting task, but I fully believe that Charlie/The team are quite capable of such a feat . .And needless to say, when its all done, There will be no more source for me. Just, NS:Source. =D (oh how I miss my NS days. . heh)
I appriciate your time, and welcome any questions. If I have been of any help at all, I am glad.
Dave (aka Dave-God/Über-Com)
Slut of NS since its conception.
Flayra might remember me from NS as Dave (aka Dave-God/Über-Com). We had a few discussions about the game, modding, the team, etc etc. Unfortunately I dropped off the planet when source came out because of its graphics. lol. Sorry, I just love pretty things. lol
Now, while I am absolutely thrilled by the choice to go source with NS, I must give a few pointers about the source engine to Flayra/the team so that they are not overlooked during modding. My guess is that the team has already cracked source open and figured all this stuff out anyway, but I figured it wouldn't hurt JUST in case things get overlooked. CS:Source got raped due to the problems with the engine, and hopefully NS will have some venue of avoiding or otherwise compensating for the lack of engineering quality that has plagued Source so far.
Please don't be mislead, I am not trying to flame source or drive people away from it. I actually find source quite fun despite its problems, and will continue to enjoy it along with its third party mods. These issues that I am posting are, in fact, my opinion/observations/information along with a multitude of other experienced players, mappers, and modders, from the original Half Life and Half Life 2/Source.
The main issue, that is holding the most concern for many players at this point, is the pathetic netcode for source. Currently there are several problems both client side and server side. I will do my best to explain.
Presently the clientside issues are light in comparason to server side problems. One of the main complications is simple relaying. I.e. You have your crosshairs on the guy's forehead, pull the trigger, and miss. Simlulaniously, you can aim three feet in either direction of the player, pull the trigger, and hit. Bear in mind that I have honed my own ISP/Console/Cfg down to a science, and while the severity of the problems decreased significantly, they are still quite apparent. This is another main reason why new players to source are going "WTH? That worked on 1.6!!" Basically, they aren't aware of the netcode issues, and haven't done their personal configs/consoles to compensate. Also, clientside registry is not relaying properly to the serverside registry. What would be considered a hit on your screen, is not a hit on the server's 'screen' even if your ISP/Cfg is perfect. This effectively means that aim is secondary in source unless the server you're on is flawless in terms of its own customed cfg/ISP. (Oh, and yes, most sysops for any reliable server on source has had to do massive alterations just to get their server to stay stable and accurate)
Secondly, and probably a little less important is the physics registry/relay issue. For those who have played source already, regardless of the game, have noticed those little 'movable' physics objects that are so fun to throw at people with the gravity gun and watch them smack into the wall. =D (or otherwise create barricades with). These wonderful objects are actually another reason for horrid lag in Source. Effectively, whlie they add a great 'feel' and playability to a map, they are a nightmare for servers.
Lets say for example the mapper has placed several wooden (destroyable/Movable) boxes stacked atop one another. Maybe, 6-10 boxes. Someone throws a grenade, and it lands behind those boxes. (or close enough to make every box blow up and send splinters of graphical goodness all over the room) When the server recognizes what has happened, it must send the packets of information to every connected client to tell them exactly what happend to the boxes. Basically, what made the boxes blow up in a particular direction (trajectory, which boxes actually desintegrated or just cracked a bit, etc) and what was left of this entire occurance (Splinters on the ground, any objects inside the boxes are now accessable, starting respawn timer, etc) The sheer amount of bandwidth required to do this is absolutely <b>insane</b>.
Third, and probably as important, is simple clientside error/ignorance and more lag. Normally, you get on a server, someone has 200+ ping, and you really don't care right? You can still kill them, and they're probably having troubles killing you. Hah, serves them right for living in Bum Fk Egypt with no Reliable ISP. (Sorry, I can be a **** at times. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin-fix.gif' border='0' style='vertical-align:middle' alt='biggrin-fix.gif' /><!--endemo-->) So when you see people with 200 ping, and their easy to kill/dodge, you instantly assume its their lag. Actually, lag is completely **** backwards in Source. Basically, you can find people on a server that have a seemingly low 20-50 ping, and be completely unaware of the fact that they are lagging tremendously, while some of those 150+ pingers aren't lagging much at all.
Next time any of you are in source, go to console and type cl_interp 0 and cl_smooth 0. This will tell your client to stop compensating for lagging players by smoothing their animations/models. If someone is lagging, chances are those commands will tell you who is and who isn't. You'll probably be surprised to see many of the LPB's lagging through 80% of your shots and still being able to kill you simply. They'll deny it of course, because they go "no no, Look at my ping. My ping is good!" being completely unware that they're losing packets left and right. So having a great ISP in Source might get you killed faster than it will get you to survive. Chances are when more of the Source community hears of this, they'll be admining a touch more to warn/kick laggers of a certain severity since I highly doubt Valve wants to rework their netcode. (IMO Source should have stayed alpha/beta for another minimum six months)
There is much more to it than that, but I'll give your eyes a rest. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo--> Once again, I state that I am in no way attempting to flame or otherwise make source look bad. I simply am aware of these issues and believed it to be of importance to the NS team. (if they haven't found this all out already)
Hopefully this might help the mappers for NS (offical or otherwise) not put too many interactive physics of high graphical nature onto their maps also. Obviously, some good destroyable physics are fun, but try not to go overboard considering. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo--> Also, when creating skulks, or other small boxed, fast moving creatures, try to remember that it might (hopefully not) be a pain in the **** trying to hit them with guns on the Source engine due to simple lag crop-ups. (both engine, and client)
Bringing the feel of the Natural Selection game to the Source engine will indeed be a daunting task, but I fully believe that Charlie/The team are quite capable of such a feat . .And needless to say, when its all done, There will be no more source for me. Just, NS:Source. =D (oh how I miss my NS days. . heh)
I appriciate your time, and welcome any questions. If I have been of any help at all, I am glad.
Dave (aka Dave-God/Über-Com)
Slut of NS since its conception.
Comments
There's a C-S video doing the rounds, that shows hitboxes well ahead of the model- but this doesn't happen unless you mess with your interpolation settings.
From the (little) CS:S I've played, I've never had any hotbox issues (I will put down a missed kill due to lack of aim, rather than the netcode).
I guess what I'm trying to say, is that the CS:S "omg hitboxes!" whine is equivalent to the NS "omg rates/Spaniard" whine.
Though the above isn't directed at you, your post is far more mature and meaningful than what I imagine is plaguing the Steam forums! <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
Edit: No, but seriously, bad netcode is liveable, registry problems aren't.
There's a C-S video doing the rounds, that shows hitboxes well ahead of the model- but this doesn't happen unless you mess with your interpolation settings.
From the (little) CS:S I've played, I've never had any hotbox issues (I will put down a missed kill due to lack of aim, rather than the netcode).
I guess what I'm trying to say, is that the CS:S "omg hitboxes!" whine is equivalent to the NS "omg rates/Spaniard" whine.
Though the above isn't directed at you, your post is far more mature and meaningful than what I imagine is plaguing the Steam forums! <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" /> <!--QuoteEnd--></div><!--QuoteEEnd-->
<a href="http://www.lol.com/de_dust.png" target="_blank">lol</a>
Taken on a listenserver with a BOT, with default interp. Yeah, bots on your server shouldn't really lag right ? So you shouldn't even need to interpolate. Let's play "guess where the hitboxes actually are" ?
<a href='http://evo.gameover.com/mart/CSS_Hitboxes_Suck.avi' target='_blank'>high quality (about 37MB)</a>
<a href='http://www.putfile.com/media.php?n=css_hit_b0x_bb' target='_blank'>lower quality, streaming</a>
(I don't know if some sort of warning is appropriate, but the video has a song playing in the background with naughty language)
It gets a lot better toward the end, and tells you how to reproduce the problems. I have not tried this personally, but after my time with HL1, I am not disinclined to believe this video.
This video seems like it would cause much dissatisfaction amongst CS:S players, so I am sure it has been thoroughly discussed in other forums. I do not play CS:S, nor read CS:S forums, so I do not know how well this video jives with the actual game.
BUT, if those problems will show up in NS, I truly am sure that Flayra & Co. can sort them out.
Regardless of whether or not the problem really exists, I've played enough real games of CS:S to say that it's grossly exaggerated, and Valve has plenty of time and incentive to make fixes to the netcode if it turns out to be an issue.
The biggest problem in my mind is not nessicarily the netcode (which does have lots of problems), but rather the fact that Source doesnt give back reliable information on what is actually going on with servers and players. The fact that there are alot of bad servers out there makes this problem worse. Honestly this can be summed up by saying:
"Ping in source means NOTHING"
The problem is not with sending info back and forth, its with how information is registered on the server, processed and sent back out.
There was a very excillent post on this awhile back on the steam fourms. It mostly showed how its really when events are registered that makes the difference and how drastiaclly they change depending on when they occure in the interval between registering checks (or whatever they are called).
Still rolling on the floor at the video,
Dave (aka Dave-God/Über-Com)
<a href='http://evo.gameover.com/mart/CSS_Hitboxes_Suck.avi' target='_blank'>high quality (about 37MB)</a>
<a href='http://www.putfile.com/media.php?n=css_hit_b0x_bb' target='_blank'>lower quality, streaming</a>
<!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Ohnoes its all over the internets.
Still rolling on the floor at the video,
Dave (aka Dave-God/Über-Com) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
As said before, those results in no way indicate performance on REAL servers. Its fine in CS:S, you shoot the guy and it registers. At least for me.
If anyone would like a demo of this, I'd be happy to make one, I'll even add some slowmotion so you'll see exactly where I aimed...
please share with us exactly what we need to tweak to lessen these problems. interp? cmdrate?
....gl_max_size? <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->
Somehow half life seems more solid, better constructed almost. I know how to move myself in hl1, but in hl2 it just seems out of control. If anyone else experiences this, let me know.
Yeah, coming from someone who I doubt knows how to code. Cause I'm sure you know that they hacked it together, even though they're the one that created all of the graphics related code, netcode, and tweaked the physcode to all insane degrees. Try knowing what you're talking about. God, hacked together....idiot