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.
However, as Joe Ludwig shared with us, Developers need to select the middleware carefully.
"We used A LOT of middleware," he informed the attendees. "Some were free, some were cheap, some took so much work to integrate we're removing it from the game." Some of providers of the middleware they chose to use simply dropped out of sight!
His tips on evaluating middleware included:
At OGDC, BigWorld with whom we've spoken a time or two was present, as was Icarus Studios. Icarus attempts to stand apart as they boast not only the platform, that is the network architecture and administration tools, but the tools suite which combine the best of the best as well as project services such as project consultation, prototype development, outsourcing and staffing.
"Icarus Studios provides the tools for building virtual worlds," said David Gardner, the Executive Vice President of Icarus Studios as I questioned him about what his Icarus did. "Too many people have confused the Studios with the upcoming MMORPG, Fallen Earth."
But... isn't Fallen Earth produced by Icarus Studios? David was quick to clarify, "We invested in Fallen Earth as we wanted an MMOG to showcase our studio, but we are by no means the developers of Fallen Earth."
A quick check proved that the Fallen Earth MMO project is its own company, Fallen Earth, LLC although Icarus Studios is the principle investor in Fallen Earth. So, while the companies are closely related, and Icarus Studios provides project services and the platform on which Fallen Earth is being developed, they are separate companies. Although the announcement for Icarus Studios was made only a short time ago, the platform has already been licensed twice and per David, a few more deals in the works.
"Icarus Studios has created the only suite of tools designed from scratch specifically as an integrated 3rd party environment for 3D online world creation," says Jim Hettinger, CEO of Icarus Studios. "We're launching our technology suite today after an 18-month stealth period during which our 65-person team completed our six-year development and QA testing efforts."
So, back to Icarus Studios. What exactly is it? "It's a next Gen platform," Brad Lineberger, CTO of Icarus Studios elaborated. Although much is built from scratch from when the company was formed in 2001, Icarus has also included various other 3rd party software packages in their tools. "We've licensed what we've deemed is the Best of Breed. We utilize the PhysX Ageia physics engine and Vivox for integrated voice communication, for example."
Icarus positions themselves as a comprehensive resource center, from complete project development, platform and tool licensing to studio services and library resources. Not only can MMOG developers license the Icarus platform, they can contract with Icarus to provide staff that is fully trained in using the platform and tools. For their client, Fallen Earth, Lee Hammok serves as the lead game designer with Fred Rugar heading up art.
Here are some of the services that Icarus Studios provides apart from the design platform and tool suite:
From what I garnered from the short meeting at OGDC and subsequent follow through with a few white papers and the information on their website, Icarus Studios looks to supply comprehensive services, very much a "one stop shop."
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