diff --git a/docs/tracks.html b/docs/tracks.html index a72c7d2..cd0bd96 100644 --- a/docs/tracks.html +++ b/docs/tracks.html @@ -176,10 +176,11 @@ h1 em { font-style: normal; color: var(--sys); }

Red Planet 4.12 · plans drawn from RPL4.RES

Every track,
seen from above

There are no track maps in the game's files — the console had - pictures of them and those pictures did not survive. But the game draws one every - race: the map screen in the pod renders the track from above. These plans - are that same drawing, reconstructed outside the game — the same - outlines, from the same placements, straight down.

+ pictures of them and those pictures did not survive. But the track itself knows + where it goes. Almost every one is built from a single piece repeated: a wall + thrown across the route with a gate in the middle. These plans are the + course those gates describe — every gate is a point the race passes + through, walked in the order the course visits them.

@@ -201,14 +202,14 @@ h1 em { font-style: normal; color: var(--sys); }
- What the map screen draws — walls, structures, pit + The course, gate by gate Offered for the death race Offered for football
-
+

Paingod's Passage

pain

@@ -224,7 +225,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Blade's Edge

blade

@@ -240,7 +241,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Yip's Yahoorama

yip

@@ -256,7 +257,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Berserker's Bahnzai

otto

@@ -272,7 +273,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Firestorm's Fury

frstrm

@@ -288,7 +289,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Wiseguy's Wake

wise

@@ -304,7 +305,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Burnt Cookies

burnt

@@ -320,7 +321,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Brewer's Bane

brewers

@@ -336,7 +337,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Lyz's Lane

lyzlane

@@ -352,7 +353,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Freezemoon's Freeway

headoff

@@ -368,7 +369,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

Freezemoon's Freeway (Football)

headmf

@@ -384,7 +385,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Tour De Mars --

tourdemars

@@ -400,7 +401,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Donut --

donut

@@ -416,7 +417,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Ares' Armpits --

trough

@@ -432,7 +433,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Zaxxis --

rpweekend2014

@@ -448,7 +449,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Wiserguy's --

wiserguys

@@ -480,7 +481,7 @@ h1 em { font-style: normal; color: var(--sys); }
-
+

-- Arena (Small) --

arena

@@ -498,30 +499,38 @@ h1 em { font-style: normal; color: var(--sys); }

18 tracks: 9 shipped in the 4.10 arcade cabinets, 2 added - in 4.11, 7 built by the community afterwards. Each plan follows - NavDisplay::DrawStatic: for every placement in the map's instance - stream, look up that model's GaugeImage — a small set of outlines - in world units, the same ones the pod's map screen draws — and lay it down - rotated and positioned. A placement whose model has no gauge image is skipped here - exactly as the map screen skips it, which is why a card can say fewer placements - carry map art than the track contains.

-

Two things are drawn plainer than the pod draws them, so the plan reads - as an outline. Nearly every track is one model repeated — cn3, a - wall bar whose gauge image is two closed 25×5 rectangles. Five metres of wall - thickness is finer than the plan can resolve, so each bar is collapsed to the - centreline between its short edges: one stroke for one wall, instead of two parallel - lines and two end caps several hundred times over. Walls stacked to build height land - on each other seen from above, and are drawn once. Placements standing alone more than - 200 units from any other are dropped — fourteen tracks park a single bar at - (1200, 0, 0) far off the course, and one stray placement stretches the frame - to twelve times the width of the track. A real branch keeps its neighbours and stays: - Paingod's second canyon is sixty bars out at x = -400.

-

So the walls are the canyon walls and the chambers are real chambers, - but there is still no driving surface: the map draws what lines the route, never the - tarmac. Extent and relief are the span of the drawn outlines in world units, so a - long thin plan is a point-to-point run and a squat one a circuit or an arena. - Tracks marked NOT IN THE MENU exist in the resource file but the setup screen does - not offer them.

+ in 4.11, 7 built by the community afterwards. Drawing what the pod's map screen + draws turns out not to give a map. That screen follows + NavDisplay::DrawStatic, laying down each placement's + GaugeImage, and nearly every placement in every track is the same + piece: cn3, whose image is two 25×5 bars at x 19.5–44.5 + and -44.5–-19.5. That is not a wall running along the route, it is a wall thrown + across it with a 39 unit gate in the middle, and the piece's collision solid says the + same. A few hundred of those is a row of ticks, not a course.

+

But the gate is the point: cn3's own origin sits in the + opening, so every placement marks somewhere the race passes through. Walk the gates in + the order the course visits them — nearest to nearest, starting from the end + furthest out, beginning a new line rather than reaching when the next gate is too far + — and the track draws itself. Walls stacked for height repeat the same opening + and count once. Placements standing alone more than 200 units from any other are + dropped: fourteen tracks park a single piece at (1200, 0, 0) well off the + course, and one stray placement stretches the frame to twelve times the width of the + track. A real branch keeps its neighbours and stays — Paingod's second canyon is + sixty pieces out at x = -400.

+

One track is drawn the other way. Chaining nearest neighbours across a + regular grid invents a maze-like path out of nothing but the order the points happened + to be visited in, and a plan has no business inventing a track layout. So each track is + tested first: count how many neighbours a gate has within 1.6× the typical + spacing. A corridor gives each gate the one ahead and the one behind; a floor of + obstacles gives it four or more. Seventeen tracks score 1 or 2 and are drawn as a + course. The large arena scores 8 on an exact 100 unit grid, so it keeps its wall blocks + instead — and the small arena, which scores 2, really is the maze it looks like.

+

There is still no driving surface anywhere in the file: the track is + walls and gates, never tarmac. Extent and relief are the span of the placed geometry in + world units, so a long thin plan is a point-to-point canyon run — most of the + arcade tracks are exactly that, a few hundred units wide and several thousand long + — and a squat one is a circuit or an arena. Tracks marked NOT IN THE MENU exist + in the resource file but the setup screen does not offer them.