Planet Zoo 2 ships on October 13, 2026. We shipped the reference data for it on October 9 — four days before anyone can press Play.
This is a write-up of how we built an open dataset for a game that isn't out yet, what's in it, and the parts that were genuinely hard.
Site: https://pz2tools.wiki/
The problem
Planet Zoo is a zoo-building sim where the hard part is not decorating — it's animal compatibility. Which species can share an enclosure, which will fight, which need a solo habitat. The first game had this spread across in-game tooltips, and the community rebuilt it by hand, repeatedly.
For the sequel the roster jumped to 130 species, and Zooopedia-style compatibility data isn't published in any machine-readable form at launch.
So we treated it as a data problem: build the compatibility table once, openly, and let everyone reuse it.
What's in the dataset
- 130 species (124 base roster + 6 Deluxe Edition)
-
1,221 cohabitation pairs, each labelled:
- 376 likely compatible
- 106 unverified (conflicting / thin sources)
- 739 not compatible
- Full conservation status for the roster: 63 Least Concern, 22 Endangered, 18 Vulnerable, 12 Critically Endangered, 8 Not Evaluated, 5 Near Threatened, 1 Domesticated, 1 Data Deficient
- Licence: CC BY 4.0
Some findings that surprised us:
- The most social animals are Grey Wolf (30 compatible partners), Asian Elephant (27), Bactrian Camel (23), plus African Savannah Elephant and Cape Buffalo at 22 each.
- 8 species have zero "likely" partners — Aardvark, Clown Anemonefish, Nyala, Sable Antelope, Springbok, North Sulawesi Babirusa, Schooling Bannerfish, Longfin Batfish. If you're planning a mixed exhibit, these are the ones that want their own enclosure.
The hard part: provenance
Anyone can paste a compatibility table. The value is in labelling confidence. Every pair carries one of three states, and we never silently promote "unverified" to "likely". When sources disagreed, the pair stays unverified and says so.
That's also why the pair counts don't sum to a neat "everything is compatible" story: 739 of 1,221 pairs are a hard no, and we publish that too. Negative data is data.
How it's distributed
- DOI (citable, versioned): https://doi.org/10.5281/zenodo.23263612 — Zenodo mints a concept DOI so citations always resolve to the latest version.
- Kaggle: https://www.kaggle.com/datasets/pz2tools/planet-zoo-2-launch-dataset-130-species
- GitHub (CSV/JSON + build scripts): https://github.com/odebo/planet-zoo-2-dataset
-
Reference site (browsable):
- Animal list — https://pz2tools.wiki/animals/
- Cohabitation matrix — https://pz2tools.wiki/cohabitation/
- Release time, all timezones — https://pz2tools.wiki/release-date/
- System requirements — https://pz2tools.wiki/system-requirements/
Lessons for anyone shipping data before a launch
- Ship before the demand spike, not after. Search interest peaks on launch day. Being indexed and cited before that is worth more than being complete later.
- Version the asset, and link the concept DOI. When we cut v1.0.1 we had hardcoded the version DOI in the site build — every page pointed at a stale release. The fix is boring and permanent: always reference the concept DOI.
- Publish your uncertainty. Three-state labelling (likely / unverified / no) is more useful than a binary, and it survives scrutiny.
- Make it citable. A DOI turns "a page someone found" into "a thing people cite".
If you build a fan tool, the dataset is the part with a long tail. The UI can be rebuilt in a weekend; the labelled, sourced table can't.
Feedback or corrections welcome — especially if you spot a cohabitation pair we got wrong.
Top comments (0)