A game control program product comprising: a rendering module for setting a point of view on a sphere with its center at a predetermined position in a three-dimensional space and a line of sight along a viewing direction from the point of view to the predetermined position and rendering objects disposed in the three-dimensional space by referencing data stored in a storage which stores data of the objects disposed in the three-dimensional space, the objects including a plurality of parallelepipeds having sides respectively parallel with three axes of coordinate (X, Y, Z) set in the three-dimensional space; and a changing module for receiving a change instruction from a controller operated by a user indicating a change of the point of view and line of sight and for changing the point of view and line of sight; a controller module for automatically moving a character along outer surface planes of the parallelepipeds each of which is covered by a plurality of outer surface planes, wherein the changing module determines a predetermined range that contains a direction parallel or perpendicular to a base of the parallelepipeds, wherein the changing module shifts, when receiving an instruction to change a position of the point of view and a direction of the line of sight that causes the viewing direction to enter the predetermined range, the position of the point of view in a continuous slide to another position (97b, 98b) at which the viewing direction is outside the predetermined range according to the received change instruction; and wherein the direction of the shift of the position of the point of view is changed when a further change instruction is received by the changing module while the point of view changes within said predetermined range. a rendering module for setting a point of view on a sphere with its center at a predetermined position in a three-dimensional space and a line of sight along a viewing direction from the point of view to the predetermined position and rendering objects disposed in the three-dimensional space by referencing data stored in a storage which stores data of the objects disposed in the three-dimensional space, the objects including a plurality of parallelepipeds having sides respectively parallel with three axes of coordinate (X, Y, Z) set in the three-dimensional space; and a changing module for receiving a change instruction from a controller operated by a user indicating a change of the point of view and line of sight and for changing the point of view and line of sight; a controller module for automatically moving a character along outer surface planes of the parallelepipeds each of which is covered by a plurality of outer surface planes, wherein the changing module determines a predetermined range that contains a direction parallel or perpendicular to a base of the parallelepipeds, wherein the changing module shifts, when receiving an instruction to change a position of the point of view and a direction of the line of sight that causes the viewing direction to enter the predetermined range, the position of the point of view in a continuous slide to another position (97b, 98b) at which the viewing direction is outside the predetermined range according to the received change instruction; and wherein the direction of the shift of the position of the point of view is changed when a further change instruction is received by the changing module while the point of view changes within said predetermined range.