id Software's Usenet Group Posts Archive!

id_notes/John C/1998-03-13



[idsoftware.com]


Welcome to id Software's Finger Service V1.4!



Name: John Carmack


Email: johnc@idsoftware.com


Description: Programmer


Project: Quake 2


Last Updated: 03/13/1998 21:49:47 (Central Standard Time)


-------------------------------------------------------------------------------



3/13


----



The Old Plan:



The rest of the team works on an aggressive Quake 2 expansion pack while


Brian and I develop tools and code for the entirely new Trinity generation


project to begin after the mission pack ships.



The New Plan:



Expand the mission pack into a complete game, and merge together a completely


new graphics engine with the quake 2 game / client / server framework, giving


us Quake 3.



"Trinity" is basically being broken up into two phases: graphics and


everything else. Towards the end of Quake 1's development I was thinking


that we might have been better off splitting quake on those categories, but


in reverse order. Doing client/server, the better modification framework,


and qc, coupled with a spiced up DOOM engine (Duke style) for one game, then


doing the full 3D renderer for the following game.



We have no reason to believe that the next generation development would


somehow go faster than the previous, so there is a real chance that doing all


of the Trinity technology at once might push game development time to a full


two years for us, which might be a bit more than the pressure-cooker work


atmosphere here could handle.



So, we are going to try an experiment.



The non-graphics things that I was planning for Trinity will be held off


until the following project -- much java integration with client downloadable


code being one of the more significant aspects. I hope to get to some next


generation sound work, but the graphics engine is the only thing I am


committing to.



The graphics engine is going to be hardware accelerated ONLY. NO SOFTWARE


RENDERER, and it won't work very well on a lot of current hardware. We


understand fully that this is going to significantly cut into our potential


customer base, but everyone was tired of working under the constraints of the


software renderer. There are still going to be plenty of good quake derived


games to play from other developers for people without appropriate hardware.




There are some specific things that the graphics technology is leveraging that


may influence your choice of a 3D accelerator.



All source artwork is being created and delivered in 24 bit color. An


accelerator that can perform all 3D work in 24 bit color will look


substantially better than a 16 bit card. You will pay a speed cost for it,


though.



Most of the textures are going to be higher resolution. Larger amounts of


texture memory will make a bigger difference than it does on Quake 2.



Some key rendering effects require blending modes that some cards don't


support.



The fill rate requirements will be about 50% more than Quake 2, on average.


Cards that are fill rate limited will slow down unless you go to a lower


resolution.



The triangle rate requirements will be at least double Quake 2, and scalable


to much higher levels of detail on appropriate hardware.



Here are my current GUESSES about how existing cards will perform.



Voodoo 1


Performance will be a little slow, but it should look good and run acceptably.


You will have to use somewhat condensed textures to avoid texture thrashing.



Voodoo 2


Should run great. Getting the 12 mb board is probably a good idea if you want


to use the high resolution textures. The main rendering mode won't be able to


take advantage of the dual TMU the same way quake 2 does, so the extra TMU


will be used for slightly higher quality rendering modes instead of greater


speed: trilinear / detail texturing, or some full color effects where others


get a mono channel.



Permedia 2


Will be completely fill rate bound, so it will basically run 2/3 the speed


that quake 2 does. Not very fast. It also doesn't have one of the needed


blending modes, so it won't look very good, either. P2 does support 24 bit


rendering, but it won't be fast enough to use it.



ATI Rage Pro


It looks like the rage pro has all the required blending modes, but the jury


is still out on the performance.



Intel I740


Should run good with all features, and because all of the textures come out


of AGP memory, there will be no texture thrashing at all, even with the full


resolution textures.



Rendition 2100/2200


The 2100 should run about the speed of a voodoo 1, and the 2200 should be


faster. They support all the necessary features, and an 8 mb 2200 should be


able to use the high res textures without a problem. The renditions are the


only current boards that can do 24 bit rendering with all the features. It


will be a bit slow in 24 bit mode, but it will look the best.



PVR PCX2


Probably won't run Quake 3. They don't have ANY of the necessary blending


modes, so it can't look correct. Video Logic might decide to rev their


minidriver to try to support it, but it is probably futile.



RIVA 128


Riva puts us in a bad position. They are very fast, but they don't support


an important feature. We can crutch it up by performing some extra drawing


passes, but there is a bit of a quality loss, and it will impact their speed.


They will probably be a bit faster than voodoo 1, but not to the degree that


they are in Quake 2.




Naturally, the best cards are yet to come (I won't comment on unreleased


cards). The graphics engine is being designed to be scalable over the next


few YEARS, so it might look like we are shooting a bit high for the first


release, but by the time it actually ships, there will be a lot of people


with brand new accelerators that won't be properly exploited by any other


game.