Roller coasters are an attractive, adventurous, and exciting form of entertainment. In this paper we present a virtual roller coaster system, which includes roller coaster simulation software, a motion platform and a motion control unit. We investigate the track structure of the roller coaster and propose a methodology to generate the track automatically. We also simulate the forces exerted on the running carriage to give the user the impression he is riding a real roller coaster. A motion platform with two degrees of freedom is constructed, using hydraulic cylinders as its actuators. An electronic circuit is designed to allow the motion platform to communicate with the host computer. We also provide flexibility for changing the track type and the surrounding scenery, in order to give the rider a variety of exciting experiences. This system also considers safety concerns in the design of the motion platform.