5 ms·
What I'm really curious about is the latency of it. Having smooth and accurate animations makes for a very rich experience, but in most games having your charac
by jjcm 10y ago
What I'm really curious about is the latency of it. Having smooth and accurate animations makes for a very rich experience, but in most games having your character react instantly to your commands is more valuable. Even if it's a 100ms delay in order to accomplish this, it might still be too much especially for fast, action packed games. I know in the Witcher 3 they reduced some of the complexity in animations to make them react quicker. What this does sound amazing for though is NPCs.
- nerfhammer 10y agoYou just need to keep your models in GPU memory... which the game is going to want to use most of already but maybe in the future we'll have fully NN autoencoded games!
- mattnewport 10y agoI think you're misunderstanding his point - it's not a question of latency due to the performance of the algorithm, it's a fairly fundamental tradeoff between smoothly blended animations and low latency response to user input. In many games the user wants to see close to immediate response to their input, e.g. moving the stick to turn or pressing a button to jump but that inherently conflicts with the desire to smoothly transition between animations. In reality, your brain starts planning an upcoming turn or jump and moving your body accordingly some time before reaching the physical obstacle you are avoiding. Control schemes for games generally don't allow for this kind of anticipatory input but rather you press the jump button at the moment you want to jump. This leaves no time to smoothly blend the animation - by the time the game receives the input it should already have started the blend some time ago.
- abainbridge 10y agoExactly. In about 2002 I worked on a PS2 game where you played a dog (Yes you could do a turd. No you couldn't lick your balls). I spent ages tuning the code that determined how high to place the dog's centroid above the ground. I gained a lot of respect for the amount of geometry calculations a real dog has to do in order to keep its face out of the floor when running. The code needed to start reacting to a probable landscape collision hundreds of milliseconds before it happened in order to prevent the need for unnaturally large forces.
- nerfhammer 10y agoFascinating. Obviously the thing to do is to predict user input. Capacitive sensors within buttons to try to detect when your finger is above or resting on a key? Or just hall effect analog buttons, so you can tell when the button starts to go down before it reaches the bottom of the depress action.
- highd 10y agoThe paper says "Runtime" is 1-2 ms. I'm under the impression that this is before any compression, as well.
- chongli 10y agoI don't think the GP was referring only to the speed of the algorithm. If the system adds more frames to the animation in order to smooth it out then the animation slows down by definition, unless the frame rate is also increased. If you play a game like Street Fighter 2 you'll note that the animations for many of the basic attacks are extremely brief, something like 11 frames in duration. This may further be reduced by animation cancelling, which allows a new animation to override the currently playing one, speeding things up. I'm generally skeptical of the ability to speed up the frame rate in order to smooth things out anyway. Players tend to use certain key frames as cues to help them properly time their attacks. By running at a higher frame rate, you reduce the temporal distinctiveness of these key frames. At any rate, I'd like to see and judge the result for myself.
- flohofwoe 10y agoExactly this. The character control in some games (eg GTA 4 and 5) feels laggy and imprecise because stopping, turning, reversing takes a lot of time. Yes, it is "natural", "realistic" and it looks nice if you're watching someone play, but playing yourself it feels like steering an oil tanker :)
- kbart 10y agoI, on the contrary, like some inertia in movement because, as you've mentioned, it is more realistic. Sure, it get some time to get used to (especially if you had played Quake style shooters for a while), but I like inertial movement more than weightless ragdolls.
- zimzim 10y agoYes, but it is very game dependent. Maybe this "engine" does not suited for fast, action packed games, but I think what players hate is annoying and logically/physically wrong animations, not smooth and fair. Also you can train the NN on faster more reactive training data.