【ITニュース解説】Planet Zoo 2's animal list by region: 130 species, 12 regions, and three regions that hold exactly one animal
2026年10月20日に「Dev.to」が公開したITニュース「Planet Zoo 2's animal list by region: 130 species, 12 regions, and three regions that hold exactly one animal」について初心者にもわかりやすく解説しています。
ITニュース概要
Planet Zoo 2の動物130種・12地域データはゲーム内で一覧できず、著者が独自に抽出し分析・公開した。動物の出身地を示す「地域」と、共存可否を決める「バイオーム」や「飼育タイプ」の違いを理解し、このデータは動物園計画に役立つ。
ITニュース解説
人気シミュレーションゲーム「Planet Zoo 2」の動物データに関して、興味深い解析結果が公開された。このゲームはプレイヤーが動物園を運営するもので、多様な動物が登場する。しかし、ゲーム内では全動物のリストや、特定の地域に属する動物の一覧を簡単に確認する方法が提供されていないという課題があった。これは、ゲームの「動物図鑑(Zoopedia)」が動物ごとに詳細な情報(バイオーム、囲いタイプ、柵の強度など)を表示する形式であり、一覧性のあるインデックス機能を持たないためである。
そこで、ある開発者がこの問題に対し、システムエンジニアリング的なアプローチで解決を試みた。彼らは、ゲームが内部的に利用しているデータ、いわゆる「ペイロード」と呼ばれる情報を抽出することに成功した。ペイロードとは、ウェブアプリケーションなどがサーバーと通信する際に送受信されるデータ本体を指し、多くの場合、JSON(JavaScript Object Notation)のような構造化された形式で送られてくる。彼らはこのペイロードを解析し、ゲーム内の全130種類の動物に関する詳細なリストを独自に作成した。このリストは現在、公開ウェブサイト「pz2tools.wiki/animals」で誰でも閲覧できる。さらに、動物を地域ごとに分類したリストも「pz2tools.wiki/regions」で提供されている。
この解析によって明らかになったのは、各動物が持つ13種類の詳細な情報フィールドである。これには、和名、学術分類(綱、目、科、属)、生息できる環境を示すバイオームのリスト、出身地を示す地域のリスト、必要な囲いのタイプ、デラックス版に含まれる動物かどうかを示すフラグ、オスメス別の体重、必要な柵の強度、最小の柵の高さ、そして柵が登り防止対策されているかや水中を許容するかといった二つの特別な柵のフラグが含まれる。これらのデータは、ゲーム内で動物たちが同じ囲いで共存できるかどうかをシステムが判断するための基準として用いられている。
ゲームには合計130種類の動物が登場し、その出身地として12の地域が設定されている。この12地域は、アフリカ、アジア、ヨーロッパ、北アメリカ、南アメリカ、オーストララシア、北極の7つの陸上地域と、大西洋、太平洋、インド洋、北極海、南氷洋の5つの海洋地域で構成されている。興味深いのは、一つの動物が複数の地域に属する場合があるため、地域と動物の割り当ての総数は204に上る点だ。例えば、130種の動物のうち82種は一つの地域にのみ属するが、48種は複数の地域に属している。
特に注目すべきは、複数の地域にまたがる動物の例である。タイマイは、陸と海の区別なく9つの地域(アフリカ、アジア、ヨーロッパ、北アメリカ、南アメリカ、オーストララシア、および四つの海洋)に登場する唯一の種である。また、ムーンジェリーは全ての五つの海洋に生息するとされており、特定の「単一動物地域」が同じ種類のクラゲによって占められている理由にもなっている。一方で、北極地域にリストされている陸上動物はマウンテンヘアーただ一種類のみであり、「北極ゾーン」をテーマにした動物園を作る際には動物の種類が非常に限られることが分かる。
この解析で最も重要なポイントは、ゲームシステムにおける「地域(Region)」と「バイオーム(Biome)」の役割の違いを明確にしたことである。多くのプレイヤーが誤解しがちだが、地域は単に動物の出身地を示す「フレーバー」情報や、動物園のテーマを計画する際の参考情報に過ぎない。ゲーム内で実際に動物が共存できるかどうかを判断するルールとして使われるのは、「バイオーム」と「囲いのタイプ」の二つの情報である。例えば、アマゾンとコンゴ出身の動物でも、両方が熱帯雨林バイオームに適応し、同じ「生息地(Habitat)」タイプの囲いを利用できるのであれば共存可能だ。しかし、同じ大陸出身であっても、一方が魚で他方が鳥であれば共存はできない。出身地域は、この共存判定には一切関与しないのだ。
システムエンジニアを目指す初心者にとって、このようなデータ解析は多くの学びがある。特に、データを扱う際の「データガッチャ(落とし穴)」は実践的な知見となるだろう。この解析では、地域フィールドが他の多値データとは異なり、単一の「パイプ区切り文字列」として提供されることが判明した。例えば、「"continents": "Africa|Asia|..."」のように一つの文字列に複数の地域情報が区切り文字で連結されている。通常、複数の値を持つフィールドは配列(例:["Africa", "Asia", ...])として扱われることが多いため、この形式はデータ処理の際に予期せぬエラーを引き起こす可能性がある。開発者はこの文字列をパイプ記号で分割し、重複する要素を排除する処理が必要になった。
他にも二つのデータ処理上の落とし穴があった。一つは、水生生物に関する柵の強度の情報が、ヌル(データなし)ではなく「空文字列」として提供される点である。例えば、魚類や展示動物の柵のグレードや高さのフィールドは""(空文字列)になっている。もし平均値などを計算する際に、この空文字列を数値に変換しようとすると、一部のプログラミング言語では0として扱われ、誤った計算結果(例えば「中央値が静かに0を含む」)につながる可能性がある。このようなケースでは、事前に空文字列をヌルに変換するなどのデータクレンジング処理が必要となる。もう一つは、デラックス版に含まれる動物を判別するフラグが「content_pack」というフィールドで提供されていることだ。AxolotlやGolden Eagleなど6種類の動物がデラックス版に属しており、もし基本ゲームのみのリストを作成したい場合は、このフラグを使ってフィルタリングする必要がある。Steamのゲームストアページではこれらが区別されていないため、この情報がなければ正確なリストアップは難しい。
これらのデータ解析の結果は、ゲームプレイヤーだけでなく、ゲーム開発やデータ分析に関心を持つ人々にも実用的な価値を提供する。まず、テーマごとのデラックス動物の予算計画に役立つ。例えば、太平洋とインド洋のリストにはそれぞれ3種類のデラックス動物が含まれるが、オーストララシア地域にはデラックス動物が一つもない。デラックス版を購入せずにサンゴ礁エリアを構築したい場合、オーストララシアと大西洋の組み合わせが費用対効果の高い選択肢となることを示唆している。次に、特定のテーマが開発的に「行き詰まり」になる時期を事前に知る手助けとなる。例えば、北極地域にはマウンテンヘアーしかいないため、「北極ゾーン」を作るには、タイガやツンドラに適応する他の地域の動物(例:エゾヒグマやユーラシアオオヤマネコ)を借りてくる必要があり、結果的に「コスプレをした一つの生息地」にしかならないことを示している。最後に、バイオームの重複を推測ではなくデータに基づいて読むことが可能になる。例えば、アジアの44種の動物は熱帯雨林に適応するものが20種と最も多く、アフリカの43種の動物はサバンナに適応するものが14種と多い。これらの数値は、大陸をテーマにした動物園を開始する際にどのバイオームを中心に構築すべきか、また「サバンナアジア」のようなテーマがなぜ動物種が薄くなるのかを明確に示してくれる。
この解析で利用されたデータは、ゲームのコードから直接抽出されたものではなく、ゲーム内の動物図鑑の公開ペイロードから、ゲームローンチの約12日前に取得されたものである。その後ゲームは一度パッチが適用されたが、地域割り当てのデータはこれまでのところ安定している。ただし、動物の共存条件に関する判断(co-habitation verdicts)は変更があったとされており、これらの変更はゲームのアップデートページに記録されている。全てのデータはCC BY 4.0ライセンスで公開されており、 raw CSVやJSON形式でもGitHubやZenodoで提供されている。これにより、データの透明性と信頼性が保証され、もし解析結果に疑問がある場合は、元となるゲームの記述にまで遡って確認することが可能となっている。