Skip to main content

CALDERA (terminal)

Climb the vent. Outrun the magma. The second version of the game, beside web/, on the magmacrunch engine's terminal backend. It is a cabinet in the magmacrunch arcade and its own command, and plays the same either way.

pipx install magmacrunch-caldera
caldera

For working on it:

pip install -e ".[dev]"
python -m caldera

It is the browser's game, not a remake of it

The rules are a line-for-line port of web/js/tower.js, player.js, score.js and game.js, in world units at 60 Hz, with the same seeded generator. tests/test_oracle.py runs the real JS through tools/js_oracle.mjs, replays every input it fed into caldera/sim.py, and requires the same state back after every frame. Exactly the same, not close: both sides are IEEE doubles doing the same operations in the same order, so any difference is a transcription error. A tower is a seed on both sides, and a score means the same thing on both boards. Scores are filed under caldera, with the browser's floor, crunch and character fields beside them.

The terminal draws at 30 fps and steps the rules twice a frame. Stepping once would play the browser's game at half speed without anything looking wrong.

Running, in a terminal

A terminal reports that a key went down and never that it came up, and a held key goes quiet for about half a second before it repeats. Read as held state, that is a run that will not start and a climber that will not stop on a ledge. So running latches:

key
← → (or A/D) run that way, and keep running
↓ (or S) stop running; the rock's friction does the rest
SPACE ↑ W jump
P pause
R restart
Esc back to the title (from the title, back to the arcade)
Q quit

Tap the other arrow to turn round mid-run, and the browser's skid does what it does for a player who swaps keys. Hit a wall in the air and your heading turns with the bounce, which is what a good browser player does with their fingers at every wall. Walking into a wall on the ground just stands you there.

tests/test_sim.py checks that this can play the game: a bot only allowed to press keys climbs exactly as far through the latch as the same bot holding keys directly.

The rest

caldera --list-climbers      the cast
caldera --climber king       climb as somebody in particular
caldera --seed 42            the same towers every time
caldera --play               skip the title
caldera --ascii              no block or arrow glyphs

Every glyph it draws is in the engine's degradation table, so a cp1252 or cp437 terminal gets the same layout in plain characters. tests/test_app.py sweeps every screen for anything that is not. Under NO_COLOR the climber and the magma are drawn in glyphs rather than background colour, so they do not vanish when colour does.

Needs a 40x20 terminal; 80x24 is comfortable and anything wider adds side panels for the run's numbers rather than a wider vent.

Licence

PolyForm Noncommercial 1.0.0, as the rest of this repository. See NOTICE.

Metadata

Release files for magmacrunch-caldera 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for magmacrunch-caldera 0.1.0
File Size Uploaded Provenance
magmacrunch_caldera-0.1.0.tar.gz 38.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for magmacrunch-caldera 0.1.0
File Interpreter ABI Platform
magmacrunch_caldera-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 72.1 kB

Release files / magmacrunch_caldera-0.1.0.tar.gz

Download URL magmacrunch_caldera-0.1.0.tar.gz
Size 38.5 kB
Tags Source
SHA-256 checksum
How to use checksums
084f6b60a53d2fa210f7851efd7023379ad3b653aa8687fa188916305f365b4d
BLAKE2b-256 checksum
How to use checksums
0d51b259f72ae87cc43d85153e9b53b5f2c67bd678f1abb7f60b80557ade899b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / magmacrunch_caldera-0.1.0-py3-none-any.whl

Download URL magmacrunch_caldera-0.1.0-py3-none-any.whl
Size 33.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97e0fa5fb1bb0cc3f62e9aa2d35336b356124380147177c8d03fd7d9ff52ec4a
BLAKE2b-256 checksum
How to use checksums
9b2a20df36eb476f92962d14c453f934df867a5403f8283b4ca3c43adc8e47ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Security for magmacrunch-caldera 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for magmacrunch_caldera-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page