This week’s devblog will be more technical. We will talk about some tests we made on the subject of responsiveness in Decay of Logos. Although this game is not a hack’n’slash, with very tight controls in favor of gameplay, we do take this component into consideration. It has slow paced attacks, depending on weapon classes, but still we are targeting for a fast responsiveness in the controls. In the test shown below, the frame when the anticipation of the animation kicks in will be the end frame measured, and the first will be the frame after the button is pressed. The game was running at 60fps and the video recorded at 60fps. The monitor has a 6ms (Gray to Gray) response time.
You can see that after the button is pressed it takes about 4 frames for the animation to start, and about 10 frames for the actual damage to be dealt (when the trail is visible, damage can be applied). So it’s about 66ms of input lag and 166ms of delay before damage is applied.
For comparison, we measured and made exactly the same test with Dark Souls, using the same machine, with DsFix (for running at 60fps) recorded at 60fps. The results were: 3 frames for input lag, and about 18 frames for actual damage be done. It’s about 50ms of input lag and 316 ms of delay.
We choose a short sword in Dark Souls and a short sword equivalent (our Carved Sword) in Decay of Logos for a more fair comparison.
We also compared the dodge responsiveness (jump back). Again we used the same principles as above.
On Decay of Logos we get about 4 frames (66ms) again of input lag and about 16 frames (233ms). In Dark Souls we get 4 frames (66ms) of input lag and about 19 frames (316ms) until we’re able to perform the next jump.
Another way of measuring this type of things is by attaching a led light internally in the controller and putting it next to the screen for a more precise moment of the given input.
André also made changes in some transitions and blends in animation, which improved significantly the delay felt during combat.
More information about this subject, the influences of CPU Logic, Rendering and Input lag can be found here: Programming Responsiveness