Less jittery way of moving actors in ACS

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Less jittery way of moving actors in ACS

by XutaWoo » Sun Feb 04, 2007 9:30 pm

Try adding a friendly Zombieman and make the dead Cacodemon follow it.

by solarsnowfall » Sun Feb 04, 2007 4:37 pm

Not exactly what I meant. By slow moving I meant that the object being moved wasn't being moved very far between tics. The player is one of the fastest moving objects in the game, I'd imagine trying to match something up exactly with it to be rather futile.

by Nash » Sun Feb 04, 2007 4:30 pm

2) Use it to move slow moving objects, so there is no visible jitter (ie orbiting objects).
In my position.wad, the object is a static dead Cacodemon. How much slower can it get? :(

by solarsnowfall » Sun Feb 04, 2007 1:56 pm

1) Use it to move cameras since the motion is always smooth.

2) Use it to move slow moving objects, so there is no visible jitter (ie orbiting objects).

3) Accept the consinquences if the desired effect is otherwise impossible to achieve, or the noticable jitter is negligible.

It'd be great if there were an argument that could be set to SetActorPosition that would provide a one frame interpolation between the thing's current position and the position it was being set to. Is it even possible? Beats the hell out of me.

by Nash » Sun Feb 04, 2007 5:27 am

Cameras are interpolated by the engine so that's why they do not jitter.

EDIT:

Solar, then maybe you'd like to explain "how" to use it? In my position.wad file above, there isn't anything complex going on. It's just a single script and nothing more. Yet it still jitters.

by solarsnowfall » Sun Feb 04, 2007 12:16 am

I think it's all a matter of how you use it. That's how I'm moving the cameras in DK and it's as smooth as can be (if you've seen the demo). And I thought it worked well enough for that pos_test.wad I made that moved the actor through the obstacle course.

by Xaser » Sat Feb 03, 2007 11:17 pm

The "jittery-ness" is probably because scripts and the like are updated only each tic, and due to the uncapped framerate, it's possible for other things (players, cameras, platforms, etc.) to move in that split second between tics. If you set cl_capfps to 1, you'll notice that the "jittery-ness" is gone (though admittedly that's only because the whole game looks like a slideshow now. :P ) Unless new move commands can be created (an ACS ActorMover, perhaps?) this can't really be fixed, unfortunately.

Wait, since when do I know so much about the Doom engine? Graf's the programmer here... plus, I'm saying this without playing the wad, too, so I'm either hitting the nail on the head perfectly or dropping the hammer on my own foot. :P

by Graf Zahl » Thu Feb 01, 2007 4:27 pm

There's nothing to 'fix'. Thing_Move and SetActorPosition are not meant to simulate movement. They are normally used to relocate a thing to a completely unrelated position and are written to handle that case well.

Less jittery way of moving actors in ACS

by Nash » Thu Feb 01, 2007 4:23 pm

In the example file http://nash.wanzafran.com/doomstuff/position.zip you can see that the dead Caco is very jittery, like it cannot keep up with the player's position.

Would it be possible to "fix" the Thing_Move and SetActorPosition functions, or maybe create a new function that accurately positions actors dead-on?

Top