1987 · Electronic Arts

Skate or Die!

This minisite was contributed by unorig, air. It’s currently claimed by unorig who is editing it to reach a Gold tier standard.

The Downhill Race from the code: a course of 255 rows where every cell says what kind of ground it is, a clock that runs fast in Europe, and a score that is mostly time.

01 · The event

A race against the clock through the park

The Downhill Race is on side 2 of the disk. The skater rides down a long scrolling course of roads, ramps, rooftops, a lake, and a drainage pipe, seen from above, against the clock. Down on the stick pushes for speed, up to a limit ($2B41), left and right turn, and fire with a direction jumps, spins or ducks. Before the start the player picks REGULAR or GOOFY FOOT, and goofy swaps up with down and left with right ($0998).

The skater riding down a path through the park, seen from above, with the clock and score at the top
The Downhill Race.

The event loads twelve files of its own on its first run ($1D7C): the course, its character set, three sets of sprites, the messages, the sound effects, and a music file that carries code of its own. A PRACTICE AGAIN restart skips the disk.

02 · The course

Every cell knows what kind of ground it is

The course is 255 rows of 40 characters ($A600). A second map of the same size gives each cell its colour in the low four bits and its kind of ground in the high four ($7E00). The game never looks at the picture to know where the skater is: it reads the ground type under the skater and the cells beside it and runs a handler for each type ($3B5E, $3B7E).

The whole course as the game sees it, drawn from the high four bits of each cell of the map at $7E00: one small square per character cell, row 0 at the top.

The screen shows 22 rows at a time ($20A5). The flags, a skull, and three things in the lake move by rewriting their characters in the character set, so every copy on the course changes at once ($115C).

03 · The clock

An American clock on a European machine

The clock adds a tenth of a second every six frames ($1060) and stops at 9:59.9. Six frames is a tenth of a second on an American C64, which shows 60 frames a second. A European machine shows 50, so there every game second lasts 1.2 real ones. Landing in the water adds three seconds.

04 · The score

A second saved is worth a trick

Tricks earn points ($0C47): 2 for the skull ramp, 4 for a roof or for passing a hurdle, 3 for riding into the pipe, 10 for coming out of its mouth, 20 for two half turns in one jump, and 5, 20, 40, and 40 for the jumps over the water in turn ($2DF8). Finishing without a fall is worth 5 more ($0D20). Points count only while the clock is under 1:30, and points earned during a fall are lost.

The score the event hands back is built from the time ($0B14). Each whole second under 1:30 is worth 100, the tenths add 4 each, and every trick point is worth another 100, so a second saved is worth as much as a trick point. From 1:30 on the time is worth nothing.

Two slips hide in the sum. The tenths go the wrong way: a time of 45.9 seconds is worth 36 more than 45.0, where it should be worth less. And an addition at $0B9A has no CLC before it, so a run under a minute with no trick points loses another 100. A 45.5-second run with no tricks scores 4,421.

05 · Falls and the finish

Fourteen scripted actions

Riding, the skater is five sprites picked by the direction faced, one of sixteen. Everything else, the falls, the splash, the push-off, and the final poses, is a scripted action of its own ($3E57), drawn piece by piece from shapes stored under the I/O area and mirrored when the skater falls the other way ($281E). The final pose shows how it went ($0A2E): one after three or more falls, one for 40 trick points or more, and one for anything else.