Overview
Pseudo-3D roads create the illusion of 3D perspective using purely 2D techniques: scaling sprites, projecting coordinates, and rendering horizontal lines. Popularised by Sega’s OutRun (1986), this approach enabled smooth, fast racing games on hardware that couldn’t handle true 3D polygons.
Fast Facts
| Aspect | Detail |
|---|
| Defining game | OutRun (1986) |
| Key insight | Perspective = scale by distance |
| Hardware needs | Sprite scaling, line drawing |
| Modern term | ”Mode 7 style” (though distinct) |
The Core Technique
| Concept | Implementation |
|---|
| Horizon | Fixed screen Y position |
| Near = big | Road width at bottom = screen width |
| Far = small | Road converges at horizon |
| Scaling | Linear interpolation between near/far |
Road Segment Rendering
Each horizontal line represents one “depth slice”:
| Parameter | Formula |
|---|
| Scale | 1 / (y_screen - horizon) |
| Road width | base_width × scale |
| Z distance | camera_height / (y_screen - horizon) |
| X offset | Player steering × scale |
Creating Curves
Roads curve by offsetting X position per segment:
| Curve Type | Method |
|---|
| Straight | No X offset |
| Gentle curve | Small cumulative offset |
| Sharp curve | Large cumulative offset |
| S-curve | Direction changes mid-road |
The curve “accumulator” adds offset each line, creating smooth bends.
Hills and Valleys
| Terrain | Implementation |
|---|
| Flat | Horizon stays fixed |
| Hill | Horizon moves up, fewer segments |
| Valley | Horizon moves down, more segments |
| Crest | Sudden horizon change |
Sprite Scaling
Objects on the road scale with distance:
| Distance | Scale | Effect |
|---|
| Near | 100% | Full size |
| Mid | 50% | Half size |
| Far | 10% | Tiny |
Hardware sprite scaling (Sega Super Scaler) made this practical.
The OutRun Innovation
| Feature | Implementation |
|---|
| Sprite scaling | Custom Sega hardware |
| Road segments | Pre-calculated curve data |
| Parallax layers | Multiple backgrounds |
| Frame rate | Smooth 30fps |
| Platform | Approach |
|---|
| Arcade (Sega) | Hardware sprite scaling |
| SNES (Mode 7) | Hardware rotation/scaling |
| C64/Spectrum | Software scaling, fewer sprites |
| Amiga | Blitter-assisted scaling |
Modern Software Implementation
| Step | Code Approach |
|---|
| 1 | Project road segments to screen Y |
| 2 | Calculate scale per segment |
| 3 | Draw road lines back-to-front |
| 4 | Draw sprites sorted by Z |
| 5 | Apply camera bob for immersion |
Games Using This Technique
| Game | Year | Innovation |
|---|
| Pole Position | 1982 | Early implementation |
| OutRun | 1986 | Definitive version |
| Hang-On | 1985 | Motorcycle variation |
| Road Rash | 1991 | Combat + racing |
| Top Gear | 1992 | SNES optimised |
Why It Endures
Pseudo-3D roads remain useful:
- Retro-style indie games
- Mobile games (performance)
- Understanding 3D projection principles
- Stylistic choice (aesthetic)
Legacy
Pseudo-3D roads taught a generation how perspective projection works. The mathematics—scaling by inverse distance—is the foundation of 3D graphics, made tangible through racing games.
See Also