Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games...
-
Upload
kelly-cross -
Category
Documents
-
view
221 -
download
0
Transcript of Innovation. interaction. inspiration. Leveraging Middleware Jeff Wofford Deep Red Games...
innovation. interaction. inspiration.
Leveraging Middleware
Jeff Wofford
Deep Red Games
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
innovation. interaction. inspiration.
Middleware As Evolution
innovation. interaction. inspiration.
Middleware As Evolution
=?
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)
innovation. interaction. inspiration.
Problems Middleware Tackles• Rendering• Physics• Sound• Networking/Distributed Simulations• Scripting• AI/Behaviors• One-Stop-Shops
innovation. interaction. inspiration.
The Case Against Middleware• Programmers hate it• Slower?• Not a silver bullet
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.
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.
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.
innovation. interaction. inspiration.
The Case For Middleware
• There are lots of success stories• More mentons available for the
game• Tackles your riskiest problems
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
innovation. interaction. inspiration.
Mentons
+ =
+ =
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.
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.
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
innovation. interaction. inspiration.
Marrying Project and Technology• Technology impacts game design,
and vice versa.• Identify middleware during
preproduction, when game design is coming together.
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.
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.
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
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.
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.
innovation. interaction. inspiration.
Adapting Your Organization
• Technology vs. Content development.
• Impacts:– Project plans– Who you hire
• Major impact on programmers.
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
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.
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
innovation. interaction. inspiration.
The Future?
If =
?=
then
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