Erwin's Pages Central > Articles > General Software> 3D engines


You've come a long way, baby


With the arrival of the GeForce 4, it might a be good time to reflect on the road interactive, desktop 3D games and engines have elapsed.

A computer basically is a very powerful, fast and accurate calculator. Knowing this, and having an elemental yet expanded mathematical understanding, the step to creating three-dimensional environments is an easy one to take. Lineair algebra and higher-level geometry form the basic philosophy behind a 3D engine: multiple graphs, vertices and structures are constantly, "real-time" calculated by the computer, who will output the data as a 3D environment. Research to creating 3D environments is a constant fact in university labs, but the first entertainment applications were rather rudimentary.

But rudimentary doesn't mean "not groundbreaking". The first depictions of 3D are found in arcade classics. These vary from the well known Tron-like tetris game to spaceshooters where the 3D environment is suggested by travelling concurrent starstripes (I'm too young to remember the names of these games). While the principles behind these arcade games are very simple, the very idea of enabling computers to generate 3D environments is a milestone in computer (or at least, pc) usage.

Other games with pseudo 3D environments followed also with the arrival of the pc platform, but they all had one thing in common: none of them could simulate a person walking around in 3D, either with a camera outside the character, or placed through the eyes of the character. These very terms (cameras, character) are things that would be introduced by one game, Wolfenstein 3D.

This game was a complete surprise. Here you had a game where you could walk around anywhere you'd please, in 3D! But it wasn't only graphically and technologically impressive, the gameconcept was fun too: shooting bad guys from a "first person" perspective. The First Person Shooter was born. The 3D technology behind Wolf 3D was indeed quite revolutionary. Wolf 3D simulated a 3D world a a singleplanar field, with walls being fields orthogonal on the main playfield and having properties that forbid the camera (or player) to go through them. Enemies where singlesided sprites with four animations (running towards you, running sideways, shooting and dying). Enemy fire don't have trajectories, but generate a randomiwed chance of hitting the player. So in context, the Wolf 3D engine has many restrictions and was maybe not that superior at all. But it was the concept of running free, seeing depth, the ability to aim and the general fps gameplay that made Wolf3D one of the founding fathers of modern gameplay.

The technological base of Wolf 3D (meaning, the concept, not the engine itself) was used multiply. Examples are: the sequel Spear of Destiny, Corridor 7, and Doom. The latter introduced more detailed environments and deathmatch multiplayer (another great milestone). Other games are Hexen and Heretic. These games became more complex, leaving the single plane and being more detailed. These engines would later be called "bitmap engines" because of the following reason: although these engines suggest 3D, the environments are all orthogonal on the horizontal playing field, and that the engine never calculates objects as being independant in an empty 3D space: objects and surroundings are rendered relative to the camera or player. A concrete proof of the weakness of the bitmap 3D engine is when you try look up: serious deformation will occur, since the engine is not entirely tuned to depict the environment under a vertical angle.
Besides the obvious weaknesses of the bitmap engine, this mo had several pinnacles, which showed the best of bitmap engines, but also predicted the end of them. These games are mostly created under influence of 3D Realms and Xatrix: Duke Nukem 3D, Shadow Warrior, Redneck Rampage. These games were graphically incredible, and almost has photorealistic views. But at the same time, they showed the stated weaknesses of the bitmap engine.

ID, the software company that created Wolf 3D, suddenly released Quake in the mid nineties. While a new Doom was expected, the game was an incredible technological breakthrough. It introduced a full 3D engine, based on geometrical units (triangles, polygons). This eliminated the "morphing" problems and the obvious roughness of the bitmap engine, because Quake rendered the 3D world in an entirely different fashion. No longer would it emulate a 3D universe, it simply is a 3D world in which objects can be set and calculated indepandantly. The player and camera became two different things: the player is a set camera with properties (gravity, health,…) and camera would be free unit outside the boundaries of the engine, and that could freely observe the whole scene.

Needless to say that "real" 3D engines are technologically far more advanced than bitmap engines, although this didn't result in better visuals, at least not in the beginning. The real 3D engine incredibly stressed the contemporary cpus (486), and only rather bald and "edgy" environments could be rendered: the hardware simply couldn't calculate all the polygons and structures in a fashion to produce playable framerates. Then, bitmap engine games like Duke Nukem 3D had lower system requirements and had better visuals.

