file Maximum FPS in PQ

  • NF
  • NF's Avatar Topic Author
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 938
  • Thank you received: 431
16 Aug 2022 16:01 #1
In the other topic about changing FPS in the middle of a run, I mentioned that when playing in PQ it's okay to use any selectable frame rate online. I want to expand on that, but thought it best to make a new topic.

"Selectable" means anything that you can select in the options menu. Yes, you can still set the frame rate manually with the console and then restart the game and go online, but I'd love to see this patched out because it has potential to get abused as well. You could open the console, set the frame rate to 1 FPS, restart the game, and then you can play the game at 5% normal speed online, since the game runs at 20 FPS minimum. When you log in it should check what your maximum frame rate is, and if it's anything other than V-sync, 30, 60, 75, 120, 200, or unlimited, then it won't let you online. (Maybe 90 and/or 144 would be other good default values to add.)

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
17 Aug 2022 03:03 #2
This was something I considered when I implemented that feature in PQ. At the time, I didn't think you could gain an advantage by reducing your framerate below the 20fps minimum and playing the game at slower-than-realtime speed. Here's a rough outline of my reasoning at the time:

Using a framerate less than 20 FPS is a wash in terms of speedrun time because (I assumed) the lower FPS makes the finish trigger slower and adds to your time. I think that is how it works, but nobody ever confirmed it (psst Dom??). Also, the lower FPS makes it significantly harder to perform the high-precision tricks needed in WR pace runs, as you have to move the marble and camera in steps of 50ms where any need for readjustment could take 0.100 or more. It would be obvious if someone played at this speed since their rrec would be super choppy, and generally speaking you know if someone has a potato computer or not.

You're welcome to try and prove me wrong about this, though it sounds like straight ass to play like this. If someone actually can get a better time that way, I guess it'd be up to the new team to decide how to handle it.

[sidenote: can someone please increase the session time on the forum? it's eaten my message twice while trying to type this since I took too long]

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }
The following user(s) said Thank You: NF

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
17 Aug 2022 03:12 #3

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }

Please Log in or Create an account to join the conversation.

  • NF
  • NF's Avatar Topic Author
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 938
  • Thank you received: 431
17 Aug 2022 03:24 #4

HiGuy wrote: Also, the lower FPS makes it significantly harder to perform the high-precision tricks needed in WR pace runs, as you have to move the marble and camera in steps of 50ms where any need for readjustment could take 0.100 or more.

True—this is why I would hate playing at slowed down 20 FPS, and probably wouldn't even want to test out "1 FPS" or some similar frame rate in the settings. Also even if you did get WR, it probably wouldn't be accepted due to being under 30 FPS. Unlike with .recs though, .rrecs don't actually track frame by frame inputs (at least not as far as I know), so it would be much harder to test for this in PQ.

It would be obvious if someone played at this speed since their rrec would be super choppy, and generally speaking you know if someone has a potato computer or not.

Well, .rrecs always play back at 60+ FPS even if they were recorded at a lower frame rate, so the .rrec wouldn't be choppy at all. I love that feature for viewing purposes, but it does make it harder to tell what actually happened during the run.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
17 Aug 2022 07:14 - 17 Aug 2022 07:15 #5

NF wrote: Unlike with .recs though, .rrecs don't actually track frame by frame inputs (at least not as far as I know), so it would be much harder to test for this in PQ.

Yes they do :) It's used to help playback know when to give particles for natural bounces (with moderate success). It simulates the physics as well, and just nudges it back towards the recorded positions if it drifts too far.


NF wrote: Well, .rrecs always play back at 60+ FPS even if they were recorded at a lower frame rate, so the .rrec wouldn't be choppy at all. I love that feature for viewing purposes, but it does make it harder to tell what actually happened during the run.

You would still see the choppy interpolation between the frames, it would look jittery even when playing at 60fps. You should try it and see what I mean. Also regardless, the frames are only saved every time the recording game has a tick, so you could read the files and see the effective frame rate.

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }
Last edit: 17 Aug 2022 07:15 by HiGuy.

Please Log in or Create an account to join the conversation.

  • NF
  • NF's Avatar Topic Author
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Posts: 938
  • Thank you received: 431
17 Aug 2022 12:44 #6

HiGuy wrote: It's used to help playback know when to give particles for natural bounces (with moderate success).

Is it also used to help playback know when to give jump sounds?

It simulates the physics as well, and just nudges it back towards the recorded positions if it drifts too far.

I think this is especially noticeable on elevators, and nowhere did I see it more than on the world record .rrec for Platform Race. It's kind of distracting and one of the reasons (along with lack of jump sounds) that I much prefer .rec playback.

You should try it and see what I mean.

I remember playing Gravity Shaker offline at 3 FPS before the update to switch everything to 20, so it actually did run at 3 FPS, and the .rrec looked really weird playing back at 60! So you're right about this, but it's definitely not as noticeable from 30 to 60 as it is from 3 to 60.

Also regardless, the frames are only saved every time the recording game has a tick, so you could read the files and see the effective frame rate.

This is really useful and reassuring to know, thank you! Maybe it could help prevent some similarly sketchy behavior in PQ like what we saw with MBG. And even better, since the .rrec is sent to the server, it could examine it automatically. Just a thought.

Please Log in or Create an account to join the conversation.

Moderators: Doomblah
Time to create page: 1.289 seconds