11

Quake was one of the earliest DOS games to show most gamers the importance of having a fast FPU to play with. Were there any other games (probably 3D) before Quake that started using the FPU?

For example, I know Duke3D (also 1996) uses mostly fixed-point arithmetic during rendering, but slopes (which is something new compared to DOOM) involve the FPU. AFAIK this is what makes Duke3D so much slower on a 486SX (which has no FPU).

7
  • 7
    At the very least off the top of my head the DOS versions of Sim City (1989), Falcon 3.0 (1991), and Microsoft Flight Simulator 5 (1993) will all make use of an FPU if one is present. Possibly there are even older examples as well though.
    – mnem
    Commented May 18 at 2:18
  • Quake ran noticeably worse on 486. Pentium was essentially required. Commented May 18 at 11:35
  • My games of ‘match experiments to simulations’ ran much faster…
    – Jon Custer
    Commented May 18 at 14:25
  • 2
    Where do you draw the line between what is or isn't a game? There were quite a few fractal generators that made extremely heavy use of the FPU. For most people they were purely for entertainment, but it's open to a lot of question whether you'd call them an actual game. Commented May 18 at 16:04
  • @ThorbjørnRavnAndersen: I enjoyed playing Quake on my 80486 (which I think at the time was probably a DX2 @50Mhz).
    – supercat
    Commented May 18 at 20:16

1 Answer 1

15

MobyGames lists a number of games with support for a FPU¹. The earliest shown there are Falcon 3.0 and Scorched Earth (1991), and like most of the other games in the list, the FPU is optional:

Note that Scorch will, by default, use a numeric coprocessor if present. This makes everything in the game go faster. In particular, you will want a much larger firing delay. To slow everything down, you can set the environment variable 87 to 'N'.

(quoting Scorched Earth’s documentation; see the Falcon 3.0 hardware requirements too).

The major difference with Quake was that it required a FPU, and wouldn’t start without one. As far as I’m aware it was the first major game to do so on the PC². Other games with FPU support would obviously use it if present, usually in a way that would count as “heavy use” (in my mind, a significant portion of per-frame calculations); but games were developed to be playable on FPU-less systems too — that was the reality of the market.

The change in Quake was possible because many new x86 CPUs were equipped with a FPU by default (486DX, Pentium, and later mainstream x86 CPUs). Its non-FPU-related requirements were demanding enough that a fast CPU was required anyway, so requiring a FPU wasn’t an onerous requirement in practice. In fact, rather than describing Quake as a game making heavy use of the FPU, it would be more accurate to describe it as a game designed for the Intel Pentium, in particular its U/V pipeline. Since the Pentium was guaranteed to have a FPU, and a substantially faster one than 486-era FPUs, it made sense to use it.


¹ This references games which list at least support for a FPU in their hardware requirements; games requiring a Pentium or later could assume a FPU was present, but the list doesn’t include those since their use of a FPU (or otherwise) is implicit.

² Some sources suggest that Magic Carpet 2 (1995) also required a FPU, but I haven’t been able to confirm that.

6
  • I'm surprised to see Alone in the Dark in the list from MobyGames. AFAIK the original one from 1992 does not use a FPU at all (even not trough emulation), maybe this trilogy is a recompiled version but I doubt this.
    – tigrou
    Commented May 18 at 10:24
  • @tigrou MobyGames isn’t always accurate ;-). Commented May 18 at 10:40
  • 2
    To be clear, a 486 non SX models (sx has no FPU) and pentiums were top of the line CPUs and very expensive. It would be like requiring a ryzen 9 or Intel i9 CPU just to run the game. That's a huge bar for entry but that helps illustrate how ahead of the times Quake was. Commented May 19 at 3:43
  • 1
    @KatasticVoyage. I agree. Carmack said during interview with Lex Fridman that if he could go back in time, he would split Quake innovations in two phases : first to release TCP/IP networking with the Doom rendering engine, along with a programming language for modding (eg: DoomC, similar to QuakeC), and then only a six degree of freedom renderer (that require a Pentium) and everybody would be happy.
    – tigrou
    Commented May 19 at 14:01
  • Quake’s requirements were indeed hefty when it was designed, but by the time it was released Pentiums were starting to become accessible (we had labs full of 133MHz and 166MHz Pentiums at my university by the summer of 1996), and then the socket seven wars brought prices down (with the Cyrix 6x86 — which wasn’t great for Quake — and then the AMD K6). Bear in mind that as happened with Doom, many people played Quake at work rather than at home, in particular for multiplayer sessions. Commented May 19 at 16:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .