Comparison of Frame-rates in
GLQuake Using Voodoo & Voodoo 2 3D Cards

 

WinQuake and GLQuake using TIMEDEMO DEMO2 at console:

Frame-rate is measured in Frames-per-Second (FPS). The minimum acceptable frame-rate that allows an enjoyable game of Quake in 2D, running DOS Quake WinQuake, or QuakeWorld, is 13 - 15 FPS. Quake itself runs at 10 FPS, so why is a higher frame-rate important? The workload on the computer's processor varies during game play. Certain conditions can bog down the processor and the display device, thus reducing the frame-rate. For instance, during multiplayer games when there are a lot of players on the screen all shooting rockets (rockets are performance hogs), when running complex Quake-C mods such as ThunderWalker CTF or PainKeep, or playing on maps with large open areas, Quake will run somewhat slower, thus reducing the frame-rate. Having a higher available FPS prevents the game from bogging down in these situations, and provides a smoother game. Essentially, the higher the available frame-rate, the better, although a frame-rate of 13 - 15 FPS is perfectly acceptable for playing solo Quake most of the time, in standard 2D SVGA video mode.

In GLQuake, however, the demands on the CPU, and especially the 3D processor, can be much higher and vary far greater. That pretty 32,000 color picture takes a lot of horsepower to produce. Having a high available frame-rate seems to be very important in GLQuake. Acceptable frame-rates in GLQuake begin at 20 FPS, and 25 FPS for GLQuakeWorld. Game-play runs much smoother with a higher frame-rate, particularly in GLQuakeWorld. The good thing is that, using the proper settings, GLQuake running on a Voodoo 3D card can easily obtain frame-rates of 30+ FPS on even low-end computers (a Pentium 120 is the slowest computer tested here).

I performed a series of tests to determine the frame-rates of WinQuake and GLQuake on various systems. The GLQuake tests were done with and without a variety of performance "tweaks" to compare their effectiveness.

 

THE TEST:

The following software and drivers were used in the following tests:

WinQuake v1.09
GLQuake v0.97
3Dfx Glide Drivers v2.43

The test I used is an accepted standard in the Quake community for comparing frame-rates for solo games. There are other tests which specifically test for netplay performance, but this test can be used as a rough gauge for both solo and netplay for comparison purposes. You can easily perform this test yourself, to see how your system performs. Please follow these instructions carefully if you want a valid comparison to my figures. Just having Quake's view size set smaller will give you vastly different results.

USE THESE TEST RESULTS ONLY AS A GUIDE! Please be aware that frame-rate tests on GLQuake are not very precise. It's not unusual for two systems with identical processors and 3D cards to have scores that differ by as much as 8 fps due to differences in motherboard design, BIOS settings, design of the secondary cache algorithm, etc. There are many variables involved! Even the same system can test differently on two different days depending on the temperature inside the case (the 3D card's processors, and even your CPU, are sensitive to temperature - one good reason to invest in a cooling fan for your 3D card). Don't e-mail me pissing and moaning that your P-200 gets 5 fps less than the one tested here, and you want to know how to fix it - DON'T WORRY, BE HAPPY! Again, use these test results only as a guide. Your mileage may (will!) vary.

 

To perform the test you need to do the following:

PLEASE NOTE:
You must
immediately press the tilde "~" key as soon as you type in the above command, in order to remove the console. This will prevent the console from being visible during the test. Having the console visible during the test will throw off the results. After the demo ends, bring down the console again to see the test results.

Any test during which Quake freezes for a disk access should be thrown out and the test restarted - this is not a problem with Quake but is actually caused by Windows updating the disk cache. At least three tests should be performed and the average of the three used as the final figure.

If you would like to perform the exact same tests I've performed here, using the same settings so you can compare your system to the following charts, you can download the files by clicking here... Unzip the files into an empty directory and follow the instructions in the included README.TXT file.

NOTE: Voodoo2 owners should disable VSync for these tests. The latest Voodoo2 drivers don't allow you to disable VSync. If you are running on a Pentium II system, there is no need to disable VSync in normal play. However, with VSync disabled your framerate will never exceed your monitor's vertical refresh frequency in a timedemo test. To perform the test you should either increase your Voodoo2's monitor refresh in Glide to 85 Hz (if your monitor can support it), or temporarily disable VSync for the test using the Voodoo2 Overclocker Utility.

 

