Duke4.net Forums: Actions and frame delays - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Actions and frame delays

User is offline   Wolf 

#1

Howdy.

I see that on the eduke32 wiki, it more-or-less implies that the lowest delay (fastest animation rate) for an action is at the rate of the internal game tics.
The problem is, the sprites I've created have a lot of frames, and it simply can't cycle through them fast enough. My solution has been to set the "incvalue" of the action to 2, thus skipping every other frame.

However, I'm hoping for an alternative.

Is it possible to get around this and make it animate faster without skipping frames?
Even if it means amping up the game's ticrate and compensating everywhere else?

If this isn't possible, will it ever be? If not, I'll settle for frame skipping. :)
0

User is offline   Helixhorned 

  • EDuke32 Developer

#2

View PostWolf, on 29 May 2014 - 09:50 AM, said:

I see that on the eduke32 wiki, it more-or-less implies that the lowest delay (fastest animation rate) for an action is at the rate of the internal game tics.
The problem is, the sprites I've created have a lot of frames, and it simply can't cycle through them fast enough. My solution has been to set the "incvalue" of the action to 2, thus skipping every other frame.

Please explain why you would need an animation frame rate greater than 30 frames per second, not perceptible to the human eye anyway.

Quote

Is it possible to get around this and make it animate faster without skipping frames?
Even if it means amping up the game's ticrate and compensating everywhere else?

No, this is absolutely not an option.

Quote

If this isn't possible, will it ever be? If not, I'll settle for frame skipping. :)

If your animations are really so fine-grained that 30 fps is not enough, then you have too many of them. Delete the excess ones in the ART instead of working around it.
0

User is offline   Daedolon 

  • Ancient Blood God

#3

View PostHelixhorned, on 29 May 2014 - 10:21 AM, said:

No, this is absolutely not an option.


What does this do then? Not trying to be an asshole, I don't know how that mod works and I thought it does something like what Wolf asked.
0

User is offline   Danukem 

  • Duke Plus Developer

#4

View PostDaedolon, on 29 May 2014 - 10:26 AM, said:

What does this do then? Not trying to be an asshole, I don't know how that mod works and I thought it does something like what Wolf asked.


Yeah, in that mod I use the inittimer command to double the speed of the entire game (inittimer 240 does the trick). TerminX added that command a long time ago and had planned to use it for Max Payne style slo-mo effects, but it can also be used to speed things up. However, I had to do a lot of coding to create the illusion that the game isn't actually sped up. For example, projectile speeds and gravitational effects are halved. I intentionally left subway cars alone though, so that they would move at double speed XD. I also had to go into the code of every enemy and divide all of their speeds (both animation and movement) by half, as well as change their timings (e.g. wherever it says "ifcount ..."). But the cool thing is, if I want something to move really fast in Hypercore, all I have to do is allow it to move at normal speed. And I swear that things do appear to move more smoothly in many cases. And yes, you could make something animate 60 frames per second if you wanted.
1

User is offline   Helixhorned 

  • EDuke32 Developer

#5

If I'm reading Wolf's question right, he didn't aim at speeding up the game, only the animation. By "not an option" I meant that it's unacceptable to mess with any of the timing constants in hard-coded EDuke32. Of course you have some of the timing functionality exposed at the scripting level and can do interesting stuff with it, but that's unrelated to Wolf's question (as far as I can see). I have yet to hear an argument in favor of 30+ FPS for an animation.

View PostTrooper Dan, on 29 May 2014 - 10:40 AM, said:

And I swear that things do appear to move more smoothly in many cases.

This is probably stuff like the NEWBEAST (or was it the Octabrain) which TerminX once observed to have really jerky movement behavior, like it would update its position only each nth game tic, n>1. That could even be the case and TX may have written a flag customizing that behavior. Here, yeah, bumping the base timer rate is kind of expected to make things smoother, but that's unrelated to animations as in changes of a tile number.

Quote

And yes, you could make something animate 60 frames per second if you wanted.

Yes, but again probably unrelated to perceived smoothness. The rate at which humans can discern different pictures is sometimes cited as low as 18 IIRC, but the increasd smoothness with greater FPS in games usually has a different background, for example mouse input events being processed more quickly. That's my take on it, I'm happy to be proven wrong.
0

User is offline   Danukem 

  • Duke Plus Developer

#6

View PostHelixhorned, on 29 May 2014 - 10:59 AM, said:

If I'm reading Wolf's question right, he didn't aim at speeding up the game, only the animation.


I know, but speeding up the whole game could be used to speed up animation, providing that one went through the trouble of compensating for the overall speed difference.

60 fps animations does seem pointless, though. EDIT: deleted something, nevermind

This post has been edited by Trooper Dan: 29 May 2014 - 11:55 AM

0

User is offline   Stabs 

#7

yeah its kinda borked, the DNE hud animations never happen the same way twice but i got them damn close, something odd about the timing when an animated model starts.
0

User is offline   Jblade 

#8

Quote

Yes, but again probably unrelated to perceived smoothness. The rate at which humans can discern different pictures is sometimes cited as low as 18 IIRC, but the increasd smoothness with greater FPS in games usually has a different background, for example mouse input events being processed more quickly. That's my take on it, I'm happy to be proven wrong.

I think my brain is kinda screwed from tiredness so I may be misunderstanding you but there's definitely a huge visual difference between 30fps and 60fps to me (I say this as a long-time console player so I've had to play quite a lot of stuff at 30fps)
0

User is offline   Wolf 

#9

View PostDaedolon, on 29 May 2014 - 10:26 AM, said:

What does this do then? ... I thought it does something like what Wolf asked.



View PostTrooper Dan, on 29 May 2014 - 10:40 AM, said:

Yeah, in that mod I use the inittimer command to double the speed of the entire game (inittimer 240 does the trick). ... However, I had to do a lot of coding to create the illusion that the game isn't actually sped up. ... And yes, you could make something animate 60 frames per second if you wanted.


Thank you both, this is exactly what I was hoping for. I remember seeing hypercore when it came out, I don't know why I didn't immediately think of it when this problem arose. :)
Really, thank you again.
0

User is offline   Danukem 

  • Duke Plus Developer

#10

View PostJames, on 29 May 2014 - 01:09 PM, said:

I think my brain is kinda screwed from tiredness so I may be misunderstanding you but there's definitely a huge visual difference between 30fps and 60fps to me (I say this as a long-time console player so I've had to play quite a lot of stuff at 30fps)


It turns out to be a complicated question, and in the brief search I did, I wasn't able to find anything that I would consider authoritative. Like you, I perceive a dramatic difference between 30fps and 60fps, other things being equal. But other things often aren't equal. For example, with motion blur, 30fps can look much smoother. I found this article which discusses some of the complexities:

http://www.100fps.co..._humans_see.htm

Getting back to Duke 3D: While none of the animations in the game are > 30fps, EDuke32 does support much higher framerates and actually uses them for some things, such as elevator motion. I'm sure you know this already but I'm stating it in case someone thinks we were confused on that point.
0

User is offline   Daedolon 

  • Ancient Blood God

#11

So I guess inittimer in a sense could be used to do this, assuming you haven't done too much work in your mod already.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options