
Estimation techniques
Estimating the entire project upfront can be a daunting task, but there's a technique you can use when faced with any big problem - break it down into many small problems!
Your first step would be to look at a list of all features and pieces of content. Think of any design tasks that could go on that list. For example, if you're working on a first-person shooter, you'd not treat level design, weapon design, and enemy design as just three huge tasks; instead, weapon design could be broken down and estimated as a set of smaller, more manageable tasks:
- High-level design of all weapons (quantity, when are they unlocked): 2 days
- Design and implementation tasks for each weapon: 3-4 days (per weapon)
- Ideation and prototyping (desired role and feel): 4 hours
- Art brief and references: 1 hour
- Initial gameplay implementation: 2-4 hours
- Initial balancing pass: 2-3 hours
- Art implementation and sound brief: 2-4 hours
- Playtesting and polishing time: 6-8 hours
- Bug fixing: 2-8 hours
- Playtesting for all weapons: 5 days
- Final balancing of all weapons: 3 days
- Final polish pass for all weapons: 5 days
Once you break things down, look at the combined time taken and see if there are any obvious mishaps, then add some contingency budget (usually at least 20%) and make sure to revisit and re-estimate the tasks in the future, based on acquired experience.
You'd be surprised how effective such breakdowns can be, especially if you approach the unknown quantities in the same way as the famous nuclear physicist Enrico Fermi...
Fermi was known for his ability to make very good approximate calculations with very little to no actual data. Instead, he relied on making justified guesses in which he replaced any unknown quantities with averages of possible lower and upper values. How does that translate into practice? A famous example of a Fermi problem is How many piano tuners are there in Chicago? In order to answer that question, we'd break the problem down into smaller chunks asking following questions:
- How many people live in Chicago? Let's say we have no idea, but we know it's a big city, more than 4 million but less than 15 million. An average of these two values would be 9.5 million.
- How many people are in each household on average? Surely more than 1, but probably less than 3. Let's take 2.
- How many households have a piano that requires regular tuning? Probably more than it 1 in 35, but less than 1 in 5. Let's say it's 1 in 20!
- We can also guess that regularly tuned pianos need around once a year.
- How long does it take to travel to the customer and tune a piano? More than an hour, but probably less than 4. Shall we say 2.5?
- Each tuner works 8 hours a day, five days a week. 50 weeks in a year.
With these assumptions we can do the following calculation:
(9,500,000 people in Chicago) ÷ (2 persons/household) × (1 piano/20 households) × (1 piano tuning a year) = 237,500 piano tuning tasks every year in Chicago.
Now, how many piano tunings can a tuner perform in a year?
(50 weeks/year) × (5 days/week) × (8 hours/day) ÷ (2.5 hours to tune a piano) = 800 piano tunings per year.
Now for the final calculation!
(237,500 piano tunings per year in Chicago) ÷ (800 piano tunings per year for each piano tuner) = 297 piano tuners in Chicago.
According to the Bureau of Labor Statistics (https://www.bls.gov/oes/), the number of piano tuners in Chicago (as of 2009) was 290. Isn't that uncanny?
This approach to estimating is not wizardry. As long as you're not consistently biased in one direction (which obviously can happen), overestimates and underestimates generally help cancel each other out. A Fermi calculation involving many factors (such as the piano tuner problem) can yield surprisingly accurate results.
Whenever you're tasked with providing ballpark estimations for something you have not done before, imagine yourself doing the job, deconstruct the problem into smaller more manageable parts, then add up the averages. There's a good chance you'll end up with a reasonable number. And as always—before you go all Fermi on a problem—don't forget also to try and refer to other, potentially more experienced people on the team or within the company. There's a good chance they've done something similar and can share their experiences. Obviously, there are limits as to how granular you can and should get, but the more alien the problem, the better the value of approaching it as a series of smaller ones.
As previously portrayed, estimation can be an art in itself! But once you get some practice, you'll be able to utilize the same set of skills when approaching game balance, as well as any other area of the game that requires a (more or less informed) shot in the dark.