New to unreal.
I’m generally interested in frame dependent workflows, and how they’re done in modern days.
In some game genres it’s very important that your animation frames are exactly what you want them to be, meaning if you made a 60 frame animation, you want those 60 frames to show, them only, them exactly, and all of them, every time.
This is important in some fighting games for example, where frames are heavily used almost as if they’re part of the game’s rule-set. On the 8th frame, this happens. If a button is pressed on frame 10, special move happens, etc.
This is critical in those games since you can’t afford skipping frames, not logically, and not visually either, since seeing those frames is what allows players to perform and get feedback from the game.
However in modern game engines, specific frames are not taken as a priority, but instead time is. Curve data is being rendered based on a time stamp. This creates an unwanted result for games where frame accuracy is important:
If frame 9 is when a thing should happen, but due to variable deltas frame 9 is not yet where collision happened, a thing will not happen, and if it will, it will look strange and will be out of sync with everything that follows.
In traditional fighting games they were working in 2D, so no interpolation. Also, consoles with dedicated hardware produced consistent performance and games were locked to their framerates, slowing down in certain areas in order to always show all frames and allow them to be used as “game rules” - consistent, predictable, the same every time.
Since I’m new to Unreal (coming from Unity), I’m wondering - how is this done here?
In Unity I never had the luck of figuring this out, since I’m no programmer and I didn’t work with anyone who could answer this about that engine. But to my understanding, out of the box they don’t support it. In Unreal, what can I do if I want my frame data to function the way I described?
Just to recap:
I want full control on what animation frames are presented in the game.
I want to guarantee that those frames, and only those frames will be presented in the game.
I want to guarantee that all of them will be presented, skipping none, modifying none, every single time.
Unless I’m misunderstanding something about how 3D fighting games work today, this is considered a fundamental requirement, and if I ever make a fighting game I’d have to solve this, I imagine.