innovation. interaction. inspiration. leveraging middleware jeff wofford deep red games...

28
innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games [email protected]

Upload: kelly-cross

Post on 19-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Leveraging Middleware

Jeff Wofford

Deep Red Games

[email protected]

Page 2: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

We’ll talk about…

• What is middleware?• Problems middleware tackles• The case for/against middleware• Choosing your middleware• Adapting to middleware• Questions

Page 3: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Middleware As Evolution

Page 4: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Middleware As Evolution

=?

Page 5: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

What Is Middleware?

• Software• Licensed• Provide game functionality• Game-independent• Usually API and libraries (.lib, .dll, or

source)• Occasionally complete .exe (e.g. UT

mutated via mods)

Page 6: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Problems Middleware Tackles• Rendering• Physics• Sound• Networking/Distributed Simulations• Scripting• AI/Behaviors• One-Stop-Shops

Page 7: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

The Case Against Middleware• Programmers hate it• Slower?• Not a silver bullet

Page 8: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Programmers Hate It

• Programmers don’t like their problems solved for them.

• Middleware brings foreign code into the game.

• Learning someone else’s code feels slower and harder than just writing it yourself.

Page 9: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Slower?

• Argument: Game-specific code is faster and better than generic, game-independent code.

• Often true, but to what degree?• On systems capable of 25M tris/sec,

is a 10% difference in engine performance going to be noticeable?

• Data is the bottleneck, not code.

Page 10: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Not a silver bullet

• Middleware doesn’t solve all your problems.

• It takes anywhere from 10%-60% as much knowledge to use a library as to write it.

• Middleware is sometimes significantly buggy.

• Middleware may not turn out to do what you thought it would do.

Page 11: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

The Case For Middleware

• There are lots of success stories• More mentons available for the

game• Tackles your riskiest problems

Page 12: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Lots of Success Stories

• Already instrumental in many major successes.

• Major contribution to FPS development.

• Half-Life• Deus Ex• Alice• Munch’s Oddysee

Page 13: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Mentons

+ =

+ =

Page 14: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

More Mentons for the Game

• Team has limited menton capacity.• Middleware allows importation of

thought-work, allowing conservation of mentons.

• Less time spent worrying about technical issues, more time for gameplay, visuals, user experience.

Page 15: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Reduces Risk

• Why are game developers infamous for lateness? Technology R&D.

• Technology is the riskiest portion of schedule.

• Technology is really difficult to schedule. Complete solutions really reduce risk, in proportion to completeness.

Page 16: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Moving to Middleware

• The decision to use middleware has a deep impact on project, people, and overall organization.

• Issues:– Marrying project and technology– Evaluating technology– Choosing your provider– Negotiating the license agreement– Adapting the organization

Page 17: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Marrying Project and Technology• Technology impacts game design,

and vice versa.• Identify middleware during

preproduction, when game design is coming together.

Page 18: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Evaluating Technology• Spend plenty of time on evaluation:

– At least a week per candidate for a focused API like physics.

– At least a month per candidate for a broad API like rendering.

• Read between the lines of technology demos. Take feature claims with a grain of salt.

• Don’t rely on programmers naïve to the concepts to evaluate accurately.

Page 19: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Choosing Your Provider

• Middleware involves a long-term relationship between licensor and licensee.

• Evaluating middleware involves evaluating the provider as well as the technology.

• Evaluate stability and support.

Page 20: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Stability

• You need your middleware provider to outlive the project.

• Middleware is a young industry with great instability.

• Ask about:– Company history– People– Funding– Plan for the future

Page 21: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Support

• Good support is indispensable with any middleware.

• You need it most when approaching a deadline.

• Middleware should be provider’s primary business.

• Dedicated support team.• Test support during evaluation

period.

Page 22: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Negotiation

• Ask for the price you want to pay.• Exchange royalties for price, or vice

versa.• The only way to go: Staggered

payment plan.• Multi-project deals.• Pitch your project.• Agree on what will happen if things

go south.

Page 23: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Adapting Your Organization

• Technology vs. Content development.

• Impacts:– Project plans– Who you hire

• Major impact on programmers.

Page 24: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Impact on Programmers

• Content programmers vs. Technology programmers

• Content Programmer:– Passionate about games– Relates well with artists, others– Happy mucking with foreign code– Creative– Diverse skills– Consistent productivity

Page 25: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Impact on Programmers (2)

• Technology Programmer:– Calculus-level maths– Modify generic engine for needs of

specific game.– Create specialized visual/audio effects,

AI, physics, algorithmic animation.

• It’s not just about rendering anymore. Stop trying to beat Carmack at his own game.

Page 26: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Middleware and Maturity

• Middleware is the industry maturing.• Middleware adds creative power to

projects:Time

Mentons

Focus

+ Reliability

= Better Games

= More fun, more respected, more profitable

Page 27: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

The Future?

If =

?=

then

Page 28: Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games jeffwofford@yahoo.com

innovation. interaction. inspiration.

Links

My web sitewww.jeffwofford.com

Licensing Q&A with Glen Dahlgrenhttp://www.unrealengine.com/features/qa-glen1.html

3D Engines List http://cg.cs.tu-berlin.de/~ki/engines.html

Evaluating Physics Engineshttp://www.gamasutra.com/features/

20000913/lander_01.htm