I'm trying to build a game from scratch in Dart, similar to Minecraft.
As far as I understood, there are two main functions in a general game loop:
tick: a function that gets executed a fixed amount of times per second independently of the framerate. And I think in Minecraft those are called TPS (Tick per second).
render: a function that draws everything on the screen, called every frame, the frequency of which depends on the device's capabilities. (FPS)
(I am referencing Minecraft as it's a well-known game and it's quite simple)
What I'm trying to understand is at which time should collisions be checked for? Are they checked each time the screen draws (render) or every time the tick function runs?