Technical preproduction (for a new IP)

Post on 08-Feb-2016

42 views 0 download

Tags:

description

Technical preproduction (for a new IP). Stefan Posthuma Technical Director Electronic Arts Canada. 1984. 1998. 1998 - AI programmer 1999 - Lead programmer 2003 - Systems Architect 2004 - Product Manager 2005 - CTO Sports 2007 - TD, new IP. Can`t spend any money!. Multi-million seller!. - PowerPoint PPT Presentation

Transcript of Technical preproduction (for a new IP)

Technical preproduction(for a new IP)Stefan PosthumaTechnical Director

Electronic Arts Canada

1984

1998

1998 - AI programmer1999 - Lead programmer2003 - Systems Architect2004 - Product Manager

2005 - CTO Sports2007 - TD, new IP

100% new IP!AAA title!Multi-million seller!

New team!New technology!

Can`t spend any money!

To do list

• Early prototype• Pick technology• Set up infrastructure• More prototyping• (Survive all exec reviews)

Early prototyping

• Goals: – Prove core game features– Experiment with the IP– Establish the rules– (survive first exec review)

How?

Improvise!

Use what is at hand

• Readily available• Easy to use• In working order• Local knowledge of the system• Somewhat genre specific• Doesn’t have to be pretty!

Align expectations

• Prototype just to prove core game play• Not VTAR by any stretch of the imagination– Use deliberately low-fi models and textures

• All work done should be considered throw-away– Knowledge gained far outweighs any code written

Review time...

• Clear explanation of what the rules are– No VTAR, not on target platform, etc.

• Get creative– Multiplayer mode to mimic AI

• Went over well, got point across• Survived first exec review!

Pick technology

• AAA title, 30 months to ship– Forget about writing your own engine

• Need existing solution– Something that will be competitive 2 years from

now

Let’s go shopping!

Shopping list

• Genre specific• Scalable and extensible– Needs to compete late in console life cycle

• Provide mature asset pipeline– Rapid prototyping needed!

• Data driven run-time– Engineers can focus on infrastructure while

designers build prototypes

Options

• In-house– Luxury of large company, lots of choices• Godfather, Harry Potter, Battlefield, Medal of Honour,

Skate, Need for Speed, the list goes on

• 3rd party– A few obvious contenders• Unreal• Gamebryo• Others...

Narrow it down

• Spent about a week looking at high level specifications of available engines

• Applied criteria in shopping list• Ended up with 2 contenders

Next up

Taking a very, very close look• Make first contact with the provider– Talk about evaluation licensing if applicable– Explain intentions

• Get a copy of the technology and have engineers take a look

• Give it a good poking and prodding– Build a test level or example– Get it running– Try to modify some assets– Play with the editor and pipeline– And so on

Get up close and personal

• Go visit the provider– Easy when internal• Not so easy perhaps when they are busy

• 3rd parties like to visit you• Or...find someone friendly who is using the

technology and visit them instead– That is what we did

Planning your visit

• Take it very seriously– Expensive– Need to get the most of it

• Have a detailed evaluation plan• Clear expectations of outcome• Send the right people and take your time!– 1 week with 4-5 people minimum

• Make a detailed itinerary– Day to day schedule for every participant

Remember to socialize

• Having beers with the team is incredibly valuable

Kick the tires

• Bring some assets along, try to pull them through the pipe

• Build very simple prototypes• Get a feel for the main workflows• Take copious notes

Make a report card

• List the major areas of the engine and rate them on how well they apply to the project

• Put them side by side and compare• Use this to help pick a winner

Decision time...

• Scalability and long term potential were big factors

• We picked the more risky engine because of this

• It was written from the ground up for NG– Architected for multi-core systems– Very scalable

• Highly data driven

Evaluation process took 2 months

Meanwhile...

• A small team continued prototyping using the previous engine

• This so production and design could continue their work

Learning

• Document!– A team Wiki where learning was documented– Careful on boarding of new team members using the Wiki

• They improved it as they used it

• Process– Code Collaborator

• Excellent learning tool

• Knowledge sharing big part of team culture– Put it in people’s objectives– Nobody is an expert, regardless of seniority

Re-implement

• Duplicate original award-winning prototype• Bring over existing assets• Uncover a few things we missed

Dive not deep enough?

The animation system...

• Needed to do major upgrade of animation system

• Physics was handled with interface that we could ‘simply implement’

• Assumptions were made...• Physics layer took order of magnitude longer to

implement• Seriously impeded game feature implementation

How did we fix this?

• Collaboration!– Visited engine tech provider to come up with a

plan– Worked closely with animation technology

provider (internal group)– People from the 3 teams working together on-site– Hard push to come to a solution

• We now have ground breaking animation technology in our game

Review time again

In the middle of the animation crisis!

Showing a hybrid

• Two demos:– Critical animation features in animation

prototyping tool– Game play features in new game engine

• Survived another review!

Moving on...

• Prototyping vs. Feature building

VS

Agile to the rescue

• Scrums focus on specific features• More importantly the term ‘technical debt’ exists!• Clearly defined quality of implementation– First look, Functional, Presentable, Shippable– Put this on every user story

• This helped align expectations– Agile also helps with daily communication and sharing

progress with the team• Scotty and Kirk at peace once again

Infrastructure

• Don’t forget about this!• Provide basic technical infrastructure early on– Build system– Deployment system

• Stability and ‘always on’ were top priorities• Production always able to play the game– Wandering execs can get ad-hoc demos

• Content providers always productive

Keeping in touch

• Remember those beers you had with the people who wrote your engine?

• Foster those relationships• Join forums, know the right people, keep in

touch• For us, EA team so mutual show and tell is

possible– Both sides stoked about each other’s work

Progress!

• Animation physics problems solved• All critical features now living happily together• Team velocity really picking up• Survived another review!

The team

• Keep it small, resist the urge to grow!– Can’t spend any money remember?

• Get the most senior people with broad experience– Time to roll up those sleeves and jump in wherever

it is necessary– Agile helps, scrum teams are peer based

• Don’t forget about team building and culture– Just as important as the game

What lies ahead

• When will we be production ready?• Some simple tools• Questions to ask

Lightweight review

• Find a friendly TD or other senior technical person• Have them go around the team, asking questions• No documents, long sessions or other painful

things• Focus on technical risks, things that may have been

overlooked• Write up a summary, discuss, action• Very helpful!

Workflows

• Content providers need to be 110% efficient• Examine workflows in detail– Start with behavioural – who does what, in what

order and why?– Drill down into physical – too many button

presses? Asset export too slow?• Not production ready until all issues have

been addressed

Be honest

• Capacity– No ‘To Be Hired’ bodies on the schedule!

• Technical risk– Usual suspects (frame rate, budgets)– Specific game feature related

• Forward looking– What will online feature set look like in 2011?– Post ship technology demands

TD’s clipboard

• Checklist– Risks assessed, communicated, mitigated– Capacity agreed on– Core feature set prototyped and functional• Scope, scope, scope

– All asset pipelines functional and mass production ready• Scalable from 1 off example to 300 needed for ship

– Metrics!

Summary

• Prototype like MacGyver– One goal: prove core game features

• Invest in technology evaluation– Dive as deep as you can

• Balance prototyping vs game building– Introduce the Technical Debt concept

• Be ready for reviews and demos– Always on, have the infrastructure to support this

• Ask the right questions– Ready to go into production?

That’s it!