Distances are measured differently in some editions of Grand Theft Auto. In early editions (GTA1 and GTA2) measurements are based on the grid system of the landscape data file format. In later editions, they use meters and divisions of meters.
None of the environments in any Grand Theft Auto edition attempt to mimic the Earth's curvature, they use flat planes and straight lines to base positions from.
GTA1 & GTA2
The map data for these levels is constructed from a grid of cubes. There are 256 cubes from East to West and 256 cubes from North to South. There are 6 layers of cubes, creating a total of 393,216 cubes. In both editions, the face of each cube is able to take one texture of size 64×64 pixels. This provides a regular grid which can be used for the placement of objects.
Negative values are not required in GTA1 and GTA2, as the whole environment is covered by positive coordinates.
A cube in GTA1 and GTA2 is the same size as the length of a regular 1990's American family car, which tend to be around 4.5 meters long (some are larger, some are smaller). Therefore, each side of a cube in GTA1 and GTA2 is 4.5 meters long. This makes the game environment 1,152 meters from East to West and the same amount from North to South. In contrast, it allows just 27 meters in height. The total game area is 1,327,104 square meters, or 1.327 square kilometers.
Coordinates in these games start from the upper North West corner of the environment at (0,0,0) and finish in the South East corner at (255,255,5). In GTA1 these coordinates must all be integers but in GTA2 decimals can be used, such as (12.3,98.75,3.5). Integer cube coordinates place an object precisely on the North West corner of a cube.
Sea level is generally placed on the lowest level to allow all of the very limited height to be used by buildings.
Because GTA2 can use decimals in its cube coordinates system, it does not need a more precise unit. However, GTA1 does require a more precise unit and it uses the location of pixels on the faces of cubes to do this. They start from the upper North West corner of the environment at (0,0,0) to the South East corner at (16383,16383,383).
There are 64 pixels to a cube. A pixel coordinate which can be divided by 64 with no remainder will place an object precisely at the North East corner of a cube. An offset of 32 pixels will place an object precisely in the center of a cube.
Some objects in GTA1 and GTA2 have an offset from the coordinate system, most notably the TELEPHONE object in GTA1 (creates a payphone from which the player can receive missions) and the TOWER object in GTA2 (to make special walls and towers solid).
Some objects have special requirements about how they are positioned on the vertical axis (Z axis or third coordinate position). In general, objects should be created inside the cube above the cube they are intended to be placed on. However, some objects (such as DUM_MIS_TRIG in GTA1) must be placed on the cube above this.
GTA3, GTAVC & GTASA
The distance units in the 3D editions of Grand Theft Auto were standardized and based accurately on one meter. Therefore, one unit in GTA3, GTAVC or GTASA equals one meter. These "standard units" can use a floating point decimal but this inevitably lacks precision near the edges of the game boundaries. Therefore, much like GTA1, a secondary coordinates system is introduced. This uses "precision unit" which are each one sixteenth of a meter (6.25 cm) and also allow decimals, creating a much more accurate coordinates system.
The size of the game environment in each edition is different and became larger with each edition:-
- From (-???,-???,-???) to (???,???,???) standard units.
- Total area: ?.??? square kilometers.
- From (-2300,-1900,-INF.) to (1540,1900,INF.) approximately, standard units.
- Total area: 14.6 square kilometers.
- From (-3000,-3000,-INF.) to (3000,3000,INF.) standard units.
- Total area: ?.??? square kilometers.
Those limitations can be increased using several tools like the SA Limit Adjuster.
Sea level is generally placed a little above the vertical level of the origin, normally between 0 and 100 units above it. This is to make the placement of buildings use positive numbers for their Z axis position, presumably to make the data easier for humans to understand.
These 3D editions measure positions roughly from the center of the game environment using standard graph axes. As such, positions below and to the South West of the origin are negative on all three axes while positions above and to the North East are positive in all three axes. Other positions have a mixture of negative and positive values.
Each standard unit is precisely one meter in length. The maximum possible range for the type of number used is from -1.5 x 10^-45 to 3.4 x 10^38 but this is limited to the size of the game environment for most purposes. It is important to note the precision of the float single (32 bit float) data used by the games is best used within -2048..2048 units, possibly maximum of -4069..4069 units. going beyond these numbers could cause jittering vehicles, unstable and imprecise physical simulation of the game environment.
These only seem to be used by AI paths to overcome the lack of precision when creating paths near the edges of the game environment. They are measured from the exact same origin as standard units in the same directions and therefore require negative numbers to be used for some areas of the game environment.
Each precision unit is precisely on sixteenth of a metre (6.25 cm) and decimals are allowed. The maximum possible range for the type of number used is from -??? to ??? but this is limited to the size of the game environment for most purposes.
GTASA allows coordinates beyond the normal game environment to be used but there are limits on how they can be used. Mission scripts allow a number of map objects to be placed beyond the boundaries. The player can freely roam beyond the boundaries. This is not a practical way to add extra land and islands to the game but it does allow extra possibilities for long distance mission scenarios.
- CoordStudio by Cerbera - allows conversion between all units used by PC releases of Grand Theft Auto.
|Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.|
See Grand Theft Wiki:Copyright for more information.