-- called every frame, with constant delta time
function game_tick()
    -- ctx.initialization_needed is true first frame and every time dynamic reload is performed
    if ctx.initialization_needed then
        -- ctx.udata persists on reload
        ctx.udata = {}
    end
end