Files
RP412/tools/pages/tracks.tpl
T
Cyd 56b2af5208 The track plans are the course, not the wall markers
Drawing what the map screen draws never was going to give a map. Nearly
every placement in every track is one piece, cn3, and its gauge image is
two 25x5 bars at x 19.5..44.5 and -44.5..-19.5 - not a wall along the
route but a wall across it with a 39 unit gate in the middle. The
collision solid agrees exactly. A few hundred of those is a row of ticks.

The gate is the point: cn3's origin sits in the opening, so every
placement marks somewhere the race passes through. Walking the gates
nearest to nearest, from the end furthest out, draws the track itself -
Brewer's Bane comes out as its L with the junction chambers, Zaxxis as a
circuit, and the small arena as the maze it always was.

Guarded, because chaining nearest neighbours across a regular grid
invents a maze-like path out of nothing but visit order. Each track is
tested first on how many neighbours a gate has within 1.6x the typical
spacing: a corridor gives 2, a floor of obstacles gives 4 or more. The
separation is not close - seventeen tracks score 1 or 2, the demolition
arena scores 8 on an exact 100 unit grid and keeps its wall blocks.

Most of the arcade tracks really are near-straight canyon runs, a few
hundred units wide and several thousand long. The plans say so now
rather than implying otherwise.
2026-08-07 11:31:25 -05:00

82 lines
4.8 KiB
Smarty

<!doctype html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Red Planet - the tracks</title>
<style>{css}</style>
<header class="top">
<div class="wrap">
<p class="eyebrow">Red Planet 4.12 &middot; plans drawn from RPL4.RES</p>
<h1>Every track,<br><em>seen from above</em></h1>
<p class="lede">There are no track maps in the game's files &mdash; the console had
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. <strong>These plans are the
course those gates describe</strong> &mdash; every gate is a point the race passes
through, walked in the order the course visits them.</p>
</div>
</header>
<div class="bar">
<div class="wrap bar__in">
<div class="seg" role="group" aria-label="Filter">
<button type="button" data-filter="all" aria-pressed="true">All</button>
<button type="button" data-filter="arcade" aria-pressed="false">Arcade</button>
<button type="button" data-filter="r411" aria-pressed="false">4.11</button>
<button type="button" data-filter="later" aria-pressed="false">Community</button>
<button type="button" data-filter="race" aria-pressed="false">Death race</button>
<button type="button" data-filter="football" aria-pressed="false">Football</button>
</div>
<input id="search" class="search" type="search" placeholder="Search track&hellip;"
aria-label="Search track">
<span class="count" id="count">{n} / {n} TRACKS</span>
</div>
</div>
<main class="wrap">
<div class="key">
<span><i style="background:var(--ink-mid)"></i>The course, gate by gate</span>
<span><i style="background:var(--sys)"></i>Offered for the death race</span>
<span><i style="background:var(--pilot)"></i>Offered for football</span>
</div>
<div class="grid">{cards}</div>
<p class="empty-state" id="nomatch" hidden>No track matches that.</p>
<p class="foot">{n} tracks: {arcade} shipped in the 4.10 arcade cabinets, {r411} added
in 4.11, {later} built by the community afterwards. Drawing what the pod's map screen
draws turns out not to give a map. That screen follows
<code>NavDisplay::DrawStatic</code>, laying down each placement's
<code>GaugeImage</code>, and nearly every placement in every track is the same
piece: <code>cn3</code>, whose image is two 25&times;5 bars at x&nbsp;19.5&ndash;44.5
and -44.5&ndash;-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.</p>
<p class="foot">But the gate is the point: <code>cn3</code>'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 &mdash; nearest to nearest, starting from the end
furthest out, beginning a new line rather than reaching when the next gate is too far
&mdash; 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,&nbsp;0,&nbsp;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 &mdash; Paingod's second canyon is
sixty pieces out at x&nbsp;=&nbsp;-400.</p>
<p class="foot">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&times; 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 &mdash; and the small arena, which scores 2, really is the maze it looks like.</p>
<p class="foot">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 &mdash; most of the
arcade tracks are exactly that, a few hundred units wide and several thousand long
&mdash; 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.</p>
</main>
<script>{js}</script>