In the Spy game, a spy is placed first at some vertex of a graph G. Then, k > 0 guards are also occupying some vertices of G. At each turn, the spy moves at speed s ≥ 2, i.e., along at most s edges and then, each guard moves at speed 1. The spy and any number of guards may occupy the same vertex. The goal of the guards is to control the spy at distance d ≥ 0, i.e., to ensure that, at every turn (after the guards' moves), at least one guard is at distance at most d from the spy, whatever be the strategy of the spy. We aim at determining a winning strategy for the guards using the smallest number of guards, denoted by gn s,d (G) and called the guard number of G (for fixed s and d). In this paper, we study the Spy game through the framework of fractional games, where each vertex can have a fractional amount of guards and the moves of the guards are modeled by flows. This framework allows us to prove that gn s,d (T) and a corresponding strategy for the guards can be computed in polynomial-time in the class of trees T. This algorithm is mainly based on a Linear Program. Using this framework, we also prove that there exists 1 > β > 0, such that gn s,d (G) = Ω(n 1+β) in any n × n grid (or torus) G. This extends some known results on the Eternal Dominating Set in grids. Finally, we prove that there exists 0 < α < log(3/2) such that there exists a fractional winning strategy using O(n 2−α) fractional guards in any n × n grid (or torus), for any s ≥ 2 and d ≥ 0. Note that, it is only known that gn s,d (G) = O(n 2) in any n × n grid (or torus). Besides our results, we believe that the methods using fractional relaxation and Linear Programming are a promising way to better understand other combinatorial games in graphs.