TEST 1: WINQUAKE

We'll start with tests using good old WinQuake. I know this is supposed to be about 3D cards but what good is a 3D card if it can't run Quake as fast (or faster) than your 2D card can? On high-end systems with expensive 2D cards, WinQuake can actually out-perform some 3D cards at the same resolution - although it won't look as pretty. All the following tests were performed using the -NOWINDIRECT toggle on the command line to disable VESA display modes and make DirectDraw video modes available. All tests were performed using 512 x 384 DirectDraw resolution with viewsize set to 110.

 

Computer FPS 2D Graphics Card
Pentium II 400 MMX, 128mb, Win98 RC0 (Dell Optiplex GX-1) 39.1 ATI Rage 3D Pro, AGP
Pentium II 300 Celeron, 64 mb SDRAM, Asus P2B Mobo 34.8 Wicked 3D Vengeance Banshee AGP
Pentium II 300 MMX, 128mb, Win95 27.0 Diamond Viper 330
Pentium II 266 MMX, 64mb, Win95 23.8 Matrox Millenium II, PCI
Pentium Pro 180 overclocked to 233, 64mb, NT 24.2 Matrox Millenium
P-233 MMX, 80mb, Win95 24.0 Diamond Viper 330
K6-233 MMX, 32mb, Win95 18.5 Matrox Mystique
P-200 MMX, 32mb, Win95 17.2 Generic S3 Virge
P-200, 40mb, Win95* 17.0 Diamond Stealth 2000 3D
P-166, 40mb, Win95* 15.7 Diamond Stealth 2000 3D
P-133, 24mb, Win95 14.3 Matrox Millenium
P-120, 40mb, Win95* 13.7 Diamond Stealth 2000 3D

*The systems marked with an asterisk are all the same computer using different processors.

COMMENTS: You might have expected the K6 to perform slightly better than it does compared to the P-200, but don't forget that the K6 suffers from a weaker floating-point processor than the Intel chips and Quake performs a lot of floating-point calculations. The K6 is no slouch, by-the-way, when running other games and apps that only rely on integer calculations. I got incredible frame-rates running Outlaws, Shadow Warrior, Blood and Duke Nukem 3D on the K6 in 800 x 600 resolution. All in all, the above figure of 18.5 fps for the K6 is still respectable.

The real surprise here is the astounding 35.5 fps attained on the P2-266. However, this can easily be understood in light of the fact that the Matrox Millenium II is a much faster (and much more expensive) 2D card than the others used here, although the Diamond Viper 330 seems to be a speed-demon as well. The P2-266 also benefits from it's much faster L2 cache.

 

TEST 2: GLQUAKE WITH DEFAULT SETTINGS

Okay, now it's time to dabble with 3D. All the following tests were done in 512 x 384 resolution with the vertical refresh set for 60 Hz and with viewsize set to 110. Standard Quake retail map files were used (the maps were not modified for transparent water). All 3D cards were setup with factory default settings and were not overclocked. No performance tweaks were used. Basically, this is the performance you'll get with these cards installed right out of the box with now tweaking. As you'll see later, you can nearly double these figure with performance tweaks.

Systems running with a Voodoo 2 card are displayed with red text.

Computer FPS 3D Card
Pentium II 400 MMX, 128mb, Win98 RC0 (Dell Optiplex GX-1) 72.0 Dual Creative Voodoo2 12 Mb SLI
Pentium II 300 Celeron, 64 mb SDRAM, Asus P2B Mobo 71.9 Wicked 3D Vengeance Banshee AGP
P-200, 64mb, Win95 59.3 Creative Voodoo2
P-200 MMX, 32mb, Win95 33.5 Righteous 3D Voodoo
Pentium II 266 MMX, 64mb, Win95 31.5 Monster 3D Voodoo
Pentium Pro 180 overclocked to 233, 64mb, NT 31.0 Monster 3D Voodoo
Pentium II 300 MMX, 128mb, Win95 28.7 Monster 3D Voodoo
P-233, 80mb, Win95 28.5 Monster 3D Voodoo
P-200, 40mb, Win95* 27.3 Monster 3D Voodoo
P-166, 40mb, Win95* 27.2 Monster 3D Voodoo
P-133, 24mb, Win95 26.5 Monster 3D Voodoo
P-120, 40mb, Win95* 26.3 Monster 3D Voodoo
K6-233 MMX, 32mb, Win95 26.2 Monster 3D Voodoo

