Best game engine for MMORPG?

Started by
18 comments, last by UNREALFREAK 11 years, 6 months ago

Hi
We are looking for a free and user-friendly game engine for writing a MMORPG with a first person (FPS) view (like Mass Effect). Looking at all the engines and libraries available, it is very difficult to make a choice at this early stage, but I do not want to start with one engine only to find out that it will not work half-way through the project. And at this stage we are not interested in writing our own engine from scratch.

So here are the requirements:
1. Free (at least until (if!) we start making money from the game).
2. FPS-like (similar to Mass Effect), but does not need the latest and greatest graphics (we would actually like something lighter that can run on lower-end PC's).
3. The language in which it is written and used is not all that important (Preferences: Object Pascal/Delphi, C#, C++, Python, but C, Java or some scripting language might still be OK).
4. Preferably support for Linux (for the server) and cross-platform (for the clients) (at least Windows & Linux).
5. Fast networking is a must-have.
6. The ability to import Blender models will be nice.
7. Source code availability would also help.
8. An IDE (and possibly WYSIWYG ability) would be nice.

I am new to game programming (although not to programming as such) and the variety of available engines & libraries are almost overwhelming.

A general question: Is it better to use a single game engine for everything or rather use a combination of tools (e.g. Blender for the "human models", something else for the sound, another tool for the maps, another tool for the game-play & game rules, another tool for the networking and authentication parts)?

Some options we are currently considering (I know there' s a lot I have not even looked at yet - so please let me know):
1. glScene (Lazarus/Delphi): does not seem to be a full game engine, but rather only toolkit. Might have some important pieces missing. Not sure how easy/possible it is to import 3D models from Blender or created in other engines (e.g. ioquake3 models).
2. Asphyre Sphinx (Lazarus/Delphi): No Visual Components? (No WYSIWYG). Not full game engine, toolkit only?
3. Cube2 (Sauerbraten). (C++, OpenGL). Looks nice. Can edit maps etc. from game itself! Importing of 3D models? Easily extensible to write MMORPG game rules and logic?
4. ioquake3 (only C?) More abilities then Cube2? No GUI/IDE? Extensible to MMORPG-type game?
5. Allegro (C++/Pascal/...?) Library only? Import of 3D models?
6. MonoGame (C# / XNA). No GUI (in MonoDevelop)? Import of 3D models? Not full game engine, toolkit only?
7. CrystalSpace (C++). Actually used to write MMORPG. Not first person. No GUI for developing maps/3D models? Import of 3D models? Finicky to install on Linux (Debian) with all dependencies.
8. Unity (?C++?). Easy to use & import Blender models. Windows only (but could be used to write windows clients?). Source code? How easy to extend to MMORPG without source code?
9. Panda3D (Python). High level language. No GUI? Import of 3D models/maps? Full game engine or only toolkit/library?
10... any other suggestions?

If you have had experience in using any of these engines or know a better option, please give your opinion on them.

Thanks
Chavoux

Advertisement
You didn't research most of those options very well.

Realm Crafter, or Unity3D with an MMO toolkit add on.

Unity3D is multiplatform (Flash, Web plugin, Windows, Mac, Linux, Android, iOS), can import blender models (but FBX works better), and uses a few different scripting languages (C#, Javascript, and Boo (python clone)) to drive the gameplay.
In addition to the above mentioned Realm Crafter, take a look at Hero Engine and BigWorld. smile.png Realm Crafter will allow you to easily create a basic online RPG to play with a few friends, but probably isn't suitable for a larger or more professional-feeling product. Hero Engine is very capable and probably meets most of your needs. I don't really know anything about BigWorld.


5. Allegro (C++/Pascal/...?) Library only? Import of 3D models?

Allegro is a lower-level library with similar capabilities to SDL or SFML. The built in rendering functions are for 2d games, but it can be used alongside OpenGL or Direct3D for 3d. This is almost certainly not what you are looking for.


8. Unity (?C++?). Easy to use & import Blender models. Windows only (but could be used to write windows clients?). Source code? How easy to extend to MMORPG without source code?

Unity [s]only provides a Windows-based editor (for now)[/s] provides an editor for Windows and Mac, but can export game clients for multiple platforms. Scripting is normally done with C# or JavaScript (actually UnityScript, but it's essentially the same language), although Boo (similar to Python) is also an option. Assuming you stick to the normal licencing options you do not get source-code access.


You should definitely do some more research on the options you're considering, there are a number of mistakes in the information you've got thus far.


Hope that helps! cool.png

- Jason Astle-Adams


Unity only provides a Windows-based editor (for now), but can export game clients for multiple platforms.

Just a quick correction on this. Unity actually started as a Mac-only editor (and only had Mac support for years) but with release 3.0 they built a cross-platform solution and the editor now has both Mac and Windows versions.
Thanks for the correction, and sorry if anyone was mislead. :-)

- Jason Astle-Adams

Well, remember an MMORPG is, by definition, a massive game. You're going to want to aim for AAA quality in terms of not only the graphics, but also the production values. World of Warcraft was and is an amazing game because of the top-notch gameplay created by an extremely innovative and hardworking development team. However, if the said gameplay was buggy or "didn't feel right", it wouldn't have captivated so many players.

I'm not sure about FPS MMORPGs honestly, but here are the "only" engines currently for sale(without private connections) that I would consider using for an MMORPG.

GameBryo
This engine is hugely underrated in my opinion. This is a modular set of multi-platform C++ libraries, along with graphical tools, designed to help developers build a powerful game. It's also been proven to work on countless AAA games, including RIFT(near-perfect example of a high quality MMORPG), Oblivion, and Fallout 3. This would definitely be my #1 choice for a traditional MMORPG.

Unreal Engine
If you want to make a quality game, this is definitely the way to go if possible. I don't think I need to tell you much about this engine, it's pretty well known what it's capable of. Unreal Engine 4 will be dropping unrealscript in favor of native C++, which is a great move in my opinion. This engine makes it very easy to support a large number of platforms, with some of the best design tools out there. Note that UnrealEngine 3 isn't proven to work with 100+ players in one world, although it may be possible in Unreal Engine 4.

CryEngine
Again, very well known for quality. I haven't looked too deep into the details of this engine(I have heard many good things about it though), but it seems like it would be better suited to a MMOFPS game than a traditional MMORPG.

(HeroEngine has a great feature set, but seems to be too managed for an MMORPG)

Note that these three engines are all relatively expensive to license. However, UDK3 and CryEngine both offer free versions for development until you go commercial.

The reason I've limited my list to three is because no other engine on the market has been proven to work with an AAA MMOG. Yes, it is possible to build one with many other engines, however you're much more likely to run into large road blocks well into development(such as issues that require large work-arounds) and even in production(such as serious glitches arising).

I realize you probably aren't willing to pay the millions in funding a MMORPG costs to make, so in my opinion, you're best off learning with either Unity or UDK. Let me know if you have any questions or comments. I've had only 2 years experience working with MMORPGs, but I've done a lot of research into these matters.

I'm not sure about FPS MMORPGs honestly, but here are the "only" engines currently for sale(without private connections) that I would consider using for an MMORPG.

Regarding GameBryo there is a reason that Trion and Bethesda use a heavily modified version of GameBryo. I know that Trion only uses some of the tools (which were to get them up and going while building their own engine) and Zenimax Online is not using it for their MMO. The architecture of this engine is old and stale and the main reason Bethesda stayed on it for single player games is because they built on it over many years and games. GameBryo is very similar to the Wild Magic engine in architecture although it has evolved slightly over the years.

Regarding UE2.5/3 it has been used by numerous companies in the past but you *need* a source license and a lot of work in order to get anything up and running for a massive online game. Also I really don't see any benefit to using UE3 over something tailored directly to the genre.



(HeroEngine has a great feature set, but seems to be too managed for an MMORPG)

Star Wars TOR (heavily instanced / story based), The Repopulation (complete open world sandbox), Faxion Online (traditional type MMO) have all been built on HeroEngine and as I mentioned in brackets they are extremely different types of games. I'm not sure what you mean by "too managed"? The tools are extremely in-depth and give you everything to build, run, and manage an online game. Also note that Zenimax Online licensed HeroEngine for The Elder Scrolls Online just for the use of the toolset so they could get started on world building, design iterations, etc while they build their own custom engine.

Another great choice is to use a combination of Unity and a socket server like Photon (definitely the best to pair with Unity). You can download the free version of Unity and Photon and get started right away... plus they even give you a small sample to get you started quickly before you have to dig into the docs. Unity has been used for MMO games such as Battlestar Gallactica, FusionFall, etc... so I don't see why there is an issue there either.


The reason I've limited my list to three is because no other engine on the market has been proven to work with an AAA MMOG.

Actually HeroEngine and Big World have a massive number of AAA MMO games built using their technology and the above you listed really only have a couple (being a few that use a modified UE3... the only MMO I count for using GameBryo is Dark Age of Camelot as the others use a version that isn't even recognizable. Meanwhile UE3 hasn't powered that many either and the ones that did used it had to heavily modify and add to it as well.
Thanks for all the feedback so far! One of the things we want in the game is the possibility for huge battles (maximum of 1000 players in each army if all players join the battle at the same time). I know this is smaller than WoW for example, but would be sufficient for us. I would prefer either an open engine (like cube2/ioquake3) or one where you don' t pay any money until you go commercial. This will be (at least in the beginning) a hobbyist project done in our spare time, so the bigger and better commercial engines is not really an option unless it has the free start option (and we can pay the more expensive license _if_ the game take off and we want to improve it). Would GameBryo be able to handle 2000 players concurrently (assuming the server hardware is up to it)?

One of the reasons for not wanting a game with too high graphics requirements is that we would prefer the ability to support more players (even those on outdated hardware or laptops) rather than having the latest and greatest graphic effects.
ioQuake3 is an engine for a corridor shooter. It has nothing to do with, and no concept of, MMO type stuff. Wanting to use ioQuake3 because you don't want to buy Hero Engine is like trying to use a screwdriver to drive in staples because you don't want to buy a stapler.
Again, take a look at Hero Engine. It's not free, but the licencing options are pretty affordable from $99 per year or $299 for a lifetime subscription, with a 30% royalty for published games. Sourcecode licencing would be out of your budget though, starting at $75,000 with a 7% royalty.

BigWorld's indie licence is $299 per year with 10% royalties and a maximum of 10,000 user subscriptions before you need to upgrade to a commercial licence.

Consider however that unlike a lot of other options these are both intended for creating MMORPGs, whilst a lot of other options will require you to design and code your own networking; a lot of them do include networking, but not suitable for thousands of concurrent users.


CryEngine has a strictly royalty-based (20%) payment option for indie developers.
UDK costs only $99 when you publish -- that is, after development -- and then begins taking royalties after earning quite a bit of money.
Unity3d is a great option may be ruled out for you, as it costs $1,500 up-front for the professional licence you would likely want, although you can start development with the free version.


You need to enquire about licencing for Gamebryo if that's what you're looking at, although you might want to seriously consider Saruman's advice on why it might not be an ideal choice.



You should consider the amount of work you'll have to do if you start from a more basic engine rather than a more complete solution. An MMORPG is not normally a suitable project if you're just doing it as a hobby that you aren't willing to commit any money to -- do you have any prior development experience?

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement