What is the cost of commercial MMO libraries ?

Started by
46 comments, last by CMelissinos 16 years, 7 months ago
I`d love to hear about currently available MMO libraries and what is their cost / licensing price. I`m looking for something small-scale - 2000 players at most (if I ever manage to get that many people tied to my game, that is). My goal would be to reach 1000-2000 subscribers, so I`d guess that the maximum actual number of players [at any time] would be around 700. I`m planning on "adding" the MMO component into my own 3D engine (C++ and DirectX), that I`ve been developing over the course of last ~6 years. I definitely don`t plan on writing the networking component from scratch. I`d rather buy one, if it was affordable. I`ve gone through the hell during developing of my engine, so I`d rather avoid this hell with the MMO component. Unfortunately, since the full single-player game (that I already made and am in search for potential distributors) is RPG (quests/statistics/Inventory handling/Upgrading player`s characteristics), the MMO game in question would therefore have to be - MMORPG. I think I know what you`re thinking about right now, but please understand that I`m not willing to scrap the whole codebase, just because there are hundreds of MMORPGs out there. I`ll rather reuse/refactor any code that I have [from the single-player gameplay] than spend another year creating a different type of game that would transfer well into MMO (gameplay-wise). Also, I assume it will affect the choice of the MMO library, if I mention that my engine streams the terrain (no levels), and I have about ~3 km visibility currently (though plan on raising this value to at least 5-6 km, with whole terrain being at least 16x16 km). So, it should be able to cope well with 500-1000 players at once (e.g. autonomly deciding what info to send depending on distance from player), since it`s very probable that those 500-1000 players will be in nearby area of the player. Also, if you know that some library should be finished by early 2008, I`d love to hear that too - so I can put it into my bookmarks and check back later.
Advertisement
The only one I honestly know of is HeroEngine.

www.heroengine.net
"Creativity requires you to murder your children." - Chris Crawford
Thanks, however I see 2 problems with it:
1. Bioware uses it, so it must be extremely expensive - I assume easily >$100k
2. It`s a complete environment, where MMO component is just a small feature; I already have my own 3D engine / tools pipeline and don`t need those. Besides, their MMO component shall be tied to their engine/tools (since they`re selling whole package) and I need something that is general so I can plug it into my own engine.

Either way, Thanks for idea and if you have any other, just post it here ;-)
Quote:Original post by joe1024
where MMO component is just a small feature


You're joking right? The "MMO component" is a huge, massive, incredibly complex feature. It's so massive, in fact, that you can't just plug a 3D engine into something and make it an MMO; the entire engine has to be written specifically to make the "MMO component" work correctly. How your objects are created, architected, stored, etc; everything is about making it feasible in an MMO.

Perhaps you are just talking about a "multiplayer component". i.e. 16-64 players online (instead of MMO which means thousands of people online in a persistent world)

-me
I think that you will find Sun's Project Darkstar interesting.
Quote:Original post by Ahnfelt
I think that you will find Sun's Project Darkstar interesting.


Darkstar is untested on anything but a few small multiplayer games.

Quote:visibility currently (though plan on raising this value to at least 5-6 km, with whole terrain being at least 16x16 km).


The visibility tests are better performed the other way round - you determine how far an object is visible.

This is done so that a large tower will be sent to client sooner than a tiny mouse.

Quote:I`m planning on "adding" the MMO component into my own 3D engine (C++ and DirectX), that I`ve been developing over the course of last ~6 years.


The problem with MMO is that client is just a dumb terminal that does some rendering. It's the "small MMO component" that makes things difficult.

Things work the same when you have small number of players. But when you start considering the size of a seamless world MMO, things change a lot. Client is just a renderer that doesn't do anything interesting outside of displaying and animating models. Everything else happens on server.

