A game control program product, executed by a computer, for controlling a game, the game control program product comprising: a first rendering module for setting a point of view and a line of sight and rendering objects disposed in a three-dimensional space through parallel projection transformation in a two-dimensional plane by referencing data stored in a storage which stores data of the objects; wherein the objects are parallelepipeds having sides respectively parallel with three axes of coordinates set in the three-dimensional space, the side of each parallelepiped facing upwards in the three-dimensional space forming an upper base of the parallelepiped; a viewpoint changing module for receiving a change instruction indicating a change of the point of view or line of sight and changing the point of view or line of sight; a second rendering module configured to acquire the point of view from the viewpoint changing module, to render, by referencing the data stored in the storage, the objects without generating a display screen, and to store object IDs, plane IDs and Z values of the objects in pixels; a character controller module for moving a character along upper bases of the parallelepipeds that is configured to determine that a first object is adjacent to a third object where the character exists, and allows the character to move between the third object and the first object, if a distance in the two-dimensional plane between the first object and a position where a virtual object adjacent to the third object in the three-dimensional space would have been rendered is within a first range; and a search module for searching, in response to a user operation, for a second object, wherein a distance in the two-dimensional plane between the second object and a position where a virtual object adjacent to a target object in the three-dimensional space would have been rendered is within a second range which is longer than the first range, and to change the point of view or line of sight in such a manner that a distance, in the two-dimensional plane, between the second object and the position where the virtual object adjacent to the target object would have been rendered is within the first range, wherein the character controller module is configured to acquire an ID of the object for the next move by referencing the results of rendering by the second rendering module and to calculate thereby three-dimensional world coordinates of a present position of the character after a move to the object. a first rendering module for setting a point of view and a line of sight and rendering objects disposed in a three-dimensional space through parallel projection transformation in a two-dimensional plane by referencing data stored in a storage which stores data of the objects; wherein the objects are parallelepipeds having sides respectively parallel with three axes of coordinates set in the three-dimensional space, the side of each parallelepiped facing upwards in the three-dimensional space forming an upper base of the parallelepiped; a viewpoint changing module for receiving a change instruction indicating a change of the point of view or line of sight and changing the point of view or line of sight; a second rendering module configured to acquire the point of view from the viewpoint changing module, to render, by referencing the data stored in the storage, the objects without generating a display screen, and to store object IDs, plane IDs and Z values of the objects in pixels; a character controller module for moving a character along upper bases of the parallelepipeds that is configured to determine that a first object is adjacent to a third object where the character exists, and allows the character to move between the third object and the first object, if a distance in the two-dimensional plane between the first object and a position where a virtual object adjacent to the third object in the three-dimensional space would have been rendered is within a first range; and a search module for searching, in response to a user operation, for a second object, wherein a distance in the two-dimensional plane between the second object and a position where a virtual object adjacent to a target object in the three-dimensional space would have been rendered is within a second range which is longer than the first range, and to change the point of view or line of sight in such a manner that a distance, in the two-dimensional plane, between the second object and the position where the virtual object adjacent to the target object would have been rendered is within the first range, wherein the character controller module is configured to acquire an ID of the object for the next move by referencing the results of rendering by the second rendering module and to calculate thereby three-dimensional world coordinates of a present position of the character after a move to the object.