# Next-Gen graphics in an MMO

This topic is 4179 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Would it be viable to put next gen graphics in an MMO? Well, at least normal mapping and deferred shading. I want to make a game that looks at least as good as Quake IV. Maybe I could make normal maps a toggle option?

##### Share on other sites
Yes, there's no reason why you couldn't. You wouldn't be sending any more data to/from the clients.

##### Share on other sites
The short answer, yes, if you can get the artwork done, and a suitable engine together. There are a large number of open source engines capable of doing the job admirably, or at least being adapted to do the job.

Pretty much all entry level hardware now supports normal (peturbation) maps in a single pass with diffuse lighting. Multiple light sources and shadow casters are still fill-rate intense and cause big framerate hits.

I will say, the graphical portion of an MMO is not the hard part - as far as rendering goes they're no different from any other game.

Graphically, what you're most likely to run into these days are fill-rate issues and asset load time issues. Piling on a million and one different shaders doesn't do your framerate any good, but shouldn't impact too severely on gameplay (assuming you're networking asynchronously).

If your art is not efficiently done (lots of differing materials and geometry sets) you'll run into problems when rapidly trying to load and render lots of them. This is true of ANY game where the visible context is likely to change rapidly, or contains a large number of draw calls. There are many tricks to getting a good looking game to have a large visual distance. Many revolve around cutting down the number of potential material and shader swaps to keep the number of draw calls down.

The only real problem an MMO (or any game where the exact appearance of a new entity is not known until very close to when it needs to be drawn) adds is an extra layer of importance on the asset load time - especially as far as player, dynamic structure (player houses) and mob assets are concerned. Asynchronous (and ideally predictive) asset loading schemes and some form of area caching are well worth looking into.

##### Share on other sites
Quote:
 Original post by Evil SteveYes, there's no reason why you couldn't. You wouldn't be sending any more data to/from the clients.

That's true, but there would potentially be many more entites to render in popular areas, which would kill performance with next gen graphics. I guess EQII has somewhat next gen graphics but it seems like their engine blows to me performance wise.

but on the otehr hand, next-gen graphics (are we really speaking of next-gen graphics? You mean, something which is at least 1 year old?) takes time to produce. If you want really good normal maps for your character, you have to create the hi ploy mesh then the low poly version. Doing this for all significant game objects in a normal, off-line RPG is already quite expensive (what is the budget for Oblivion? I guess it is something along the line of US$15M). A MMORPG have a massive amount of significant game objects, meaning that creating the next-gen art for such game would lead to a sky rocketing art budget. Is this really needed as of today, where less than half of the gamers can actually see them? (IIRC low Intel boards still have 40% of the GPU market share, and the old geForce are still heavily represented). Regards, #### Share this post ##### Link to post ##### Share on other sites Quote:  Original post by Emmanuel Delogetbut on the otehr hand, next-gen graphics (are we really speaking of next-gen graphics? You mean, something which is at least 1 year old?) takes time to produce. If you want really good normal maps for your character, you have to create the hi ploy mesh then the low poly version. Doing this for all significant game objects in a normal, off-line RPG is already quite expensive (what is the budget for Oblivion? I guess it is something along the line of US$15M). A MMORPG have a massive amount of significant game objects, meaning that creating the next-gen art for such game would lead to a sky rocketing art budget. Is this really needed as of today, where less than half of the gamers can actually see them? (IIRC low Intel boards still have 40% of the GPU market share, and the old geForce are still heavily represented). Regards,

Well, not really next gen, but at least the level of Quake IV. I know what it takes to make normal maps, I just make my in game characters metaformable and then add whatever detail I need with z-brush or something. With a game where the developers get a percentage of each sale based on the work they do, budget isn't really a concern since no one really gets paid until the project is complete. I think it's a necessary, it would be another selling point on a game. For lower end systems the option for normal mapping/specular lighting as well as all the other semi-next gen stuff could just be optional allowing lower end users to play. Let's face it, how many hard core gamers have cards more than 1-2 years old? Or systems for that matter.

I also really wish people would stop using commercial game budgets as an indicator of feasibility. Yes, Oblivion had a budget of $15 million. Now, stop and think how much of that went into employee salaries, marketing, voice acting, testing, production, distribution, etc. The fact that Oblivion cost that much to produce from beginning to end doesn't have any relevence to his question of using next-gen graphics with his MMO, which is definitely possible. Besides, most professional game artists nowadays are trained to produce normal maps for their creations (because it's the way the industry's been going for awhile now). That being said, most MMOs tend to have very large open areas with lots of dynamic objects on screen at a time. You'll need good LOD and culling algos on top of your nice rendering to ensure good performance. :) Good luck! #### Share this post ##### Link to post ##### Share on other sites Quote:  Original post by Julian SpillaneYes, Oblivion had a budget of$15 million. Now, stop and think how much of that went into employee salaries

Yeah. I think that's the point. You're talking about games with a team of at least five programmers, working 40-60 hours per week for 1-2 years. Trying to build a game like this on your own or with a couple volunteers will probably take ten years, minimum.

You've got to notice that it's almost always the people who have never finished a project beyond Pong who attempt the absurdly ambitious ones (a MMOG with cutting-edge graphics, on zero budget).

Look at the successful projects built by 1-2 people. Mount&Blade has good but simple graphics and unfinished gameplay. The Avernum and Geneforge series have 2D graphics and relatively uncomplicated gameplay.

##### Share on other sites
Quote:
 Original post by _winterdyne_I will say, the graphical portion of an MMO is not the hard part - as far as rendering goes they're no different from any other game.

I'm not sure how much experience you have with graphics engines for an MMOG but from personal experience I can tell you that they are definately different from any other game.

Basically your partitioning and occlusion becomes a lot more important than your generic FPS/RTS/etc game is. Working with a live world you have X number of objects and so your level-of-detail system (mesh lod, skeletal lod, material lod, etc) is usually much more detailed and optimized than your average non-MMO game. Also note that occlusion is insanely important if you want it to look good and you can't just rely on basic spatial partitioning if you want next-gen graphics. A lot of MMO games (even older MMOs) use Zhang-HOM along with spatial partitioning/culling and many of them license dPVS as it is a very fast/stable solution to this problem. Basically in an MMO-type game not rendering is your main issue that you want to have an ideal solution for.

Another difference (although it is becoming a lot more common with non-MMO games due to next-gen assets) is having a robust streaming system for bringing content into the engine. You really need to implement some nice ways of caching and threading in order to achieve really good results.

So right away your whole occlusion and LoD systems will be insanely different than your regular way of doing it, especially regarding open source graphics engines. Sure if you were to license EmotionFX and dPVS you'd have a great start but there is still a ton of work to do.

I could go into a ton of differences between an MMO graphics engine and another game type such as FPS/RTS/etc but the points I listed are really some of the hardest problems and biggest places optimization and time is needed.

I agree with you that the server and networking is a complex problem so solve in the MMO genre, especially when you are building a distributed services seamless world architecture. But quite honestly I completely disagree with you on the graphics engine component when you are wanting to have the 'next-gen' look and content. I know you did briefly mention some of the problems with building an ideal renderer, but from experience I can tell you it is by far not an easy part as I have worked on both the client/graphics implementation and the server and both were equally challenging.

##### Share on other sites
Quote:
 Original post by Julian SpillaneI also really wish people would stop using commercial game budgets as an indicator of feasibility. Yes, Oblivion had a budget of \$15 million. Now, stop and think how much of that went into employee salaries, marketing, voice acting, testing, production, distribution, etc.

I think I have to clear my input a bit: I wanted to stress that producing a lot of assets that will use the features of a next-gen engine is a very time consuming task. Next-gen renderer are rather "easy" to build (it is a sum of known technologies (mostly shader-based), and if you are good at math you can implement them in a few week/month). But the renderer does not add any value by itself if you don't feed it with the correct data - that's where the problem lies IMHO. I took Oblivion's example because it is a RPG and nearly everybody knows how it looks (and it is rather easy to find screenshots). The size of the world itself is probably sufficient for any homegrown MMORPG, so I think it fits the bill for a probable comparison. Moreover, Oblivion used a pre-made engine - so most of the coding was done before they even began to produce the game (the engine still had to be modified to fit the XB360 multicore IIRC). Now, you cited that some part of this budget also went into marketing, voice acting and so on. The main cost is still the employe salaries, and this is a fair indicator of the amount of work that was needed (salaries are paid because you worked for a given time).

Quote:
 Original post by Julian SpillaneThe fact that Oblivion cost that much to produce from beginning to end doesn't have any relevence to his question of using next-gen graphics with his MMO, which is definitely possible.

Of course it is. Morrowind was also rather large, it took 3 to 4 years to developp, and I'm pretty sure that it costed less than Oblivion (which needed 4 years too, but the team was a lot bigger). So the high budget of Oblivion is a direct consequence of its use of a next-gen engine.
Of course, creating a MMO with next-gen graphics is possible - but one have to take care of the time he want to dedicate to this task. That's my whole point - my example was a practical example, not a direction to follow - nor it was a way to say "you'll fail". You can succeed, you just have to remind that next-gen = way more work.

Quote:
 Original post by Julian SpillaneBesides, most professional game artists nowadays are trained to produce normal maps for their creations (because it's the way the industry's been going for awhile now).

Yes, but that doesn't change the fact that it still requires at least twice the amount of work of a normal, non-next-gen asset.

Quote:
 Original post by Julian SpillaneThat being said, most MMOs tend to have very large open areas with lots of dynamic objects on screen at a time. You'll need good LOD and culling algos on top of your nice rendering to ensure good performance. :)

That's also a Big Problem, yes :) (but that's a one-shot problem: once it is solved, it doesn't consume more human resource).

Regards,