"Next Gen" game engine design

Started by
64 comments, last by ccanan 17 years, 4 months ago
Quote:Original post by DrEvil
The biggest difference in 'next gen' games is the content.
BSP, lightmapping, precalculated visibility is alive and well in modern engines.


I think while the bar for content is always being raised, the orginal question in this thread was about engine design--therefore this comment is largely irrelevant.
The artistic quality of content has nothing to with engine design.

BSP (as I understand it) is not a particularly useful algorithm anymore with complex and dynamic environments--neither is lightmapping, so I question the relevance of these old methods to modern and future game engine design.

By modern i mean state-of-the-art, not revamped old engines. I dont pretend to be an expert, but even a cursory look at the literature and various upcoming titles shows a very noticeeable decline in the use of precalculated visiblity, lighting and so on.

Dyanimic lighitng and geometry is the key in modern engines. Every object should be able to be illuminated in one way, all collison should act the same without differentiating "models" and "static geometry". There should be reduced special cases in rendering.

Also, the "mega texture" concept is very interesting and certainly ought to be explored by engine developers, even if ultimately rejected for procedural textureing (which still has a very long way to go if it ever becomes reasonable as a general purpose solution).

I certainly think procedural generation of natural features, like terrain, vegetation, weather, etc, are becoming a real possibiility, and are certainly the way things will go in the future; natural phenomena are too complex to be hand-modelled entirely.
Advertisement
Quote:1) no BSP or portal etc.... all geometry is manged by octrees, with occlusion culling. No precalculated visibility.
2) No lightmapping, all lighting is done per-pixel with shadow-mapping
3) Instancing plays a big part of mesh rendering
4) agressive LOD systems using billboard imposters
5) Game specific editors are limited to placing meshes and such, all geoemtry is created in external 3D modelling applications like Max or Maya
6) General purpose algorithms are employed where possible, special cases are reduced..surface shading is done via shader fragments, allowing for complex variations of effects.

This all depends on the underlying hardware platform and the requirements of the game. Think of a game like DOOM 3 ... why not use a portal system? Regarding #2 think of a game that happens at night ... Midnight Club comes to mind :-). If you do not want to handle a huge number of light sources with cached 256x256 shadows per "spot-light", you might find light mapping attractive :-). #6: shader fragments are so retro ... you want to use shaders with conditions for this. It is faster in decent hardware with all those caches. Additionally it is not only a debugging and maintenance nightmare but also does not really offer all the flexibility a shader / graphics programmer wants.

Since the beginning of game programming times, there is no engine that is useful for every kind of AAA game. They usually take shortcuts to make a specific type of game run fast.
So it depends :-) ...

I believe it is better to ask the original question in the following way:
- my target platform are XBOX 360 / PS3
- my game is a racing game that mainly happens at night
- I want a high level of global illumination <-> dynamic lighting with a lower detail level
- My cars should be influenced by every shadow from any light source / my cars are so fast, I do not care about the shadow stuff I wnat the game to run permanently with 60 fps
- etc. etc.
Building on the previous post, note that many engines are domain specific. To adapt them to things they weren't designed for often requires significant work under the hood to get things up to snuff.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by JinJoI was thinking it seems to me like the artists are just making much more complex models and textures.
They are, but there's a lot of smoke and mirrors going on, because while they model e.g. character models that have millions of polygons (in ZBrush, Mudbox, and other packages) these are used only to bake normal maps, ambient occlusion maps, etc. that are used on in-game characters that are on the order of a few thousand polygons (say, around 3-6K triangles). The same goes for the backgrounds: they're modelled in high-res, but the detail is captured into normal maps and mapped onto low-res geometry in the game.

In other words, the actual in-game polycount is higher than in previous generation games, but really not as much higher as you're led to believe.
Quote:Original post by Matt Aufderheide
1) no BSP or portal etc.... all geometry is manged by octrees, with occlusion culling. No precalculated visibility.
2)...
....natural phenomena are too complex to be hand-modelled entirely...

Agree!!!Right.Completly.
But what about a procedural creation of world entirely? (it's my addition)
Of course,creation procedure must work with set ot input param's
and all components of world can be created independently.
Now in modern game:
~10-100 artists & model/level designers in team
~1-10Gb content
I don't want (and can't) to create everything,that's why I'm thinking about it.
For example,some time ago I've attempted to make two-stage
cloud / terrain generation procedure:
1st pass- random generation of parameters to choose satisfactory
2st pass- small random deviation to choose appropriate
What do you think/know about this( and simular)?

