Sponsored By

Designing the simulation of the wild and wonderful Planet Zoo

Gamasutra had a chance to talk to key members of Frontier Developments' Planet Zoo team about the making of the studio's latest hit simulation game.

John Harris, Contributor

January 29, 2020

13 Min Read
Game Developer logo in a gray background | Game Developer

Planet Zoo from Frontier Developments is a sim that's just as much about keeping your animals happy (and alive) as it is about having the freedom and tools to create a simply awesome zoo.

Designing and balancing all the systems therein was no small task. Even with other great sims under its belt like Zoo TycoonPlanet Coaster, and Jurassic World EvolutionPlanet Zoo presented its own special challenges for Frontier. We had a chance to ask four of the development team's key members about the development and design of the studio's hit simulation game.

Who are you, and what is Planet Zoo?

Planet Zoo is a game about creating the perfect zoo for animals. It drives the player to make creative and conservational decisions whilst balancing the many aspects of a zoo, from the animal’s needs, to the staff taking care of them, to the guests that will need to be kept happy and educated to fund their endeavors. This all needs to be put together with a suite of freeform tools that allow the player to build in their own unique way. We have a pure sandbox mode for creative players, scenarios for players who want more structure, and challenge/franchise modes that combine the best of both.

Megan Brown: Hi I'm Megan Brown, and I'm a graduate programmer working on animal behavior in Planet Zoo. I've been working on this project for over two years, starting as an intern straight out of university and was delighted when I earned the Grads In Games Graduate Impact Award last April for my work in the team. I've been working on Planet Zoo since the initial stages of development, so I've seen the game come together from pages of detailed design documents, through various prototyping stages, all the way to the fully fledged, incredible game it has become.

James Lockett: I'm James Lockett and I'm the lead gameplay programmer on Planet Zoo. I've been running the gameplay team for the project for the past couple of years and recently became the full programming lead as it moves into continuing development. We work with all departments to make sure gameplay features make their way into the game. I personally worked on the habitat boundary system and staff logic, along with many other small features throughout the game. I previously worked on Planet Coaster so I'm very well versed in everything Planet at this point!

Jim Stimpson: I'm Jim Stimpson, and I'm a principal designer. I joined the Planet Zoo development team after production had started. When I joined the team I was mostly working on the career mode, crafting the story with our writer and also creating the tutorials. Adding a narrative to one of our management games was a first but it was very enjoyable to do and we learnt a lot through doing it; it definitely helps that it was received well by critics and players (Nancy and Bernie were a fantastic way to introduce the game).

David Bamber: Hi, I’m David Bamber, and I’m a senior designer on Planet Zoo. I’ve been on the project for just over a year following working on the dinosaurs for Jurassic World Evolution, and am an old hand at Planet games having worked on a variety of things in Planet Coaster.

I’ve been working exclusively on all things animal since I joined the project, which is a mix of skills; behavioral systems design, database work, Excel spreadsheets and math formulae for modelling, writing text for animal UI’s and balancing animal behavior. I found behavior balancing incredibly rewarding as it changes our emotional response to the animals.

For a new developer, it can be forbidding to see a detailed, team-based project like this. It might be useful for readers to have an insight into how a simulation game like Planet Zoo works under the hood. Would you mind giving us some insight into how the game operates, frame to frame? What kind of data structures do you use? What engine did you go with?

James: With Planet Zoo we're using our own in-house engine called Cobra. It features an entity component system model which allows us to have thousands of instances of specific systems running efficiently. This is done by scheduling many of the systems to run parallel to one another whenever there is space available.

So for example, the crowd navigation can work alongside the animal behaviors, the staff logic can run alongside the simulation etc. The work that these systems do can vary massively and they are setup to be developed separately but, when combined, they form the complex simulation of Planet Zoo.

Keeping things loosely connected where we can, makes it easier to scale things up and have many people work together while minimizing their interference with each other. A key part of allowing such huge numbers of objects and agents in our game is how we layout memory and processing over this. Our Entity-Component System allows us to group the same data members for all instances of an object together into sequential memory so we can make better use of the various CPU caches. The engine and simulation code leverage these patterns to help create a game system that can run the living, breathing detail on show in Planet Zoo.

Programmers of simulation games will often use strict square or isometric grids to organize their fields and worlds, or maybe hexes if they're fancy, but most top-of-the-line modern simulation games these days use a more freeform approach. Planet Zoo's UI is particularly slick there, I have to say, the way buildings connect with nearby paths, spawning their own subpaths if needed. It's fun just to play around with! Would you mind telling us a bit about how your team put it together, letting paths branch off at non 90- or even 45-degree angles, and being able to rotate buildings freely?

James: We wanted to design the Planet games from the get-go with creative freedom in mind, so that meant we had to overcome the challenges that free-flowing placement of scenery, paths, tracks and habitats would give us. For example with the paths we wanted players to create them over rolling hills and curving splines. Since the shops, stations and habitats could be built anywhere too, it had to able to be off a world grid. Starting from that perspective meant we were always thinking in 3D space rather than simplifying our problems. 

The editors for these player facing systems went over many months of iteration trying to balance the design ethos with player usability and power. Features such as allowing branching at as many angles as possible came from constantly wanting to push our systems further in creativity and power. I think giving the player these more expansive tools was worth the work the team put in when we see all the unique and interesting creations our community comes up with.

Let's talk about the beasties themselves. People have raved about how they look and behave. How did your artists and animators capture the look and behavior of the animals? Were there any special challenges in making them true to life? Were you able to schedule personal time with any real tigers and bears?

