Descent 3 is an old favorite of mine. I learned to mouse-aim in this game before I had played any FPSes with a mouse. Playing it again, those robots are still hard to hit. Oh and the Steam version does come with Descent 3: Mercenary expansion pack. For those unfamiliar with the game, when you start a new game, select "Descent 3: Retribution" for the original single-player campeign. (Note: The first time it automatically runs you through training)
The game plays pretty well on modern Windows as long as you configure a few things correctly:
1. Launcher->Setup->Video tab: The DirectX renderer no longer works correctly; lots of messed up textures. The Steam version comes with the Glide emulation wrapper nGlide, so Glide mode seems to work the best. You can configure nGlide with the configuration tool in the Descent 3 directory. If you set nGlide to your native resolution and aspect ratio to 4:3, it can cut down the resolution changes in the game (it changes resolutions between gameplay and menus), but looks a little distorted.
2. If you have a modern SoundBlaster, you can restore 3D sound and EAX effects by using ALchemy, although you have to do so manually. See http://www.gog.com/forum/descent_series/enabling_5_1_sound_with_alchemy.
After following instructions at link, go to Launcher->Setup->Audio and select "Creative EAX".
3. While you are in setup, on the Speed tab, set the Detail to Very High. On network tab, set LAN and your internet speed; most likely it will be T1 ~1.5Mbps.
4. Game Main Menu-Options->Video tab: You can turn up resolution. 1600x1200 is native on a 1920x1200 monitor.
5. Detail tab: You should be able to crank all settings to max. If you have performance issues in outside areas, turn down the terrain detail and/or render depth.
6. Sound: Set quality to high, and quantity up.
7. General and HUD tabs: set to taste, with one caveat:
8. MOUSELOOK DOES NOT WORK! Under Options->General->Sensitivity or Options->Config->Joy/Mouse->Adjust Settings DO NOT choose Mosue Control: "Mouselook". Stick with "Flight Sim". Mouselook was an acceleration mode that was designed to assist low sensitivity mouses when the game was made. I'm pretty sure it doesn't work as intended any more, but either way is much much too sensitive to be usable. Also, in online play, Mouselook is considered cheating anyway.
8a. What does work for FPS mosuers: (Re-)Inverting the Y-rotation or pitch Axis - go to Options->Config->Joy/Mouse and click the (?) button to the left of the pitch setting, then click Invert: "Yes". This will be unintuitively "non-inverted" according to modern FPS nomenclature. Now you can have mouselook-style control that works; adjust sensitivity as desired under Adjust Settings dialog.
9. Config: An odd control scheme that I find enjoyable to use is to play the game holding the left side of a gamepad in my left hand and the mouse in my right. I configure the controls in a typical console-FPS way: Assign left stick Y-Axis to Throttle, left stick X-Axis to Slide Horiz, D-pad X to Slide Vert, D-pad Y to Bank (or if implemented as POV hat, to Slide Up & Down, Bank Left & Right), left shoulder to Afterburner. Mouse X is Heading, Mouse Y is Pitch (inverted). Mouse buttons as default: LRC as Fire Primary, Secondary, Flare; Cycle Primary and Secondary with Wheel Up/Down. Extra mouse buttons can be used with items or countermeasures. You can also configure the right side of the gamepad to duplicate these controls, so you can move your right hand between gamepad and mouse. In this case right stick Y is also Pitch (inverted) and X is Heading. You can flesh out the buttons from there.
10. Once in-game, F1 toggles a handy keyboard guide. Use F3 to toggle cockpit (I prefer without). Use "+" key (near backspace, not num-pad +) to scale up rendering to full screen size.
Phew, after all that work, enjoy a classic that still offers a challange.