Difference between revisions of "Frame"

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(Creating basic page for the Frame unit. This should be expanded on with more relevant mechanics and addresses.)
 
(→‎Mechanics: Adding some clarification to the framerate divisor. I should probably capture some footage of 60 FPS gameplay for clarity.)
Line 8: Line 8:
** [[Ink]] consumed while drawing on the canvas, or ink recovered over time during normal gameplay.
** [[Ink]] consumed while drawing on the canvas, or ink recovered over time during normal gameplay.
* Whether the game is running at 30 FPS (general gameplay) or 60 FPS (some menus) is determined by the 1 byte Framerate Divisor value located at <code>main.dll+B6AC45</code>.
* Whether the game is running at 30 FPS (general gameplay) or 60 FPS (some menus) is determined by the 1 byte Framerate Divisor value located at <code>main.dll+B6AC45</code>.
** It is set to 1 in menus, and 2 in general gameplay.
** Using tools to change it to 1 during gameplay causes the game to run at 60 FPS, but causes physics and various game mechanics to behave strangely.

Revision as of 03:06, 31 July 2023

Note: This page describes a unit used in Okami. To learn more about the values representing quantities of these units, see Reverse Engineering.

Explanation

A Frame is the minimum progression of time in-game. Inputs are polled, the game state is updated, and the image displayed on-screen once per frame. During normal gameplay, Okami generally runs at a fixed frame rate of 30 frames per second (FPS). In some menus, such as the pause and fan menus, the game instead runs at 60 FPS.

Mechanics

  • Many constants and values in-game are also represented in terms of a rate of change per-frame. For example:
    • Health lost to being on fire, or health gained via the Wood Mat.
    • Ink consumed while drawing on the canvas, or ink recovered over time during normal gameplay.
  • Whether the game is running at 30 FPS (general gameplay) or 60 FPS (some menus) is determined by the 1 byte Framerate Divisor value located at main.dll+B6AC45.
    • It is set to 1 in menus, and 2 in general gameplay.
    • Using tools to change it to 1 during gameplay causes the game to run at 60 FPS, but causes physics and various game mechanics to behave strangely.