There was one more thing to come to definitely ban Wolf 3D and derivatives to the next world. Specialized 3D hardware. A small company called 3DFX released an add-on card that would only accelerate true 3D, polygonal graphics, and that also added some incredible effects, the best known in those days being bilineair filtering (eliminates enlarged bitmap effect). It was a real powerhouse, boasting 4mb for 3D only (contemporary pcs had 16 mb of system ram and about 1 or 2 mb video ram). The effect on 3D games that supported this card was immense: not only would the framerate take milelong jumps, but the added special effect resulted in the true 3D engine games to look more stunning than modern bitmap games! The bomb went off, and a new era had begun: the dominance of the 3D accelerator.
Other companies like Matrox (Mystique) and STB (PowerVR) also released their 3D accelerator cards, but these had limited effect.
Little time after the first 3DFX card (Voodoo) a second card was introduced: the Voodoo 2. Having a maximum of 12mb of ram and the ability of two Voodoo2s linked to each other (SLI) the Voodoo 2 was insanely powerful. Around this time, nextgen 3D shooters like Quake 2 and the unforgettable Unreal. The latter (made by Epic, until then only known for shareware games) was an experience I'll never forget. Although the polygon count was rather low to todays standards, the lighting, level design, and atmopshere are divine. The game was technologically the best piece of software for about 2 years after its release. Not only did it boast the best pc graphics, but it also had its own scripting language (UnrealScript), superbly designed editing tool (UnrealEd) and a brilliant AI engine, Unreal was the first RTS game ever to offer enemies that actually have brains. Unreal….was simply unreal.