*The systems marked with an asterisk are all the same computer using different processors.

COMMENTS: As you can see, there's not a whole lot of difference here between the Voodoo systems, although the Voodoo2 shows nearly double the performance of a Voodoo right out of the box. However, this is misleading, as you will see in the following tests. Using 3Dfx performance tweaks, Voodoo cards will get about the same framerate as a Voodoo2 on low-end systems, although they will perform spectacularly on high-end systems.

Using the conservative settings, all of the computers with Voodoo cards essentially perform equally well. Even though the Pentium II is over twice as powerful a computer as the P-120, the frame-rate difference is negligible. I get a lot of e-mail from people who use the conservative settings on their Voodoo 3D cards and complain that their P-233 doesn't get any faster a frame-rate than their friend's P-166. This is essentially because the single most important factor, when using the default settings, is the 3D texture processor's clock speed, not the computer's CPU speed. Doubling the computer's speed has no effect on the 3D card's speed - it's clock independent of the mother board. However, as the following tests bear out, by using 3Dfx performance tweaks, you can force your system to take maximum advantage of a system's processor and bus speeds. This is due partly to the fact that, by default, Voodoo cards run with Vertical Sync (VSync) enabled. Disabling VSync and making some other performance adjustments can nearly double the framerates seen in this test.

 

TEST 3: GLQUAKE WITH 3DFX VOODOO PEFORMANCE SETTINGS

All following tests were done in 512 x 384 resolution with the vertical refresh set for 60 Hz and with viewsize set to 110. Standard retail map files were used (the maps were not modified for transparent water).

The following settings were used in the AUTOEXEC.BAT file, unless otherwise noted. This is considered a highly optimized setup for the 3Dfx Voodoo cards. NOTE: These settings will have no effect on Voodoo 2 cards.

SET FX_GLIDE_NO_SPLASH=1
SET SST_VIDEO_24BPP=1
SET SST_FASTMEM=1
SET SST_PCIRD=1
SET SST_FASTPCIRD=1
SET FX_GLIDE_SWAPINTERVAL=0
SET SST_SWAP_EN_WAIT_ON_VSYNC=0
SET SST_GAMMA=1.8
SET SST_SCREENREFRESH=60
SET SST_GRXCLK=57

Computer FPS  3D Card
Pentium II 400 MMX, 128mb, Win98 RC0 (Dell Optiplex GX-1) 154.6 Dual Creative Voodoo2 12 Mb SLI
Pentium II 300 Celeron, 64 mb SDRAM, Asus P2B Mobo 94.4 Wicked 3D Vengeance Banshee AGP
Pentium Pro 233, 64mb, NT 4.0 57.7 Monster 3D Voodoo
K6-233 MMX, 32mb, Win95 50.2 Monster 3D Voodoo
Pentium II 300 MMX, 128mb, Win95 50.1 Monster 3D Voodoo
Pentium II 266 MMX, 64mb, Win95 49.4 Monster 3D Voodoo
P-233 MMX, 80mb, Win95 48.6 Monster 3D Voodoo
P-200, 40mb, Win95* 46.3 Monster 3D Voodoo
P-166, 40mb, Win95* 41.4 Monster 3D Voodoo
P-133, 24mb, Win95 36.6 Monster 3D Voodoo
P-120, 40mb, Win95* 34.5 Monster 3D Voodoo

*The systems marked with an asterisk are all the same computer using different processors.

Comparison of different Tweak Settings on a P-133 System:

COMMENTS: I know you're all drooling over the P2-400 results but you don't necessarily have to run out and buy one. Anything over 50 fps in Quake 1 really doesn't play any better.

We now see a substantial improvement in frame-rate as the computer's processor speed increases. The K6 scored very well here, but in subsequent tests (below) it did much poorer. The explanation for the wide range of K6 scores came to light in subsequent tests using the GLQPlus utility (see below).

 

TEST 4: GLQUAKE WITH GLQ+ PERFORMANCE SETTINGS

GLQPlus is an excellent utility that makes all the performance settings for 3Dfx Voodoo cards and GLQuake for you, instead of fiddling around with the settings yourself (PLEASE NOTE: The GLQPlus performance settings are of no value for Voodoo 2 cards, although the environmental settings for GLQuake such as shadows, transparent water, etc. can still be used). It also makes custom batch files for running a variety of 3Dfx games with different settings. Using it on Voodoo cards, you can usually get an additional 5 - 10+ fps over my previous highly optimized setup listed above. I highly recommend this utility. You can get it here...

All following tests were done in 512 x 384 resolution with viewsize set to 110 and the "Ultimate FPS" setting in GLQ+. This setting in GLQ+ enables several "tweaks" in GLQuake that can dramatically improve performance at the slight cost of some picture quality. This picture degradation varies from system to system but usually results in some white speckles in dark areas and occasional cracks at wall junctions which allow you to see what's on the other side. These effects are very minor and most people don't mind them. GLQ+ has several other settings with better picture quality at the cost of some performance. You can adjust it to your taste.

In the case of the Voodoo 2 card, Vsync was disabled (which is equivalent to using SET FX_GLIDE_SWAPINTERVAL=0 and SET SST_SWAP_EN_WAIT_ON_VSYNC=0 on a Voodoo card). The 3Dfx performance settings will have no effect on the Voodoo2, but GLQuake tweaks will and were used.

For this test, the "Ultimate FPS" selection was used in GLQ+, with the following settings:

- Monitor refresh = 60 Hz
- Shadows enabled
- Environment resolution = 0
- Player Resolution = 0
- Real Light enabled
- Palette Shifting disabled

- Clear Z-buffer disabled
- Colinear Vertexes disabled
- Issue GLFinsh disabled
- Sync to Refresh Rate disabled
- Sync Bufferswap disabled
- Fast Memory Option enabled
- Fast PCI Read enabled
- Voodoo Clock = 57 Mhz

Systems running with a Voodoo 2 card are displayed with red text.

Computer FPS  3D Card
Pentium II 300 Celeron, 64 mb SDRAM, Asus P2B Mobo 88.8 Wicked 3D Vengeance Banshee AGP
Pentium II 266 MMX, 80mb, Win95 80.2 Creative Voodoo2 12 Mb
Pentium Pro 233, 64mb, NT 59.3 Monster 3D Voodoo
Pentium II 266 MMX, 64mb, Win95 56.7 Monster 3D Voodoo
P-200 MMX, 32mb, Win95 54.6 Righteous 3D Voodoo
P-233 MMX, 80mb, Win95 54.6 Monster 3D Voodoo
P-200, 64mb, Win95 49.4 Creative Voodoo2 12 Mb
P-166, 40mb, Win95* 45.6 Monster 3D Voodoo
K6-233 MMX, 32mb, Win95 44.1 Monster 3D Voodoo
P-133, 24mb, Win95 40.6 Monster 3D Voodoo
P-120, 40mb, Win95* 37.9 Monster 3D Voodoo

*The systems marked with an asterisk are all the same computer using different processors.

COMMENTS: Now the scores for the high-end systems with Voodoo cards are much closer together, and even the low-end systems are only 4-5 fps apart. With performance tweaks, the Voodoo card is showing it's true colors, and leveling the playing field dramatically between all the systems. This shows just how much work is being off-loaded from the computer's CPU and onto the 3D card's rendering and texture processors. The implication is that running on the high-end systems, the 3Dfx Voodoo 3D card is probably approaching it's performance limit anyway and so the only differences we're seeing reflected here is minor ones in motherboard design, memory speed, PCI bus throughput and BIOS settings. The additional processing power of the P2 apparently can't make up for the fact that the 3D card may already be rendering as fast as it can on a Classic Pentium system.

You're all probably wondering what happened to the K6. You have to realize that the K6 has a weak floating-point processor compared to Intel CPUs. Okay, but why did it score so well in the previous test? An explanation for the strange K6 scores emerged in light of some additional tests I performed on the K6. The GLQ+ settings in the above test includes having real light and shadows enabled (gl_flashblend=0 and r_shadows=1). On a Pentium processor, having these two enabled costs only 1.5 FPS off your frame-rate. However, on the K6, the frame-rate penalty is much steeper with a 6 FPS performance hit (almost certainly due to the K6's mediocre floating-point processor). Meanwhile, other "tweaks" that GLQ+ uses don't seem to have as much benefit on a K6 as they do on a Pentium processor, and may even hurt it's score. It's still a respectable score, and you can improve it by leaving real light and shadows disabled, but I personally prefer to leave them on. Without real-light, the lighting effects are quite ugly and make deathmatch play difficult.

