1. A non-transitory computer-readable storage medium storing a computer program for a location-based online game for a plurality of mobile devices, the program comprising executable instructions that, which when executed by at least one processor, cause a computer to: provide a virtual environment for the online game; assign a first virtual force field around a first player operating a first mobile device, the first player associated with a first virtual character in the virtual environment of the online game; assign a second virtual force field around a second player operating a second mobile device, the second player associated with a second virtual character in the virtual environment of the online game; wherein, a radius of each of the first and second virtual force fields is proportional to a score or experience point of the associated player in the online game; wherein, the radius of the first virtual force field is different from the radius of the second virtual force field; determine a first geographical location of the first mobile device by receiving first GPS data from the first mobile device; determine a second geographical location of the second mobile device by receiving second GPS data from the second mobile device; determine if a collision event has occurred for the online game between the first mobile device and the second mobile device when the first virtual force field, based on the first geographical location, intersects the second virtual force field, based on the second geographical location; and in response to determining the collision event, provide a forum to enable a battle between the first virtual character and the second virtual character in the virtual environment of the online game.