1986 · Epyx

World Games: Maps

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

Four of the events scroll over a map larger than the screen. Each is drawn here whole, from the event's own map, colours and character set.

01 · Slalom

The slalom run, start to finish

A run is twenty sections of 25 rows, taken in a fixed order from seven, with 39 gates placed on top. Here is all of it, 500 rows, as the skier meets it from the top.

Drawn from the course (sl_course, $1000, 65 columns a row), its colours ($9000) and the character set ($4000), section by section in the order at $C543. The flags are placed as sl_place_flags ($C42D) places them: a flag's top, character $88, in blue or red a gate at a time, and its pole below, from each flag's column (sl_flag_columns, $EF00) and row on the run's counter (sl_flag_rows, $EF80), which goes round at 256.

The course wraps round: column 64 is next to column 0, and the view shows 40 of its 65 columns at a time, following the skier (sl_draw_view, $8795). Twenty gates come in the first 256 rows and nineteen in the rest. The finish banner is the last section's, rows 150 to 174 of the course.

02 · Cliff diving

The cliff, from the top to the sea bed

The cliff is 102 rows of characters, and the event scrolls it a row at a time as the diver falls, from whichever of the six levels the dive starts.

Drawn from the map (cd_cliff_map, $3000, 40 characters a row), its colours ($9000) and the character set ($4800), in the colours the event sets: black behind, light blue and brown for the two shared colours ($112B). Below the water's surface the game turns both shared colours blue (cd_irq_water, $1379); the surface moves with the waves, so the map is drawn in the colours above it.

03 · Bull riding

The arena, 120 columns wide

The bull and its rider stay near the middle of the screen, and the arena scrolls under them. The view is 40 of the arena's 120 columns; the sky above moves a pixel for every 11 columns the arena moves.

The top four rows from br_sky ($A000) and their colours ($A988), in the top band's colours, orange behind, light grey and light blue (br_top_band, $1CF9); below them the arena's 18 rows of 120 from br_arena_map ($A0A0) and br_arena_colours ($AA28), in the arena band's, dark grey, light grey and orange (br_arena_band, $1D3A). Both use the character set at $4000. The sky is the same at every column of the view, so it is drawn once, over the view's first place.

The view's first column runs from 0 to 76 ($27), and the arena is drawn into the screen not shown, 18 rows from screen row 4, then the two screens are swapped (br_draw_arena, $1AE2; br_swap_screens, $1BDF).

04 · Caber toss

The field, 128 columns wide

The thrower runs up from the left, and the field scrolls by behind. The scenery is 11 rows of 128 columns, under six rows of sky that stay put.

The top six rows from ct_top_rows ($8000) and ct_top_colours ($8800), in the sky's colours, light blue behind, light grey and grey ($143E); the scenery's 11 rows of 128 from ct_scenery_map ($8170) and ct_scenery_colours ($8970), in the field's, green behind, dark grey and light grey ($1520), shown on screen rows 7 to 17 (ct_draw_scenery, $197A), under a row of character $F7 in green that the event writes at the start ($10A2). All of them use the character set at $7800. The plain grass below, rows 18 to 22, is left out.