Sign in to follow this  
Utko

What makes a great 3D engine?

Recommended Posts

Hey! I have this very stupid question but please bear with me... I'd really appreciate it if someone explained what sets all the best 3D engines (Source, CryEngine etc.) apart from, say, budget titles? What I mean is, don't all of them utilize OpenGL/DirectX and use the same functions and whatnot? So why does Crysis have such amazing graphics and other games don't? Is it because of the artists? They create better models and landscapes... But then, a lot of people can draw really well so it can't be that big of a problem for lesser known development teams (to hire good artists, I mean). So what's the deal here? Optimization? Sorry if it makes no sense... I was thinking that since all the tools are available to everyone (C++, OpenGL) and professionals all have pretty much the same skill level, how come there's such a huge difference between various engines. Basically, can't just everyone cram as many polygons into their models as possible and render them? Apparently not, but why?

Share this post


Link to post
Share on other sites
The main difference is time spent. If you crank out a game in six months you can't put the work in to it that Valve put in to HL2. This counts on both fronts If you rush the code then you don't get as many features(graphical or other wise) and if you rush the art you don't get high quality art.

Share this post


Link to post
Share on other sites
A lot of the factor is cost. Budget titles typically require artists who are willing to work for cheaper pay. This means that either the artist is new to the field or they spend less time per model (because of the pay). The higher quality artwork you need, the more that it costs. Low pay can attract good artists who can't really afford to spend loads of time per model, or it can attract novice artists who are not as experienced in the field. Generally artists who have the experience will demand a high pay for their work (Although their are exceptions to every rule and sometimes they will work simply because they like the project).

The bigger companies can higher people who are the BEST at each aspect of model creation. They have people who do just modeling, just texturing, just rigging, just animating. These people are highly trained, highly skilled, and highly experienced.

Also engines vary greatly. It's not nearly as simple as you might think! Modern professional engines have loads of optimizations to minimize overdraw, they have support for the latest graphical features... Also some engines don't target the latest system specs because not all devs are making cutting edge games (truth is not all devs want to make cutting edge games). There are a wide variety of computers on the market and there is quite a bit of money to be made by having your game playable on a wide variety of system specs!

Largely the video card in a computer is a big factor in how many polygons can be rendered on screen at once.

I hope this helps.

Share this post


Link to post
Share on other sites
Quote:
Original post by Utko
don't all of them utilize OpenGL/DirectX and use the same functions and whatnot?

This used to be true 7 years ago. With the advent of shaders, each ilumination, fog, animation blending, particle technique may be different.
Once upon a time, all games used the same the same lighting formulas, the same fog equations, the same everything.
Today, shaders allow the technical artist to make each game unique.

Quote:
Original post by UtkoIs it because of the artists? They create better models

Yes, often the best artists are willing to work for more money. Shadowisadog already commented on that.

Quote:
So what's the deal here? Optimization?

Yes. There are many algorithms to improve performance by reducing fillrate, different scene-graph implementations, different culling algorithms.
In short, it's not that they make a game run faster, they allow to put in the game better graphics so that it still runs at the same speed before the optimization.
Also, not every optimization and/or rendering technique is suitable for every type of game.


It also depends on the game genre.
RTS games cannot have the level of detail Crysis has. This is because an RTS would typically have to lead with 1000+ units in the scene, while Crysis may have less than 100 units.
Furthermore, in a first-person shooter (like Crysis) a unit that is far away is "forgotten" (not updated at all) because you simply can't see him and he can't see you.
In an RTS, it will not be rendered, but it still occupies CPU time in the game logic, AI, and pathfinding because the fact you can't see him doesn't mean he's not doing something important (i.e. a unit gathering gold from a mine)

Another example are car racing games. Car racing games need around 50+ fps on average to run smoothly. Otherwise the player will feel it's car non-responsive and will get angry because he can't control the car. This tightens the graphic quality in exchange for frame rate. As an advantage, car games have the benefit that they requiere less logic, and all CPU-controlled cars that are not in the line of sight can be removed.
First shooter games and strategy games instead need between 25-35fps to feel smooth and be playable.

Quote:

professionals all have pretty much the same skill level

HAHAHAHAHAHAHAHAHAH, very good one, good joke.
I'll quote a colleague of mine: "When we were kids, and we saw all those cool teenagers studying in the university....... Either we're too cool, or they weren't cool at all"

The best professionals are often working for .... ahem..... the ones who pay more (given a reasonable-healthy work environment).
Though you can often see a small teams of excellent people that got bored of a company and quitted. The problem is that often they're a bunch of programmers, or a bunch of artists.
Making an AAA quality game requieres skills in the following areas:
* General Programming
* Graphics Programming
* Sound Programming
* Visual art (3D)
* Visual art (2D)
* Sound art
* Game design
* Physics
* Artificial Inteligence
* Whatever else the game requieres (i.e. Car model knoweldge in a game with realistic model, history in a game like Age of Empires or Assassin's Creed)

You'll see that's quite a bunch of people (you won't find one single guy who meets all those requiriements) which translates into needing a lot of money to hire all those guys, or if you're a small team of old industry veterans, knowing a lot of friends in all those areas (which is nearly impossible)

I'm sure there are more answers to your question, but this covers the ones I consider important.

Cheers
Dark Sylinc

Share this post


Link to post
Share on other sites
Yeah, thank you! That was very comprehensive! I mean, it wasn't a huge mystery for me but I kinda felt that, you know, many professional development teams (meaning not indie developers) have much more potential than they're showing in their products, but now I understand there's more to it than just good knowledge of C++ and a graphics API.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this