RAMRACER TECHNICAL SPECIFICATION Target machine minimum specification ____________________________________ PC 486 The game will include options to reduce the detail levels. For example - Light sourcing can be turned off. Texture maps can be turned off in the distance. Perspective texture mapping can be turned off. Reduced screen size. Fewer polygons can be displayed in the distance. Sound cards to be supported ___________________________ All sound cards from the minimum specification should be supported. However, ARC will need assistance in obtaining drivers for some of the devices. Screen resolutions and colours supported ________________________________________ The standard game will run in normal 256 colour VGA. There MAY be an option to run in 256 colour SVGA, but only for the very fast machines. Maximum number of polygons in 3D engine _______________________________________ This is difficult to quantify because it depends on a multitude of factors. These are - Machine speed. Video card speed. Polygon size, mapping type, lighting, arrangement, etc. To help with this, we present some figures representing the number of polygons per second for various polygon types. These figures were obtained from the 3D engine generating a reasonably complex scene made from a variation of large and small polygons, so note that there is more than just polygon filling in operation here. Polygons are mapped as either triangles or quadrilaterals. ----------------------------------------------------- Polygons Vertices per second per second ----------------------------------------------------- Textured polygon 7000 9200 No shading Textured polygon 6000 8000 Flat shaded Textured polygon 5100 6800 Gouraud shading ----------------------------------------------------- Non textured polygon 11700 15600 No shading Non textured polygon 10500 14000 Flat shaded Non textured polygon 7800 10400 Gouraud shading ----------------------------------------------------- Maximum number of moving objects in 3D ______________________________________ These require a rotation and translation for each vertex in every object. At worst, this amounts to 12 multiplies per vertex per object. So accordingly, the more complicated an object, the fewer can be transformed to keep the game speed up. The maximum number of moving objects has not yet been investigated. However, it can be seen from the design specification that not many objects transform anyway. Apart from the cars, catapults, bumpers, track sections and some hazards move. Many of these do not need to rotate, hence saving computation time. If using rotations with light sourcing, an extra consideration will be the rotation of the surface normals, and for gouraud shading, the vertex normals. Note that transformations do not necessarily occur for each object in every frame. The transformations can also be connected to the frame rate so that if the frame rate drops, the transformations will take on greater steps. Shading and image mapping supported ___________________________________ These methods apply to both triangles and quadrilaterals. Non textured No shading Flat shading Gouraud shading Textured Transparent No shading Flat shading Gouraud shading The following methods will also be supported - Polygon outline Line drawing Perspective texture mapping The polygon fill routines are reasonably well optimised. Drawing to the screen is done horizontally, line by line down the screen. No pixels on the polygon are overwritten. The horizontal fills for every polygon mapping type are written in assembly language and are hand optimised. Speedups are now being looked at in other areas since the inner loops are nearly as fast as they can go. Wherever possible, data is copied in double words (for non-textured polygons) and the optimisations cater for pipelining considerations.