1987 · Palace Software

Barbarian: The Ultimate Warrior

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/barbarian with me to Gold.

Four arenas, two on each side of the disk, and which fight happens in which.

01 · The arenas

Two arenas on each side of the disk

Side 1 fights by a volcano and in a forest, side 2 in Drax's throne room and in a hall of arches. Each side loads with one arena in the picture and the other put away in memory, and swaps them between bouts.

Drawn by the game's own code, running on the page over each side's listing: first what restart ($800E) runs to colour the screen, then, for the second arena of a side, swap_backdrop ($8D2A on side 1, $8E98 on side 2). Apart from the fighters, each picture matches the screen VICE shows in that arena, pixel for pixel (test_levels.js).

The arena is the middle of the bitmap: 32 characters across and 16 down, between the two pillars and under the panel. The pillars and the panel are the same in both arenas of a side, so only the arena moves. Side 2's pillars carry skulls where side 1's have none.

The arena that is not on screen waits in the memory under the input and output chips, where the processor sees only the chips unless the game switches them out: its 4,096 bytes of bitmap at $D000 to $DFFF, and its screen colours and colour memory a little higher ($E11C and $E51C). To change arenas the game fades the sound out and turns the screen black. It lifts the arena out of the bitmap into a buffer (lift_arena, $8D5F), swaps the colours (swap_arena_colours, $8E29), swaps the buffer with the stored arena and copies the result into the bitmap (drop_arena, $8D92). The arena that was on screen is now the one put away.

The band the fighters walk in, the arena's lower half, is coloured the same way in every arena: grey, black and light red on the arena's background colour (colour_strip, $90DF). Those are the fighters' own colours, so each floor is painted in them. The background is brown on side 1 and dark grey on side 2 (backdrop_colours, $7F40).

02 · Bout by bout

Every win moves to the other arena

A one-player game starts in the first arena of its side at skill level 0. Each win raises the level by one and changes the arena, so the even levels are fought in one arena and the odd levels in the other.

From walk_off ($83FA on side 1, $8400 on side 2), which ends a bout, and level_colours ($C78A on side 1, $C8F6 on side 2), the colour of the computer's clothes at each level. Press an arena to see it.

On side 1 the level stops at 7, and the arenas go on taking turns for as long as the player keeps winning. A lost bout ends the game: after a pause the demo starts again, in the side's first arena (restart_game, $9366). The demo changes arena after every bout as well. A two-player game, on side 1 only, changes arena each time the clock runs out with both fighters alive, and the fighters start again at full strength (clock_out, $830A). The first death ends it.

On side 2 the eighth bout, at level 7, falls in the hall of arches, where Drax and Mariana are painted into the two arches above the fight. A win there starts the ending in the same arena (How it works). In the throne room the same two are painted at the top of the steps, Drax on his throne and Mariana at his feet.