In advance of the global release of Planet Zoo 2 on October 13, 2026, software developer asrocky010 built an open-source reference dataset and co-habitation matrix by extracting structured data directly from the publisher's official server-rendered web pages. The project transformed raw web hydration state payloads into a machine-readable archive covering 130 species and 1,221 potential enclosure pairings. Released under a Creative Commons Attribution 4.0 license, the dataset is accessible through a dedicated website, a GitHub repository, and an archived record on Zenodo.
Deserializing Server-Side Hydration State
Rather than attempting traditional HTML web scraping across unstructured layout elements, the developer analyzed the official Zoopedia pages built on the Nuxt framework. Nuxt embeds serialized state arrays into HTML documents to rehydrate client applications upon loading. The serialized structures use index-based references similar to the devalue serialization format to represent complex cyclic object graphs in flat arrays.
To parse the structure, the developer constructed a lightweight recursive resolver algorithm in Python. The function navigates array indices to reconstruct original nested objects while enforcing two critical technical edge cases. Because Python evaluates booleans as integer subclasses, strict type checks were necessary to prevent boolean flags from being dereferenced as array indices. Additionally, tracking visited nodes in a set prevented infinite recursion errors when handling cyclical parent-child object references.
Mapping Species Specs and Cohabitation Logic
The extraction process produced normalized records for all 130 launch species, comprising 124 base game animals and 6 Deluxe edition exclusives, including the Axolotl, Golden Eagle, and Great Hammerhead. The dataset documents taxonomy, weight ranges, minimum barrier requirements, enclosure types, and conservation categories, which span 63 species of least concern down to 12 critically endangered animals. Multi-value attributes like biomes were intentionally formatted as semi-colon separated lists in standard CSV files to accommodate immediate consumption in analytics workflows such as pandas.
To answer whether distinct species can share housing, the developer evaluated theoretical pair combinations. Out of 8,385 total mathematical pairings, filtering for overlapping biomes and enclosure types reduced the pool to 1,221 candidate pairs. By processing qualitative social behavior descriptions, the classification engine identified 376 likely compatible pairs, 739 incompatible pairs, and 106 unverified pairings. Rather than forcing ambiguous entries into binary outcomes, unverified classifications highlight instances where official documentation remains ambiguous, directing players to test interactions directly within the game interface.
Why Hydration Parsing Changes Modern Data Extraction
Extracting serialized Nuxt payloads highlights a modern technical shift in web scraping workflows. Modern single-page applications and server-side rendered frameworks frequently ship complete JSON-like state graphs to the client window prior to DOM hydration. For data engineers and tool developers, targeting these internal hydration payloads eliminates the fragility associated with parsing shifting HTML elements, CSS selectors, or dynamic visual components. By bypassing screen scraping, developers can construct predictable extraction pipelines even when official REST or GraphQL APIs are unavailable.
Furthermore, the project establishes a rigorous methodology for open data distribution and transparency. By assigning a persistent Digital Object Identifier (DOI 10.5281/zenodo.23263613) via Zenodo alongside standard GitHub hosting, the dataset provides verifiable provenance that survives web address changes. Clearly separating third-party source facts from derived inference logic—such as explicitly maintaining an unverified status category—prevents the spread of unconfirmed game mechanics. This approach offers a reproducible blueprint for community developers converting complex web data into machine-readable formats while respecting intellectual property boundaries.
AI-generated editorial illustration; not a documentary photograph.
Source: I turned a game's official Nuxt payload into a 130-species dataset and a 1,221-pair co-habitation matrix · GitHub – odebo/planet-zoo-2-dataset: Machine-readable Planet Zoo 2 launch dataset: 130 species + 1,221-pair co-habitation matrix, CC BY 4.0. Rendered at pz2tools.wiki · GitHub

Leave a Reply