1985 · Mastertronic

Mr Puniverse

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/c16/mr-puniverse with me to Gold.

Twenty-five rooms, one screen each, laid out five across and five down. Every game starts in room 0 at the top left, and every room holds one vitamin.

01 · The map

The 25 rooms, as the exits join them

Each room as the game draws it, in its place on the map. Click a room to look at it closely below.

Every room drawn by the game's own routine draw_room, at $2868 in memory (a $ marks a number written in hexadecimal, base 16). It runs from each room's record on the page's copy of the C16's processor, a 6502, and puts the room's objects and its vitamin where the record says. The numbers are the rooms' own. Five exits lead off the map, to a room that is not next door (Discoveries); they are marked in blue.

Room n sits on row n ÷ 5 of the map, rounded down, and in the column given by the remainder: room 13 is on row 2, column 3, counting from 0. Each room's record, the block of bytes that describes it, names the room beyond each of its four edges. Any gap in the walls on an edge is a way through (How it works). The game draws one room at a time, so the map exists only in those four bytes of each record.

02 · Every room

A room up close, with its record

Pick a room to see it with its objects moving, and what its record says.

The room is drawn by draw_room. Then the game's own animate_chars, rotate_vitamin_chars and update_objects run twenty times a second, as the game's main loop runs them, without Mr Puniverse. The main loop is the code the game runs over and over in play, and each time round it is a pass. The table reads the room's record as draw_room and draw_room_objects read it. The times take 20 passes a second.

03 · All the rooms

Fourteen rooms drain the bar and eleven fill it

Every room's EGY bar and objects in one table. Click a row to pick that room above.

From the 25 records, read as the game reads them. Full to empty is the time a draining room takes to empty a full bar of 136 steps. A filling room takes the same time to fill an empty one, up to the cell it never fills (Discoveries).

The fastest drain is room 10's, a step every 3 passes, about 20 seconds from full to empty. The slowest rooms drain a step every 20 passes, over two minutes. Five rooms fill the bar a step every pass. Rooms 6 and 13 have no objects at all, and room 16 has the most, eight crushers.