When Carolyn Koh attended the recent Online Game Developers Conference, she learned a little something about Icarus Studios and Middleware as a whole.
Middleware is everywhere these days when you look at the MMOG industry, and more than that, entire MMOG platforms are available for the budding MMOG studio to build their world up, and Joe Ludwig of Flying Labs Software shared their Adventures in Middleware in a lecture at the recent OGDC.
A summary explanation of middleware may simply be, "The nuts and bolts, the glue that hold an MMOG together."
Using middleware can cut the development time of an MMOG by more than half. What does that mean to gamers? It means that game developers can concentrate on game design and production. It means that players will see faster game development. Games with a 2 to 4 year development cycle instead of the traditional 4 to 6 before the advent of middleware. It means, for example: less buggy code, less buggy services (such as billing). It could mean an entire platform on which to build an MMOG, including development tools and project management tools.
Read the article here.
Oh yeah....wasn't Vanguard built on middleware.....Oh yeah they had to make some changes to the code to meet their needs and ended up with a mess.
Using someone elses code is ok, but there are limits when you do this, you are limited to doing what the middleware allows you to. Changing it to suit your needs, as the Vanguard developers found out, is not a simple action.
I have been coding for longer than many of you and have seen this happen time and time again. People have to get in and change the middleware so it does something they need it to do and then when the next release of the middleware comes out, you cannot upgrade because you have to redesign all your changes you implemented to accomodate that.
There is a big cost in using middleware. It pretty much ties your code to what the middleware is designed to do, stepping outside that circle is getting into some really dangerous waters as the Vanguard team found out.
Most middleware is designed to appeal to a wide range of customers, hence if you have specific needs you may or may not persuade them to add it to the package.
The biggest problem with middleware, you have to be extremely cautious about tinkering with their code.
So that is an very important point you missed in your article.
No, it was built on the unreal 2 engine, a FPS ENGINE. Middleware , most times, implies more than just the engine. As the article states.
Just an engine does not a MMO make.Using the vanguard analogy is a little biased. Yes it was middleware but it was middleware built for a very different purpose then what it was used for. It was not designed to have more then 100 connections on a server/zone/shard/proccess, it was not designed for "instant" chunking.
With Vanguard the whole Network code was ripped out and redone. The graphics code was heavily modified, the pathfinding alogirithims altered, the combat system added from scratch. There was no peice of that engine that didn't get ripped to shreds and put back together. In the end Sigil probably could have made a new engine faster then rebuilding Unreal.
Unreal supports dual-core and SLI very well. Vanguard cannot truely utilize either. That alone points to the damage they did to the engine.
Yes maybe the same pitfalls will happen with Icarus's middleware. However at least it is designed for MMO's.
I was wondering if Icarus Studios has any plans to release a version of the engine affordable to people that can't purchase high cost mmo engines.
Of course there are solutions available to amateur game developers, but the final results of using these products are far lesser than the abilities of the people that work with them.
Well I was not refering to Icarus, I was talking about middleware in general and not just games.
Icarus could have a great product and I hope they do.
But I will reiterate, most middleware is designed to appeal to the many. Hence, if you have a specific need that the existing software does not provide, you have two options, get them to add it to their features or do it yourself and it is the latter decision that gets so many people in trouble.
Vanguard was most certainly built on middleware and someone above had a very nice description of how much they had to modify it. I was not badmouthing Vanguard, just using them as an example of what can go wrong when you choose to make your own modifications.
The problem with middle-ware is the license. Say you really don't like the sound engine one game engine comes with, too bad, many licenses require you to leave it in, even if you either make your own custom sound engine or use an F/OSS (or BSD) one, so you get bloat on your code. Or say you want to mix F/OSS or BSD based code with some other propietary product (an Unreal engine with an OpenAL), many licenses conflict so that won't work either, the legal department would have a fit (for both companies involved).
So really, I say if you're doing to use middleware, make sure you read the licenses and have a lawyer there to digest it and explain it in simple terms for what you can and cannot do. Middleware may make your work faster since you won't have to re-invent the wheel, but it can still be ground to a halt if the owner of the middleware thinks you are in violation of the license.
Besides, you got F/OSS stuff to use (Ogre, OpenAL, SDL, and etc). :-P
-- Brede