Royal Flush for the Macintosh

Technical note: game speed


Abstract

Royal Flush is a demanding application (with respect to the machine it runs on). This technical note deals with the way the speed of the Macintosh affects the speed of the game, and addresses questions like: "How fast should my Macintosh be?", "What to do when the game play is too slow?" and "Is a faster machine always better?".

1. The meaning of "speed"

Royal Flush is designed in such a way that the speed of the various objects, like the ball, the plunger, lights etc. does not depend on the hardware of the machine. For the ball movement, for example, this is done by calculating the ball's position at regular intervals, that are based on real time, and adjusting the ball's position accordingly. When the machine you run on is fast enough to adjust all objects in the game between two calculations, everything is fine, and the game runs smoothly. When the machine is not quite fast enough, the intervals between calculations increase, and although the speed of the ball is still the same as on a faster machine, its movement becomes "jumpy", because it is being drawn with larger intervals. There is, however a limit to this: when the machine is really slow, the movement of the ball and the other objects is also slowed down, to avoid too large "jumps" between two consecutive ball positions. In practice, the slowing down starts on a machine that is 1/3 of the speed of the "nominal" machine. This is depicted in figure 1.


In summary, the game speed addressed in this technical note is a combination of the smoothness of the game and its actual speed. The higher the game speed, the better the game looks on the screen. There is however a maximum to the game speed: the maximum is reached when the movement of the objects is smooth, and all objects have the correct speed.

2. So, what kind of machines fall into what category?

There is no simple answer to that, because the net speed does not only depend on the hardware of the processor, but on some other factors as well. It is safe to assume, however, that a 66 MHz Performa certainly falls in the highest category, as does the Power Macintosh 8100, irrespective of the factors described below.

3. Factors that affect the game speed

3a. The system software

There is no difference between system 6, system 7 and system 8, as far as the game speed is involved. There IS, however, a big difference when using Sound Manager 3.0, which can only be used with system 7.0 and higher. Use of Sound Manager 3.0 is highly recommended. It allows sounds to be produced at higher quality AND with less processor load. In current versions of Apples system software, Sound Manager 3.0 is built-in. You can easily find out if you have it installed by just starting Royal Flush. If Sound Manager 3.0 is not installed, but your system software would allow for it, a warning to that effect is issued.

3b. Other software running simultaneously

Running other applications at the same time as Royal Flush should not affect the speed while playing the actual game. It can slightly affect the performance of the program though when you are in the café, the options screen, or one of the other places.
However, running system extensions like screen savers or network extensions CAN affect the game speed. If you are not satisfied with the game speed, try it with all extensions disabled to see if it makes any difference. Disable extenions (temporarily) by restarting the machine while pressing the "shift" key.
And one other hint: I once experienced a definite decrease in game speed when I started the game while the "Monitors" control panel was open! So closing control panels is a good idea.

3c. The size of the screen

The artwork of Royal Flush is designed in such a way that when the game runs on a screen that is less than 600 pixels high, the game field scrolls vertically during game play. Very efficient assembly routines were created to give the best possible performance, but unless the display hardware is equipped with a graphic accelerator, scrolling still costs a LOT of processor time, and the game is definitely slowed down while scrolling is in progress. So if at all possible, play the game on a screen that is at least 600 pixels high.
When your Macintosh is equipped with more than one screen, Royal Flush selects a screen for you that "best qualifies" for the game. It first selects any screens that are set to exactly 256 colors. If it finds more than one, it selects the larger of these screens. If it cannot find a 256 color screen, it selects the largest screen that is capable of displaying 256 colors, and switches the mode of that screen to 256.
The bottom line is, that you can force a specific screen to be chosen, by setting it to 256 colors (using the Monitors control panel) beforehand.
If you do not have a large screen, and scrolling puts a too heavy load on the game, you can disable scrolling using the "Options" pull-down menu, at the expense of not being able to see the entire play field.

3d. Sound

Even when using Sound Manager 3.0, producing sound still puts a heavy load on the main processor. Game speed can be improved by turning off the sound (although this probably diminishes playing pleasure).

3e. Virtual Memory

Playing the game with virtual memory active decreases game speed. The amount depends on the ratio of built-in memory versus the amount of virtual memory chosen. Try to avoid virtual memory for best results.

4. Does a mathematical coprocessor improve game speed (68K machines only)?

Hardly. There are a few calculations that prove to be faster when a coprocessor is used, and these calculations are done using the coprocessor when one is detected at run time. In the absence of a coprocessor however, excellent integer functions do the same job, albeit somewhat slower and less accurate. Although the difference can be measured, it is not noticeable from a player's perspective.

5. What about the Power Macintosh versus the 68K Macintosh?

Royal Flush is a "fat" application, which makes optimal use of either the 68K or the PowerPC architecture. The general rule is that the program runs faster on a Power Mac than on a 68K Mac.

6. What about the amount of memory?

If Royal Flush has 3600K of memory, it has enough to do everything it has to in the best possible way. Increasing the amount of memory does not affect the game speed whatsoever.
Decreasing the amount of memory doesn't affect the game speed either. If Royal Flush has anything from 2800K to 3600K of memory, it just runs with reduced functionality: the sound is turned off, for example.

7. Ways to improve game speed

In Summary, when you want to know if the game speed on your machine can be improved, try one or more of these steps:


Gerard's home page