iD and technology trought history
When Wolfenstein 3D was released, people couldn┤t imagine a more accurate representation of reality. It had it all, from perspective to continuity, something that many old first person games lacked (for example RPGs like Ishar).
After this winning title, iD Software released DooM (among other things wich aren┤t as important as this one). DooM, while it wasn┤t using any polygons at all, created a world so flexible and graphically stunning that people complained of "motion sickness". The engine was fast, powerful and especially flexible. The whole meaning of "engine" was practically forged with the release of this game. It is actually impossible to count how many DooM user made modifications (from simple maps up to full-fledged TCs) have been made, and it owns the easiest set of tools by far.
The game won many awards, because of it┤s superior gameplay and marvelous tech, but what few people noticed is that iD made a giant footprint in the PC┤s history. People ACTUALLY moved from their 286s and 386s to a shiny new 486SX/DX just to play the game. It is obvious that since then iD pushed the hardware┤s direction to their own way.
Quake did the same. Altough some people refused to move to this new franchise, and kept playing DooM ][, it┤s easy to notice that Quake made such an impact on the way games are made, that today┤s most famous games among the hardcore gamers, the FPSs, follow the same basic rules as this title.
Quake was the first step into real 3D worlds. Instead of the texture skewing methodes used in DooM, this game was based on texturized polygons. But the key feature wasn┤t the slopes, or the multi-leveled floors, or the dynamic objects...
It was the lighting. Shadows were everywhere on Quake┤s macabre worlds. To trick the eye into believing that a flat surface is actually a virtual enviroment, lighting must be added in order to give the brain an illusion of perspective. But all of these marvels came at a price. Those 486s that ran DooM like a dream suddenly became uncapable of holding nice framerates in Quake enviroments. People upgraded to Pentium class chips (I know I did) for this game, and it turned to be a wise move, since from this precise moment until now the developers have been struggling for make each game┤s visual as cutting-edge as possible.
Altough nothing┤s perfect. There were 2 critical drawbacks with this engine. One was the pallete of colors. Most people complained about Quake┤s dull, brown, gray, blue and beige colors, without knowing that it was the only solution for archieving lighting over surfaces. Since each material needs a wide variety of reserved colors for displaying darkened/brightened portions of the surface, the game was limited to just a few colors and all their respective shades. This was when 8-bit displays (just 256 colors) ruled the Earth, and superior color depths were impossible for the mainstream video equipment.
The other problem is even more profound, and its solution has been just recently discovered. The static environments. Once the compiling tools of your favorite map editor finish the calculations of light/shadow placement, among the visibility calcs (wich prevents the game from drawing useless polys no one┤s going to see at certain moments), those results were stored in the classical .BSP format, unable to be modified.
Think about it, the compiling tools often take hours to finish the process. And this is made taking in mind the level mantains the same shape as the one present in the map editor. Imagine what would be the consequences of altering the world in real time. Move a wall, and those visibility calcs might not be useful anymore. Move a light, or place something hiding it, and all the enviroment┤s shadows should be modified. Since each "state" of the world is as complex as the first, primal one, you┤ll be forced to suffer all those hours of compiling again, everytime you modify something. Not precisely my definition of "fun".
But you┤ll wonder. Then how those doors, lifts, destructable walls and rotating gears work? The solution was simple, but painful. These things that are capable of altering the level┤s shape are ignored in the "compiling stage". What was the cost of this fix? Objects that move/rotate/change would have either :
1) Shadows that almost never match the realistic solution.
2) No shadows at all.
It┤s been like that for years now. All the games using Quake, Unreal, LithTech engines suffer from the same "staticness". No major changes to the world┤s shape, or it will run too slow. No changes in the light conditions, except flickering and other "intensity" effects.
One of the problems is solved. After Quake, iD embraced OpenGL, a practically unknow tendency back then, and now the mainstream (altogether with DirectX) API for graphics programming. Quake 2 was greatly enhanced when activating the OpenGL renderer. The brown was replaced by a miriad of oranges, blues, reds and greens. Quake ]I[ expanded the looks of the engines by adding shaders, curved surfaces and hi-rez textures.
Each upgrade of the engine has been big. There┤s a heavy difference between average polycounts, texture sizes, and features included, not so say optimization and bug fixes. But for the first time in many years, iD┤s willing to make the same jump they did when making DooM, and repeated with the original Quake.