Framerates and Memory

ToW

What most of you don’t know, is that the game was on purpose FPS-locked from the get-go. This was done to stabilize performance, and make for “smooth” animations throughout the game and it’s scenes, considering there will be multiple moving objects. However, in today’s world, designing for a 60fps-lock, is not… “ideal”.

We were aware of this problem, a work-around during internal testing was manually setting all of our testing panels on a 60Hz lock. For instance: Most phones have variable refreshrates, some going all the way from 20-144hz in range, or a flat 60 / 120hz refreshfrate. Locking it at 60, would therefore make for a rather unpleasant experience for players with a higher capable display. It doesn’t need to be like that, but heres why it was the case for ToW: The camera couldn’t catch up.

In most games like ToW, the camera follows the player. Meaning, the players movement (speed-value) pretty much sets the speed of the game and the rendering. Our fears were: “Oh dear… so, now we’ll have to rebuild the entire movement system, and alter the physics engine” - Thankfully; this was NOT the case! All it required was some alterations to the camera. Earlier on, we implemented a “smooth” transitioning for the camera, giving it a delay. As the FPS / screen refreshrate increased, the camera’s delay did not manage to catch up, resulting in a continous stuttering and illusion of lag. Long story short: Camera is now ‘razor-sharp’, and will provide a crisp transition and gameplay experience.

We’ve also implemented a “last map played” function into the memory of the game. This way, the game will remember your last played map (so you won’t be shown map 1 when loading the map selection, when you last played map 3) - Not a needed feature, but one that you’d expect from any game really - at least, we believe so!

Abbi

Hi! I like games, and think that they’re the ultimate form of art; combining music, color and story - all in one product.

Trying to create a game development company here - brb!

Previous
Previous

R&D Session 1

Next
Next

UI Overhaul and progression logic