Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

For background Duke Nukem 3D came out the same year as Quake. Quake had a far better engine that absolutely revolutionized shooters. It could do so much more than the 2.5D engines. Duke Nukem competed by having lot of character in the level design, enabled by a pile of hacks like these.


Yeah, but you could play Duke on a 486, while Quake really needed a Pentium to get playable framerates.

It blows my mind how well those games ran on such primitive hardware. DOOM ran at 320x200, which is 64K pixels. On a 66 Mhz 486, that means you only got 34 clock cycles to render each pixel to maintain 30 fps, and that doesn't even include time for dealing with game logic!

You had direct access to video memory back then. Now, everything is abstracted away. I'm not even sure you could create an engine that rendered individual pixels while still maintaining solid framerates.


After all Quake was the demo tech wow factor for your spoiled friend and his 3dfx :)

Yeah Duke3d was running fine on any computer and most of all, it was FUN, both as a single and multiplayer game.

The map editor was amazing. I remember using all the tricks highlighted in this Twitter thread, following tutorials from PC magazines and having the docs printed in a folder I may still have somewhere... You could also quite easily break your maps with too much trickery.


Quake also had multiplayer on par with anything out today thanks to the great net code. I remember people playing at the university on some kinda fiber or cable and 10-20ms pings. I was jealous but able to play with my dial up


Didn't Quake require the 487 because it absolutely needed floating point operations, or did it just have horrible framerates without the 487 co-cpu?


Quake’s perspective correct texture mapping used the pentium’s floating point math for every 16th pixel.

Most games at the time did perspective correct flat floors and walls, which can be done mostly with affine texture mapping. Sloped floors, which Quake had a lot of, must be done with more accurate Perspective correct texture mapping.

Perspective correct texture mapping technically requires a distance division at every pixel. Since it was too slow to do this at every pixel while rasterizing, Quake did the distance division at every 16th pixel, and used affine texture mapping between (linear interpolation).

On the Pentium you had fast floating point division which could run in parallel with the cpu doing the integer math. So they actually utilized both the floating point unit (for distance division) and integer unit (for affine texturing) concurrently, and in that way got rendering of each pixel down to <10 cycles.

Unfortunately, the 486s floating point math was not fast enough. So this trick makes everything worse on the 486, which is one of the reasons Quake didn’t run well on the 486 — the texture mapper was optimized for the fpu on the Pentium.

Mike Abrash wrote about this in his series of articles about Quake development which I highly recommend! I remember reading them during development of Quake in 1995-96 and implementing a lot of it myself (Bsp trees, shadow maps, texture mapping, sorted edge rasterize).

I actually implemented perspective correct texture mapping with integer division myself, and it was a bit slower on the Pentium, but a lot faster on the 486.

Funny, how just a few years later all of this became obsolete when GPUs arrived.


Starting with the Intel 80486 (With the exception of the cheaper 486SX), the FPU was built into the CPU and you no longer needed a separate FPU chip.

https://en.wikipedia.org/wiki/Intel_80486


It required FP but for realistic gaming you needed a Pentium.


DooM run at a aceptable frame rate on a 386 at 40 MHZ


The character wasn't just in the level design. It had Duke's goofy monologue, toilet humor, hookers, and some semblance of plot. It had an attitude factor that played well to a lot of people in the time of No Fear t-shirts, eXtreme sports, and the WWF/WWE Attitude Era.

Quake was more of a technical marvel, but was aimed at a more alternative aesthetic that saw it use vague murky levels, Nine Inch Nails collab, and a Lovecraftian end boss.


Yeah, I find Quake boring, as an European Quake's environment is something not to far from a Iberian village, or the old town from any major city. It looks like a "slice of life" in Summer holydays plus monsters.

OFC not so "bricky" and "stoney", but Roman/Gothic walls, gates, doors and such architecture items can be found everywhere, in any remote village, town or the old part of cities, so it was, indeed, mundane. And yes, for Americans these oldish environments are astounding and marvellous, I agree.

To me, the American urban environment was more exotic and "alive", something like a Hollywood movie with cops, cars, buildings and so on. That's why I loved every bit of DN3D, and most of highly detailled and interactive urban games.


> Quake was more of a technical marvel, but was aimed at a more alternative aesthetic that saw it use vague murky levels, Nine Inch Nails collab, and a Lovecraftian end boss.

That was pretty much the whole genre back then, which is what gave Duke 3D's level design the aforementioned "character", as it was one of the very few examples trying to depict more realistic environments vs the usual Doom mazes with very fictionalized settings/visuals.


One thing that I love about the “worse” engines is the neat tricks you can do which can’t be done in the “better” engines.

Tier Drops[0], for example, could not exist in the Quake engine. It relied heavily on the tricks that simply didn’t exist in Quake. And it was loads of fun!

[0] https://dukenukem.fandom.com/wiki/Tier_Drops


Duke Nukem had this particular ambiance that IMO Quake lacked. And I sharply remember that mirror: what an excitement at the time! A mirror! Which we can break!

And in total honesty, my machine could not run Quake and I only caught up with the true 3D era with Unreal.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: