[MUD-Dev] re: Sun's Sim Server and Gordon's 10 Reasons (thefirstone :))

Mike Rozak Mike at mxac.com.au
Tue Apr 6 08:20:01 CEST 2004


Tess Snider:

> The middleware folks have their heart in the right places.  Let's
> get all this technical nonsense out of the way so that people can
> do content generation!  The universal problem with all middleware,
> however, is the flexibility/work tradeoff.  That is, the more
> flexible the middleware is, the more work the buyer has to do.  If
> they come after you with an "It slices!  It dices!  It even does
> RTSes!" routine, you're going to have to do a lot more than
> content generation to make a game out of it.  Alternatively, you
> end up with a constrained system, as Raph was explaining, and you
> may not be able to use it to make the game you want.

This is one problem with middleware. There is another equally large
problem not mentioned so far:

When I worked at Microsoft and had to deal with middleware, we found
it quite scary...

  1) What happens if there's a bug in the middleware that prevents
  your MMOG from shipping? Obvious soln: You include bug-fixes in
  the contract. (My group had this happen, although the project had
  nothing to do with MMOG.)

    1a) What happens if your middleware provider ends up being
    somewhat incompetent... not doing source code management, bug
    tracking, or making lots of extra fixes 1 week before ship (even
    though they claim they only made one minor change that you
    requested)? (Don't forget, the middleware provider is also
    selling their middleware to other MMOGs, some of which are many
    months away from shipping and which have requested large feature
    changes.) (My group had this happen.)

  2) What happens if there's a bug in the middleware and the company
  that produces it is unwilling/uncapable of fixing it? Soln: Ammend
  the contract to keep a copy of the source in escrow so that if it
  comes down to the wire you can access it. (My group had this
  happen.)

  4) What happens if 1.0 ships successfully but sometime before you
  start 2.0 the middleware vendor goes belly up? Do you a) pay money
  to buy the rights to the middleware vendor's source code, or b)
  use another vendor and change all APIs (and assumtions) in your
  code that used the middleware. Option a) costs money, option b)
  will slip 2.0.

  4) What happens if the middleware vendor sees how much money
  you're making and decides to up their royalties for any features
  you request for 2.0?  Again, you can either pay or rewrite your
  code to use some other middleware.

  5) What happens if the middleware vendor is purchased by a
  competitor? They may follow the contract to the letter, but you
  can bet they won't provide you 2.0, 3.0, etc. versions of the
  middleware. You'll be forced to rewrite your code to use a new
  middleware layer.

  6) What happens when you, in turn, want to license out your entire
  MMOG engine as middleware? You'll need to watch out in the
  contract to make sure you can sub-license. (My group had this
  happen.)

  7) If your MMOG is made of entirely middleware, what value added
  do you have? (Ie: The more middleware that's out their, the easier
  it is for a competitor to emerge. The more competitors, the less
  money you make.)

  8) What happens if your middleware provider uses the annuity
  they're earning from you to finance their own entry into the MMOG
  environment and end up competing with you (while selling you their
  middleware at the same time)?  (My group had this happen.)

As a MMOG (or any company), your response will depend upon where you
see your own product going:

  a) If your product is a one-off then always use middleware.

  b) If your product (and codebase) needs to last years then avoid
  middleware like the plague... except under the following
  circumstances:

    - If the middleware conforms to an API that is also
    well-supported by other middleware then the middleware is easily
    (hopefully) replacable. (Ex: Speech API, video/audio drivers,
    SQL.)

    - If the middleware is from an established company that isn't
    likely to go bankrupt or get sold, then you're reasonably
    safe. (Example: Use of Orcacle's database, or Micorsoft's
    database.)

    - If the middleware is open-source then your reasonably safe
    EXCEPT open-source code sometimes has licensing issues that may
    make it difficult to license your entire product at some later
    date.

PS: If you design your own middleware API and get a middleware
vendor to modify their codebase to support the API (as opposed to
your software using their API) then you can also pay a backup
middleware provider to port to your API. (Conversely: If you use a
vendor's API you may have legal problems if you get a backup
middleware provider to use the original vendor's API.)

Mike Rozak
http://www.mxac.com.au
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list