posted on Tuesday, December 12, 2006 2:33 AM
by
Endie
Multiverse - Hands On
Multiverse build middleware for massively multiplayer online titles. In other words, they don't build the games themselves, nor do they build the back-end database, opsys or the like. They have (until now) concentrated on trying to build the tools that will let development houses actually develop their own games, while not having to worry about building the object modeling, mapping and other similar tools themselves.
Recently, they changed tack, and announced that they had acquired the rights from Fox to develop a Firefly MMO. This is a biiig change of direction, a bit like a special effects company announcing that they were going to start making full-length movies themselves. They have been in the business of making hammers, and are now going to sell cabinetry. And it is important to note that nobody is currently selling cabinets made with their tools. That is, while a few companies are using the pre-release Multiverse toolset to develop games, none is even close to actually selling anything.
By coincidence, I've been playing around with the Multiverse software for a while now, and have got to the point where I have a server up and running, can log into it and move around, can lay out terrain and place creatures, buildings and the like, and am about to try building quests. I am confident that others could log in as well, but I've not asked anyone to do so, since what I have is still pretty flawed. That'll be the next step.
That's an amazing thing, though. Multiverse has provided enough tools for me - an experienced programmer but not a games developer - to create and support an MMO for myself. There are massive problematic areas as well, but we'll come to those later.
The software runs on Linux or Windows. I'm running it on Windows, using Cygwin to run the server modules. The database backend is MySQL, scripting of mob behaviour, quests and the like is done in Python, while server plug-ins are coded in Java. Configuration, of course, is done in some pretty basic XML. Since I'm happy with using all of those, I've been playing about with each area in turn.
It took me about four hours to get the servers set up on a clean install, with none of the components in place initially. Then it took about 3 hours (including a lot of patching) to get the client set up. Finally, it took a couple of hours of scanning forums and tailing log files to isolate the two problems that were stopping the client from connecting to the server. I'd say that less than ten hours to get a pre-release MMO environment set up is pretty damn good going, especially as much of that time was taken up with downloading.
One poster on F13 suggested that the multiverse software is just for building diku worlds. This is absolutely not the case. That level of functionality is not there by default. What you boot into (unless you choose otherwise) is a space with your avatar and some terrain. No scripted behaviour beyond character animation. No levels, no hit points, no loot, no mobs, no nothing. While this means work to start with, it also means that you are not constrained by the diku model. The database doesn't hold any character stats until you add the fields. Pretty much a blank slate.
A basic object repository is provided to show off the tech. The avatar models look and behave curiously like those of Sims 2, so that should give an idea of the level of detail and the nature of the animations. The detail-level is really surprisingly good. The pre-release, freebie, demo animations are less satisfying. The one for running is jerky and missing some elements, and if you move from a higher surface to a lower one there is no jump animation (although I see that the event is firing): the character merely quantum-leaps immediately to the lower level. But, of course, this just points to one of the entry-requirements: the example repository is limited because you are supposed to add your own models and animations. Graphic design expertise will be needed.
There are oddities and bugs as one would expect of beta software. If you set a small lighting radius to reflect a character holding a lantern at night, then scroll out to a more distant viewpoint, the lighting point follows the camera rather than the character, and you disappear. These sort of things are annoying but hardly big issues at this point.
In all, I am amzed at the degree to which the Multiverse team has managed to commoditise something as complex as a virtual world client and server: it's really not a million miles away from early Second Life, and is immensely more flexible, albeit with a higher learning curve for scripting. The bugs are far more sparse than I expected. It doesn't look even vaguely like something that could be used for AAA titles (a bit of a red flag for their Firefly dream there) but it's extant, real and usable. If you have an interest in virtual worlds and are happy with the skillsets I've mentioned, you really should give it a try.
Anyway, I'll post next about my experience in scripting some events and creating a Hello World server plug-in.