Benchmark of RushHour Game
This is a simple interface representing both the direct-manipulation and animation interfaces.
The game named RushHour Puzzle simulates traffic jam on a grid-block square during rush hour, where cars and trucks block each other. The goal of the game is to have the red car, probably ambulance or firefighters truck, escape from this congestion as soon as possible. The cars and trucks only can move forward and backward along the blocks, no two-side move and jump are allowed. That is the rule of the game.
The generic style of the direct-manipulation interface is about selection and operation of objects, and effects of the legal operations, which in the form of invoked event or semantics feedback. While playing the RushHour game, the cars and trucks are objects, representing the real-world entities exactly. Selecting and moving cars and trucks under rule is permitted operation, which trigger the event such as judgement of current situation, etc.
Similarly, the generic style of animation is the simulation of process in the real world. The demo of puzzle solution definitely exhibits users the process of vehicles motion.
As we see, this benchmark shares the common features with the other typical computer game such as Microsofts card game (solitaire) and Toshibas golf game.
The RushHour game comes from the traffic jam in ground, a two-dimension plane. Consequently, no need to deal with Z-order objects, which is common in other game though. Moreover, in the process of the game demo, no users interruption or command, which is often required by other animation interface. To leave out the above features is for to simplify this mixed interface.
Through capturing the primary features of interface style, we can not only test the fundamental function of toolkits , but also achieve the reasonable time for the future implementation.
The basic appearance of this benchmark is similar as the Figure 1, Where the screen is divided into two sections. One is playing frame, a grid blocks occupied by cars and trucks; The other is command palette, a palette comprised by controlling buttons and information displays. The followings are the detailed description separately.
Figure 1. The sample of the interface
This section should be the main portion on the screen. The objects in this area are the grid blocks and the vehicles.
Grid blocks: Construct the play ground with 6 rows and 6 columns. On the right frame edge is the exceptional exit, located on the second row. (Depicted on figure 1).
Vehicles: Cars in the size
of two blocks (2X1) and trucks in the size of three blocks (3X1).
All these vehicle have the different colors and code for identification.
The red car, always in the second row, is the targeted car that the players
try to move out of this frame.
The expected operation of these objects is to select them and move them forward or backward, no left or right side move and jump(lift) are possible.
This puzzle begins with the various initial layouts of cars and trucks, different layouts flags different level of difficulty. Because all of them are similar to implement, the basic requirement is to realize the sample layout showed in figure 1.
The players can select just one vehicle at one time. No multi-object selection is supported; The players can move the vehicles either by drag and drop of mouse or by arrow-key in keyboard and command palette. Both have the same effect on the next position of the selected vehicle.
The goal of game is to move the red car out of this frame as soon as possible, Once the goal is achieved, the game is over.
This section has controls of starting, resetting, pausing , stopping and exiting the game, showing the help information and the demo, and moving the vehicles one block at one time. Meawhile, record time elapsed for evaluation of this game. On the bottom of the playing frame, the message line provides the space for prompt message.
Start Game: Start the game and enable the timer to record the game time as well. After being clicked, this button is disabled. IF the game stop by Stop button, the button is enabled.
Stop Game: Clicking Start button enables this Stop button. Obviously, the function of this button is to stop the game immediately. The timer reset to zero as well.
Reset Game: After game starts, this button is active. In the case the player enter a hopelessly gridlock, this button can resume to the initial layout at once. But this button has no effect on the time recorder, which keeps on counting the elapsed time.
Exit Game: At any time, pressing this button leads to exit this application at once.
Moving Vehicles: This is a group of four buttons which can move selected vehicle one block at one time. The moving direction are up, down, right and left. As to one specific vehicle, only the direction compliant with game rule is enabled. If no selected vehicle, all buttons are disabled (grayed out). The equal alternative of these buttons is to directly drag and drop vehicles by mouse.
Help: Common use of this button is to link with a help file which has the structured useful information. But in order to simplify the interface, this button is supposed to link with one single message only.
Demo Game: When starting the game, this button disabled; when stopping the game, this button enabled. If pressing this button, the system will show you how to play the game by simulation of moving of the vehicles step by step and finally the targeted car (Red car) is moved out of the frame.
Time recorder: Record the time the user spend on this game and display the time at a short interruption.
Prompt Line: Prompt the error message if moving of vehicle is illegal, successful message if user solve this puzzle and so on.
Switcher of the game: There are two kinds of configuration information: one is about the initial layout of game; the second one is the solution for corresponding layout. To allow users to select and play various level game is optional actions for this game. because this function address more data storage and access than user's interaction.
Sound effect: Undoubtly,
sound or speech will attract the player involved further into the
game. For example, when the player move the car illegally, the "crash"
sound will be the impressive alert. This feature exploits multimedia technology,
which is beyond this benmark.