Zoo Tycoon 2: Marine Mania is the third expansion for the Zoo Tycoon 2 series. As is obvious by its title, Marine extends the animal gameplay to the water to add a new aquatic world to Zoo Tycoon 2.
It was an extremely fun project to work on for many reasons; it added completely new gameplay elements that expand the Zoo Tycoon experience, we made a number of technical improvements that take the visuals of the game to the next level, we had a great team working on Marine Mania, and it’s probably one of the smoothest projects I’ve had the pleasure to be a part of. So, lots of things went right. But no project is ever perfect and there are certainly things that we’d keep a more careful eye on if we were doing it over.
What Went Right
The Right Vision
We started early design work on Marine while we were still working on the first expansion, Zoo Tycoon 2: Endangered Species. We spent a fair amount of time creating a vision statement and throughout the development it was really useful to map our decisions on various issues against that statement.
The Vision: “ZT2: Marine Mania extends the animal gameplay to the water to add a new aquatic world to Zoo Tycoon 2. Compelling training and marine shows enhance players’ animal interaction experiences. Delivering on the marine theme, water is at the forefront, supported by a brilliant aquatic soundscape. The ultimate goal is for ZT2: Marine Mania to become recognized and respected as the best marine-themed builder/tycoon game released to date.”
We had a good grasp of the goals and expectations for the product, we recognized and defined the scope early in the process, we knew the “parts” that were required and planned accordingly.
We created a prioritized list of features that categorized features as being “critical,” “important” or “optional,” and this list was something that we continually referred back to during development. We also assessed our critical features with respect to risk… and not just the risk of getting it done but the risk of it “not being fun” as well. As a result we frontloaded various features so that they would get into the game early and allow us to iterate upon them. For instance, we focused on getting the game mechanics for training and some of the completely new user interfaces for training and show creation in and useable in at least a rudimentary state very early in the project.
All these efforts enabled us to make better choices when we had to choose between ideas, and it helped prevent unplanned features from creeping in. It helped us reprioritize in response to feedback and gave us flexibility to emphasize those aspects of the product that were core to our vision. It allowed us to implement some major changes to the game while ensuring consistency in gameplay across the Zoo Tycoon series. It helped us to polish the UI and make the overall game more fun and as a result we believe we were better able to address the broad based market that simply loves Zoo Tycoon 2.
In the end we feel we introduced some pretty significant changes to the way the game plays but it still feels consistent with everything else in Zoo Tycoon 2.
The Right Process…
Marine was a smooth development experience and there are many contributing factors as to why that was so. Certainly our pre-planning efforts deserve a lot of credit, but we also incorporated various processes to help minimize wasted time while ensuring that the team was informed and on the same page.
For the most part, we struck the right balance of meetings. Fortunately, we’re a dynamic enough company that there isn’t a layer of bureaucracy that we need to live by. Since I personally am not a fan of regular team meetings just for the sake of having them, we actually had very few of them during Marine. Of course sometimes there were things that were best communicated to the team all at once, and sometimes we’d have them just for fun… (hey guys, remember the “guac and salsa” meeting?), but not having regular team meetings didn’t mean that keeping everyone in the loop wasn’t essential. A couple tools that were helpful for us were using Wiki pages, our own proprietary tool for task tracking and the warboard.
Ahhh, Wiki. While initially skeptical, I came to be an avid fan of using our Wiki for meeting notes, agendas, to-do lists, and so on. It was a great way to capture information from any computer in our office and made it easy to keep a record of past decisions and track outstanding issues. Want to loop others in? Simple, just send out the link to the Wiki page.
Although production schedules were created and managed using MS Project, we also relied heavily on our own proprietary task tracking tool that we internally refer to as “taskmaster”. It is a browser-based, one-stop shop application used to delegate, clarify and finalize production tasks and it allows everybody involved in the project to communicate or gather information about tasks and stay updated as to the status of every task. It proved extremely useful for everyone from production to management to developers.
We used a centralized and visible warboard to identify and track all the features and content that was slated to be delivered in the current milestone. As we got close to the milestone delivery date, we held quick daily review meetings in front of the warboard to go over the outstanding items. This really helped us deliver features and content with higher quality, prevented issues from slipping through the cracks and helped make sure the workflow kept moving from team member to team member.
We also had practices in place to streamline milestone weeks as much as possible, the idea being of course to mitigate the risk that we’d end up furiously trying to pack up a milestone at midnight or later. We’d branch our source control a few days in advance and establish dates for code and data freezes a little in advance so that we had time to focus on stabilization. It was sometimes hard to say “no” to last minute changes but generally speaking, when we relaxed those policies and let stuff go in late, we paid for it with a more difficult or unstable milestone.
Blue Fang is a vocal advocate of Quality of Life issues in the game industry and these practices are just some of the things that let us live that ideal. I’d be lying if I tried to say we never worked any extra hours because in the end we have a responsibility to deliver quality product. But what we did do was incredibly civilized and every effort was made to respect the lives and needs of the team members.
My Publisher, My Friend…
What can I say… we have a great relationship with Microsoft. We communicated regularly with the Microsoft project team assigned to the Zoo Tycoon 2 franchise and they’d travel out to see us every few months. When they came out to visit us, we’d spend a couple of days together covering a lot of ground. From reviewing the current build to going over design plans to looking ahead to upcoming milestones to reassessing our priorities, the time we spent with them both in person and in dialoging via phone and email really paid off with both parties being on the same page about product decisions.
Through our relationship with Microsoft, we were able to participate in some early usability testing on some of the new features. The first test was done on features that were incredibly rough, missing almost the entire context and player feedback that was planned in the final feature. But the information that we learned from observing that test not only helped reaffirm that the things we were planning to do were going to be critical to the success of the feature, it also helped us identify new ideas to help make things more appealing to our end users and deliver them an even higher level of polish.
Throughout Marine we felt like we were working with a helpful partner. We received timely feedback from the MS project team and we were able to discuss our thoughts and ideas with them openly and freely. After all, we all had the same goals for Marine… to become recognized and respected as the best marine-themed builder/tycoon game released to date!
We made a lot of technical improvements during Marine and introduced some significantly new features into the Zoo Tycoon 2 engine. And it wasn’t always (ever?) easy. After all, we were building on a code base that was started in 2002 and that had continued to grow with the addition of two expansion packs prior to Marine. In many cases we encountered challenges that we hadn’t quite anticipated…similar to what you might experience when you take on a home renovation.
Sunken pirate ship concept art
But the efforts paid off. We added dramatic real-time shadows, new glitzy water and cool water effects, awesome new audio (both FX and music) and of course a whole host of new gameplay features.
So why is this part of what went right? It was fantastic motivation and inspiration for us every time some new feature became live. Everything from the look of the game to the feel of the game just kept getting better and even our skeptics got more and more pumped as things came together.
The… … TEAM
OK, this is sort of obvious. No team, no product. But the Marine team really stepped up to achieve a lot of game over a relatively quick development cycle.
They communicated well with each other, and with me and the leads, and ultimately played a huge role in every process and product refinement that was made along the way. Their feedback and input let us make better decisions, their attitudes were helpful and positive, team members went above and beyond to help out in as many areas as possible and they persevered through any of the tough challenges we encountered.
The ship, as it appears in-game
For many years now I’ve been a huge proponent for importance of the team itself to the success of any development experience and Marine just adds more fuel to my fire for how true that is. Teamwork is an essential part of game development and a team’s performance often means the difference between a project’s success and failure. I consider Marine a resounding success!
What Went Wrong
More, More, More!
I can’t think of any project that I’ve worked on where I haven’t wished for a little more time… and this one wasn’t an exception. Because we had established a clear project vision statement at the beginning of development, we were able to deliver all of the things that we felt were essential to the product. And we’re extremely pleased with our results. But even still, there are always the little things that you wish you could do, or the easter eggs you think of that you could add and we certainly had our share of those.
We also faced some serious pressure on resources…the human kind that is. Some members of the team were actually working on three different projects under the Zoo Tycoon 2 franchise simultaneously in areas that were notoriously hard to “schedule.” Not only did it stress some of the people who were in this situation but these multiple simultaneous Zoo projects also put a lot of pressure on QA…more on that a little later.
How Clear is your Crystal Ball?
We had actually done a lot of design work on Marine while Zoo Tycoon 2: Endangered Species was still in development. In fact we delivered our first Marine milestone, which was all of our documentation (functional spec, tech spec, schedule, etc…) to Microsoft within four weeks of delivering Endangered Species to manufacturing.
Needless to say there’s a lot of work in creating these documents and a few things were overlooked. For instance, although our initial schedule accounted for the fact that we needed to create animations for the guests sitting in the grandstands to react to marine shows, we overlooked the fact that the young guests needed their own specific animations for these actions as they would be unable to share those adult size animations. Oops! The technical spec and the schedule were probably the most impacted by this and fortunately we were able to revise our plans and absorb the things that fell through the cracks relatively painlessly (notice I did not say “pain-free”).
We also underestimated some of the difficulty in transitioning to 3D movement through water. We knew it would be hard of course but it proved to be even more challenging than we expected. A lot of time was spent in this area to smooth out the pops, deal with obstacle avoidance, transition between land and water, etc. We expected it, we just didn’t expect quite as much of it.
The Build is Going to be Done When?
Build times were relatively long while we were developing Zoo Tycoon 2. When we did the first expansion pack, Zoo Tycoon 2: Endangered Species, they got a bit longer. And by the time we were working on Marine, they were longer still until ultimately it took more than 4 ½ hours to complete all the builds that were needed for our milestone delivery. Although we’d looked in ways to improve the situation, a clear solution didn’t present itself. We mitigated the situation by becoming creative about when we kicked off builds and we did nightly builds religiously, but it was still a hassle, particularly during milestone weeks.
It was clear that no one on the team actually liked how long they took and it would be a regular topic of complaint and discussion. Yet in spite of investigating various options, a method to speed them up didn’t materialize. To compensate, we established a scheme to do only one of our required builds on milestone day, test it and only once it was confirmed “good” would we kick-off the other builds.
After discussing it with our Program Manager at Microsoft, we also had the OK to fall back on sending only the one build and uploading the remainder later over the weekend if necessary. Ironically, we never needed to actually use this scheme as we always had the full builds ready to go sometime on the Friday when they were due.
Close to the end of Marine, our IT manager took up the challenge. After he did some experiments with various hardware options we ultimately cracked open the piggy bank to buy some tremendously serious hardware, and migrated our build scripts to the new environment. Voila! About three weeks out from our Zero Bug date, our IT manager successfully solved our build time problem and our build times dropped to under two hours. This was incredibly helpful as we kicked off a lot of builds between then and when the product was released for manufacturing. And it goes without saying that he was quite the “hero on campus” for quite a while after that!
Early concept art
Can Everyone Hear Me?
We introduced a concept that we called “Feature Groups” in Marine, and really the idea was to simply formalize the way people tended to work anyway… that is, by forming small groups of people from art, engineering and design who worked closely together to implement features. The idea was that feature design, task analysis, implementation quality review, etc. would all be performed by this group. But the groups ending up including anyone who might ever work on that feature, so they ended up being quite large.
These large meetings often felt inefficient and poorly focused. Instead of zeroing in on the tasks at hand, they’d often turn into brainstorming sessions, and one thing we didn’t have at that point was a lack of ideas!
We did end up reining them in, and it took everyone’s effort to keep them on an agenda and stop them from going down the inevitable tangents that would come up. In the end, we fell back onto the way we always tended to work and the groups went back to being smaller groups comprised of the key people working on the feature.
In a way though it wasn’t all bad because we did draw some good ideas from the unexpected brainstorming, and the team members who participated ultimately had a much clearer idea of the product we were building.
Bugs and Other Vermin…
We were building Marine on top of the original Zoo Tycoon 2, along with the previous expansions of Endangered Species and African Adventures and the premium downloadable content released in the Dino Danger pack, not to mention the previously released free downloads. So the test matrix for what the player could have installed was enormous.
Some of the changes that were made in Marine actually required that changes be made to ALL the animals. This meant that every animal (oh, and that number is just shy of 100) needed to be retested to ensure that nothing was broken along the way. At one point we realized that one of the system changes that we were making was going to result in edits to more than 1700 files! This made our QA manager very nervous, and rightly so! After evaluating the risk, we found another way to implement that change without changing the core system.
We also felt that in general, team members should have played Marine more. As a developer, you’re often so busy getting your work done, and fixing the bugs that are assigned to you, that it can be hard to just find time to sit down and play the game. At the very end of Marine, we wanted to keep team members on hand and available in case any issues cropped up and did not want to release them to work full-time on other projects. But at that point we had really locked down changes, so we had these developers spend time playing the game; and when they tested their own functional areas, it was amazing the things that they were able to zero in on simply because they knew what should be happening. We wish we had done a lot more of that sooner!
Some problems were found pretty late which led to some stressful periods when we had to quickly make changes, some of them reasonably serious. It was unsettling, but all in all it was simply a huge job for QA between the new content and various expansion packs.
In spite of some of these 20/20 hindsight moments, we’re impressed at the level of testing that was done and some of the amazingly creative things that our testers found.
Marine Mania's launch party
Blue Fang Games has a long history developing the Zoo Tycoon series, and over this period of time has become intimately familiar with the challenges of making games for a broad-based market. Through it all, we’re always striving to improve our product and our processes, always with our eye on being the best at creating compelling, emotionally engaging games focused on the animal kingdom that set the benchmark for broad-based family entertainment.
We take pride in our abilities to work with our partners and in delivering creative and quality product reliably and dependably. Every project has its ups and downs and no project is ever perfect; after all, if it were how could it ever get better? But all in all, the highlights on Marine far outweighed the lowlights and it will always be a project that I look back on with fond memories.