A tick

counter-strike-global-offensiveterminology

What is a tick?

I have heard many instances of tick being used. For example, people will say that demos are recorded in 16 tick, that servers run in 64 tick, but really good servers will run in 128 ticks.

I don't exactly understand what's a tick exactly. Why would having higher powers of 2 any better? I have seen a lot of threads about asking Valve to add higher tick servers, but what does a higher "tick" get you?

Best Answer

What is a tick?

To understand the meaning of a tick first you need to have a high level understanding of a game loop. In a standard game loop you have three main functions:

  1. Process user input
  2. Update the game state
  3. Render to screen

These will loop over and over throughout the game. There are controls on the loop so that 2 different pieces of hardware (e.g. PCs) don't run the loop at different rates. This is also important in server-client setups like Counter-Strike so that all clients are running in sync. A tickrate is used to control how often the game state is updated. A tickrate of 60 would update the game state 60 times every second. You will often see this number represented as ticks, tickrate, ticks per second and tps.

Note that the rendering to screen is often controlled differently (common to see 60 frames per second, or 60fps). Complex loops try to decouple the tickrate and frame rate, so that longer processing time doesn't cause jumps in the graphics. Although linked, it is important to understand that the game updates (controlled by ticks per second) is different from screen updates (controlled by frames per second).

Some online games such as Titanfall have much lower tickrates (20). This means that every second the game world has been updated 20 times and rendered to screen 60 times (assuming 60 fps).

I have seen a lot of threads about asking Valve to add higher tick servers, but what does a higher "tick" get you?

A high tick rate will make the game appear more responsive because your actions (moving, firing etc) are being reflected in the game state more regular. However, it is more demanding on your machine/server and potential client network.

For a higher tickrate, lower end machines may struggle. Also, depending on netcode (which may be optimised for 60 rather than 100+) you could see other bugs with sync, floating point issues etc.

So in short, a higher tick rate will see the benefits if the clients can keep up (with CPU and bandwidth). Failing that, they will experience more lag/issues than on a 60 tick server. Also, the cost will be higher for servers to run higher tick rates (plus the bandwidth costs, as you are updating the clients more often).

Other games with dedicated servers will have much lower tick-rates than 60, both to increase the audience (more people able to run without issues) and to reduce cost. The game doesn't feel as responsive as a higher tick rate game/server, which is very minor considering we are talking about update rates of 20 or 60 times every second. How many times can you click the mouse in any one second, anyway?

Further reading:

  • Netcode - gives some references to tickrates
  • Game Loop - good to understand how tickrates and frame rates are handled generally by any game
  • 10 Tick Rate on Battlefield - outcry from games running on lower tickrates
Related Topic