I'm starting to think something on the server is messing with the server-side position..
I ran the code in MP , and noticed that the clientside position was steady, while the server-side pos was jittering. http://www.youtube.com/watch?v=m5w3dT7F6Q4&feature=youtu.be On Mon, Apr 30, 2012 at 4:46 PM, Psy_Commando <psycomma...@gmail.com> wrote: > Oh, and did I mention that the Hl2 buggy does the same thing ? > > > On Sun, Apr 29, 2012 at 9:15 PM, Psy_Commando <psycomma...@gmail.com>wrote: > >> Well I didn't change much from the ES code, I just cut the useful parts, >> and tweaked them to fit the vehicle code I had. So yeah, its pretty much >> the same thing they did, but I'm guessing maybe it was written that way to >> fix bug they had with the old prediction system, so that might explain why >> it doesn't work in my case. >> >> Also, since I want this to work in multiplayer, I have to have it shared >> between client/server. If its only server side the controls will be laggy, >> and if its client side, it will be difficult to update the position on >> other clients. >> >> I already did override the GetRenderOrigin method and copied the >> smoothing code for the player in there. The problem is that it works only >> if there are prediction errors detected, and it detects none. >> >> I think you're not far with the truth by saying it might be a battle >> between smoothing and simulation. One odd thing I noticed, is that when I >> run the game with maxplayer to 1, it runs only the server code, and the >> jitter is still there... >> >> >> >> On Sun, Apr 29, 2012 at 4:56 PM, Joel R. <joelru...@gmail.com> wrote: >> >>> I'd start from scratch again. >>> >>> Quick question though... Are the ships in Eternal Silence updating the >>> client entity position and angles as you are? Or is it server side only...? >>> >>> On the flip side... I would create my own custom clientside entity. >>> This way YOU control everything that happens to it, and not the server, >>> because it appears like you are battling with the prediction system. If >>> the origin/angles are off by a small tolerance (defined in >>> c_baseentity.cpp), the client will teleport immediately to the server >>> values. >>> >>> Also, for the smoothing, I'd override the GetRenderOrigin and >>> GetRenderAngles functions. This way you can display a smoothed >>> origin/angles, but the simulation origin and angles are still simulated >>> perfectly. This may be another reason why you are getting jitter, because >>> of the battle between smoothing and simulation. >>> >>> >>> >>> On Sun, Apr 29, 2012 at 2:39 PM, Psy_Commando <psycomma...@gmail.com>wrote: >>> >>>> Finally got the dedicated server to work with my local network ip. It >>>> does the same thing as with net_fakelag on the listen server, it doesn't >>>> look broken to me... >>>> >>>> Still can't find what part of the code is causing the stuttering... >>>> >>>> >>>> On Sun, Apr 29, 2012 at 10:43 AM, Ben Pye <bfh...@gmail.com> wrote: >>>> >>>>> With the dedicated server run with the argument "-ip 127.0.0.1" and >>>>> then it should listen on localhost. >>>>> >>>>> >>>>> On Sun, Apr 29, 2012 at 12:36 AM, Psy_Commando >>>>> <psycomma...@gmail.com>wrote: >>>>> >>>>>> You're sure about that ? you're the first person to tell me that. >>>>>> Besides, I can't connect to a dedicated server on the same machine >>>>>> for some reasons, it just timeouts, whether I use 127.0.0.1 or my local >>>>>> network IP. >>>>>> >>>>>> >>>>>> On Sat, Apr 28, 2012 at 5:09 PM, Stephen Swires < >>>>>> stephen.swi...@gmail.com> wrote: >>>>>> >>>>>>> Like I said. Fake lag does not work properly on listen servers in >>>>>>> ASW. You can check for any lag prediction issues by creating a local >>>>>>> dedicated server and connecting to it, then fake lag works as intended. >>>>>>> On Apr 28, 2012 8:32 PM, "Psy_Commando" <psycomma...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> I made some progress changing the base class's base class to >>>>>>>> CBaseAnimating instead of CPhysicsPropMultiplayer, it fixed some of the >>>>>>>> stuttering, but once you add lag with net_fakelag it does it again. I >>>>>>>> can't >>>>>>>> find the reason why the origin differs between client and server >>>>>>>> though, at >>>>>>>> a glance it looks like the client is slightly ahead in time compared >>>>>>>> to the >>>>>>>> server. >>>>>>>> If it can help, here's the base class : >>>>>>>> >>>>>>>> Client : >>>>>>>> c_prop_sfr_vehicle.h - http://pastebin.com/tqUFNGQZ >>>>>>>> c_prop_sfr_vehicle.cpp -http://pastebin.com/eCKcE3VX >>>>>>>> >>>>>>>> Server : >>>>>>>> prop_sfr_vehicle.h - h <http://goog_156218657> >>>>>>>> http://pastebin.com/zPb3HbEh >>>>>>>> prop_sfr_vehicle.cpp - http://pastebin.com/5y1m0S89 >>>>>>>> >>>>>>>> On Fri, Apr 27, 2012 at 11:18 AM, Joel R. <joelru...@gmail.com>wrote: >>>>>>>> >>>>>>>>> Nick, if you knew anything about coding, you'd be able to make it >>>>>>>>> work fairly quickly. He is not going to give you all the SDK code >>>>>>>>> prepped >>>>>>>>> and ready. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Apr 26, 2012 at 11:17 PM, Nick <xnicho...@gmail.com>wrote: >>>>>>>>> >>>>>>>>>> The code you posted certainly is impressive. I just can't find an >>>>>>>>>> easy >>>>>>>>>> way to put it in a sdk and run it? How to spawn the vech? >>>>>>>>>> >>>>>>>>>> Make an sdk with the files included that works, (with a working >>>>>>>>>> copy >>>>>>>>>> of the mod) and all of the code and send a link to valve.. I am >>>>>>>>>> sure >>>>>>>>>> they will help out. >>>>>>>>>> >>>>>>>>>> A single file isn't at all helpful compared to a working source >>>>>>>>>> code >>>>>>>>>> copy, and actual files and a 10 step list to "test" the exact >>>>>>>>>> problem >>>>>>>>>> you are experiencing. WE HAVE TO BE ABLE TO RUN THE EXACT CODE IF >>>>>>>>>> U >>>>>>>>>> WANT ANY HELP ON SUCH A MASSIVE "PROBLEM".. >>>>>>>>>> >>>>>>>>>> On Thu, Apr 26, 2012 at 12:18 AM, Psy_Commando < >>>>>>>>>> psycomma...@gmail.com> wrote: >>>>>>>>>> > I already posted a link to the pastebin with the whole code >>>>>>>>>> earlier ( >>>>>>>>>> > http://pastebin.com/eMcKh1YL ). And who at valve would help ? >>>>>>>>>> Most of the >>>>>>>>>> > time I don't get answers when I mail devs. And what do you mean >>>>>>>>>> share what >>>>>>>>>> > the problem is with you, isn't it what I've been foing? >>>>>>>>>> > >>>>>>>>>> > Is there any examples of simple moving predicted entities, >>>>>>>>>> besides the >>>>>>>>>> > player ? I could really use an example... >>>>>>>>>> > >>>>>>>>>> > By the way, is what Stephen says accurate ? Is the net_fakelag >>>>>>>>>> command not >>>>>>>>>> > working on listen servers ? >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > On Thu, Apr 26, 2012 at 12:34 AM, Nick <xnicho...@gmail.com> >>>>>>>>>> wrote: >>>>>>>>>> >> >>>>>>>>>> >> i think you should give us a basic code, and send it to >>>>>>>>>> valve... only >>>>>>>>>> >> valve can help you. Usually valve is quite nice, and I am sure >>>>>>>>>> they >>>>>>>>>> >> wouldn't mind helping you out, as long as you can share what >>>>>>>>>> the >>>>>>>>>> >> problem is with the rest of us..... >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> On Sun, Apr 22, 2012 at 3:04 PM, Psy_Commando < >>>>>>>>>> psycomma...@gmail.com> >>>>>>>>>> >> wrote: >>>>>>>>>> >> > Alright, what else could be causing jittering ? There is so >>>>>>>>>> little going >>>>>>>>>> >> > on >>>>>>>>>> >> > in that entity. >>>>>>>>>> >> > >>>>>>>>>> >> > >>>>>>>>>> >> > On Sat, Apr 21, 2012 at 8:40 PM, Tony "omega" Sergi >>>>>>>>>> >> > <omegal...@gmail.com> >>>>>>>>>> >> > wrote: >>>>>>>>>> >> >> >>>>>>>>>> >> >> As I said. looking at your prediction dump, it's not >>>>>>>>>> actually >>>>>>>>>> >> >> predicting >>>>>>>>>> >> >> properly. >>>>>>>>>> >> >> Either they're not updating at the same rate, or they're >>>>>>>>>> not running >>>>>>>>>> >> >> the >>>>>>>>>> >> >> same code producing the same results. >>>>>>>>>> >> >> see your screenshot: >>>>>>>>>> http://dl.dropbox.com/u/13343993/abox0003.jpg >>>>>>>>>> >> >> notice in red, velocity is 0 0 0 that means >>>>>>>>>> >> >> disabling VPhysicsUpdate is not the solution, as that means >>>>>>>>>> you break >>>>>>>>>> >> >> every vphysics object. Look at what it's doing, it's >>>>>>>>>> getting it's >>>>>>>>>> >> >> position >>>>>>>>>> >> >> after vphysics simulates and updating the entity. >>>>>>>>>> >> >> so unless you're trying to make a purely client-authoritive >>>>>>>>>> ship, you >>>>>>>>>> >> >> can't disable that without adding code to update the >>>>>>>>>> position from the >>>>>>>>>> >> >> client. >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> >> On Sun, Apr 22, 2012 at 7:40 AM, Stephen Swires >>>>>>>>>> >> >> <stephen.swi...@gmail.com> >>>>>>>>>> >> >> wrote: >>>>>>>>>> >> >>> >>>>>>>>>> >> >>> It maybe worth mentioning that net_fakelag is broken on >>>>>>>>>> listen servers >>>>>>>>>> >> >>> in >>>>>>>>>> >> >>> Alien Swarm. It works on dedicated, however >>>>>>>>>> >> >>> >>>>>>>>>> >> >>> >>>>>>>>>> >> >>> On Sat, Apr 21, 2012 at 10:05 PM, Psy_Commando < >>>>>>>>>> psycomma...@gmail.com> >>>>>>>>>> >> >>> wrote: >>>>>>>>>> >> >>>> >>>>>>>>>> >> >>>> I found what was causing the stuttering with 0 ping and in >>>>>>>>>> >> >>>> singleplayer. >>>>>>>>>> >> >>>> I disabled this code in cbaseentity_shared : >>>>>>>>>> >> >>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> //----------------------------------------------------------------------------- >>>>>>>>>> >> >>>>> // Purpose: My physics object has been updated, react or >>>>>>>>>> extract >>>>>>>>>> >> >>>>> data >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> >>>>>>>>>> //----------------------------------------------------------------------------- >>>>>>>>>> >> >>>>> void CBaseEntity::VPhysicsUpdate( IPhysicsObject >>>>>>>>>> *pPhysics ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> switch( GetMoveType() ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> case MOVETYPE_VPHYSICS: >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> if ( GetMoveParent() ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> Log_Warning( LOG_DEVELOPER_VERBOSE, >>>>>>>>>> "Updating >>>>>>>>>> >> >>>>> physics >>>>>>>>>> >> >>>>> on object in hierarchy %s!\n", GetClassname()); >>>>>>>>>> >> >>>>> return; >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> Vector origin; >>>>>>>>>> >> >>>>> QAngle angles; >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> pPhysics->GetPosition( &origin, &angles ); >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> if ( !IsFinite( angles.x ) || !IsFinite( >>>>>>>>>> angles.y ) || >>>>>>>>>> >> >>>>> !IsFinite( angles.x ) ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> Msg( "Infinite angles from vphysics! >>>>>>>>>> (entity %s)\n", >>>>>>>>>> >> >>>>> GetDebugName() ); >>>>>>>>>> >> >>>>> angles = vec3_angle; >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> #ifndef CLIENT_DLL >>>>>>>>>> >> >>>>> Vector prevOrigin = GetAbsOrigin(); >>>>>>>>>> >> >>>>> #endif >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> for ( int i = 0; i < 3; ++i ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> angles[ i ] = AngleNormalize( angles[ i >>>>>>>>>> ] ); >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> #ifndef CLIENT_DLL >>>>>>>>>> >> >>>>> NetworkQuantize( origin, angles ); >>>>>>>>>> >> >>>>> #endif >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> if ( origin.IsValid() ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> SetAbsOrigin( origin ); >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> else >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> Msg( "Infinite origin from vphysics! >>>>>>>>>> (entity %s)\n", >>>>>>>>>> >> >>>>> GetDebugName() ); >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> SetAbsAngles( angles ); >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> // Interactive debris converts back to >>>>>>>>>> debris when it >>>>>>>>>> >> >>>>> comes >>>>>>>>>> >> >>>>> to rest >>>>>>>>>> >> >>>>> if ( pPhysics->IsAsleep() && >>>>>>>>>> GetCollisionGroup() == >>>>>>>>>> >> >>>>> COLLISION_GROUP_INTERACTIVE_DEBRIS ) >>>>>>>>>> >> >>>>> { >>>>>>>>>> >> >>>>> SetCollisionGroup( >>>>>>>>>> COLLISION_GROUP_DEBRIS ); >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> >>>>>>>>>> >> >>>>> #ifndef CLIENT_DLL >>>>>>>>>> >> >>>>> PhysicsTouchTriggers( &prevOrigin ); >>>>>>>>>> >> >>>>> PhysicsRelinkChildren(gpGlobals->frametime); >>>>>>>>>> >> >>>>> #endif >>>>>>>>>> >> >>>>> } >>>>>>>>>> >> >>>>> break; >>>>>>>>>> >> >>>>> . >>>>>>>>>> >> >>>>> . >>>>>>>>>> >> >>>>> . >>>>>>>>>> >> >>>>> . >>>>>>>>>> >> >>>> >>>>>>>>>> >> >>>> >>>>>>>>>> >> >>>> However I still have stuttering when I set "net_fakelag" >>>>>>>>>> to anything >>>>>>>>>> >> >>>> > >>>>>>>>>> >> >>>> 0. And its gets worst the higher the FPS... >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> >> _______________________________________________ >>>>>>>>>> >> >> To unsubscribe, edit your list preferences, or view the >>>>>>>>>> list archives, >>>>>>>>>> >> >> please visit: >>>>>>>>>> >> >> >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> >> >> >>>>>>>>>> >> >> >>>>>>>>>> >> > >>>>>>>>>> >> > >>>>>>>>>> >> > _______________________________________________ >>>>>>>>>> >> > To unsubscribe, edit your list preferences, or view the list >>>>>>>>>> archives, >>>>>>>>>> >> > please visit: >>>>>>>>>> >> > >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> >> > >>>>>>>>>> >> > >>>>>>>>>> >> >>>>>>>>>> >> _______________________________________________ >>>>>>>>>> >> To unsubscribe, edit your list preferences, or view the list >>>>>>>>>> archives, >>>>>>>>>> >> please visit: >>>>>>>>>> >> >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> >> >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > _______________________________________________ >>>>>>>>>> > To unsubscribe, edit your list preferences, or view the list >>>>>>>>>> archives, >>>>>>>>>> > please visit: >>>>>>>>>> > >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>>>> archives, please visit: >>>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>>> archives, please visit: >>>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>>> archives, please visit: >>>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>>> archives, please visit: >>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> To unsubscribe, edit your list preferences, or view the list >>>>>> archives, please visit: >>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> To unsubscribe, edit your list preferences, or view the list archives, >>>>> please visit: >>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> To unsubscribe, edit your list preferences, or view the list archives, >>>> please visit: >>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>>> >>>> >>>> >>> >>> _______________________________________________ >>> To unsubscribe, edit your list preferences, or view the list archives, >>> please visit: >>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders >>> >>> >>> >> >
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders