Carmack Shows Off the id Tech 5 Engine
MojoKid writes "id's keynote
address from this past week's Quakecon featured John Carmack revealing details of the id tech 5 engine. For more on the subject, GamesIndustry.biz has an interview with id developer Steve Nix about the project. 'I know that when we started working with Splash Damage on Enemy Territory they wanted large, detailed outdoor terrains, and they had some ideas on how to dynamically load the textures and everything, and John [Carmack] said, 'Why don't we try this new approach and make the entire terrain one massive texture, and then just load blocks of texture in dynamically that you can see at any one given time?' So John did the initial work on it, got it up and running, and it just so happened that that work was the basis for what we have in id Tech 5.'"
The article doesn't say much about the new engine. Does anyone know how it compares with the Unreal 3 engine or the CryEngine 2 (used in the upcoming Crysis)? Those engines look pretty amazing.
A-Bomb
Are they getting to expensive or are they just tired of nerds? Either way, I dislike the alternative.
Why bother.
Could this idea be used for consoles, which have a lot less video RAM than computers?
;-)
Imagine Final Fantasy XI on the Nintendo DS.
I cannot put into words how awesome John Carmack is. A true pioneer in video game graphics.
Croteam's Serious engine and Monolith's LithTech seemed to be giving them a run for their money for a while...how's their technology stacking up?
Armadillo Aerospace
The difference apparently is between dynamically loading a whole bunch of different textures (as-needed, which is the traditional way of doing things), and paging through 1 texture.
Previously, you had to break up your textures into blocks and manually load them as the player moved into the area covered by those textures. This new technology allows you to create one large texture for the entire level and have the game engine automatically break up the texture into blocks and dynamically load them for you.
It makes programming easier, because its one less thing to keep track of.
We all know what to do, but we don't know how to get re-elected once we have done it
It's obviously not a new concept in computer science, much less games. Too bad the difference between data manipulation and games is that the games need to access these textures 30 - 60 times per second depending on hardware. I take it you don't know much about 3D rendering and games programming, do you?
Denigrating the work of others, particularly work you don't understand and couldn't accomplish on your own, is the oldest concept in computer science. Come up with something new, please.
Slashdot - where whining about luck is the new way to make the world you want.
It also opens up the possibility to stream these textures in line-by-line, instead of block-by-block. No need to waste time/memory loading in a 2048x2048 texture of the next area as soon as it's barely visible if we can do it arbitrarily.
And this differs from concepts like Google Maps how? (which also is not an original idea, btw)
The cesspool just got a check and balance.
The new texture technology that JC is demonstrating is fascinating but it really is a neat new twist on a much older trick - using tile-able textures to build up a much larger map, and then using overlays to take it further and make it less predictable.
The basic landscape is built up at some reasonable level of detail for distance shots, with whatever geometry the modeller wants. Then the new techniques are applied to any polygon, anywhere. From the videos, there is a part where JC takes a texture, paints it on either side of the track. At this point, you can see that it really is square tiles - maybe 128x128 in the demo but I suspect it is arbitrary. Then these tiles are blended against other tiles and it's no longer so obvious what is going on. Then the overlays are painted on over the top to provide unique details.
Now - the backend technology to cache all of these separate layers together must be pretty impressive to ensure that the view doesn't stutter as you pan the view. Using this level of organisation for the textures is akin to a smart compression routine, except you are identifying common elements right up front in the form of texture tiles, rather than trying to do it after the fact.
I'd pay serious money to get my hands on the level editors for this tech - but I don't think my salary will stretch to a ID license fee.
Cheers,
Toby Haynes
Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
Is the serious engine still being developed? Haven't heard squat from Croteam in quite a long time.
No idea about LithTech.
No Comment.
Framerate for starters?
;)
For some reason, I don't think most gamers would accept a bunch of gray blocks slowly and randomly being replaced with textures before your very eyes every time your view changes..but hey, maybe that's just me
No Comment.
Memory footprint of these extremely large textures was prohibitive in the past. Originally this just wasn't possible.
In the beginning, very small textures were all that could be used, and they were tiled everywhere. Ever since then, the workable size of textures has been slowly increasing...but the old habit of breaking things down into small(ish) textures remained.
Technological advances and an 'aha!, we can do that now!' lead to advances such as this that to some might appear 'obvious', when in fact, since they hadn't been done before, weren't so obvious after all.
No Comment.
The thing JC keeps saying about his new gfx tech is that it allows the artists to chance the textures in a given scene or map on a PER PIXEL LEVEL. Literally letting the artists go into the entire map and basically photo-shop every pixel until they get it perfect. The engine also updates everything real time across the entire development platform so if I go in and paint some graffiti on a wall, and the AI programmer goes to that same section of the world on his computer to test some things, he will see the new graffiti just added to that wall.
He also said that even though this gives texture and world artists tons of freedom, that games are still harder and more complex to develop then ever before.
And yes, having the system work this way allows them to port the code and gfx to any console with relative ease.
proves that he has vision beyond the typical game developer.
How many countless technologies id Software has brought us over the years, games today should be forever thankful. Now that games tend to sprawl out into massive landscapes (MMOs are big on this too), engines that are geared towards serving large landscapes instead of 'room by room' sprawling are going to be the norm.
On an unrelated note -- I'm looking forward to Enemy Territory: Quake Wars.
The price is always right if someone else is paying.
the downfall of every id game isn't art, graphics, or design, but the fact the basic game play is rudimentary at best, some love their games because of this, but most wish for more. hopefully they will at least abandon the door/key game play element in every one of their games since keen, jesus, unlimited time and budget, come up with something new!
Hint: Google Maps 2007 = MS Flight Simulator 1992.
perhaps we could load more blocks outside of the immediate view? You know, like, perhaps, just maybe, caching them with an intelligent loader?
But I guess that might have been too forward thinking.
The cesspool just got a check and balance.
How many shades of brown will the next Quake have? 32k? 64k? 4096k? That's all we really want to know!!
Er, they've been doing that for a very very long time now.
No Comment.
...can be seen in this trailer for iD's upcoming game, Rage. Even keeping in mind it's work in progress i'm floored.
You want to talk wide open spaces. Talk about the military simulator VBS or it's civilian counterpart OPF/Arma. These games may not look the prettiest but they have hundreds of square miles of seamless terrain. Enough so that many branches of the U.S. military signed up for it several years in a row. It has cross sim technology that allows it to talk to other simulators. But most importantly it run a insane resolutions and has view distances that would make a 747 pilot jealous.
I really wish video game makers would get a little more realistic in their shooting games. Real (outdoor) warfare does not occur at 50ft, it happens at about 400 meters, that's almost so far that the guy you're shooting at looks like an ant. And that happens to be real life. Also, someone tell JC if someone is hiding behind a cinderblock wall and I shoot an 7.62 AK74 round at said wall and the bullet happens to land where someone is standing on the other side, they are dead. Bullets penetrate EVERYTHING except HEAVY ARMOR. That means if you shoot a house, someone on the other side of the house may get hit because the bullet penetrated every wall in the house. This is especially true for heavy machine guns (.50cal+) which can demolish a small house with a few dozen rounds.
Also, and almost as important, don't make stupid doors that have a fucking golf ball holding them shut, I just destroyed a god damn super monkey spider droid with a mega doppler 5000 hand blastron laser fink and I can't open this god damn door because someone wedged a golf ball under it's flimsy wooden frame. What's that you say? Don't go in there? It's not part of the level? DON'T MAKE THE FUCKING DOOR THEN! Did you think you had to follow the layout of Walter Reed hospital exactly? I won't care if there is a wall where there should be a janitors closet, just don't put a door in the level that can't be opened, especially a door with a window and a god damn wooden chair wedged under the door knob. BAD BAD BAD!! Anyone remember Red Faction? Where you could blow up the walls. What ever happen to that idea? What kind of future war training are we offering our children?! ->
Ted: Hey Jimmy hide behind those wooden pallets so the Chinese T80 main battle tank can't use it's HE round to kill you
Jimmy: Thank Ted! I'm not sure how long I could have lasted without that great advice
Jimmy, my friends, would be dead. AND PEOPLE LIKE JC ARE RESPONISBLE FOR HIS DEATH! MAKE VIDEO GAMES MORE REALISTEC NOW!! BEFORE JIMMY AND TED ARE DEAD!
I think the majority of game players don't want ultra-real. FPS players like to bunny-hop around shooting almost non-stop. They do this because its fun, not because they want to model realism.
There are some good ultra-real games out there (I remember playing a sniper game at E3 that actually modeled heart-rate and atmospheric effects (rain, heat, altitude, etc.) to calculate where each shot landed). The problem is that there is a very small market for them.
Spell cheek you've failed me four the last thyme!
That makes no sense whatsoever. I assume that by "line" you are talking about a row of texels. If so, then the orientation of the texture, relative to the view frustum, would have to align perfectly for a single line of texels to be of any use. If the frustum were merely rotated 90 degrees, then you need a column of texels, requiring fetching a single texel per line, resulting in massive cache misses. That is the whole point of breaking textures into squares, so that you don't loose efficiency due to orientation, which of course in a generic 3D engine will vary constantly. If the frustum were at say 45 degrees, then a line of texels looses all meaning, because they would be interpolated diagonally. What about filtering, like bilinear filtering? Texels never map 1:1 to screen space (excluding 2D rendering, like HUDs and the like), so the hardware averages multiple texels together. How many lines of texels should you pass in so the GPU can filter them? How do you handle mipmapping one line at a time?
The whole point of the article is to have a single massive texture for the entire map. In that case, a "line" of texels would be the width of the texture, which would be unbelievably massive. I can't think of any situation where feeding a line of texels would make any sense at all from a performance standpoint, unless we're talking about some sort of vertical scrolling shooter, where the terrain is always revealed in the same direction and orientation, but that is hardly the type of 6DoF type engine Carmack produces.
Dan East
Better known as 318230.
Anyone else more excited about the mention of the $70 "every game that id developed" Pack that can be purchased on Steam, more so than the Rage demonstration?
Maybe I'm just getting old...
I'm sure Carmack is a great programmer, but his engines are specialized at doing one thing well at the expense of general flexibility. And the one special feature of the engine isn't even carried on to the next generation.
Quake 3 had curved surfaces, no other major engine since then has had curved surfaces.
Doom 3 had a unified lighting model, Rage does not. The unified lighting caused some pitch black areas and made it harder too make large outdoor type levels.
Rage has unified texturing, which makes it harder to use specialized shaders on some surfaces. Other than the texturing and the much better development tools, I don't see much new?
Why does claiming status intrinsically make the claim false? I hereby claim to post on Slashdot, an utterly false statement by your logic. I suppose you can, uh, “pretty much guarantee” I not a cyclist or a geek simply because I describe myself as a cyclist and a geek? If you want to get all metaphysical here, I think the argument could be made that because the universe is deterministic (although not predictable) none of us has any free will (thoughts are chemical reactions bounded by laws of physics which strictly follow causality) and it is therefore impossible for anyone to be a free-thinker. But then after our romp of intellectual masturbation, we have ultimately learned nothing because concepts of free will (and by extension, thought) are abstractions that eliminate the minutiae we cannot or do not care to quantify. The Stock Market operates on the atomic level, but nobody needs to study it at such detail in order to understand its workings and that likewise applies to human behavior. Or maybe we should just simply address the likely possibility that you have no idea what the term “freethought” actually means.
Why bother.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
Wait a few years and you'll see source code.
http://outcampaign.org/