1986 · Hewson Consultants

Uridium

This minisite was contributed by air, chunkypixel. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/uridium with me to Gold.

What the code does that a player would not see: each one read in the listing and then watched in the emulator.

01 · The take-off

Secret: the Dreadnought's destruction overtakes the Manta

After the bonus game the Manta turns at the right-hand end and flies back along the ship at 7 pixels a frame while the hull vaporises behind it. The vaporising moves one column, 8 pixels, every frame. It starts at least 14 columns behind the Manta, draws level about 120 frames later, near column 360, and from there it runs ahead, so the Manta spends the rest of the flight over hull that has already broken up. The game never waits for it; the take-off ends when the Manta reaches the left end of the map.

The ragged edge of wreckage just behind the Manta
Frame 180: the edge just behind the Manta.
The hull already broken up ahead of the Manta
Frame 330: the edge ahead of it.

Recorded frame by frame in the emulator on Zinc, from a landing to the start of level 2: the Manta's map position fell 7 a frame and the vaporising column $89 one a frame, from frame 127. The replay is on the How it works tab, The take-off.

02 · Fighters

Secret: every fighter of a wave waits at the same spot off the screen

A new wave's fighters are all put at once at one sprite X, $1A2 or $1A4, in the stretch of positions between the right border and the left one that never shows on the screen ($1A98). They are stacked on top of each other there, waiting for their paths to begin one after another. The same spot serves both sides: a fighter that flies right wraps round past X 511 and comes in at the left edge, and one that flies left comes in at the right.

In the emulator, from the play snapshot, the first three waves of Zinc each put all five fighters at X 418 or 420, on one frame. The flight plotter is on the How it works tab, Waves.

03 · Homing mines

Secret: a homing mine holds back the next wave

The game starts a new wave only when every sprite of the last one has gone. It keeps that count in $6C, and a homing mine adds itself to it when it is launched ($1FED), because it uses one of the same six enemy sprites. Every 64 frames $1A75 checks whether the count has fallen back to nothing, and while a mine is still homing or bursting, it has not. A mine launched as a wave's last fighter leaves the screen keeps the next wave waiting until it bursts, and a mine launched in that wait adds more time again.

In the emulator, on Zinc with the chance of a mine raised (the firing chance $69 held at $FC, so that mines came often), the wait after the first wave's fighters had gone lasted from frame 116 to frame 755: at each of the ten checks in between, $6C still counted one to five mines. The check at frame 755 found none left, and the next wave started at the check after it, at frame 819. How mines are launched and fly is on the How it works tab, Homing mines.

04 · Stars

Secret: a game draws only ten of its sixteen stars

Every level places 16 stars ($2E17), but the routine that draws them stops at the count in $8D. The giant message on the title screens draws all 16, a game draws 10 and the demo 8 ($0ADA, $0B8F, $21CB). None of them is ever in screen columns 20 to 24: the placing routine marks them as taken before it places the first star.

Read in the emulator: $8D was 15 on the message page, 9 in play and 7 in the demo; the ten stars of the recorded frame of play sit in columns 1 to 37, none from 20 to 24. How the stars stay still is on the How it works tab, Stars.

05 · Shots

Secret: each shot is drawn in two characters, used on alternate frames

The Manta's shots are not sprites. Each is built every frame into a character of its own and written into the Dreadnought's map. To keep a half-built shot off the screen, every shot owns two characters, its slot number and the slot plus $10, and the game swaps between them every frame by flipping two operands in its own code ($2A7F, $2AA0). The same codes are how fighters notice a hit: any code below $20 under a fighter is a shot.

In the emulator the two operands read $80/$10 and 0/0 on alternate frames of play. The stepper is on the How it works tab, Shots and bullets.

06 · Landing

Secret: the Manta lands only level and facing right

The landing test is one comparison: the character under the Manta's middle must be the runway's end, $6F, and the Manta's attitude $45 must be exactly 1, level and facing right with no manoeuvre running ($166D). Rolled, or flying the other way, the Manta passes over the runway's end without landing.

In the emulator, placed over column 408 of Zinc with Land now! up, the Manta landed within two frames facing right and never facing left. More on the How it works tab, Landing.

07 · The take-off

Secret: the Manta does victory rolls at random on the way home

On the flight back over the vaporising Dreadnought, every frame that the Manta flies level facing left, the game reads the noise voice and asks for a full roll when its low six bits are all 0, one frame in 64 on average ($1582). No player input is involved.

In the recorded take-off the Manta rolled through all sixteen frames of the roll, from frame 266 and again from 463, with the stick untouched.

08 · Map pieces

Secret: two of the 148 map pieces are never used

All the Dreadnoughts and the title message are built from one store of 148 pieces ($E100). No level's list and no letter of the giant message names pieces 18 or 27, so they are never laid. The letters the default message does not spell are not wasted in the same way: a new high score writes its initials into the message.

Every map built by the page's port of the game's builder, which matches the game byte for byte, with every piece placement recorded. The piece sheet is on the How it works tab, The Dreadnought.