VOODOO2: The Voodoo2 shows off it's outstanding performance edge over the older Voodoo cards here, although as I pointed out before, the Voodoo2 only really opens up the throttle when installed on a high-end Pentium II system. On low-end systems, the framerate improvement is negligible, although I can tell you that subjective gameplay, especially in deathmatch, feels much smoother even on low-end systems. Also, this test doesn't really reflect deathmatch performance. In deathmatch games with large rocket battles that would normally bring a Voodoo card to it's knees, the Voodoo2 keeps the framerate high giving the perception of a much smoother and faster game. This is due to the Voodoo2's dual texture processors and large texture memory. Another thing to keep in mind is that the Voodoo2 can maintain this framerate at higher resolutions, on up to 800x600 resolution (or 1024x768 in SLI mode using two Voodoo2 cards!). I've gotta tell ya, GLQuake sure does look purdy in high-res!

 

Transparent Water Maps:

Transparent water is one of the coolest new features of GLQuake. However, using maps that have been VIS patched for transparent water will cost you 6 - 10 fps, so you need to make certain that your system has a high enough frame-rate to start with.

Here's some of the same systems listed above tested with transparent water enabled. All the following tests were performed in 512 x 384 resolution with viewsize set to 110 and the "Ultimate FPS" setting in GLQ+. All setting are the same as for the previous test except that transparent water was enabled and Quake retail maps that were VIS patched for transparent water were used. In the case of the Voodoo 2 card, Vsync was disabled (which is equivalent to using SET FX_GLIDE_SWAPINTERVAL=0 and SET SST_SWAP_EN_WAIT_ON_VSYNC=0 on a Voodoo card).

 

Systems running with a Voodoo 2 card are displayed with red text.

Computer FPS  3D Card
Pentium II 400 MMX, 128mb, Win98 RC0, Dell Optiplex GX-1 127.7 Dual Creative Labs Voodoo2 12 Mb SLI
Pentium II 333 MMX, 128mb, Win95 98.6 Creative Voodoo2 12 Mb
Pentium II 266 MMX, 80mb, Win95 78.7 Creative Voodoo2 12 Mb
Pentium II 300 MMX, 128mb, Win95 55.3 Monster 3D Voodoo
Pentium II 266 MMX, 64mb, Win95 49.7 Monster 3D Voodoo
P-233, 80mb, Win95 46.6 Monster 3D Voodoo
P-200, 64mb, Win95 46.3 Creative Voodoo2 12 Mb
P-200, 40mb, Win95* 43.5 Monster 3D Voodoo
P-166, 40mb, Win95* 36.9 Monster 3D Voodoo
K6-233 MMX, 32mb, Win95 36.8 Monster 3D Voodoo
P-133, 24mb, Win95 33.5 Monster 3D Voodoo
P-120, 40mb, Win95* 30.1 Monster 3D Voodoo

*The systems marked with an asterisk are all the same computer using different processors.

COMMENTS: Here again you see it's weak floating-point processor costing the K6 some performance. Obviously the combination of real light, shadows and transparent water puts the K6 at a disadvantage, although it's score is still acceptable. Here again, we also see the very minor difference in performance between the P2 system and the P-233.

I consider all these frame-rates adequate for competitive netplay, except for the P-120's score. I have played on the P-120 system and it's performance is adequate without transparent water maps.

VOODOO 2: Again, the Voodoo 2 only really shines when it's running on a Pentium 2 system. However, it is worth noting that even on a low-end system, the Voodoo 2 produced excellent framerates at all resolutions on up to 800x600. Also, while it's not reflected in these scores, the Voodoo 2 plays much smoother on low-end systems than the Voodoo cards do. This is likely thanks to the Voodoo 2's larger texture memory and thus a reduction in frames dropped due to texture thrashing. It's worth noting here that on a Voodoo 2, you probably won't be playing GLQuake at 512x384, as the Voodoo 2 is capable of maintaining a high frame rate while running at 640x480 and 800x600.

 

Voodoo 2 in Multiple Resolutions:

Now that the Voodoo2 3D cards have been released, it's practical to play GLQuake at higher resolutions. While the older Voodoo1 cards took a serious performance hit when running at 640x480, and were incapable of running at 800x600, on a Voodoo2 you can run at 800x600 (or even 1024x768 with dual cards in SLI mode) without any appreciable performance loss.

Here's a few of the same systems listed above run in multiple resolutions. All tests were with transparent water enabled. All tests were performed with viewsize set to 110 and the "Ultimate FPS" setting in GLQ+. All settings are the same as for Test 3 except that transparent water was enabled and Quake retail maps that were VIS patched for transparent water were used. In the case of the Voodoo 2 card, Vsync was disabled (which is equivalent to using SET FX_GLIDE_SWAPINTERVAL=0 and SET SST_SWAP_EN_WAIT_ON_VSYNC=0 on a Voodoo card).

Computer 512x384 640x480 800x600 1024x768 3D Card
Pentium II 400 MMX, 128mb, Win98 RC0, Dell Optiplex GX-1 127.7 123.9 115.4 84.7 Dual Creative Labs Voodoo2 12 Mb SLI
P-200, 64mb, Win95 45.3 44.3 44.3 na Creative Labs Voodoo2, 12 Mb

 

 

FINAL ANALYSIS:

I consider the minimum frame-rate for Quake solo play to be 20 fps, and the minimum for netplay to be 25 fps. This is only a minimum, however. Netplay, in particular, improves dramatically with a faster frame-rate, and for serious competitive netplay you need at least 35 fps.

Running standard WinQuake on a 2D card gives unacceptable performance for competition at the resolution tested here (512 x 384), except on the P2-266, and this has more to do with the high-performance Matrox Millenium II installed in that system than anything else. This is why most people have been running standard DOS or WinQuake at 320 x 400 for serious netplay.

As you can see from these results, all these systems easily achieved my minimum required frame-rates running GLQuake on a 3Dfx Voodoo 3D card, at 512 x 384 resolution, without any performance tweaks whatsoever. Moreover, all these systems could be easily coaxed into achieving the more realistic minimum for netplay of 35 fps when setup using performance tweaks. This could even be obtained using maps VIS patched for transparent water on all systems except the P-120.

These tests point out that the K6 is a viable alternative to a Pentium processor if price is a consideration. However, taking into account that Intel slashed their prices recently, and that the price of a P-200 system today (12/97) is only $75 - $100 more than a K6-233, I'd personally go with the Pentium system myself. If you already own a high-end K6, don't be disheartened, as these tests prove that you can get some very good performance from this processor, it just can't touch an Pentium with the same clock speed.

If you're on a very tight budget, these tests have shown that the P-166 entry-level system can run GLQuake exceedingly well. With P-166 MMX motherboards, including processor, selling for under $200 now (12/97), you're getting a LOT of bang for the buck if you combine that with a 3Dfx Voodoo 3D card.

Another thing these tests highlight is that you can get very good performance from an aging P-120 or P-133 system running GLQuake on a Voodoo 3D card. 3D cards appear to be great processor levelers - finally, you don't need to have a top-of-the-line computer system to play the latest games with adequate performance. As a personal note, the P-133 and P-166 systems I tested are my own, and are what I'm currently using for playing GLQuake - and I consider myself a serious netplayer spending five or more hours per day playing CTF and Painkeep. I've played on the P2-266 system listed here, and I can honestly say that with the tweaks I'm currently using, my P-133 and P-166 run QuakeWorld games just as smoothly as the P2 system does.

Another thing worth noting here is that Voodoo 2 cards don't benefit low-performance systems very much as far as frame-rate is concerned. I still find netplay to be much smoother on a Voodoo2 on a low-end system than with a Voodoo, and the extra texture memory reduces dropped frames due to texture thrashing. Serious netplayers with the money to spare will likely prefer a Voodoo2, even on a low-end system, for the performance edge. However, you can get excellent performance with little expense out of a Voodoo card on a low-end system. I would recommend a 6 Mb Voodoo card as opposed to a 4 Mb to reduce texture thrashing.


I hope you've found this information helpful. Many thanks to Gino "Quo Vadis" Giori, Stormbringer, Chris Harris, Ray Gagnon, and Joseph "SNoWDoGG" McCurry.

- The Flying Penguin


Compiled by Robert Osorio, "Flying Penguin (Mercenary)"
Last updated on 1/28/99
 

Click Here to Go Back