Quake engine differences?

Discuss programming topics for the various GPL'd game engine sources.
daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Quake engine differences?

Post by daemonicky »

What are differences in Quake engines used for Quake games?

Quake 1.
Quake 2 is just polish of Quake 1 and they stopped using Quake C.
Quake 3 uses skeletal animation, differend AI code. It also has improved graphics - true color textures.

These are all I can think of. :)

Please, could You name other differences (besides the names :))?
Think, touch, movetype, solid, traceline ...
andrewj
Posts: 133
Joined: Mon Aug 30, 2010 3:29 pm
Location: Australia

Post by andrewj »

I suggest you read the Wikipedia articles on "idtech 2" and "idtech 3"
daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Post by daemonicky »

Thanks. :)

Does this virtual machine in id Tech 3 mean it has something similar to Quake C :?:

I read about MegaTexture in id Tech 5 and is seems to me as pretty much marketing. It has been done before and even google search has megatexture :) .
- It can have seme benfit but if many artists would be playing with one texture ... it might produce a mess, unless they would have tool like some online drawing board, which allows more people to draw image at once online ( http://www.dabbleboard.com/draw I hope this one will work fine).
- It seems to me that there is a claim that megatexture allows large open areas. Well, it does not, it only allows simpler texture creation for them. AFAIU quake engines are not good for outside areas because they use polygons to determine visibility (polygons are recursively classified by one polygons plane into binary tree) instead of areas (some games use octrees) or heightmap (I guess Oblivion uses heightmap); there can be many polygons. On the other hand ... is Quake's BSP tree balanced :?:

id Tech 6 uses voxels? :) Voxels are something what Ken Silverman, author of Build Engine (Duke 3D, Blood ...), has been working with for a longe time. He made Voxlap Engine and there is a Wolfeinstein 3D remake in Voxlap.
Think, touch, movetype, solid, traceline ...
Ranger366
Posts: 203
Joined: Thu Mar 18, 2010 5:51 pm

Post by Ranger366 »

daemonicky wrote:Voxels are something what Ken Silverman, author of Build Engine (Duke 3D, Blood ...), has been working with for a longe time. He made Voxlap Engine and there is a Wolfeinstein 3D remake in Voxlap.
Always wanted to see voxels in Quake.
Ken Silverman is a wise man.
dreadlorde
Posts: 268
Joined: Tue Nov 24, 2009 2:20 am
Contact:

Post by dreadlorde »

daemonicky wrote: I read about MegaTexture in id Tech 5 and is seems to me as pretty much marketing. It has been done before and even google search has megatexture :)
No, megatextures aren't 'just marketing,' and that google image you linked to isn't even what would be considered a megatexture. Perhaps you should read the wikipedia article again.
Ken Thompson wrote:One of my most productive days was throwing away 1000 lines of code.
Get off my lawn!
Irritant
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland
Contact:

Re: Quake engine differences?

Post by Irritant »

daemonicky wrote: Quake 3 uses skeletal animation?
Quake 3 does not use skeletal animation.
http://red.planetarena.org - Alien Arena and the CRX engine
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Post by revelator »

Quake 3 uses md3 not skeletal :) skeletal first made its apperance in id tech 4 (doom 3 etc.)

first engine to implement megatexture was enemy territory quake wars, the code was allready in doom3 but not used and in a very early stage.

model formats by engine.

Quake 1: mdl.
Quake 2: md2
Quake 3: md3
Doom 3/Quake 4: md5 (some say skeletal tbh im not sure).

as far as i know no game by ID ever used the md4 format but i remember a thirdparty game using it (title illudes me atm).
ArchAngel
Posts: 37
Joined: Fri Jun 03, 2011 7:33 pm

Post by ArchAngel »

MD4 was in Quake 3 but it wasn't finished. It was polished off by the team behind Heavy Metal FAKK and then relicensed to a bunch of other companies. I think American McGees Alice used that engine as did a few others.

Someone did complete the MD4 implementation as used in Quake 3 the details for it are here - http://gongo.quakedev.com/md4.html
mh
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Post by mh »

Megatexture is not so much to do with large textures or open areas, but more to do with virtualisation of video memory. This virtualisation does allow these things for sure, but it also allows one item you failed to mention, which is for texturing to be unique. This means no more tiling, no more repeated textures. It's just a hunch of mine but I strongly suspect that it's also going to be very performance-efficient. Carmack himself has indicated that the technology behind it would have worked on a Voodoo 1, and common-sense tells me that reductions in state changes and opportunities for greater draw call batching would result in something that - for the same polycounts - runs considerably faster than anything else out there. Of course that will be offset by higher polycounts and more complex visual FX elsewhere.