The reign of 3DFX was quite absolute. By the release of Half-Life, the all-time fps classic, many gamers played 3D games with a Voodoo or Voodoo 2 card, in Glide API (3DFX's rendering operating system, other more open standards are DX3D and OpenGL). But the new-crowned king would quickly find it's slayer. The Voodoo and Voodoo 2 cards were add-on cards, meant only for 3D acceleration. PC users still had to buy a regular 2D card to operate a pc. NVidia, another small graphics company, released the Riva 128 card around the time of the Voodoo 1. This card had outstanding 2D capabilities (matching the 2D cards of Matrox) and even limited 3D capabilites, offering hardware acceleration to 3D games that supported DX3D (something not so frequent during the 3DFX era, DX3D usually was way slower). But the real bomb was the Riva TNT. Released with the Voodoo 2 and Voodoo Banshee (3DFX's first effective 2D/3D solution, the Voodoo Stingray had poor performance), the TNT was faster in every field, had more features and came with an attractive price. Only sore point remained the lack of Glide acceleration, a thing 3DFX was wise enough to hang on to. At that moment, the absolute monopoly of 3DFX had been broken, or at least sufficiently weakened to call nVidia a serious competitor. It was not until the release of the next generation nVidia would clearly knock 3DFX off the throne.

3DFX was always commended for their technological innovation, but also for it's screaming calculation power and, as a result high framerates. With the successor of the Voodoo 2, 3DFX decided to continue the legacy of the Voodoo Banshee: 3DFX would make 2D/3D solutions. But then, 3DFX made 2 capital mistakes. Primo: 3DFX decided to produce their cards themselves. This would drive respected 3rd party manufacturers like Hercules, Creative and Diamond to the powerful hands of nVidia. Secundo, 3DFX preferred framerate over technology. The Voodoo 3 would be technologically inferior to nVidia's new chip, the TNT2, with less memory, lower texture resolution, no 32 bit colour support, etc. "Gamers want framerate, and not fancy eyecandy". Come to think of it, 3DFX made a third capital mistake: indeed the Voodoo 3 was screaming fast, but only in their own Glide API. With DirectX becoming more stable and OpenGL being spread a the general renderer, 3DFX was fighting a losing war, since the TNT2 performed faster and with better screen quality than the Voodoo3. At the end, 3DFX still managed to launch the Voodoo5, which had to battle the power and technological specs of the TNT2, but shortly hereafter, 3DFX was bought out by…yes you guess it right: nVidia itself. nVidia observed the battlefield, and swept the horizon. All Voodoo's had been eliminated by their secret weapon: TNT.

Just as everyone bought a TNT 2 (or a Matrox G400, which had the power and speed of the TNT2 but had better visual quality and introduced an exhilerating texture blending method called Environment Bump Mapping) and was convinced he/she would actually never need such graphics power, another bomb impacted. It was the GeForce bomb, one that still sends shockwaves until today. This card would've been the herald of a new era, and the mark of change as big as that from Wolf 3D to Quake. Basically, the GeForce 256 (nVidia) was a faster TNT2 with one big exception. The card had specific geometrical functions, that would relieve the cpu. A TNT2 would only accelerate and add effects and textures to objects and polygons which had first been calculated by the cpu. The GeForce card would eliminate thisby, at least partly, taking over the geomatrical tasks of the cpu. This idea sent shivers down the spines of many. Initial test indeed indicated fabulous results: a PII266 with GeForce card ouperformed a PII366 with TNT2. The launch of the GeForce line certainly made the graphics card the main indicator for games performance, but it didn't quite live up to all its promises. The GPU unit of the GeForce card was a set of instructions, comparable to the MMX and 3Dnow! Extensions on Intel and AMD processors. Problem is that programmers hd to specifically tune their software to these instructions. Result was that TNT2 cards effectively remained great cards, and GeForce cards were fast, but not that necessary.

The GeForce 2 was the next generation of GPU-equipped graphics boards. While they were technologicqlly not that different from their predecessor, they had one advantage: speed. And lots of it. Introducing 64 mb of ram and even DDR ram (Double Data Rate ram, ram that can send 2 data bits per clock cycle, this effectively means a performance boost of 10-30 %), the GF2 Pro and Ultra were sickeningly fast, but also incredibly expensive. The budget version, the GF2MX, was a great product: cheap (150 USD), fast and fully functional to GF2 standards, the card remains the mainstay card for mamy gamers. In the meantime, games have not evolved so much since Unreal: main difference usually are higher polygon counts, more 3D objects, and effects like reflections or 3D rendered vegetation.

The latter 2 effects are things that would become even more impressive with nVidia's next card, the GeForce 3. Many of you already know the story and specs of this card. You can check out our GF3 tech article through the link below. Basically, the GeForce 3 is the practical implementation of the GPU: now called "shaders", this part of the accelerator can now be freely addressed and programmed by programmers, thus making dynamic vertex adjustments, deformations, and effects like refraction much easier to implement. Added bonus is that GF3 cards are even faster than GF2's.

And so we come to the present day, with the GF4. Okay, I forgot to mention the ATI revival with their sweet Radeon cards (Radeon 1, R7500 and R8500). But the thing I'm wondering about is the following: are 3D engines, now more detailed and with more realism (skeletal animation, physics engines) all that different from the Quake concept? Fact remains that you have an engine that calculates geometrical structures to depict the environment. The world model of a Quake like engine usually is bult around this polygonal approach, whereas laws of nature and realtime events either have to be scripted (involves a lot of work, since every situation is different and it becomes repetitive since scripts aren't dynamic) or programmed (involves even more work). Will there be a day when computers grow so strong that polygon engines are too easy and that their development time grows commercially uninteresting? Probably yes. No Wolf 3D gamer could hope we've gotten this far. But the polygon engine is limited too.

So where are we going to? A thing I've been thinking a lot about lately are atomic, or at least molecular engines. Think about it. Instead of polygons, an engine would calculate molecules. After setting up libraries with nature laws and matter features (a job which can take forever), depiction of 3D environment come as close to reality as it gets. Refraction on water are no longer effects on textures and polygon structures, but on molecules who intrinsically have the property to shine in a certain way, under different circumstances. A boat passing these waters will adjust the water depiction, because the engine knows what effect a propelled mass has on water. There are plenty more examples. Imagine a table being cut in half. Now this will happen either as a scripted event (all tables fall apart in the same or in a similar matter) or real-time effect. A molecular engine will always calculate this event realtime, and every slash will create a different effect, depending on hitstrength, properties of the blade, properties of the wood, etc. Also, a human would look like a real one, and gore will have a new definition. The fun thing is that programmers can adjust the laws of nature in molecular engines: you could say that the gravity is cut in half. This result in higher jumping, etc. But instead of being defined in a poygonal world, this would have an effect on all molecules in the engine. But hey, you might think I'm a foolish dreamer, or a crazed naïve gamer…

EP sez:

3D engines have come a long way. From simple algorithms to complex polygon universes, each incorporating massive research and development. While contemporary 3D gaming will be brought to the masses by the nextgen consoles like PS2, XBox and Gamecube, the PC or similar platform will remain the driving force behind the development of 3D entertainment. At date of writing, the XBox, which seemed the scourge of pc gaming a mere one year ago with its graphics, price and power, has been leveled by the pc: the GeForce 4 Ti series effectively are the 3D components of the XBox…And there's no telling what'll be next.

(c) 2002 Erwin's Pages
Erwin "Reaper" Husin

Links

> GF3 vs. Radeon 8500 plus GF3 spec article
> Unreal Review
> Return to Castle Wolfenstein Review



(c) 2002 Erwin's Pages All Rights reserved.