Mark Darrah on balancing Jade Empire and solving Xbox memory issue: "Sometimes the brute force solution is ok"
In a series of videos on his YouTube channel, Mark Darrah recalls the games he contributed to while working at BioWare. Here are the lessons he learned from the development of Jade Empire, which at the time was the studio’s first original IP since Shattered Steel.
Earlier this week, Darrah released a video dedicated to his role as lead programmer on Jade Empire, an action RPG inspired by Chinese mythology originally launched as an Xbox exclusive in 2005. Below are the key takeaways.
Five Fingers of Death and a paper prototype for Jade Empire
BioWare first came up with the idea of making a kung fu-themed game when it created a demo reel for Five Fingers of Death, a project that unfortunately never saw the light of day. This was also at a time when the studio was transitioning from the Infinity Engine to the new Aurora technology.
Five Fingers of Death was scrapped early in development, but the team created a paper prototype of the combat system for another game that would eventually turn into Jade Empire. This allowed them to test components of the real-time hand-to-hand combat, including move timing, wind-up times, and windows of damage — the elements that they had never tried to make before.
However, there is also a downside to this approach — paper prototypes are only useful up to a certain point. No matter how great the system you design works on paper, it will be so much different when implemented into an actual video game.
Paper prototypes can be incredibly useful, especially in helping you explore a space you don't understand. But at some point, you need to set them aside and actually get your design into code. Because as it starts to become interactive in the medium it's ultimately going to be in, you're going to realize that parts of what you thought you had discovered were wrong and that you've missed a bunch of things. Former executive producer at BioWare
Top-down scheduling
As lead programmer, Darrah was responsible for scheduling. And that’s when he realized that the top-down approach (breaking the estimated time for the entire project into various tasks) was better than the bottom-up approach (estimating the time required for each task and then adding it to the time required for the entire project).
Prior to working on Jade Empire, Darrah used to schedule by creating an Excel spreadsheet with boxes of the number of days that a person would be working on a task. “You basically played this weird, incredibly boring game of Tetris as you move things around in order to build a schedule that made sense,” he recalled.
This approach had one major drawback: tasks with high volumes could have relatively small estimates and make the entire process of planning unstable. “If you change that time estimate for game effects from one day per effect to two days per effect, then you just double your time,” Darrah explained. “Or if you drop it down to half a day, you just halve your time.”
So he then decided to create top-down broad schedules by setting rough blocks of time for each task — e.g. one programmer will work on game effects for six months. “What I found is that these top-down broad schedules give you more accuracy often than incredibly precised bottom-up schedules,” Darrah said.
For him, the issue with bottom-up schedules is that they usually give you a non-accurate precision, which is just a number with a lot of decimal points. Although a top-down schedule can’t tell you how many game effects you are going to have when the task is completed, it can estimate how many engineers it takes to make those effects.
There is a purpose for bottom-up schedules, but they take a lot of time. And I feel like the time that they take and the precision that they come with cause them to be treated with more respect than the top-down schedule that takes very little time to make, but ultimately often is more accurate. So the lesson is to use both kinds of scheduling, respect the accuracy that comes with that top-down schedule and don't discard it simply because it was able to be made really quickly. Former executive producer at BioWare
Xbox memory issues
Jade Empire was built with the Aurora Engine, which was originally a PC-centric framework used to ship Neverwinter Nights. According to Darrah, the game pushed the technology a lot further than Star Wars: Knights of the Old Republic, another BioWare game that was an Xbox exclusive at launch.
The studio didn’t have full control over memory when developing a project for Microsoft’s console. This resulted in crashes because the original Xbox simply ran out of memory as certain levels progressed. So the devs had to solve this problem before shipping the game.
“Jade Empire, every single time you do an area transition, reboots the entire Xbox and then loads a save game in the new area that you’re transitioning to,” Darrah said. “This cleans up memory and puts the game into a clean stable state.”
Although this solution wasn’t elegant, it was efficient enough to help BioWare ship Jade Empire. “Sometimes the brute force solution is ok, because it gets things done,” Darrah noted.
Balance ≠ fun
Late in development, BioWare realized that Jade Empire’s combat was really fun, but not balanced. So the team decided to fix this by making combat styles a lot more similar to each other and making enemies block a lot more.
Although this solution solved the balance issue, it also killed initial fun and uniqueness. That’s why Darrah believes that when you are making a single-player game, you don’t need it to be 100% balanced. “You need it be to be balanced enough to not be trivial or impossible,” he said, adding that devs can allow unbalance to exist unless they make a PvP project.
Isolation might be important to ship the game
Darrah recalled how a transformer at the building where BioWare was located exploded. This was when the development of Jade Empire was approaching the finish line, so the core team of 12 had to move to a ballroom of a nearby hotel to keep working.
Even when BioWare’s office reopened, people working on shipping Jade Empire stayed at the hotel. And Darrah believes that it was critical to the game’s launch.
It isolated people that were focused on certification and the final bugs that needed to be fixed from the rest of them and allowed them to focus on the critical issues. I have often advocated for trying to recreate this kind of environment. I don't suggest that you set your studio on fire as you're shipping, but I do think that some form of protection of the critical parts of your team can be helpful. Former executive producer at BioWare
For more lessons that Mark Darrah learned from working on Jade Empire, watch the full video below.