Not Invented Here?

(Note: this post comes from a debate I was having over on gamedev.net, so the tone is a bit harsher than my usual friendly demeanor. :))

I suggest you read the following article to understand my position:

Joel on Software

The conventional wisdom is that it is better to use components off the shelf (COTS). It seems mature, modern, and hip. It is also over generalized.

So license Renderware, license Havok, and so on. Put this altogether and just concentrate on gameplay. Sounds great, right? But what happens when EA comes along and buys up your middleware? What if EA is your main competitor? How good is support going to be at that point?

What if you need a new feature for a totally new game play mechanic, are you going to ask EA to implement this for you? How long will it take? In our game, my turn around time for new features is typically a day or two. My turn around time for support is a 10 second walk across the office.

If physics or graphics are a core feature of your game, it is incredibly risky to out-source this to an external library. That’s why I think many games so far have had limited use of physics, because it is not core, it is out-sourced.

4 Responses to “Not Invented Here?”

  1. Billy Zelsnack Says:

    it’s also incredibly risky to develop your own complex systems. especially if you intend on doing no innovation.

    saying that. i enjoy reinventing the wheel quite often.

  2. Erin Catto Says:

    I must confess that I also enjoy reinventing, or at least reimplementing, the wheel. How else can you really learn? And if I make a nice wheel that people find useful, all the better.

  3. Erwin Coumans Says:

    I would say open source has the best of both worlds.

    Well, many developers re-align the wheels, rather then re-inventing them, although some hide the origins of their wheels to cover this up. Especially algorithms hardly get re-invented but slightly tuned. To me SI is just a funky implementation of PGS for example, it just took some time before people realized. By the way, in Havok they realized this around 2000, but it didn’t get published.

    Open source allows you to take well tested code, and re-invent or re-align the bits you want to improve. I got fed up writing proprietary physics engines for game companies, and collaborating is much more fun. No change for going out-of-business, the license keeps things free. The worst that can happen is that the project dies, but you can still pick it up and improve from what is there.

    So in the end, I believe we are just making tiny improvements on old ideas, or in Newtons words:”If I have seen further it is by standing on ye shoulders of Giants”

    Erwin

  4. Dan Knapp Says:

    I think your position makes a lot of sense. That doesn’t necessarily mean it’s good strategy, but it’s a plausible line of thinking that I think explains what we see in the market today. As Billy Z (cool name ^_^) said, it’s also fantastically expensive and risky to do this sort of thing in-house. Though as a programmer rather than a manager, I would also find it a lot more fun that way.

Leave a Reply