You had it right; both the bugs you mentioned are things that crop up if everyone isn’t scaling every bit of processing in the game to framerate, so yeah, you definitely can’t mix the two
I like, simultaneously don’t give a shit about framerate (i’ll play a solid 30fps game, or even one with frequent dips, and just be like “oh well!”), yet also when I see something running at rock-solid 60 im like oh hell yeah that looks dope.
On a purely visceral level it’s “satisfying” to control a game in 60–can’t explain why really. That slightly hyperreal feeling just massages my brain. BUT it’s in no way a necessity for me (competitive games excepted of course–I understand the importance there), and for some games I agree it can even be the wrong choice artistically.
Back before I knew much about games I somehow could feel in my GUT that Metal Gear SOlid 3 felt heavier and denser, like the air was literally thicker, while mgs2 felt crisp and clinical and precise, and it was totally the framerate difference that caused this (and I mean just the typical 30fps gameplay, not the parts where it chugs way lower than that)! Y’know, plus actual graphical effects and such. When the HD remaster of 3 came out with 60fps it DEFINITELY lost a bit and felt distinctly different… but not so much taht I don’t typically play that version regardless.
So I guess what I mean is: 60fps definitely feels some kinda way, and I bet a lot of people like that feeling, but to say that it’s a REQUIREMENT, or that a game that elects (eitehr due to technical constraints or artistic considerations or both) to go with 30 is somehow Objectively Wrong, is just plain silly. Maybe you explicitly don’t want that hyperreal brain massage for your game!
There are some really weird outcomes of this, like the Zone of the Enders 360/PS3 ports, where the original version couldn’t maintain the 60fps of the PS2 version so it was always playing in slow-motion.
Or ports of games that improve performance and thus make it harder; I don’t particularly like Bangai-O XBLA because it doesn’t have the slowmo when doing the bullet reflect missile spawn! It’s much much harder and feels less crunchy without it
Didn’t one of the Dark Souls (I think 2) PC ports tie wear on weapons to framerate, which was hilarious in that it meant weapons wore out ridiculously fast on the PC version?
Yeah, every frame your weapon was colliding with anything it would degrade, so my first 10 or so hours with Dark Souls II I had to keep a bunch of backup weapons because they’d run out between bonfires. Honestly thought it was an intentional mechanic to force weapon variety until they patched it.
Framerate-independent logic became best practices as PC game developers moved into console development; on console, you’ve only got one spec so you can adjust your game by removing or modifying assets when things get heavy. But on PC, you have no idea what’s under the hood, so you really need to set your game up to be as consistent as possible at different performanace profiles.
Then it was realized that it benefited purely console games, as highly-varying games like open-world and large-scale games could absorb performance-sapping moments with less impact to players.
So I’d say it was roughly 2000-on that people started shifting over, though you still get bugs from the old way every so often.
Treasure really were masters of intentional slowdown as juice.
Blighttown and all the Souls game poison levels are a good example of this from the other side; the crippling performance absolutely enhances the aesthetic but it’s also unintentional(ish). The engineers were desperately trying to improve performance in those areas but the architecture was just a nightmare of exposed spaces and the level designers just didn’t mind. I don’t think modern, rich From would ship Blighttown in that state again; they’ve been getting better at keeping levels within performance targets and Sekiro is far and away better than their older games.
The first time I saw Quake at 24fps it blew my mind after years of Doom 2 at sub-15 on a ghostly as heck BW laptop LCD.
Nowadays I care (get annoyed) about frame rate when the game stutters and I’ve spend a bunch of money on graphics junk and I have to learn which settings are the important ones
Also percentiles don’t work like that, 99th means 99 percent of samples are that speed or faster. Same for averages, 1% of a sample can’t drag the average down by 50%. Maybe those were frame latencies numbers??
I quit playing Odin Sphere on PS2 because one of the bosses slowed my machine down to something like 3-5fps and it was completely unplayable.
Adding simlulated NES-style slowdown to a retro game without making sure it reads as a positive creative choice for helping the player navigate overly busy scenes or somesuch rather than just fetishistic nostalgia is bad and don’t do it.
The framerate love I don’t understand is the people who thought Dark Souls absolutely needed to be 60fps.
It’s the practice of not using deltatime / scaled time I was complaining about. Maybe it’ll be the hardware refresh trend where consoles get more powerful versions that finally does for it.
An interesting design direction is concurrently running at multiple framerates for different engine activities. Network games have done this at least since Quakeworld by making a distinction between server tickrate and client-side framerate. VR is today exploring another variant with head-turning input and resulting slight camera-turning framebuffer distortion running faster than the base framerate (this is sometimes known as “timewarping”).
Curiously, John Carmack was involving in developing both of those ideas!
AI and world update behavior has traditionally run at different rates than the renderer, dropping tasks when the engine is under stress, too. Multithread programming techniques seem to have made it easier for engineers to accept varying-rate processing.
The partial-rendering update stuff is really crazy, though more and more rendering tasks are also updating infrequently – things like lighting calculations, or just the sheer amount of temporal accumulation buffers we’re using these days, for things like anti-aliasing and motion blur.
Since physics, replays and network sync benefit hugely from fixed rate for reasons that have to do with mathematical stability, a common scheme these days is to have a fixed rate game state update coupled with interpolated variable-rate rendering (at the price of an extra frame of input lag). It’s not always easy to decouple gameplay form graphics since some computation tasks relevant to gameplay are better offloaded to GPUs these days.
Also, regarding using deltatime or not, it’s worth noting that historically getting reliable timing from PCs was a huge challenge for the longest time and only really got somewhat solved a couple years in the windows era.
Even more historically, on the Atari 2600, there was no framebuffer, so games had to fill a 40-pixel buffer in between (or during) each CRT scanline, multiple times a frame. There was no timer either so they did that by counting instructions. If they got the count wrong at all, the entire screen would glitch out.