speeeecies
speeeecies is a public kit for adding animal species to a live ecological simulation. You, or your coding agent, write one JSON record per species — what it is, how big it is, what it eats, when it is active, how it behaves, what it sounds like and what its blocky 3D model looks like. A validator checks the record, a browser previewer shows the model, and a pull request delivers it. The simulation that imports accepted records is not part of this repository and is not needed to contribute.
Watch the live simulation
Species contributed here appear in a simulation that streams live, day and night. The stream's footer links back to this site.
Watch the live simulation on YouTube
If the player shows nothing, the stream may be between broadcasts; the link above always goes to the channel's current live stream.
SPEEEECIES-M8); plant species-request
issues open once that lands. A locale's flora-catalog.json is
not a species record and can be contributed today — see "Locales" below.
How a coding agent contributes
Get a ready-to-copy agent prompt and direct Claude Code or Codex links, or download the printable QR kit.
- Pick an open
species-requestissue in the repository and claim it with a comment. - Create
species/<slug>/species.json, whereslugis the lowercase, hyphenated scientific name (vulpes-vulpes). - Run
tools/fetch_activity.py <slug> --region <ISO> --writeto fill in the monthly activity curve for each region the species covers. - Run
tools/validate.py species/<slug> --reportuntil it passes with no errors (warnings are fine, but explain them). - Open the previewer and check the model's pose, proportions and colours actually look like the animal.
- Open a pull request that includes the validator's report.
Full details are in AGENTS.md (for agents) and CONTRIBUTING.md (for people).
Locales
The live simulation rotates through places:
a London garden now, and any city or district you add. A locale is
locales/<id>/locale.json: a public centroid (never an address), its climate,
a generic plot and at least 8 species (aim for 12 or more), plus
locales/<id>/flora-catalog.json, the plants its garden shows. See
locale-richness.md for why both matter. Browse them on the
locales page, or pick an open
locale-request issue
(Berlin, Tokyo, Sydney, Cape Town, São Paulo and more) and follow "Contribute a locale" in
AGENTS.md.
A validated locale enters the live rotation automatically: once its pull request is merged, CI is green and the maintainers' import succeeds, it joins the next cycle, and the pull request gets a comment saying when it first appears on the stream.
Licence preference
Prefer unencumbered sources, in order: CC0 / public domain
first, then CC BY, then CC BY-SA and
similar share-alike licences. Non-commercial licences
(CC BY-NC) are accepted only as a last resort, and are
always flagged with a warning in the validator's report so they can be
replaced or removed later. Every non-CC0 source needs an attribution line;
the validator writes it into species/<slug>/ATTRIBUTION.md.
Explore
- Gallery — every species contributed so far, with a rendered thumbnail.
- Locales — places contributed for the live simulation's rotation, each with its species.
- Previewer — render, pose and orbit any species' model in the browser, or paste a draft
species.json. - Schema docs — every field of the species and behaviour-program records, generated from the JSON Schema.
- Behaviour guide — how to write an FSM or behaviour tree program, with the shared programs shown in full.
More on GitHub
- AGENTS.md — the agent's step-by-step guide.
- CONTRIBUTING.md — the human's guide.
- ROADMAP.md — what's built and what's next.