Quote:Unfortunately, since the full single-player game (that I already made and am in search for potential distributors) is RPG (quests/statistics/Inventory handling/Upgrading player`s characteristics)


You'll need to move all of that from client completely on server, so that client doesn't know a single thing about logic. Otherwise, your game state will be hacked in 3 minutes.
Quote:Original post by Palidine
The "MMO component" is a huge, massive, incredibly complex feature
I was referring to "small feature" in regards to being just one feature of their solution. Have you been to their site and downloaded the PDF ? They`re offering whole engine and the complete infrastructure around MMO games (or at least that`s what it seems to be from first reading).

If you took the time to read my first post in full, you`d understand that I am well aware of what goes into MMO programming (namely from books like "Massively Multiplayer Game Development"). I`m just looking for available alternatives.

Quote:Original post by Palidine
the entire engine has to be written specifically to make the "MMO component" work correctly.
I already said that I`ll be refactoring/rewriting whatever is necessary. Of course, I`m not that naive that I would think that just buying some MMO library solves the problem !

But if I wrote all that into first post, it would be 10 pages long and no one would read it.
What`s more funny, it`s less than one page and you didn`t read it either, just took the sentences out of the context.

Quote:Original post by Palidine
Perhaps you are just talking about a "multiplayer component". i.e. 16-64 players online (instead of MMO which means thousands of people online in a persistent world)
How many times have I said in my first post the actual numbers of players ? It`s even in first sentence !

So, you didn`t bother to read just first sentence of my post, yet somehow it seems OK to you to attack me ? Hmmmm....
Quote:Original post by Antheus
The problem with MMO is that client is just a dumb terminal that does some rendering. It's the "small MMO component" that makes things difficult.

Client is just a renderer that doesn't do anything interesting outside of displaying and animating models. Everything else happens on server.

You'll need to move all of that from client completely on server, so that client doesn't know a single thing about logic. Otherwise, your game state will be hacked in 3 minutes.


Considering the low number of players in question (~700 at any time, up to 2000 max), would it be extremely risky to let clients handle game logic ? I mean, how many hackers is my game going to attract ? Those few could be handled manually (by IP/user name), probably.

I`d rather let each client handle game logic, if possible.
Quote:I already said that I`ll be refactoring/rewriting whatever is necessary. Of course, I`m not that naive that I would think that just buying some MMO library solves the problem !

But if I wrote all that into first post, it would be 10 pages long and no one would read it.
What`s more funny, it`s less than one page and you didn`t read it either, just took the sentences out of the context.


You're missing the point.

Design of MMO logic and the environment will usually be completely different from that of client-side games.

The tools that Hero engine provides are designed to do exactly that - starting with object definitions.

There are 3 budget libraries (should be listed in FAQ): Turbine, Multiverse, and NEL. Multiverse isn't proven yet, other two have real games running.

Multiverse is effectively free. But if you look at it, you'll find it's written in Java/Python hybrid, and is completely publisher/subscriber oriented with custom messaging solution. So re-factoring isn't just patching a bit of client logic, but rewriting it completely, including entire world design to fit with their world model.

Other two have similar constraints.

Part of the problem here is seamless world. There aren't really any games out there that would have that. Just about all are zoned with very tight constraints on world sizes (512mx512m, for example, with player knowing about 9 zones max).

Zoned games support several thousand players on a cluster - but only 100-200 per zone, since they run single-client mode on server.

Truly scalable solutions are such as BigWorld (bigworldtech.com), or OLIVE (forterrainc.com). But those too are middleware.

Quote:Considering the low number of players in question (~700 at any time, up to 2000 max), would it be extremely risky to let clients handle game logic ? I mean, how many hackers is my game going to attract ? Those few could be handled manually (by IP/user name), probably.

I`d rather let each client handle game logic, if possible.


Um....

Um... No.... Period. 700 players max isn't small. 2-4 players is small. Anything above 100 is HUGE. And the degree of security you need in such worlds is incredible. 500 in same area is considered unmanagable (including WoW, around 100 players per zone, around 3000 per entire cluster). You'd be surprised how insanely hard problems get once you get to that level.

And truly scalable world with even basic physics involving over 500 players is still mostly unreachable for all practical purposes.

For online games, not a single byte of logic may reside on client-side. Then there's other problems - DoS attacks, deliberate crash attacks, item duping, peer harrasment, flooding, sniffing for remote information and other clients, and more, including account theft. Then there's database integrity problems, crashes, and thousand more problems.

Even if your server is responsible for everything, you're still facing insanely huge problems.

To date, no general purpose (general audience) peer-to-peer MMO has been developed, despite a lot of effort.
Quote:Original post by joe1024
Considering the low number of players in question (~700 at any time, up to 2000 max), would it be extremely risky to let clients handle game logic ?


Yes. If you trust the client with anything at all, you are asking for your game to get hacked. As Antheus stated, your client shouldn't do anything but render the scene, and gather input to send to the server (even this has to be done carefully. You shouldn't tell the server what the user had just input, but rather ask the server if a particular input was valid).

Quote:
I mean, how many hackers is my game going to attract ? Those few could be handled manually (by IP/user name), probably.

I`d rather let each client handle game logic, if possible.


How many hackers does it take to ruin the game? If there are any PvP aspects, just one would be enough. Even in just a PvM MMO, a small group of hackers could easily trash the economy and make the game considerably less fun for your users.

This topic is closed to new replies.

Advertisement