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.5%) | 8 (1.2%) | 392 (3.3%) |
| Cracker protection | 54 (0.9%) | 9 (3.8%) | 0 (0.0%) | 1 (0.0%) |
| Drawing objects | 332 (5.3%) | 5 (2.1%) | 17 (2.7%) | 1675 (14.2%) |
| Drawing polygons | 800 (12.7%) | 20 (8.4%) | 8 (1.2%) | 852 (7.2%) |
| Drawing the landscape | 764 (12.1%) | 21 (8.9%) | 9 (1.4%) | 560 (4.7%) |
| Gameplay | 633 (10.0%) | 25 (10.5%) | 3 (0.5%) | 17 (0.1%) |
| Graphics | 212 (3.4%) | 9 (3.8%) | 15 (2.3%) | 134 (1.1%) |
| Keyboard | 277 (4.4%) | 13 (5.5%) | 3 (0.5%) | 32 (0.3%) |
| Landscape | 674 (10.7%) | 21 (8.9%) | 12 (1.9%) | 1572 (13.3%) |
| Main game loop | 130 (2.1%) | 5 (2.1%) | 1 (0.2%) | 6 (0.1%) |
| Main title Loop | 30 (0.5%) | 2 (0.8%) | 0 (0.0%) | 0 (0.0%) |
| Main title loop | 87 (1.4%) | 4 (1.7%) | 0 (0.0%) | 0 (0.0%) |
| Maths (Arithmetic) | 229 (3.6%) | 13 (5.5%) | 4 (0.6%) | 8 (0.1%) |
| Maths (Geometry) | 696 (11.0%) | 24 (10.1%) | 6 (0.9%) | 902 (7.6%) |
| Scanner/energy row | 147 (2.3%) | 6 (2.5%) | 4 (0.6%) | 15 (0.1%) |
| Screen buffer | 267 (4.2%) | 14 (5.9%) | 46 (7.2%) | 3992 (33.8%) |
| Setup | 138 (2.2%) | 4 (1.7%) | 0 (0.0%) | 246 (2.1%) |
| Sights | 194 (3.1%) | 7 (3.0%) | 9 (1.4%) | 76 (0.6%) |
| Sound | 144 (2.3%) | 9 (3.8%) | 7 (1.1%) | 247 (2.1%) |
| Text | 115 (1.8%) | 11 (4.6%) | 22 (3.4%) | 205 (1.7%) |
| Title screen | 205 (3.2%) | 9 (3.8%) | 15 (2.3%) | 48 (0.4%) |
| Workspaces | 0 (0.0%) | 0 (0.0%) | 452 (70.5%) | 839 (7.1%) |
| Totals | 6318 | 237 | 641 | 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.