Page:Gametronics Proceedings.djvu/43

 Movement of objects can be achieved by programming the microprocessor to change the coordinate register pair of the objects. Vertical motion can be achieved by incrementing or decrementing the vertical coordinate register. Horizontal motion is accomplished by incrementing or decrementing the horizontal coordinate. In this way, two degrees of freedom are available to each object. Other motions, such as rotation, are accomplished by more complex means. For example, an automobile with rotation will involve several object patterns at different angles. A 90-degree rotation will involve successive displays of several patterns as shown in Figure 6.

Collision of objects can be detected by both hardware or software. However, in the case of non-symmetrical objects, no unified algorithm can be effectively employed. Detecting collision can be a lengthy process (see Figure 7), and a hardware approach is used in this architecture. This hardware approach is illustrated in the block diagram of Figure 8. Coming into the block are 'n' object video signals indicating the presence of each object. To detect all inter-object collisions, it would take (n-1)! gates. As n approaches 8 or 9, the amount of logic required explodes. In practice, not all inter-object collision signals are required; e. g., a cactus will never collide with a home in a game. By assigning and grouping the objects effectively, a minimum of inter-object collision detection is required.

SUMMARY

A major feature in using an object-oriented approach to implementing microprocessor-based video games is flexibility. With this approach, games may be changed simply by changing the program. Furthermore, the level of complexity or degree of sophistication of the games can be varied by simply adding on the appropriate units of object modules.

The plug-in modules, in this case, can be:

1)Programmed ROMs for different games

2)Object modules for varying levels of complexity of games

Another feature of this approach is that the same system may be used