[Edited by - Krokhin on November 25, 2006 5:22:41 AM]
Lightmaps are still very important, many people are using these in next gen titles - extended beyond the original simple lightmap to include normal information etc.
Per Pixel dynamic lights on everything are not totally practical for every situation and your not getting any radiosity.

Procedual textures are interesting, but many examples are not generated on the GPU so there is no win for a developer to use them if they take an equal amount of GPU memory to a bitmap (procedual or not).

Remember "Next Gen" were talking about tech thats been around for ages,
PS3 & XBox360 GPU's are more or less DX9 hardware
Quote:Original post by wolf
Quote:1) no BSP or portal etc.... all geometry is manged by octrees, with occlusion culling. No precalculated visibility.
2) No lightmapping, all lighting is done per-pixel with shadow-mapping
3) Instancing plays a big part of mesh rendering
4) agressive LOD systems using billboard imposters
5) Game specific editors are limited to placing meshes and such, all geoemtry is created in external 3D modelling applications like Max or Maya
6) General purpose algorithms are employed where possible, special cases are reduced..surface shading is done via shader fragments, allowing for complex variations of effects.

This all depends on the underlying hardware platform and the requirements of the game.


Good point. I really don't care if an engine uses some old-school BSP/PVS or portal scene management techniques, as long as it makes that particular engine run fast in those environments that it's designed for. Performance is my first priority and everything else (including fancy designs) fall to second place.

Well fast performance for a level made of boxes is one thing, but when you are interested in creating an engine that mimicks an offline renderer, you have to have a more flexible, dynamic approach. Light maps and PVS for instance are not dynamic, so should be discarded.

I see no reason why dynamic lighitng cant be used for all objects.. many games do this already.

in my view, for modern and future 3d hardware, the best engine designs for MOST purposes is based on the concepts I've mentioned; Octree management, hardware occlusion culling, and dynamic lighting and shadowing. I see no need for thigns like BSp or lightmaps.
As far as graphics are concerned, we're already at near photo-realistic quality with graphics. The next step is probably cutting back on imposters, adding more subtleties, and more rampant instancing. Imagine a World War II shooter with 30,000 soldiers on the screen that looks as good as Gears of War. Personally, I believe graphics engines have come about as far as they will get until procedurally guided techniques become more advanced (which is not to say there won't be artist intervention). The costs associated with these games are astronomical, and it will only get higher as people demand more.

Now, your thread title is "Next Gen game engine design", but the content is about graphics engine design. There's a huge difference! There's a ton left to be explored for actual gameplay elements. Examples such as Katamari Damacy and the Wii controller are only the beginning as developers find ways to develop interesting games without millions of dollars. If you want to blur the edge a little bit, consider destructable environments. How many games let you blow up whatever building you feel like? Not many. In the games that let you, how often does it actually make a difference? Never.

Here are some of my predictions. We're probably at the peak of custom built engines. Pre-built, but very powerful and customizable engines such as Source and Unreal are going to be licensed out more and more. This will allow companies to focus on the game. Why spend millions on your own engine when you can pay $500,000-$750,000 for something just as good or better and devote all those extra people to the game itself? Branching story lines will be huge. Imagine a game where you play an assassin, and your job (uncreatively enough) is to assassinate someone. Let's say you fail. Instead of forcing you to start the mission tediously over, the game keeps on going with a different sotry. Perhaps this person because a huge threat to world security; either way, your actions (or lack of action) make a difference.

This will require massive amounts of content, but it will be affordable because the actual engine will be already complete. Instead of 30 graphics programmers, you hire 15 level designers and 15 artists. Or, if procedural graphics take over, 25 level designers and 5 artists. This, ideally, would create a game with a hundred times more depth than we have today.

In summary: there's not a whole lot left for graphics to explore. (It's a little scary to see how many of the techniques used were thought up in the 70s and 80s.) Apart from little optimization techniques and better ways to do things, we can already do pretty much everything we want to. The future is in the game, not the graphics.
____________________________________________________________AAAAA: American Association Against Adobe AcrobatYou know you hate PDFs...
Quote:Original post by Raloth
As far as graphics are concerned, we're already at near photo-realistic quality with graphics.
In summary: there's not a whole lot left for graphics to explore.


What? This is rediculous.. do you live on planet purple?

Frankly graphics in realtime are very primitive still, and have perhaps DECADES to go before they approach perfect photo realism.

IN fact, graphics are the main area that should and will be improved. I cant belive someone would think something like this.

This topic is closed to new replies.

Advertisement