- Количество слайдов: 25
Licensed Software - Cost Benefit Analysis Bill Dalton – Tech Director Bioware Austin So how’s that licensed software working for you? > If you take nothing else away from this talk, remember the red parts. >
Contents Part I – Selection Criteria > Part II – Impact > Part III – Case Study – Bio. Ware MMO >
Selection Criteria: Why license? > > > Time to build = money Time to build = opportunity cost Lacking Expertise?
Selection Criteria: time = money? > Consider Are you licensing your “best trick? ” > How complex is the product > > Most > importantly, is it integral to your work flow? These considerations should not disqualify licensing, but…
Selection Criteria: time = money? Assuming that you have taken the above into account, analysis of build/buy is straight forward. > We have technical requirements… >
Selection Criteria: choose wisely > > By this point you have committed to licensing something. The spreadsheets help you determine which something to buy. But they offer a strictly a technical analysis. There also some less obvious considerations: > > Include stakeholders’ usage requirements. Licensing/legal requirements – be careful with this. Service agreements – recurring costs, source code integration. All of this is probably less important than the choice to build/buy in the first place.
Selection Criteria: opportunity costs > Opportunity cost is the value of a product forgone to produce or obtain another product. - Mc. Connell, Campbell (2005). Microeconomics: Principles, Problems, and Policies. Mc. Graw-Hill Professional, 27. > Time to build = time you could have spent making a great game or improving a working tool
Selection Criteria: opportunity costs Also, Time to build = time your customers (content providers) are not iterating on ideas and not building a great game. > They are waiting, and doing something else (that you hope is productive. ) > This is usually the real reason to license. >
Impact > Philosophy > > It is easy to point to what is broken day by day. It is somehow harder to recognize what is going well today.
Impact continued > How often do people come to your office to tell you how great those tools you built are?
Impact continued > How often do they come asking for a new feature?
Impact continued Licensing will not change the ratio of these occurrences
Impact continued > Thesis: > The features requested under a licensing scenario will be much higher value > > to your team’s productivity, and/or to the final quality of the product
Impact continued > In other words, for a given timeline, licensed software can help you: > > > deliver a game ahead of schedule, or deliver a higher quality game on schedule. (Most people choose this one. ) Hackers and Painters: Big Ideas from the Computer Age by Paul Graham > Key take away – Always use the highest level language you can get away with to solve a problem. Licensing software is an analog for game development.
Case study: BWA MMO > Here is a partial list of the technology that we have licensed. For each one I want to lay out 1) What we would have done without it. > 2) How much leverage we gained by using it. > 3) What, if any, advanced features/capabilities do we have as a consequence of licensing that tech. >
Case study: BWA MMO continued > d. PVS (Umbra Software) > Without d. PVS > > Leverage > > Very efficient, gives us headroom for other things. Advanced features enabled > > Write our own visibility system. Nothing specific. Conclusion > No brainer. Very narrow focus. Just plug it in. It works.
Case study: BWA MMO continued > Morpheme (Natural Motion) > Without Morpheme > > Leverage > > Source code license allows us to modify an already robust system. Advanced features enabled > > Write our own animation system and authoring/editing tools. Some nice game-specific integration here. Conclusion > Good for us, but lots of labor involved in our modifications. Animation is a big deal to us and we are halfway between custom/license with Morpheme.
Case study: BWA MMO continued > GFx (Scaleform) > Without GFx > > Leverage > > Huge – anyone who can work in flash can develop our UI. Advanced features enabled > > Write our own UI system and authoring tools. Allows a lot of UI possibilities. Conclusion > No brainer. Well isolated from game. Using Flash engine is a major win.
Case study: BWA MMO continued > Kynapse (Autodesk) > Without GFx > > Leverage > > > Sophisticated tools to analyze terrain/levels. Frees up content developers that would have been placing nodes etc. Advanced features enabled > > Write our own AI pathing system and authoring tools. Full AI solution – comes with a lot of interesting canned functionality that I doubt we would have developed on our own. Conclusion > > No brainer. Easiest possible workflow once integrated. Extremely nice performance characteristics for MMO.
Case study: BWA MMO continued > Oracle (Oracle ) > Without Oracle > > > Leverage > > Sophisticated analysis tools. Can hire Oracle experts. Pre-existing array of Oracle-ready libraries. Advanced features enabled > > > Write our own persistence mechanism (lots of games have). Open source? Vast array of reporting capabilities. Data warehousing etc. Conclusion > Expensive, but worth the money for us.
Case study: BWA MMO continued > Omega (Castlehill(defunct)) > Without Omega > > Leverage > > > Robust server control and reporting capabilities. Code generation capabilities Advanced features enabled > > Use Hero. Engine process management and messaging protocols. More extensible server architecture. Conclusion > Special purpose – good for us.
Case study: BWA MMO continued > Hero. Engine (Simutronics ) > Without Hero. Engine > > > Leverage > > Content development from day one. Advanced features enabled > > > Write our own engine from scratch (probably not). Build our own engine from more granular pieces. Extremely sophisticated content tools. Live editing – iterative power. Conclusion > > > Excellent paradigm for game programmers to work directly with content developers. Excellent productivity. Byzantine code base – difficult to adapt in place. Hard to measure performance.
Recap > Real reasons to license: 1. 2. Time to build = time your customers (content providers) not iterating on ideas and not building a great game. The features requested under a licensing scenario will be much higher value > > to your team’s productivity, and/or to the final quality of the product
Discussion > Some possible talking points > Consider life cycle of product > Early adopter +/- Platform support? > Vendor goes out of business? > Licensing may not save you any time at all! > > Sometimes integrating someone else’s tech is as hard as building your own.