5
\$\begingroup\$

How do games with a low tickrate make things work? I.e. how do they manage to stay responsive despite the fact that interpolating gamestates for rendering adds input delay? Is there some method besides simple interpolation that allows for fps above the tickrate? E.g. Minecraft seems to work very well with a tickrate of just 20hz.

\$\endgroup\$
2
  • \$\begingroup\$ Interpolation and client-side prediction. FPSs use this too. \$\endgroup\$
    – Almo
    Commented Apr 17, 2017 at 14:25
  • \$\begingroup\$ The ticks from the server don't affect the basic player interactions like moving around. You have both client and server side code running in Minecraft, even on singleplayer, it's a bad example. \$\endgroup\$
    – DH.
    Commented Apr 17, 2017 at 14:27

1 Answer 1

2
\$\begingroup\$

Minecraft is pretty much the only game that has a lower physics frequency than rendering.

(As @DMGregory pointed out, this only applies to offline games, because most servers run on lower rates, and some Unity games also share this aspect, although with a smaller difference between update and render times)

In the case of minecraft, only updating happens 20 times a second. The rendering is still 60 fps. Between updates (or "ticks") the game doesn't do anything other than rendering. Because most of the things in the game don't go too fast, this is unnoticeable, but if you slow down some footage of minecraft, it may become noticeable, especially on falling entities. Because the game doesn't recalculate their positions very often, they only change positions 20 times a second.

The only updates, that happen 60 times a second are the camera and player updates.

\$\endgroup\$
5
  • 4
    \$\begingroup\$ "Minecraft is pretty much the only game that has a lower physics frequency than rendering." This may be misleading - especially for games with online multiplayer. This Source Multiplayer Networking article lists games like Left 4 Dead that update only 30 times per second, though their rendering frequency can be substantially higher. In Unity engine games the default physics update rate is 50 Hz, so it's reasonable to suspect that many Unity games running at 60+ fps may be updating physics less often than rendering. \$\endgroup\$
    – DMGregory
    Commented Apr 17, 2017 at 15:42
  • \$\begingroup\$ @DMGregory I'll add that \$\endgroup\$
    – Bálint
    Commented Apr 17, 2017 at 15:54
  • \$\begingroup\$ So the player position is updated more often then? I.e. the 20hz tickrate only applies to the world and mobs? Hmm making anything the player directly controls update more often would make things much more responsive. \$\endgroup\$
    – Wingblade
    Commented Apr 17, 2017 at 17:12
  • \$\begingroup\$ @Wingblade Yes, basically \$\endgroup\$
    – Bálint
    Commented Apr 17, 2017 at 17:39
  • \$\begingroup\$ minecraft interpolates for rendering \$\endgroup\$
    – Sopel
    Commented Apr 23, 2017 at 17:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .