Here's a statistical breakdown of the source code for The Sentinel. Click on the table headers to sort by that statistic. For more information, see the notes after the table.
| Category | Instructions | Subroutines | Variables | Data (bytes) |
|---|---|---|---|---|
| 3D objects | 190 (3.0%) | 6 (2.3%) | 9 (1.5%) | 401 (3.4%) |
| Cracker protection | 54 (0.9%) | 9 (3.5%) | 0 (0.0%) | 1 (0.0%) |
| Drawing objects | 332 (5.3%) | 5 (1.9%) | 17 (2.8%) | 1675 (14.2%) |
| Drawing polygons | 800 (12.7%) | 20 (7.7%) | 8 (1.3%) | 852 (7.2%) |
| Drawing the landscape | 764 (12.1%) | 21 (8.1%) | 9 (1.5%) | 560 (4.7%) |
| Gameplay | 633 (10.0%) | 25 (9.6%) | 2 (0.3%) | 8 (0.1%) |
| Graphics | 212 (3.4%) | 9 (3.5%) | 15 (2.4%) | 155 (1.3%) |
| Keyboard | 277 (4.4%) | 13 (5.0%) | 3 (0.5%) | 32 (0.3%) |
| Landscape | 674 (10.7%) | 22 (8.5%) | 11 (1.8%) | 1828 (15.5%) |
| Main game loop | 171 (2.7%) | 5 (1.9%) | 1 (0.2%) | 6 (0.1%) |
| Main title Loop | 30 (0.5%) | 2 (0.8%) | 0 (0.0%) | 0 (0.0%) |
| Main title loop | 46 (0.7%) | 2 (0.8%) | 0 (0.0%) | 0 (0.0%) |
| Maths (Arithmetic) | 229 (3.6%) | 13 (5.0%) | 4 (0.6%) | 8 (0.1%) |
| Maths (Geometry) | 696 (11.0%) | 24 (9.2%) | 6 (1.0%) | 902 (7.6%) |
| Scanner/energy row | 147 (2.3%) | 6 (2.3%) | 4 (0.6%) | 15 (0.1%) |
| Screen buffer | 267 (4.2%) | 38 (14.6%) | 21 (3.4%) | 3967 (33.6%) |
| Setup | 138 (2.2%) | 4 (1.5%) | 0 (0.0%) | 246 (2.1%) |
| Sights | 194 (3.1%) | 7 (2.7%) | 10 (1.6%) | 80 (0.7%) |
| Sound | 144 (2.3%) | 9 (3.5%) | 7 (1.1%) | 247 (2.1%) |
| Text | 115 (1.8%) | 11 (4.2%) | 22 (3.6%) | 205 (1.7%) |
| Title screen | 205 (3.2%) | 9 (3.5%) | 15 (2.4%) | 48 (0.4%) |
| Workspaces | 0 (0.0%) | 0 (0.0%) | 452 (73.4%) | 583 (4.9%) |
| Totals | 6318 | 260 | 616 | 11819 |
Some notes on the above:
- The instruction count does not include EQUB, EQUW, EQUD, EQUS or SKIP operatives; these are counted as data.
- Each part of a multi-part subroutine counts as an individual subroutine.
- The statistics are produced by a relatively simple static analysis of the source code. They are not 100% accurate, though they are pretty close.