« GDC 2006: "What's Next in Game Design" | Main | GDC 2006: "Free to Play! Pay for Stuff: The Digital Content Sales Frontier" »

GDC 2006: "Ten Strategies to Reduce Costs on Large Scale MMP Development"

Ten Strategies to Reduce Costs on Large Scale MMP Development
Rich Vogel, bioware.com

I'm now working on my fourth MMP. I always say each one is going to be my last.

What is this lecture about? I'm talking about large-scale MMPs. Yes, you can develop an MMP for less than $6 million -- even less than $1 million if you're very creative.

What do they typically cost to build? $18-40 million. World of Warcraft cost over $40 million to produce -- not to deploy, just to produce. Deployment is probably another $15-20 million.

What costs the most? Content. Average 3,000 quests, over two million words of dialogue, 32 km by 32 km world filled with cities, villages, points of interest, roads. This takes 40+ artists, 50+ level designers and builders. Well over 10,000 items (weapons, food, clothing, armor, accessories, etc.). Hundreds of unique creatures (we had over 160 unique creatures in Star Wars Galaxies). Several races. Thousands of UI pieces. Five times the special effects of a single player game.

The "project fulcrum" is quality and scope versus resources and time. Quality is the most important thing.

How can we be more efficient in what we're doing? How can we develop content faster? That's where our costs are.

Strategy #1: Get top talent for your core team. It's critical that you have good people in your lead positions. Take your time to find them, and don't rush. Clearly define their roles. Every person on the team has to be passionate about what they're building. Have a deep bench -- these projects take up to four years, and you're going to lose key people along the way.

What type of people are needed?

  • Director of technology
  • Art director
  • Creative director
  • Executive producer
  • Senior producer
  • Project manager
  • QA manager
  • Community manager
Strategy #2: Don't build everything from scratch. Look for off-the-shelf solutions. This constrasts with what Richard Garriott said this morning -- but in 2006, we have good middleware. Does it save time? Does it scale? Is it modular? Does it prototype the game faster? Does it reduce risk?

What's out there in terms of middleware?

  • Simutronics
  • Emergent
  • Big World
  • Lots of database solutions
  • Lots of billing solutions
Strategy #3: Scoping the design early and often. Define the core gameplay and goals of the game at the start. Set a minimum feature set to deliver. Prioritize features. Don't innovate everything. Review any new features against the goal of the game.

Strategy #4: Data driven systems are it. Nothing should be entered in terms of data that can't be put in a spreadsheet or a database. Programmers should worry about logic and not entering data. Overall savings in terms of iteration time as well as time for polish. Designers should not program.

Strategy #5: Communications. Make sure everyone on the team understands what they are building. Create a high-level mission statement. Use filtered e-mail groups (be careful of internal spam). The team must play the game. Everyone contributes to feedback. Have a meeting at the beginning of each day.

Strategy #6: Iterative development. Take time to prototype core gameplay. Take risky concepts and prototype them early -- this provides time for course correction. Work towards small concepts and build on them.

Strategy #7: Agile development. A large team requires different approaches. SCRUM is an agile development process using strike teams -- learn about it if you haven't already. Don't be fooled by quick progress of agile development -- you still need overall project management. Pacing is critical in order to reduce burnout and improve performance. Keep the team small until pipelines are finished. I use a wiki containing my tasks for the week displayed continuously on a second monitor.

Strategy #8: Tool development. Don't go into full production until tools and pipelines are fully functional. Tools need to be easy to use, scalable, adaptable.

Types of tools that are required:

  • Asset generation and tracking
  • Scripting language
  • System generation
  • UI generation
  • World generation
  • Dialogue
  • Special effects
  • Monitoring

Strategy #9: Outsourcing. In my opinion, this is where you really save your butt. Outsourcing helps reduce your internal team size. Review your art, software, design, QA, and audio needs, then determine what can be done out of house. It's not easy, and it's a big commitment. You have to treat your outsourced resources like a remote internal team. Face-to-face time is critical.

Strategy #10: Always consider how software and game design affect back-end costs. Think about number of servers, database load, customer service support, expense of hardware to support game design. In Ultima Online, we wanted to add a thief character, but if we had realized the effect this would have on customer support costs, we never would have considered it.


TrackBack URL for this entry:

Post a comment