There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

Is there any advantage to tying game logic to frame-rate?

Way back in the day, every game had its logic tied to its framerate – As anyone who’s ever tried to run an eighties PC game on a nineties PC only to see it run at 20x speed and completely unplayable can tell you.

But in the modern day this is less common. Generally the game keeps chugging along at the same pace, no matter how fast or slow the frames are being presented (unless, of course, everything is bogged down so hard that even the game logic is struggling)

And yet, you’ll still find a few. Any fan of Dark Souls who played on PC back when Prepare to Die edition first came to PC will remember how unlocking the framerate could cause collision bugs and send you into the void. And I recently watched a video of a gent who massively overclocked a Nintendo Switch OLED and got Tears of the Kingdom to run at 60FPS… Except everything was, indeed, running in fast-forward, rather than just being smoother.

This makes me wonder – Is there some unseen advantage to keeping game logic and framerate tied together? Perhaps something that only really shows on weaker hardware? Or is it just devs going “well the hardware we’re targeting won’t really go over this speed, and we don’t really give a fuck about anything else” and not bothering to implement it?

neidu2 , (edited )

Easier to code. You don’t need to worry about render interval and tick interval, as they’re both part of the game loop, resulting in a lot less code.

Once computers became too fast for this to be a practical approach, tick intervals became more common. That way, the Game would run at the same speed on any computer that was fast enough.

After a while, as graphics generally became more complex, it became apparent that the game logic was rarely what was taking up much of the calculation, so to avoid graphics slowing down the entire game, render intervals became a thing. Basically this allowed the game to run at normal speed, at then just let the graphics update as fast as they could if it couldn’t keep up.

kinsnik ,

also, if a game relies in a complex physics engine, the physics simulations has to be done with a stable interval and FPS, which means it had to be decoupled from the rendering (which was not stable and depends on what you are drawing)

Ephera ,

To make this maybe a bit more concrete, without decoupling them, your game logic will look basically like this:

  1. Update all the values (e.g. if something has a velocity, then move it forward).
  2. Read the values to render graphics into the framebuffer, from where your screen can grab it.
  3. Repeat from step 1.

For these things to be decoupled, you suddenly need them to run at the same time, which means you suddenly have to deal with multiple threads and inconsistencies in the state and whatnot.
If you’re using a proper game engine, these things are typically largely solved for you, but especially in the 80s, you wouldn’t have game engines that you could just use.

bjoern_tantau ,
@bjoern_tantau@swg-empire.de avatar

In Leisure Suit Larry this was deliberate. There was a puzzle where you needed to get Larry strong enough to open a grate or something. You could do that by doing a certain number of repetitions on a weight lifting thingy in a gym. The number of repetitions depended on the speed of your CPU. Of course the time for the animation per repetition stayed the same.

Al Lowe wanted to punish those posh people with their fancy 3’86 machines. Funny joke back then. Nowadays it’s practically impossible. I wonder what they did with this puzzle in ScummVM.

BroBot9000 ,
@BroBot9000@lemmy.world avatar

Fun fact I learned from “let’s drown out”

match ,
@match@pawb.social avatar

The developers are considering the ramifications of slowdown and are not concerned about speed up. If the game slowed down and the game logic continued normally, the player would receive fewer frames to respond in - a spider is charging at you and will hit you in 5 realtime seconds, but you only have 1 frame a second, so you get 5 frames to figure it out.

haywire7 ,
@haywire7@lemmy.world avatar

Someone else may be able to offer a better solution but it’s more to do with events being tied to the draw of a frame.

Update positions of objects, check where things are each time a frame is drawn. Speed up the rate frames are drawn at and the logic does those checks much, much faster. Causing issues.

sudoreboot ,
@sudoreboot@slrpnk.net avatar

It may be of critical importance in some games that, no matter how low the framerate is, the player never misses an event due to skipped frames.

There are also games that are not real time even in their animations, and so there may be no benefit to skipping frames rather than just letting it run at whatever framerate. Slowed tick rate mostly feels weird if one has certain expectations for the passage of time.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines