Mechanic · movement · multidirectional shooter, shoot 'em up
Hyperspace
An escape button that removes the player's ship and puts it back at a random place, at some risk of dying.
On this page
Hyperspace takes the ship out of danger and puts it back somewhere random. In Asteroids the jump can fail, and fails more often when few rocks are left1. In Defender every jump has the same chance of ending in the ship’s death2.
Games
| Game | Year | How | Note |
|---|---|---|---|
| Asteroids | 1979 | Risk by count | a random jump that fails on up to 8 of 32 values, more of them as rocks run out |
| Defender | 1981 | Flat risk | a random place in the world, and death on 63 of 256 values |
Every claim about this mechanic, by game (2)
References
- ^ abHyperspace works while the ship is in play (not exploding and not waiting to return): it removes the ship, zeroes the whole parts of its velocity (the fractions in $64 and $65 stay), and sets a 48-frame return timer. The new horizontal position is a random whole unit from 3 to 28. A further random number r from 0 to 31 decides the jump: it fails when r is 24 or more and 2 × (r − 24) + 4 is at least the current rock count, so with 4 or fewer rocks 8 of the 32 values fail, and with 19 or more none do (computed). The vertical position is r below 24 and 2 × (r − 24) + 4 (4 to 18) from 24, held to 3 to 20. When the timer runs out the ship returns, or, if the jump failed, explodes and costs a ship.CodeComputer Archeology, Asteroidsrevised
How we know
LDA $021B ; {ram.statusShip} Player Flag BMI $6ED7 ; {} Branch If Currently Exploding LDA $02FA ; {ram.shipSpawnTimer} BNE $6ED7 ; {} LDA $2003 ; {hard.SWHYPER} Hyperspace Switch BPL $6ED7 ; {} Branch If NOT Pressed LDA #$00 STA $021B ; {ram.statusShip} STA $023E ; {ram.horzVelShip} STA $0261 ; {ram.vertVelShip} LDA #$30 STA $02FA ; {ram.shipSpawnTimer} …
content/Arcade/Asteroids/Code.md#L812-L857 · upstream ↗ LDA $02FA ; {ram.shipSpawnTimer} BEQ $7086 ; {} DEC $02FA ; {ram.shipSpawnTimer} BNE $7085 ; {} LDY $59 ; {ram.hyperSpaceFlag} Hyperspace Flag BMI $706F ; {} Gonna Die From Hyperspace, Branch BNE $7068 ; {} Successful Hyperspace, Branch … LDA #$01 ; Flag Ship OK … LDA #$A0 ; Switch To Explosion Timer … …
content/Arcade/Asteroids/Code.md#L1022-L1052 · upstream ↗ 177| 02F6 | curAsteroidCount | Current Amount Of Asteroids |content/Arcade/Asteroids/RAMUse.md line 177 at 1adc2a7 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-22.
Revised after a check by a second AI model, 2026-10-22.
- ^ abHyperspace works only in normal play (status bits other than the no-terrain bit clear). It clears the screen, removes the bullets, moves the view to a random place in the world, faces the ship a random way, sets a random height, and zeroes the ship's velocity. After the ship reappears and a pause, it dies if a random byte is above 192: 63 of 256 values, about 1 jump in 4 (computed).Codemwenge/defender
How we know
3211*HYPERSPACE ⋮ 3213HYPER LDA STATUS 3214 BITA #$FD 3215 LBNE HYPX ;NO GO ⋮ 3218 JSR SCLR1 ⋮ 3220HYP02 LDX SPTR ;KILL BULLETS ⋮ 3225 LDD SEED 3226 STD BGL ⋮ 3228*RANDOM HYPER DIRECTION 3229 LSRB ⋮ 3238 LDB HSEED 3239 LSRB ⋮
src/defa7.src lines 3211–3278 at e740063 · upstream ↗ 1319STCHK CLRB ; CHECK TERRAIN ACTIVE 1320STCHK0 LDA ASTCNT 1321STCHKA BNE STCHK1 1322 ORB #2
src/defa7.src lines 1319–1323 at e740063 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-22.
Checked by a second AI model, 2026-10-22.
Sources
Code
- Howell, Lonnie, Mark McDougall, and Christopher Cantrell. 2026. “Computer Archeology: Asteroids.” Commit 1adc2a7. topherCantrell/computerarcheology @ 1adc2a7 · licence, all uses
- Jarvis, Eugene, Sam Dicker, and Robert Hargreaves. 2023. “Defender (1981) by Eugene Jarvis and Sam Dicker: the 6809 source.” Commit e740063. mwenge/defender @ e740063 · licence, all uses