Skip to content

Microbiome 0.1.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 08:57
· 2 commits to master since this release
aa33bfd

0.1.0

This release turns Microbiome into a much richer simulation. Microorganisms now reproduce by binary fission, leave biomatter behind when they die, and drift toward food. There is a new Linux download, mb_strata, which is a 3D Winogradsky-style chamber built on the Strata engine. In it, aerobes, fermenters and cross-feeders compete over nutrient, waste and oxygen fields, with a live statistics overlay. You can also play in your browser, watch a live web viewer, and record runs as replays. The console app now runs each simulation until every organism dies, as fast as possible, instead of stopping after 120 one-second ticks. It also sends a single anonymous startup event, which you can turn off.

Changes

Simulation

  • Organisms split in two once they have enough energy. Dead organisms become biomatter that others can forage, and movement is biased toward nearby biomatter (#26).
  • The console grid shows biomatter as .. The console app writes activity logs (log.microbiome.txt, log.simulation.txt) to the working directory (#12, #26).
  • The console app's defaults changed: simulations run until extinction with no delay between ticks (#26).
  • Fixed compilation warnings (#16).

Strata micro-environment (mb_strata, Linux x64)

  • A new, separate build of the simulation, rendered with the Strata engine. It is deterministic per seed and supports --seed, --size, --view (composite, nutrient, waste, oxygen), --zoom, --yaw, --tps, window size options, and --headless/--screenshot for single images (#60).
  • Live statistics overlay. Tab toggles it, --no-hud hides it and --hud-scale resizes it. R starts a new chamber, H shows help and Esc quits (#61).
  • --record run.usda saves the run as a usd-replay/1 replay, with --record-every and --record-field to control detail (#62).
  • --bench reports ticks per second and the run's state hash (#60).

Play in a browser

  • The simulation runs entirely in your browser. The Strata micro-environment uses WebGL 2, and the original 2D grid is still available under /classic/ (#48, #63).

Web viewer

  • A new mb_webapp serves a continuously running simulation that you can watch live in a browser (port 8080 by default, set with MICROBIOME_WEB_PORT) (#25).
  • Link previews: a description, Open Graph tags, and a preview card rendered with Strata (#51, #52, #70). Added a footer link (#43).

Replays from the console app

  • mb_app --record <path.usda> records the first simulation of a run as a time-sampled OpenUSD file (#59).

Usage reporting

  • mb_app sends one startup event when it launches. The event contains the program name, its version and a random installation ID, and nothing about you, your machine or the simulation (#41, #45, #50, #53).
  • The first run prints a notice and creates usage-reporting.conf in your config directory (for example ~/.config/microbiome). Set enabled=false there, or set TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1 in your environment, to turn it off.
  • The installation ID is kept in trace-install-id in your data directory (for example ~/.local/share/microbiome). Delete that file to reset the ID.
  • mb_strata and the browser versions report no usage.

Version

0.0.1 → 0.1.0 — MINOR. Mechanical floor from the save format, the released save fixtures, the command-line flags, the save code and new files: MINOR.
Judgment: The release adds a new Strata micro-environment build (mb_strata) with many new flags, a browser version, a live web viewer, optional .usda replay recording, and new simulation mechanics, all of which are minor-level additions. Nothing a 0.0.1 player relied on stops working: the classic console app still runs the same way with no arguments, and 0.0.1 wrote no save or replay files that could fail to load. The default run length did change: the console app now runs each simulation until extinction, as fast as possible, instead of 120 ticks at one second per tick. That is a change to compiled-in defaults, not to a documented setting or file location, so I kept the floor of minor. Several new files were truncated from the diff (strata/app/main.cpp, src/webServer.cpp, the strata replay and HUD sources, trace_client.hpp), so their contents are unknown; because they are all new, they cannot change how anything from 0.0.1 is read.

  • minor: command-line flag added: --bench
  • minor: command-line flag added: --cascades
  • minor: command-line flag added: --frame-every
  • minor: command-line flag added: --frames
  • minor: command-line flag added: --headless
  • minor: command-line flag added: --height
  • minor: command-line flag added: --hud-scale
  • minor: command-line flag added: --max-population
  • minor: command-line flag added: --no-hud
  • minor: command-line flag added: --per-species
  • minor: command-line flag added: --record
  • minor: command-line flag added: --record-every
  • minor: command-line flag added: --record-field
  • minor: command-line flag added: --screenshot
  • minor: command-line flag added: --seed
  • minor: command-line flag added: --shadow-map
  • minor: command-line flag added: --size
  • minor: command-line flag added: --ticks
  • minor: command-line flag added: --tps
  • minor: command-line flag added: --view
  • minor: command-line flag added: --width
  • minor: command-line flag added: --window-height
  • minor: command-line flag added: --window-width
  • minor: command-line flag added: --yaw
  • minor: command-line flag added: --zoom
  • minor: new source file: src/biomatter.cpp
  • minor: new source file: src/browser.cpp
  • minor: new source file: src/header/biomatter.h
  • minor: new source file: src/header/logger.h
  • minor: new source file: src/header/microorganismFactory.h

Verification

Verified before publication; this tag points at the exact commit that was verified, and the downloads below were built from it.


drafted by Claude on behalf of Daniel Stephenson

What's Changed

New Contributors

Full Changelog: 0.0.1...0.1.0