What you're calling a "megatexture" in your Google result looks a lot more like a texture atlas to me. That's a very different thing, so I'd caution you to lay off the negative comments until you have your facts right. ;)

Quake-level technology actually can do wide open areas quite well. It takes a bit of coaxing in engine code, but it is possible. Scene traversal is a major CPU-side bottleneck, and the quite heavy tesselation that comes from QBSP doesn't help things much. These things do have solutions, and while the end result is not as good as alternative approaches, it's nowhere near as bad as it's commonly assumed to be.

You shouldn't see skeletal animation as being some kind of holy grail of animation methods. It's just a different set of tradeoffs, and for some classes of model frame/vertex animation is still very much the right way to go.

Regarding idTech 6, there is certainly talk of voxels at the present moment, but it's far too early to be saying things like "idTech 6 uses voxels". To quote from the man himself (written in early 98):
I'm not ready to talk specifically about what I am working on..... Quake went through many false starts (beam trees, portals, etc) before settling down on its final architecture, so I know that the odds are good that what I am doing now won't actually be used in the final product, and I don't want to mention anything that could be taken as an implied "promise" by some people.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Post by r00k »

qFusion uses SKM and MD3, and btw I just recently discovered that the new version of WarsoW (using qfusion) supports q1bsp now.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Post by revelator »

heavy metal FAKK there it was :)

as for american mc'gees im not certain i got the game so i could find out ;)

megatexture is a whole lot more than just a huge texture (and it is huge) to render a megatexture without streaming and compression would require a supercomputer with an enormous amount of ram (read an article about it some time back).

one of the truely nice things about the format is that you can embed certain things in this megateture like info bsp formats normally holds.
daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Post by daemonicky »

Doom did not use skeletal animation? I have seen these monsters doing some ragdoll so I assume it could have skeletal animation, but I dont know.
You can have ragdolls and vertex animation (or frame based animation) together, right? (it would need to have a skeleton defined for each frame so You can immediately start simulating ragdoll with it)


I read a paper about it http://s09.idav.ucdavis.edu/talks/05-JP ... lenges.pdf it is first approach (texture atlas) thought to very details. I am sorry, but I still don't see the big difference between megatexture and this texture atlas. :-( Only that one is done in much bigger scale and there is some method to uplad texture data from it to graphic card (but You are uploading parts of this texture atlas into graphic card too; but sometimes whole atlas is uploaded). I know it is bigger than graphic card can have, but to me idea is the same, have lots of textures packed into one as You can see on pages 9-12 (some of them being huge and bigger than graphic card can handle). AFAIU Carmack just made this texture atlas in big.
reckless wrote:one of the truely nice things about the format is that you can embed certain things in this megateture like info bsp formats normally holds.
That is cool. :) But normal maps are also AFAIK images, just with rgb = xyz of normal. You certainly can encode something else than color into image. It is not special property of that megatexture format, at least I understand it that way.

I am sorry if I seem to be very ignorant or raging a war, but I don't see revolutinon but evolution in this megatexture. :)
Think, touch, movetype, solid, traceline ...
ArchAngel
Posts: 37
Joined: Fri Jun 03, 2011 7:33 pm

Post by ArchAngel »

As I understand it a texture atlas is uploaded to the card as a single texture and then used to texture a mesh by selecting subsections of the texture in memory.

Megatexture streams the texture directly from the disk in to memory in manageable chunks. This way you can have a single texture at 1GB in size able to be displayed on a graphics card with only 32MB of memory. Only the relevant texture data is maintained in the graphics cards VRAM whilst the rest is stored either in a cached state in the system memory or still on disk.

Megatexture is kinda like a Tardis for graphics... it's bigger on the inside.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Post by revelator »

i think one of the best examples i can give of the megatexture is that the world you normally see in a game actually consists of several smaller pictures (rough example look at how skyboxes are made) megatextures only need one image and to keep your ram from blowing up it only shows the relevant parts of that image (the stuff you look at).

so how is that better well consider you have a quake engine with one of the texture packs. hundreds and more images get loaded into memory each time your view changes which is quite horrible speedwise and also stresses memory alot. megatexture only needs to keep the same image in memory resulting in some substantial speed gains and less stress on hardware.

to visualize just how many operations run through the texture loader in a short time take an engine with mms (tomazquake realm telejano) run your game for a few seconds then open the mss.log in notepad and watch the rocky horror show :P i can allready say with 99.9999% certainty that about 95% of the engine memory operations are from loading textures :)
Irritant
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland
Contact:

Post by Irritant »

daemonicky wrote:Doom did not use skeletal animation? I have seen these monsters doing some ragdoll so I assume it could have skeletal animation, but I dont know.
Doom III did have skeletal animation, Quake III did not.
http://red.planetarena.org - Alien Arena and the CRX engine
Post Reply