A game apparatus for causing a player object and a field object that are present in a virtual game space to be displayed in a display device, comprising: operation data acquisition means for acquiring operation data at least including motion data, which is data representing a motion of a predetermined input device (34, 36), from the input device; amount-of-change calculation means for calculating an amount of change of the input device in a predetermined period of time, based on the motion data; position orientation calculation means for calculating a position and an orientation of the player object in the virtual game space; degree-of-contact calculation means for, based on a contact area or a contact volume between the player object and the field object, calculating a degree of contact, which represents a degree of the player object and the field object contacting each other in the virtual game space, the degree of contact being a value between 0 and 1; and orientation change means for changing the orientation of the player object, based on the amount of change and the degree of contact, such that the rate of the change when the orientation of the player object is changed is in accordance with the degree of contact, wherein in an intermediate state where the degree of contact between the player object and the field object changes during a period from when the player object starts separating from the field object to when the player object is completely separate from the field object and a predetermined operation for changing the orientation of the player object is performed, the degree-of-contact calculation means calculates the degree of contact based on the contact area or the contact volume when the operation is performed, and the orientation change means changes the orientation of the player object only when the degree of contact is less than 1, and wherein the input device includes a gyro sensor, wherein the operation data acquisition means acquires angular velocity data, outputted from the gyro sensor, as the motion data, and wherein the amount-of-change calculation means calculates the amount of change, based on the angular velocity data. operation data acquisition means for acquiring operation data at least including motion data, which is data representing a motion of a predetermined input device (34, 36), from the input device; amount-of-change calculation means for calculating an amount of change of the input device in a predetermined period of time, based on the motion data; position orientation calculation means for calculating a position and an orientation of the player object in the virtual game space; degree-of-contact calculation means for, based on a contact area or a contact volume between the player object and the field object, calculating a degree of contact, which represents a degree of the player object and the field object contacting each other in the virtual game space, the degree of contact being a value between 0 and 1; and orientation change means for changing the orientation of the player object, based on the amount of change and the degree of contact, such that the rate of the change when the orientation of the player object is changed is in accordance with the degree of contact, wherein in an intermediate state where the degree of contact between the player object and the field object changes during a period from when the player object starts separating from the field object to when the player object is completely separate from the field object and a predetermined operation for changing the orientation of the player object is performed, the degree-of-contact calculation means calculates the degree of contact based on the contact area or the contact volume when the operation is performed, and the orientation change means changes the orientation of the player object only when the degree of contact is less than 1, and wherein the input device includes a gyro sensor, wherein the operation data acquisition means acquires angular velocity data, outputted from the gyro sensor, as the motion data, and wherein the amount-of-change calculation means calculates the amount of change, based on the angular velocity data.