David: Wherever possible, we start from picture and video reference of the species, which are more available than ever on the internet and TV. The team also had a group trip to a zoo, and many of us have had personal trips and taken part in behind the scenes experiences that the zoos offer to the general public. With a core focus of the game and its development being issues of conservation and preservation, we made sure to focus these visits and research to what species are safe, available and ethical, so no tigers or bears, but lemurs and red pandas among others.

I balance the proportions of each activity by looking at the defining behavior of the animal when idle. For instance, zebra and elephants need to herd, lions often rest lying down, and flamingos need to stand together in water. This isn’t as simple as it sounds. We spend hours on a single species, observing animals in different size groups and different habitats to verify the behavior we have seen is not an outlier. The most common problem is reducing the frequency of competing behaviors to allow the primary behavior to shine!

Often animals will present us with curveballs that mean we have to add whole new behaviors, ranging from the complex to the simple. A simple one is that bears need to check if they have enough headroom to be able to play their standing animation. On the complex side, red pandas are shy, and need to retreat to a safe place if there are too many guests watching them. We added a stress system to give all animals a stance towards guest crowds, and make the relationship different per species. (Here’s a tip, players can use plants to reduce the impact of guests on the animals’ stress by obscuring their view.)

A counterpart question here involves covering the simulation needs of the animals. Some layout-based sim games have a kind of issue where it doesn't matter so much what goes where, and concerns are roughly identical throughout the map. That doesn't seem to be the case with Planet Zoo: prey species, for example, can feel threatened and become stressed if under too much attendee observation. Fitting together those needs seems like it'd be an interesting challenge, and also helps each kind of animal feel special, instead of just another thing your zoo has. What is your thinking on this?

David: I’m really glad this feels like the case, as it was one of the main design goals of animal design!

Our starting point is real world research on the habitat requirements of each animal, usually from animal care manuals. This gives us a huge range of animal features, which we are careful to keep the rough edges on for players to discover and manage. I think having these differences also inspires a lot of creativity for creative players, so we get more interesting zoos as a result.

Like behavior, we want there to be a flagship core challenge for every animal. Complex species--usually giant animals and carnivores--can have multiple challenges, and the range in complexity encourages players to think carefully about which animals they use. It’s important that each animal has a viable place in the creation and expansion of a zoo, and they are not simply better versions of each other.

Megan: Combining animal needs and habitat layout effectively to create a compelling and difficult gaming experience was indeed a tricky challenge! If players could copy and paste one habitat layout and keep everyone happy then the game would be less interesting and the addition of new species wouldn’t provide any new challenges for the player.

Sim games have to feel like what they're simulating, but usually make many concessions to playability. Was there any time during the creation of Planet Zoo where you had to stop and say, "This is too detailed to be fun; we need to abstract it some more?" Or alternatively, did you reach a place where it felt like it needed more crunch?

David: Absolutely. Before release, the disease system varied between underwhelming and incredibly punishing. This made us re-evaluate what we wanted at the core of the system and make disease a punishment for not keeping cleanliness above a threshold, rather than an ever-present risk. This feels crunchier when disease does bite, as it can spread more rapidly and more severely, without needing constant firefighting.

Jim: There's definitely times where you have to take a step back and remember that you're still making a game, and even though you want it to be as realistic as possible realism isn't always interesting or fun. For example, zoos will take animals behind the scenes for feeding and cleaning. However, we simplified this interaction due to the time constraints of a constantly moving game clock. Additionally, the transportation of animals in zoos is really complex, so again we went for a simplified version to speed things up and ensure it remained engaging for the player.

The other thing to bear in mind with this sort of thing is who your target audience is. We wanted to appeal to a broad range of players, so adding in too much realism or complexity to certain areas could turn people off of the game. On the other hand, we wanted the animal movement and behaviors to be as realistic as they possibly could. They're the stars of the game after all!

One of Planet Zoo's most interesting features is the ability to trade animals with other players, in a virtual simulation of the network of animal conservationists that work together to spread out and protect these rare and endangered species. Were you concerned with balance issues related to this feature, like only the most well-heeled zoos monopolizing the coolest/best/most interesting animals?

Jim: Whilst Planet Zoo is meant to be a friendlier space, that hasn't stopped some players from trying to manipulate the market in their favor but so far we've managed to stop any one person from dominating. While players can sell their animals in the market, Frontier also sells its own animals which means every player has a chance of getting an animal at a reasonable price, they just need to keep an eye on the market.

The ability to trade animals in Franchise Mode with other players over the internet is an interesting concept, which recently fell afoul of economic issues when very cheap animals like warthogs and peafowl overwhelmed the system. I am reminded of old school MMORPG economic weirdness, like how Ultima Online's ecology got wrecked over time and every buildable house location eventually got claimed. Did you manage to get it under control? Did you learn any design lessons from the experience that other devs might be aided in knowing, or are at least fun to read about?

Jim: The problem with this was simply that the system that seeded the animal market with cash animals stopped working! The server we elected to run the system was logging everything so we could keep an eye on it, those logs filled up the disk space and stopped it running anything else, so our seeding system just stopped working too. As there were no Frontier animals being seeded onto the market players had free reign to do whatever they wanted to do, and that was to put anything and everything on the market at whatever price because they could!

Once that was resolved and everything under control, we saw prices and demand levels fall more in line with what we expected. We’ve learned a lot of important lessons throughout the campaign, with the beta and the launch, and we continue to improve all aspects of the game.

About the Author

John Harris

Contributor

John Harris writes the column @Play for GameSetWatch, and the series Game Design Essentials for Gamasutra. He has written computer games since the days of the Commodore 64. He also maintains the comics blog Roasted Peanuts.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like