The answers below are based on what I know so far. I am not a VW expert but have seen a few things here and there.
What does the VW engine do?
The VW (Virtual World) engine does all the rendering of the world, handles world physics, responses to your keyboard/mouse input to move your avatar, ... To get a better understanding of what it does, you have games or have played games right ? Well the game has game contents (world, objects, textures, ...) and the game software handles everything (rendering, physics, user inputs, game events. scoring, connecting to internet, ...). The VW engine is exactly the same thing. The VW contents are designed by VW designers/engineers and the VW software (engine) handles everything (rendering, physics, user inputs, game events. scoring, connecting to internet, ...). That is why many times, people simply use a game engine to handle their VW contents but add a bit of modification to add/remove functionalities.
What types of VW engines are there?
1) There are VW based on modified game engines. Those game engines can be FPS (First Person Shooter), MMO (Massive Multiplayer Online) or MMORPG (Masive Multiplayer Online Role Playing Game). There are also simulation based types of games (flight simulation, space simulation) but these tend to not be considered for VW. The choice of which game engines depends mainly on what is the estimated/needed maximum amount of avatars/users connected. If the amount is little, then a FPS base game can be used (usually below 64 maximum players). If large amount are needed, then MMO or MMORPG game engines are recommended. Some MMO or MMORPG game engines are setup in way that the world content is spreaded across several servers to handle the amount of players. If moving above ground or even jumping over objects is needed in the VW engine, make sure the game engine is capable of doing it. I have seen MMO engines which this is not possible even if the world is in 3d the in-game handling of space dimension was 2d (meaning you are always on the ground). In any case, picking a game engine involves having to deal with a license with the game creator. The choice of which game engine to use is based on what users will be doing in your VW (the closer you get a game matching your VW functionalities/actions, the less work will be needed to modify it). Game engines are platform dependent and usually are available for just one of them (meaning Microsoft Windows or Linux based O/S). Graphic quality is usually very high.
2) There are also social engines where players simply connect to interact with each others and have little VW interactions or events going on. These usually handle a large amount of players connected at the same time. Most do not allow code changes, some allow in-game Online construction, some allow some economic system where you can buy/sell items, constructions or even lands. Graphic quality is usually medium. If there are no code changes, chances are license fees are either non-existant or a percentage of what money the VW owner is making out of it. These social engines are a mix of platform dependent and multi-platform. These social engines are usually of a medium graphic quality.
3) There are also a new breed of VW engines where the engine is built to handle any kinds of usages (games, social or VW). They usually handle a large number of users and may offer code changes possibilities. They are usually platform independent, some are in the form of web browsers, some are java based browsers, some in the making will have the servers handle all the renderings. Most of them allow code changes. Quality graphic are between medium and high.
My recommendations for choosing one VW engine type is to first make a list of what are the needs of your Virtual World :
- how many users connected at the same time on a maximum peek period ?
- is there an forecast of user increased in a short term allowing a bigger maximum at peek period ?
- is graphic quality important ? Is low or medium quality graphic acceptable or do you need high graphics ? High or even medium quality usually involves using shader technology to allow special texture effects. Quality of graphic will affect quality of video broadcasting inside the VW.
- if code changes is needed, will it be done in a specif language due to current staff knowledge or will you have to hire additional expertises in the required vW engine's programing language ?
- what will be the user interactions in your VW ? Will they travel in vehicles, fly, teleport, pick up objects, use terminals/machines, run,walk, jump, interact as a group or individually, ...
- will there be non-playing characters (NPC) handled by the VW engine (like robots or simulated persons) ?
- will those NPC entities interact in any way with the users ? Will they response to user actions, language ?
- do you care about platform independence ? Do you want your users to be able to use the VW engine in Windows, Linux or any other Operating System ?
- do you plan on having any economic system inside your VW ? Will user be able to buy/sell items/buildings/lands with virtual or real money ?
- will you allow users to be able to build items/buildings inside the game ?
- will you allow users to import contents inside your VW (objects, images, sounds, textures,...) ?
- will your VW be happening in a real, fantasy, space or totally made up world ?
P.S. : by platforms, it does not mean only Windows or a Linux based system (including Apple's PCs), this now also includes game consoles like the Xbox, Sony Platstations, Nintendo's consoles. These consoles have started to allow portability from PC softwares. Ideally, the more platforms are accessible for your VW, the more users you will likely get.